
On 2017-09-05 04:13, Fabio Estevam wrote:
Hi Stefan,
On Mon, Sep 4, 2017 at 10:21 PM, Stefan Agner stefan@agner.ch wrote:
From: Stefan Agner stefan.agner@toradex.com
This macro allows to detect whether the boot ROM initialized USB already (serial downloader). This is helpful to reliably detect if the system has been recovered via USB serial downloader.
Signed-off-by: Stefan Agner stefan.agner@toradex.com Acked-by: Marcel Ziswiler marcel.ziswiler@toradex.com
This allows Serial Download Protocol to work on imx6q sabresd:
Tested-by: Fabio Estevam fabio.estevam@nxp.com
Hi Stefano,
I noted already in my initial post that detection of serial downloader mode is somewhat brittle: https://lists.denx.de/pipermail/u-boot/2017-August/301952.html
This came up quite fast now also for other boards: https://www.mail-archive.com/u-boot@lists.denx.de/msg262234.html
We use this patches since quite some time. Also NXP uses this detection method to start their mfgr tools... Altough a hack, maybe we should still add it upstream?
-- Stefan
arch/arm/include/asm/arch-mx6/imx-regs.h | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/arch/arm/include/asm/arch-mx6/imx-regs.h b/arch/arm/include/asm/arch-mx6/imx-regs.h index 86e267087a..895ef4de83 100644 --- a/arch/arm/include/asm/arch-mx6/imx-regs.h +++ b/arch/arm/include/asm/arch-mx6/imx-regs.h @@ -985,5 +985,12 @@ struct pwm_regs { u32 pr; u32 cnr; };
+/*
- If ROM fell back to USB recover mode, USBPH0_PWD will be clear to use USB
- If boot from the other mode, USB0_PWD will keep reset value
- */
+#define is_boot_from_usb(void) (!(readl(USB_PHY0_BASE_ADDR) & (1<<20)))
Minor nit: imx-regs.h is better suited for storing register layout definitions.
I think that arch/arm/include/asm/mach-imx/sys_proto.h would be a more appropriate location for this macro.
Makes sense, will move it.
Also you could remove that tab between 'define' and the macro name.
Agreed.
-- Stefan