]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
mx28evk: Convert to driver model
authorFabio Estevam <festevam@gmail.com>
Thu, 18 Feb 2021 02:39:28 +0000 (23:39 -0300)
committerStefano Babic <sbabic@denx.de>
Mon, 9 Aug 2021 12:46:50 +0000 (14:46 +0200)
Make the conversion to driver model as it is mandatory.

Successfully tested booting Linux from the SD card.

Dropped support for networking and splash screen as these need
to be properly converted to DM and tested.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
arch/arm/dts/Makefile
arch/arm/dts/imx28-evk-u-boot.dtsi [new file with mode: 0644]
board/freescale/mx28evk/MAINTAINERS
board/freescale/mx28evk/mx28evk.c
configs/mx28evk_defconfig
include/configs/mx28evk.h

index bec349f17e41a0c16cdf28dc4f3883aeb1f637b5..e62f7fc1c5a8b992121a0fc135b898bc28c2bab7 100644 (file)
@@ -680,6 +680,7 @@ dtb-$(CONFIG_TARGET_MX23_OLINUXINO) += \
        imx23-olinuxino.dtb
 
 dtb-$(CONFIG_MX28) += \
+       imx28-evk.dtb \
        imx28-xea.dtb
 
 dtb-$(CONFIG_MX51) += \
diff --git a/arch/arm/dts/imx28-evk-u-boot.dtsi b/arch/arm/dts/imx28-evk-u-boot.dtsi
new file mode 100644 (file)
index 0000000..6adbae6
--- /dev/null
@@ -0,0 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2019
+ * Lukasz Majewski, DENX Software Engineering, lukma@denx.de
+ *
+ * SPDX-License-Identifier:     GPL-2.0+ or X11
+ */
+
+#include "imx28-u-boot.dtsi"
+
index 597118d3f66af920084991e1764678f932f259c6..c565010ccf6b7602e5b0bd375f64ea3312bb417a 100644 (file)
@@ -2,6 +2,7 @@ MX28EVK BOARD
 M:     Fabio Estevam <festevam@gmail.com>
 S:     Maintained
 F:     board/freescale/mx28evk/
+F:     arch/arm/dts/imx28-evk.dts
 F:     include/configs/mx28evk.h
 F:     configs/mx28evk_defconfig
 F:     configs/mx28evk_auart_console_defconfig
index 21c9cb11283614cbc5c6449b17ef5f9e4a52651e..88c3bf36089c7ee2830fdf0d2dad94c0dd7cfbe9 100644 (file)
@@ -72,80 +72,3 @@ int board_init(void)
 
        return 0;
 }
-
-#ifdef CONFIG_CMD_MMC
-static int mx28evk_mmc_wp(int id)
-{
-       if (id != 0) {
-               printf("MXS MMC: Invalid card selected (card id = %d)\n", id);
-               return 1;
-       }
-
-       return gpio_get_value(MX28_PAD_SSP1_SCK__GPIO_2_12);
-}
-
-int board_mmc_init(struct bd_info *bis)
-{
-       /* Configure WP as input */
-       gpio_direction_input(MX28_PAD_SSP1_SCK__GPIO_2_12);
-
-       /* Configure MMC0 Power Enable */
-       gpio_direction_output(MX28_PAD_PWM3__GPIO_3_28, 0);
-
-       return mxsmmc_initialize(bis, 0, mx28evk_mmc_wp, NULL);
-}
-#endif
-
-#ifdef CONFIG_CMD_NET
-
-int board_eth_init(struct bd_info *bis)
-{
-       struct mxs_clkctrl_regs *clkctrl_regs =
-               (struct mxs_clkctrl_regs *)MXS_CLKCTRL_BASE;
-       struct eth_device *dev;
-       int ret;
-
-       ret = cpu_eth_init(bis);
-       if (ret)
-               return ret;
-
-       /* MX28EVK uses ENET_CLK PAD to drive FEC clock */
-       writel(CLKCTRL_ENET_TIME_SEL_RMII_CLK | CLKCTRL_ENET_CLK_OUT_EN,
-              &clkctrl_regs->hw_clkctrl_enet);
-
-       /* Power-on FECs */
-       gpio_direction_output(MX28_PAD_SSP1_DATA3__GPIO_2_15, 0);
-
-       /* Reset FEC PHYs */
-       gpio_direction_output(MX28_PAD_ENET0_RX_CLK__GPIO_4_13, 0);
-       udelay(200);
-       gpio_set_value(MX28_PAD_ENET0_RX_CLK__GPIO_4_13, 1);
-
-       ret = fecmxc_initialize_multi(bis, 0, 0, MXS_ENET0_BASE);
-       if (ret) {
-               puts("FEC MXS: Unable to init FEC0\n");
-               return ret;
-       }
-
-       ret = fecmxc_initialize_multi(bis, 1, 3, MXS_ENET1_BASE);
-       if (ret) {
-               puts("FEC MXS: Unable to init FEC1\n");
-               return ret;
-       }
-
-       dev = eth_get_dev_by_name("FEC0");
-       if (!dev) {
-               puts("FEC MXS: Unable to get FEC0 device entry\n");
-               return -EINVAL;
-       }
-
-       dev = eth_get_dev_by_name("FEC1");
-       if (!dev) {
-               puts("FEC MXS: Unable to get FEC1 device entry\n");
-               return -EINVAL;
-       }
-
-       return ret;
-}
-
-#endif
index 300ab08c82c59a068e0ca5e305902661c4197f82..3345ec611a123359a7d72316426d8256fe2dcf8f 100644 (file)
@@ -7,10 +7,12 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ENV_SIZE=0x4000
 CONFIG_ENV_OFFSET=0x40000
+CONFIG_DM_GPIO=y
 CONFIG_SPL_TEXT_BASE=0x00001000
 CONFIG_TARGET_MX28EVK=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL=y
+CONFIG_DEFAULT_DEVICE_TREE="imx28-evk"
 CONFIG_FIT=y
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
@@ -18,13 +20,11 @@ CONFIG_ARCH_MISC_INIT=y
 # CONFIG_SPL_FRAMEWORK is not set
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
+CONFIG_CMD_DM=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_NAND_TRIMFFS=y
-CONFIG_CMD_DHCP=y
-CONFIG_CMD_MII=y
-CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_DATE=y
 CONFIG_CMD_EXT4=y
@@ -35,18 +35,28 @@ CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nand0=gpmi-nand"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=gpmi-nand:3m(bootloader)ro,512k(environment),512k(redundant-environment),4m(kernel),512k(fdt),8m(ramdisk),-(filesystem)"
 CONFIG_CMD_UBI=y
+CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
+# CONFIG_NET is not set
+CONFIG_DM=y
+CONFIG_SPL_DM=y
 CONFIG_MXS_GPIO=y
+CONFIG_DM_MMC=y
 CONFIG_MMC_MXS=y
 CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
 CONFIG_NAND_MXS=y
 CONFIG_MII=y
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_MXS=y
+CONFIG_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_DM_REGULATOR_GPIO=y
 CONFIG_CONS_INDEX=0
 CONFIG_SPI=y
 CONFIG_USB=y
+CONFIG_DM_USB=y
 CONFIG_SPLASH_SCREEN=y
-CONFIG_OF_LIBFDT=y
index a65df486081071d568ad14e9cdd71d6a810d6be4..21f3277d5c43c363c05db5f7ba4a08792086ee47 100644 (file)
 
 /* UBI and NAND partitioning */
 
-/* FEC Ethernet on SoC */
-#ifdef CONFIG_CMD_NET
-#define CONFIG_FEC_MXC
-#define CONFIG_FEC_MXC_MDIO_BASE MXS_ENET0_BASE
-#define CONFIG_MX28_FEC_MAC_IN_OCOTP
-#endif
-
 /* RTC */
 #ifdef CONFIG_CMD_DATE
 #define        CONFIG_RTC_MXS