That’s interesting, I ran into an issue when I brought up my board too.
The issue was related to threaded interrupts and that I was using an i2c interrupt controller/GPIO expander. I wrote about it here:
https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=253429
Thanks for looking into the LCD panel app note. I ended up figuring out the problem… problems
Many were self-inflicted wounds including completely flipped LCD signals due to a last minute connector part number change. Then there was a strange issue with the kernel boot sequence. For some reason the DRM (Direct Render Manager) was loading the TI LCD Controller before the panel was loading which meant that the LCD Controller didn’t find any usable panels and the LCD Controller didn’t generate /dev/fb0
If anyone runs into this issue a quick work around would be to make the TI LCDC an external module and the panel a built in module
Here’s a writup of the problem:
Dave
If you do an AM57X SIP I would like a USB-C interface. Something like the TI:TPS65981 chip with USB 3.0 and DisplayPort. This would be nice because the designer would only need to add one port to the board and they can both power the board and have an entire desktop environment using a decent USB-C hub (USB Host ports, USB Ethernet, HDMI Output). USB-C supports dual role mode so you can still boot the board over USB. If you allow the user to modify the EEPROM of the USB chip you can request up to 20V.
Unfortunately the forum formatter is changing ‘<‘ to < and ‘>’ to > and ‘&’ to &
I’m not sure how to fix this
I got the kernel booted and the WIFI is working! I had to figure out some things that were a little tricky and if anyone else is working on getting WIFI up and running on a custom board here are some notes:
In the DTS you should add the following (Assuming you used the exact signals that were in the App Note)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | &am33xx_pinmux { ... sdio_wifi_pins: sdio_wifi_pins { pinctrl-single,pins = &< AM33XX_IOPAD(0x93C, PIN_INPUT | MUX_MODE6 ) /* (L15) gmii1_rxd1.mmc2_clk */ AM33XX_IOPAD(0x914, PIN_INPUT | MUX_MODE6 ) /* (J16) gmii1_txen.mmc2_cmd */ AM33XX_IOPAD(0x918, PIN_INPUT | MUX_MODE5 ) /* (J17) gmii1_rxdv.mmc2_dat0 */ AM33XX_IOPAD(0x91C, PIN_INPUT | MUX_MODE5 ) /* (J18) gmii1_txd3.mmc2_dat1 */ AM33XX_IOPAD(0x920, PIN_INPUT | MUX_MODE5 ) /* (K15) gmii1_txd2.mmc2_dat2 */ AM33XX_IOPAD(0x908, PIN_INPUT | MUX_MODE5 ) /* (H16) gmii1_col.mmc2_dat3 */ >; }; wl18xx_pins: pinmux_wl18xx_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x92C, PIN_OUTPUT_PULLDOWN | MUX_MODE7 ) /* (K18) gmii1_txclk.gpio3[9] (WLAN EN) */ AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (K16) gmii1_txd1.gpio0[21] (WIFI Int) */ AM33XX_IOPAD(0x930, PIN_OUTPUT_PULLUP | MUX_MODE7) /* (L18) gmii1_rxclk.gpio3[10] (LS_BUF_EN Not Connected but it doesn't matter) */ >; }; uart3_bluetooth_pins: uart3_bluetooth_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x934, PIN_INPUT | MUX_MODE1 ) /* (L17) gmii1_rxd3.uart3_rxd */ AM33XX_IOPAD(0x938, PIN_OUTPUT | MUX_MODE1 ) /* (L16) gmii1_rxd2.uart3_txd */ AM33XX_IOPAD(0x948, PIN_INPUT | MUX_MODE3 ) /* (M17) mdio_data.uart3_ctsn */ AM33XX_IOPAD(0x94c, PIN_OUTPUT | MUX_MODE3 ) /* (M18) mdio_clk.uart3_rtsn */ >; }; bt_pins: pinmux_bt_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (K17) gmii1_txd0.gpio0[28] (BT_EN) */ >; }; ... }; /**************************************************************************** * WIFI/Bluetooth Control ****************************************************************************/ &mmc3 { dmas = <&edma_xbar 12 0 1 &edma_xbar 13 0 2>; dma-names = "tx", "rx"; status = "okay"; vmmc-supply = <&wlan_en_reg>; bus-width = <4>; non-removable; cap-power-off-card; ti,needs-special-hs-handling; keep-power-in-suspend; pinctrl-names = "default"; pinctrl-0 = <&sdio_wifi_pins &wl18xx_pins>; #address-cells = <1>; #size-cells = <0>; wlcore: wlcore@2 { compatible = "ti,wl1835"; reg = <2>; interrupt-parent = <&gpio0>; interrupts = <21 IRQ_TYPE_EDGE_RISING>; }; }; &uart3 { pinctrl-names = "default"; pinctrl-0 = <&uart3_bluetooth_pins &bt_pins>; status = "okay"; bluetooth { compatible = "ti,wl1835-st"; enable-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; }; }; &gpio3 { ls_buf_en { gpio-hog; gpios = <10 GPIO_ACTIVE_HIGH>; output-high; line-name = "LS_BUF_EN"; }; }; |
I am not sure if this is needed for everyone but I ended up not using the dtbbuilder tool and just compiled the kernel from source, copied over the vmlinuz, System.map, dtbs kernel modules and kernel header files onto the SD card. Because of this when I first booted up I needed to run:
sudo depmod
once that was done I could use the instructions here:
Setting up Beaglebone Black Wireless
Specifically I ran the following:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | sudo connmanctl connmanctl> enable wifi connmanctl> scan wifi connmanctl> services SSID Name 1:Unique Connection String1 SSID Name 2:Unique Connection String2 etc... connmanctl> agent on connmanctl> connect Unique Connection String1 Passphrase? xxxxxxxxxxx connmanctl> quit |
Dave
Thanks for getting back to me.
It turned out to be a manufacturing issue. I just got a new part put on and I’m in u-boot.
Dave
Makes sense, thanks for the clarification!
Octavo Systems LLC all rights reserved
OCTAVO is registered in the U.S. Patent and Trademark Office. OSD, C-SiP, and the Octavo Logo are trademarks of Octavo Systems LLC.
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields