]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
ARM: imx: Replace YModem with SDP on Data Modul i.MX8M Mini eDM SBC SPL
authorMarek Vasut <marex@denx.de>
Fri, 29 Nov 2024 02:41:47 +0000 (03:41 +0100)
committerFabio Estevam <festevam@gmail.com>
Fri, 29 Nov 2024 12:20:25 +0000 (09:20 -0300)
The YModem support in SPL was never really used on this device,
the SDP support is much more convenient on i.MX8M Mini based
hardware. Replace the YModem support with SDP support.

The SDP can be utilized by forcing the board into SDP boot mode
by grounding test point right next to silkscreen label U30, and
then by using mfgtools 'uuu -brun spl flash.bin' once the device
enumerates on host system USB bus. The SDP capable USB port is
available on the USB micro-B port on the base board.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
arch/arm/dts/imx8mm-data-modul-edm-sbc-u-boot.dtsi
board/data_modul/imx8mm_edm_sbc/spl.c
configs/imx8mm_data_modul_edm_sbc_defconfig

index fb6951026d960aefd45b97318ddc074a76361f93..f5e98bf74871b9b35ba9c3f661dad4d7a1abeccf 100644 (file)
        bootph-pre-ram;
 };
 
+&usbmisc1 {
+       bootph-pre-ram;
+};
+
+&usbphynop1 {
+       bootph-pre-ram;
+};
+
 &usbotg1 {
        dr_mode = "peripheral";
+       bootph-pre-ram;
 };
 
 &usdhc2 {
index 17aafd719c9d444a23b63cc0f48e89a82320e72a..a9ef049652ac0f8a5c1937a5e5f5f743780631d4 100644 (file)
@@ -61,8 +61,10 @@ int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
        if (boot_dev_spl == MMC3_BOOT)
                return BOOT_DEVICE_MMC2;        /* eMMC */
-       else
+       else if (boot_dev_spl == MMC2_BOOT)
                return BOOT_DEVICE_MMC1;        /* SD */
+       else
+               return BOOT_DEVICE_BOARD;
 }
 
 void board_boot_order(u32 *spl_boot_list)
@@ -76,7 +78,7 @@ void board_boot_order(u32 *spl_boot_list)
        else
                spl_boot_list[1] = BOOT_DEVICE_MMC1;    /* SD */
 
-       spl_boot_list[2] = BOOT_DEVICE_UART;    /* YModem */
+       spl_boot_list[2] = BOOT_DEVICE_BOARD;   /* SDP */
        spl_boot_list[3] = BOOT_DEVICE_NONE;
 }
 
index 7c9d4ee184498355abb8dd335206b120b292df2e..518243e6513a3f6df9255b7794825fbb75af8c18 100644 (file)
@@ -12,17 +12,22 @@ CONFIG_DM_REGULATOR_BD71837=y
 CONFIG_IMX_CONFIG="board/data_modul/imx8mm_edm_sbc/imximage.cfg"
 CONFIG_PHYLIB=y
 CONFIG_PREBOOT="run dmo_preboot"
+CONFIG_SDP_LOADADDR=0x60000000
 CONFIG_SPL_BSS_MAX_SIZE=0x2000
 CONFIG_SPL_BSS_START_ADDR=0x910000
+CONFIG_SPL_MAX_SIZE=0x30000
 CONFIG_SPL_CLK_IMX8MM=y
 CONFIG_SPL_CUSTOM_SYS_MALLOC_ADDR=0x42200000
 CONFIG_SPL_DM_PMIC_BD71837=y
 CONFIG_SPL_DM_REGULATOR_BD71837=y
+CONFIG_SPL_DM_USB=y
 CONFIG_SPL_LEGACY_IMAGE_CRC_CHECK=y
 CONFIG_SPL_LEGACY_IMAGE_FORMAT=y
 CONFIG_SPL_RAM_DEVICE=y
 CONFIG_SPL_STACK=0x920000
 CONFIG_SPL_SYS_MALLOC_SIZE=0x1000000
 CONFIG_SPL_TEXT_BASE=0x7E1000
-CONFIG_SPL_YMODEM_SUPPORT=y
+CONFIG_SPL_USB_GADGET=y
+CONFIG_SPL_USB_HOST=y
+CONFIG_SPL_USB_SDP_SUPPORT=y
 CONFIG_SYS_LOAD_ADDR=0x60000000