diff options
author | Tom Rini <trini@konsulko.com> | 2022-01-09 04:26:19 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-01-09 04:26:19 +0300 |
commit | 6ef836accea026a5f87145f890ee47748bc8bfac (patch) | |
tree | 1e0deb990df68e64b620c45ce954ba15e8966f98 | |
parent | 47de135994b59f5787cba233f0102ab97a4e5726 (diff) | |
parent | b05cebb5f244f2891b40397ce2eb0f4596fec659 (diff) | |
download | u-boot-6ef836accea026a5f87145f890ee47748bc8bfac.tar.xz |
Merge branch '2022-01-08-further-important-updates'
- Further udoo_neo fixes, nitrogen6x mmc pinctrl fix
- dwc2_udc_otg fix
- Make imx8mq be consistent with yesterdays imx8 fixes
-rw-r--r-- | arch/arm/dts/imx6qdl-udoo.dtsi | 5 | ||||
-rw-r--r-- | arch/arm/dts/imx8mq-u-boot.dtsi | 19 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx8m/imximage.cfg | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/mx6/Kconfig | 1 | ||||
-rw-r--r-- | board/udoo/udoo.c | 8 | ||||
-rw-r--r-- | board/udoo/udoo_spl.c | 35 | ||||
-rw-r--r-- | configs/nitrogen6dl2g_defconfig | 2 | ||||
-rw-r--r-- | configs/nitrogen6dl_defconfig | 2 | ||||
-rw-r--r-- | configs/nitrogen6q2g_defconfig | 2 | ||||
-rw-r--r-- | configs/nitrogen6q_defconfig | 2 | ||||
-rw-r--r-- | configs/nitrogen6s1g_defconfig | 2 | ||||
-rw-r--r-- | configs/nitrogen6s_defconfig | 2 | ||||
-rw-r--r-- | configs/udoo_defconfig | 3 | ||||
-rw-r--r-- | doc/board/nxp/imx8mq_evk.rst | 1 | ||||
-rw-r--r-- | drivers/usb/gadget/dwc2_udc_otg.c | 2 | ||||
-rw-r--r-- | include/configs/udoo.h | 4 |
16 files changed, 84 insertions, 8 deletions
diff --git a/arch/arm/dts/imx6qdl-udoo.dtsi b/arch/arm/dts/imx6qdl-udoo.dtsi index d07d8f8345..2d0d102661 100644 --- a/arch/arm/dts/imx6qdl-udoo.dtsi +++ b/arch/arm/dts/imx6qdl-udoo.dtsi @@ -4,7 +4,7 @@ * * Author: Fabio Estevam <fabio.estevam@freescale.com> */ - +#include <dt-bindings/gpio/gpio.h> / { aliases { backlight = &backlight; @@ -226,6 +226,7 @@ MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 + MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x1b0b0 >; }; @@ -304,7 +305,7 @@ &usdhc3 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc3>; - non-removable; + cd-gpios = <&gpio7 0 GPIO_ACTIVE_LOW>; status = "okay"; }; diff --git a/arch/arm/dts/imx8mq-u-boot.dtsi b/arch/arm/dts/imx8mq-u-boot.dtsi index 2c10e9b645..8a6075c77b 100644 --- a/arch/arm/dts/imx8mq-u-boot.dtsi +++ b/arch/arm/dts/imx8mq-u-boot.dtsi @@ -50,7 +50,9 @@ }; }; - flash { + spl { + filename = "spl.bin"; + mkimage { args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000"; @@ -119,4 +121,19 @@ }; }; }; + + imx-boot { + filename = "flash.bin"; + pad-byte = <0x00>; + + spl: blob-ext@1 { + offset = <0x0>; + filename = "spl.bin"; + }; + + uboot: blob-ext@2 { + offset = <0x57c00>; + filename = "u-boot.itb"; + }; + }; }; diff --git a/arch/arm/mach-imx/imx8m/imximage.cfg b/arch/arm/mach-imx/imx8m/imximage.cfg index 9c6eaf0a6d..2a3f959183 100644 --- a/arch/arm/mach-imx/imx8m/imximage.cfg +++ b/arch/arm/mach-imx/imx8m/imximage.cfg @@ -8,4 +8,4 @@ FIT BOOT_FROM sd SIGNED_HDMI signed_hdmi.bin -LOADER mkimage.flash.mkimage 0x7e1000 +LOADER u-boot-spl-ddr.bin 0x7e1000 diff --git a/arch/arm/mach-imx/mx6/Kconfig b/arch/arm/mach-imx/mx6/Kconfig index 62de942a32..98df4d4e42 100644 --- a/arch/arm/mach-imx/mx6/Kconfig +++ b/arch/arm/mach-imx/mx6/Kconfig @@ -588,6 +588,7 @@ config TARGET_UDOO depends on MX6QDL select BOARD_LATE_INIT select SUPPORT_SPL + imply CMD_DM config TARGET_UDOO_NEO bool "UDOO Neo" diff --git a/board/udoo/udoo.c b/board/udoo/udoo.c index 5c49388cbf..9e0365615d 100644 --- a/board/udoo/udoo.c +++ b/board/udoo/udoo.c @@ -90,6 +90,14 @@ int mx6_rgmii_rework(struct phy_device *phydev) static void setup_iomux_enet(void) { + gpio_request(IMX_GPIO_NR(2, 31), "eth_power"); + gpio_request(IMX_GPIO_NR(3, 23), "eth_phy_reset"); + gpio_request(IMX_GPIO_NR(6, 24), "strap1"); + gpio_request(IMX_GPIO_NR(6, 25), "strap2"); + gpio_request(IMX_GPIO_NR(6, 27), "strap3"); + gpio_request(IMX_GPIO_NR(6, 28), "strap4"); + gpio_request(IMX_GPIO_NR(6, 29), "strap5"); + gpio_direction_output(IMX_GPIO_NR(2, 31), 1); /* Power supply on */ gpio_direction_output(IMX_GPIO_NR(3, 23), 0); /* assert PHY rst */ diff --git a/board/udoo/udoo_spl.c b/board/udoo/udoo_spl.c index d9afbbb741..647380e1db 100644 --- a/board/udoo/udoo_spl.c +++ b/board/udoo/udoo_spl.c @@ -254,4 +254,39 @@ void board_init_f(ulong dummy) /* DDR initialization */ spl_dram_init(); } + +#define USDHC3_CD_GPIO IMX_GPIO_NR(7, 0) + +#define USDHC_PAD_CTRL (PAD_CTL_PUS_47K_UP | \ + PAD_CTL_SPEED_LOW | PAD_CTL_DSE_80ohm | \ + PAD_CTL_SRE_FAST | PAD_CTL_HYS) + +static struct fsl_esdhc_cfg usdhc_cfg[2] = { + {USDHC3_BASE_ADDR}, +}; + +static const iomux_v3_cfg_t usdhc3_pads[] = { + IOMUX_PADS(PAD_SD3_CLK__SD3_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)), + IOMUX_PADS(PAD_SD3_CMD__SD3_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)), + IOMUX_PADS(PAD_SD3_DAT0__SD3_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), + IOMUX_PADS(PAD_SD3_DAT1__SD3_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), + IOMUX_PADS(PAD_SD3_DAT2__SD3_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), + IOMUX_PADS(PAD_SD3_DAT3__SD3_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), + IOMUX_PADS(PAD_SD3_DAT5__GPIO7_IO00 | MUX_PAD_CTRL(NO_PAD_CTRL)), +}; + +int board_mmc_getcd(struct mmc *mmc) +{ + return !gpio_get_value(USDHC3_CD_GPIO); +} + +int board_mmc_init(struct bd_info *bis) +{ + SETUP_IOMUX_PADS(usdhc3_pads); + usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK); + usdhc_cfg[0].max_bus_width = 4; + gpio_direction_input(USDHC3_CD_GPIO); + + return fsl_esdhc_initialize(bis, &usdhc_cfg[0]); +} #endif diff --git a/configs/nitrogen6dl2g_defconfig b/configs/nitrogen6dl2g_defconfig index 593a43e5e7..20c5d30257 100644 --- a/configs/nitrogen6dl2g_defconfig +++ b/configs/nitrogen6dl2g_defconfig @@ -68,6 +68,8 @@ CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ90X1=y CONFIG_FEC_MXC=y CONFIG_MII=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_IMX6=y CONFIG_MXC_UART=y CONFIG_SPI=y CONFIG_DM_SPI=y diff --git a/configs/nitrogen6dl_defconfig b/configs/nitrogen6dl_defconfig index 4bcc675680..796bd66bc2 100644 --- a/configs/nitrogen6dl_defconfig +++ b/configs/nitrogen6dl_defconfig @@ -68,6 +68,8 @@ CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ90X1=y CONFIG_FEC_MXC=y CONFIG_MII=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_IMX6=y CONFIG_MXC_UART=y CONFIG_SPI=y CONFIG_DM_SPI=y diff --git a/configs/nitrogen6q2g_defconfig b/configs/nitrogen6q2g_defconfig index 76fc53d515..b42220db06 100644 --- a/configs/nitrogen6q2g_defconfig +++ b/configs/nitrogen6q2g_defconfig @@ -70,6 +70,8 @@ CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ90X1=y CONFIG_FEC_MXC=y CONFIG_MII=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_IMX6=y CONFIG_MXC_UART=y CONFIG_SPI=y CONFIG_DM_SPI=y diff --git a/configs/nitrogen6q_defconfig b/configs/nitrogen6q_defconfig index fca3e5f531..cc08559496 100644 --- a/configs/nitrogen6q_defconfig +++ b/configs/nitrogen6q_defconfig @@ -70,6 +70,8 @@ CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ90X1=y CONFIG_FEC_MXC=y CONFIG_MII=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_IMX6=y CONFIG_MXC_UART=y CONFIG_SPI=y CONFIG_DM_SPI=y diff --git a/configs/nitrogen6s1g_defconfig b/configs/nitrogen6s1g_defconfig index 8b720b0d60..17133c5cd6 100644 --- a/configs/nitrogen6s1g_defconfig +++ b/configs/nitrogen6s1g_defconfig @@ -68,6 +68,8 @@ CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ90X1=y CONFIG_FEC_MXC=y CONFIG_MII=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_IMX6=y CONFIG_MXC_UART=y CONFIG_SPI=y CONFIG_DM_SPI=y diff --git a/configs/nitrogen6s_defconfig b/configs/nitrogen6s_defconfig index a9d239e9be..242580e3e9 100644 --- a/configs/nitrogen6s_defconfig +++ b/configs/nitrogen6s_defconfig @@ -68,6 +68,8 @@ CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ90X1=y CONFIG_FEC_MXC=y CONFIG_MII=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_IMX6=y CONFIG_MXC_UART=y CONFIG_SPI=y CONFIG_DM_SPI=y diff --git a/configs/udoo_defconfig b/configs/udoo_defconfig index 8e1bba1120..ab2b2ee675 100644 --- a/configs/udoo_defconfig +++ b/configs/udoo_defconfig @@ -7,7 +7,7 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y CONFIG_NR_DRAM_BANKS=1 CONFIG_ENV_SIZE=0x2000 -CONFIG_ENV_OFFSET=0x60000 +CONFIG_ENV_OFFSET=0xC0000 CONFIG_MX6QDL=y CONFIG_TARGET_UDOO=y CONFIG_DM_GPIO=y @@ -35,6 +35,7 @@ CONFIG_OF_CONTROL=y CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y +CONFIG_SYS_MMC_ENV_DEV=2 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y CONFIG_DM=y CONFIG_BOUNCE_BUFFER=y diff --git a/doc/board/nxp/imx8mq_evk.rst b/doc/board/nxp/imx8mq_evk.rst index 92eeda79aa..aa1ecfb47a 100644 --- a/doc/board/nxp/imx8mq_evk.rst +++ b/doc/board/nxp/imx8mq_evk.rst @@ -50,7 +50,6 @@ Burn the flash.bin to MicroSD card offset 33KB: .. code-block:: bash $sudo dd if=flash.bin of=/dev/sd[x] bs=1024 seek=33 conv=notrunc - $sudo dd if=u-boot.itb of=/dev/sd[x] bs=1024 seek=384 conv=notrunc Boot ---- diff --git a/drivers/usb/gadget/dwc2_udc_otg.c b/drivers/usb/gadget/dwc2_udc_otg.c index 2f31814442..fb10884755 100644 --- a/drivers/usb/gadget/dwc2_udc_otg.c +++ b/drivers/usb/gadget/dwc2_udc_otg.c @@ -655,6 +655,7 @@ static int dwc2_ep_enable(struct usb_ep *_ep, return -ESHUTDOWN; } + _ep->desc = desc; ep->stopped = 0; ep->desc = desc; ep->pio_irqs = 0; @@ -695,6 +696,7 @@ static int dwc2_ep_disable(struct usb_ep *_ep) /* Nuke all pending requests */ nuke(ep, -ESHUTDOWN); + _ep->desc = NULL; ep->desc = 0; ep->stopped = 1; diff --git a/include/configs/udoo.h b/include/configs/udoo.h index fe6ea68dd4..4bddc0eca3 100644 --- a/include/configs/udoo.h +++ b/include/configs/udoo.h @@ -28,7 +28,7 @@ "fdt_addr=0x18000000\0" \ "fdt_addr_r=0x18000000\0" \ "ip_dyn=yes\0" \ - "mmcdev=0\0" \ + "mmcdev=2\0" \ "mmcrootfstype=ext4\0" \ "findfdt="\ "if test ${board_rev} = MX6Q; then " \ @@ -44,7 +44,7 @@ BOOTENV #define BOOT_TARGET_DEVICES(func) \ - func(MMC, mmc, 0) \ + func(MMC, mmc, 2) \ func(SATA, sata, 0) \ func(DHCP, dhcp, na) |