|
41 | 41 | fsl,pins = < |
42 | 42 | MX8MM_IOMUXC_SAI3_RXC_GPIO4_IO29 0x080 /* GPIO4 / SAFETY_ENABLED (input) */ |
43 | 43 | MX8MM_IOMUXC_SAI3_RXFS_GPIO4_IO28 0x080 /* GPIO6 / SOM_BOOT (IMXRT BootMode Enable) */ |
44 | | - MX8MM_IOMUXC_SAI1_RXC_GPIO4_IO1 0x100 /* GPIO7 / USB RESET_HUB# */ |
| 44 | + MX8MM_IOMUXC_SAI1_RXC_GPIO4_IO1 0x140 /* GPIO7 / USB RESET_HUB# */ |
45 | 45 | MX8MM_IOMUXC_SAI1_TXC_GPIO4_IO11 0x140 /* GPIO9 */ |
46 | 46 | MX8MM_IOMUXC_SAI1_TXFS_GPIO4_IO10 0x100 /* GPIO10 / U12 EEPROM WRITE PROTECT */ |
47 | 47 | MX8MM_IOMUXC_SAI1_MCLK_GPIO4_IO20 0x080 /* GPIO11 / SOM_nRST (IMXRT_nReset) */ |
|
116 | 116 | }; |
117 | 117 |
|
118 | 118 | &i2c3 { |
| 119 | +/* CES-3178: The S6 camera appears to have power-up issues when the board is powered on with the camera connected. |
| 120 | + This was addressed in hardware (see ELS-458), but it introduced a worse side effect: the S8 camera now causes |
| 121 | + the i.MX8 USB Host Controller to freeze during boot (see ELS-462). |
| 122 | + |
| 123 | + The root cause appears to be the time the S8 camera takes to power up. The Microchip USB2514B hub, when operating |
| 124 | + in standalone mode (not configured via I2C), uses a default POWER-ON TIME of 100 ms. This is the delay the hub |
| 125 | + waits before attempting to enumerate devices after enabling power to the port via the PRTPWR pins. For the S8 camera, |
| 126 | + 100 ms does not seem sufficient for it to be fully ready for enumeration, leading to failures. |
| 127 | + |
| 128 | + Connecting the USB2514B to the I2C bus and increasing the POWER-ON TIME to 110 ms resolves the issue. In this configuration, |
| 129 | + we set it to 200 ms to be on the safe side. |
| 130 | +*/ |
| 131 | + |
| 132 | + usb2514b@2c { |
| 133 | + compatible = "microchip,usb2514b"; |
| 134 | + reg = <0x2c>; |
| 135 | + reset-gpios = <&gpio4 01 GPIO_ACTIVE_HIGH>; |
| 136 | + self-powered; |
| 137 | + individual-sensing; |
| 138 | + individual-port-switching; |
| 139 | + power-on-time-ms = <200>; |
| 140 | + }; |
| 141 | + |
119 | 142 | tca6416@20 { |
120 | 143 | compatible = "ti,tca6416"; |
121 | 144 | reg = <0x20>; |
|
194 | 217 |
|
195 | 218 | /* Set pin names for IMXRT control lines */ |
196 | 219 | &gpio4 { |
197 | | - gpio-line-names = "TCA6416A_nINT", "", "", "", "", "", "", "RESET_OUT", |
| 220 | + gpio-line-names = "TCA6416A_nINT", "USB2514B_Reset", "", "", "", "", "", "RESET_OUT", |
198 | 221 | "", "", "", "", "", "", "", "", |
199 | 222 | "", "", "", "", "IMXRT_nReset", "", "", "", |
200 | 223 | "", "", "", "", "IMXRT_BootMode_En", "SAFETY_ENABLED", "", ""; |
|
0 commit comments