AnsweredAssumed Answered

i.mx qnx gpio muxing

Question asked by sandesh d on Feb 3, 2018
Latest reply on Feb 6, 2018 by igorpadykov

Hi,

We are using  QNX on i.mx6 sabrelite board for my application , it is  working fine.

But now we want  WiFi on SDIO and Bluetooth on UART, so we selected WL18XXSDIO board.

Now we are using  SDIO interface and

WiFi enable , WiFi irq,  TX, RX CTS, RTS , BTenable pins from camera connector.

Now we want to mux these camera pins into WiFi enable, BT enable, WiFi irq, RX, TX, CTS, RTS.

 

We made below changes in the below file   

bsp-freescale-mx6q-sabrelite-SDP6.6/src/hardware/startup/boards/imx6x/sabrelite/mx6q_gpio.c

 

 

TO ENABLE BT & WiFi
 pinmux_set_swmux(SWMUX_CSI0_DAT12, MUX_CTL_MUX_MODE_ALT3);  // TX
 pinmux_set_swmux(SWMUX_CSI0_DAT13, MUX_CTL_MUX_MODE_ALT3);  // RX
 pinmux_set_swmux(SWMUX_CSI0_DAT16, MUX_CTL_MUX_MODE_ALT3);  // RTS
 pinmux_set_swmux(SWMUX_CSI0_DAT17, MUX_CTL_MUX_MODE_ALT3);  // CTS

 

 pinmux_set_swmux(SWMUX_GPIO_16, MUX_CTL_MUX_MODE_ALT5);      // BT_EN

 // WL_EN 
pinmux_set_swmux(SWMUX_GPIO_6, MUX_CTL_MUX_MODE_ALT5);     
pinmux_set_padcfg(SWPAD_GPIO_6, MX6X_PAD_SETTINGS_USDHC_SDIO);
out32(MX6X_GPIO1_BASE + MX6X_GPIO_DR, in32(MX6X_GPIO1_BASE + MX6X_GPIO_DR) | (0x1 << 6));

 

  
// WL_IRQ  
pinmux_set_swmux(SWMUX_CSI0_DATA_EN, MUX_CTL_MUX_MODE_ALT5 | MUX_CTL_SION);
pinmux_set_padcfg(SWMUX_CSI0_DATA_EN, MX6X_PAD_SETTINGS_USDHC_SDIO); 
out32(MX6X_GPIO5_BASE + MX6X_GPIO_GDIR, in32(MX6X_GPIO5_BASE + MX6X_GPIO_GDIR) & ~(0x1 << 20));

 

Could you please suggest , Is these changes are enough to work or we need to make any otherchanges

please guide us

Thank you for your support

Outcomes