Request for advice on board bring up of a Custom board with WP8548 + Ti Wifi chipset Board bring up

Hi All,
I have layout a custom small formfactor board that includes the TI WL1835 wiFi/BT chip connected dirrectly to a WP8548 processor, using the same connections UART connection and SD signals as the Mangoh platform and WiFI IOT card, Including same GPIO pins for the interrupt lines and BT and WL Enable signals.

There are direct connections with no I2C switches(PCA9548A) in the path, or SDIO switch (TXS0216)
The only other difference as far as I can tell compared to the Mangoh platform is there is no 24C32 1K Eeprom connected.

When trying to initialise the WiFI using wifi client start the first time, it comes back with an error,
and if I try wifi client scan it core dumps.

What would be the best way to manually intialise the TI Wifi driver and print out all the warnings/error messages?

root@swi-mdm9x15:~# ifup wlan0
ERR* failed to write i2c data
FTL* Failed to enable PCA9548A I2C switch

From the Above I suspect that it will be necessary to comment out code that initialises the PCA9548A I2C switch.
May I ask which files I should start to look at to modify in the Source code, and what would be the best way to include back onto the embedded linux platform ?
Is it possible that only driver(s) might be need to be updated, and insmod back in? or recompile the project and environment from the Yocto project?


[ 137.469311] cfg80211: Calling CRDA to update world regulatory domain
[ 137.783610] cfg80211: World regulatory domain updated:
[ 137.787761] cfg80211: DFS Master region: unset
[ 137.793438] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[ 137.802624] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[ 137.810407] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[ 137.818129] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
[ 137.826644] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
[ 137.835830] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[ 137.845322] cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[ 137.853349] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[ 137.861376] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
[ 144.934564] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1300c8, irq:187
[ 144.941095] qup_i2c qup_i2c.0: I2C slave addr:0x71 not connected
Any pointers would be most appreciated,
Kind Regards

Hi Jason,
If I well understood the adaptations you made on schematic, you only need to remove the control of I2C & SDIO switches mounted on mangOH Green board. This control is done in /etc/init.d/tiwifi script file
Thus, you need to comment lines controlling MangoH GPIO_Expander#1 SDIO_SEL (I/O_13) signal and GPIO_Expander#3 GPIO0_IOT0_RESET (I/O_4) signal during ti_wifi_start() & ti_wifi_stop() operations.

ti_wifi_start() {

# Enable all GPIOs on all EXPANDERs
**#**gpioexp 1 1 enable >/dev/null || exit 127
# Clear SDIO_SEL, GPIO#13/EXPANDER#1 - Select the SDIO
**#**gpioexp 1 13 output normal low >/dev/null || exit 127
# Set IOTO_RESET, GPIO#4/EXPANDER#3 - IOT0 Reset signal is disabled
**#**gpioexp 3 4 output normal high >/dev/null || exit 127

ti_wifi_stop() {

# Clear IOTO_RESET, GPIO#4/EXPANDER#3 - IOT0 Reset signal is enabled
**#**gpioexp 3 4 output normal low >/dev/null || exit 127
# Set SDIO_SEL, GPIO#13/EXPANDER#1 - Deselect the SDIO
**#**gpioexp 1 13 output normal high >/dev/null || exit 127

Best regards,