RT1176 Serial Boot from USB-HID does not work

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

RT1176 Serial Boot from USB-HID does not work

Jump to solution
509 Views
mrd
Contributor III

I have a custom board using RT1176. Boot switches are implemented same as on the RT1170-EVK and no fuses are programmed.

With BOOT_MODE[1:0]=01 for "Serial Downloader", serial Boot over LPUART works, but USB-HID does not. The PC does not see any connected USB-HID device. No VID=0x1F9 and PID=0x13D.

The odd thing is that the USB interface (CDC) DOES work okay after internal boot from either QSPI Flash or uSD card.

Do you have any ideas why USB-HID would not work in Serial Boot mode when it works fine after internal boot?

The 24MHZ oscillator looks okay at reset. I've checked that boot mode and configuration GPIO pins are at the correct level. And, as I mentioned, serial boot with LPUART works reliably...so I think this indicates boot mode/configuration GPIO are in the correct state.

I have a RT1170-EVK board and Serial Boot USB-HID works fine on it.

Any ideas about what I should check or what I'm overlooking would be appreciated. Thank you.

0 Kudos
1 Solution
498 Views
mrd
Contributor III

Serial boot from USB_HID doesn't work on the custom board because there are some transitions on GPIO_AD_25 which is LPUART1_RX when UART is used for serial boot. The RT1170 Reference Manual section 10.9 for Serial Boot says "The boot ROM can detect the active peripherals and shut down all inactive peripherals before any communications between the host and the device." GPIO_AD_24 (LPUART1_TX) and GPIO_AD_25 (LPUART1_RX) connect to an external A/D converter on the custom board that causes transitions on these GPIO. The boot ROM apparently deems LPUART1 as the "active peripheral" when it sees the transitions and it disables the USB-HID. The lesson learned is that if want to use USB_HID instead of LPUART for serial boot, make sure LPUART1_RX's GPIO is held static until connect with the boot ROM.

View solution in original post

1 Reply
499 Views
mrd
Contributor III

Serial boot from USB_HID doesn't work on the custom board because there are some transitions on GPIO_AD_25 which is LPUART1_RX when UART is used for serial boot. The RT1170 Reference Manual section 10.9 for Serial Boot says "The boot ROM can detect the active peripherals and shut down all inactive peripherals before any communications between the host and the device." GPIO_AD_24 (LPUART1_TX) and GPIO_AD_25 (LPUART1_RX) connect to an external A/D converter on the custom board that causes transitions on these GPIO. The boot ROM apparently deems LPUART1 as the "active peripheral" when it sees the transitions and it disables the USB-HID. The lesson learned is that if want to use USB_HID instead of LPUART for serial boot, make sure LPUART1_RX's GPIO is held static until connect with the boot ROM.