[PATCH 3/4] mx51evk: Convert to driver model

2021-03-01 Thread sbabic
> Make the conversion to driver model as it is mandatory.
> Tested booting the Linux kernel from the SD card.
> Signed-off-by: Fabio Estevam 
Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=


[PATCH 3/4] mx51evk: Convert to driver model

2021-02-15 Thread Fabio Estevam
Make the conversion to driver model as it is mandatory.

Tested booting the Linux kernel from the SD card.

Signed-off-by: Fabio Estevam 
---
 arch/arm/dts/Makefile |   3 +
 board/freescale/mx51evk/mx51evk.c | 186 +-
 configs/mx51evk_defconfig |  19 ++-
 include/configs/mx51evk.h |   8 --
 4 files changed, 22 insertions(+), 194 deletions(-)

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 4fd3eabd6e8f..88f23e4ef41e 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -653,6 +653,9 @@ dtb-$(CONFIG_VF610) += vf500-colibri.dtb \
 dtb-$(CONFIG_MX28) += \
imx28-xea.dtb
 
+dtb-$(CONFIG_MX51) += \
+   imx51-babbage.dtb
+
 dtb-$(CONFIG_MX53) += imx53-cx9020.dtb \
imx53-qsb.dtb \
imx53-kp.dtb \
diff --git a/board/freescale/mx51evk/mx51evk.c 
b/board/freescale/mx51evk/mx51evk.c
index 4250efddde77..b1a5c6b5f8bd 100644
--- a/board/freescale/mx51evk/mx51evk.c
+++ b/board/freescale/mx51evk/mx51evk.c
@@ -26,13 +26,6 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-#ifdef CONFIG_FSL_ESDHC_IMX
-struct fsl_esdhc_cfg esdhc_cfg[2] = {
-   {MMC_SDHC1_BASE_ADDR},
-   {MMC_SDHC2_BASE_ADDR},
-};
-#endif
-
 int dram_init(void)
 {
/* dram_init must store complete ramsize in gd->ram_size */
@@ -63,34 +56,6 @@ static void setup_iomux_uart(void)
imx_iomux_v3_setup_multiple_pads(uart_pads, ARRAY_SIZE(uart_pads));
 }
 
-static void setup_iomux_fec(void)
-{
-   static const iomux_v3_cfg_t fec_pads[] = {
-   NEW_PAD_CTRL(MX51_PAD_EIM_EB2__FEC_MDIO, PAD_CTL_HYS |
-   PAD_CTL_PUS_22K_UP | PAD_CTL_ODE |
-   PAD_CTL_DSE_HIGH | PAD_CTL_SRE_FAST),
-   MX51_PAD_NANDF_CS3__FEC_MDC,
-   NEW_PAD_CTRL(MX51_PAD_EIM_CS3__FEC_RDATA3, MX51_PAD_CTRL_2),
-   NEW_PAD_CTRL(MX51_PAD_EIM_CS2__FEC_RDATA2, MX51_PAD_CTRL_2),
-   NEW_PAD_CTRL(MX51_PAD_EIM_EB3__FEC_RDATA1, MX51_PAD_CTRL_2),
-   MX51_PAD_NANDF_D9__FEC_RDATA0,
-   MX51_PAD_NANDF_CS6__FEC_TDATA3,
-   MX51_PAD_NANDF_CS5__FEC_TDATA2,
-   MX51_PAD_NANDF_CS4__FEC_TDATA1,
-   MX51_PAD_NANDF_D8__FEC_TDATA0,
-   MX51_PAD_NANDF_CS7__FEC_TX_EN,
-   MX51_PAD_NANDF_CS2__FEC_TX_ER,
-   MX51_PAD_NANDF_RDY_INT__FEC_TX_CLK,
-   NEW_PAD_CTRL(MX51_PAD_NANDF_RB2__FEC_COL, MX51_PAD_CTRL_4),
-   NEW_PAD_CTRL(MX51_PAD_NANDF_RB3__FEC_RX_CLK, MX51_PAD_CTRL_4),
-   MX51_PAD_EIM_CS5__FEC_CRS,
-   MX51_PAD_EIM_CS4__FEC_RX_ER,
-   NEW_PAD_CTRL(MX51_PAD_NANDF_D11__FEC_RX_DV, MX51_PAD_CTRL_4),
-   };
-
-   imx_iomux_v3_setup_multiple_pads(fec_pads, ARRAY_SIZE(fec_pads));
-}
-
 #ifdef CONFIG_MXC_SPI
 static void setup_iomux_spi(void)
 {
@@ -111,64 +76,6 @@ static void setup_iomux_spi(void)
 }
 #endif
 
-#ifdef CONFIG_USB_EHCI_MX5
-#define MX51EVK_USBH1_HUB_RST  IMX_GPIO_NR(1, 7)
-#define MX51EVK_USBH1_STP  IMX_GPIO_NR(1, 27)
-#define MX51EVK_USB_CLK_EN_B   IMX_GPIO_NR(2, 1)
-#define MX51EVK_USB_PHY_RESET  IMX_GPIO_NR(2, 5)
-
-static void setup_usb_h1(void)
-{
-   static const iomux_v3_cfg_t usb_h1_pads[] = {
-   MX51_PAD_USBH1_CLK__USBH1_CLK,
-   MX51_PAD_USBH1_DIR__USBH1_DIR,
-   MX51_PAD_USBH1_STP__USBH1_STP,
-   MX51_PAD_USBH1_NXT__USBH1_NXT,
-   MX51_PAD_USBH1_DATA0__USBH1_DATA0,
-   MX51_PAD_USBH1_DATA1__USBH1_DATA1,
-   MX51_PAD_USBH1_DATA2__USBH1_DATA2,
-   MX51_PAD_USBH1_DATA3__USBH1_DATA3,
-   MX51_PAD_USBH1_DATA4__USBH1_DATA4,
-   MX51_PAD_USBH1_DATA5__USBH1_DATA5,
-   MX51_PAD_USBH1_DATA6__USBH1_DATA6,
-   MX51_PAD_USBH1_DATA7__USBH1_DATA7,
-
-   NEW_PAD_CTRL(MX51_PAD_GPIO1_7__GPIO1_7, 0), /* H1 hub reset */
-   MX51_PAD_EIM_D17__GPIO2_1,
-   MX51_PAD_EIM_D21__GPIO2_5, /* PHY reset */
-   };
-
-   imx_iomux_v3_setup_multiple_pads(usb_h1_pads, ARRAY_SIZE(usb_h1_pads));
-}
-
-int board_ehci_hcd_init(int port)
-{
-   /* Set USBH1_STP to GPIO and toggle it */
-   imx_iomux_v3_setup_pad(NEW_PAD_CTRL(MX51_PAD_USBH1_STP__GPIO1_27,
-   MX51_USBH_PAD_CTRL));
-
-   gpio_direction_output(MX51EVK_USBH1_STP, 0);
-   gpio_direction_output(MX51EVK_USB_PHY_RESET, 0);
-   mdelay(10);
-   gpio_set_value(MX51EVK_USBH1_STP, 1);
-
-   /* Set back USBH1_STP to be function */
-   imx_iomux_v3_setup_pad(MX51_PAD_USBH1_STP__USBH1_STP);
-
-   /* De-assert USB PHY RESETB */
-   gpio_set_value(MX51EVK_USB_PHY_RESET, 1);
-
-   /* Drive USB_CLK_EN_B line low */
-   gpio_direction_output(MX51EVK_USB_CLK_EN_B, 0);
-
-   /* Reset USB hub */
-   gpio_direction_output(MX51EVK_USBH1_HUB_RST, 0);
-   mdelay(2);
-   gpio_set_value(MX51EVK_USBH1_HUB_RST, 1);