colibri_vf: migrate fec, esdhc, nfc and usb to driver model
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>
Mon, 25 Mar 2019 16:25:01 +0000 (17:25 +0100)
committerStefano Babic <sbabic@denx.de>
Sat, 13 Apr 2019 18:30:09 +0000 (20:30 +0200)
Migrate FEC, ESDHC, NFC and USB to driver model.

While at it also do no longer enable optional I2C clock in board file as
the generic clock code now handles this. Note for space reason and as
it is not required just for booting we do not enable I2C in U-Boot by
default.

While at it also update copyright period.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
board/toradex/colibri_vf/colibri_vf.c
configs/colibri_vf_defconfig
include/configs/colibri_vf.h

index 8e0dea2dc20b5e4c90e2e2c2c971a46772e2d96f..c4d05532fe50e5ad771b478211b2ae876ed93fdf 100644 (file)
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <fdt_support.h>
-#include <fsl_esdhc.h>
 #include <fsl_dcu_fb.h>
 #include <g_dnl.h>
-#include <i2c.h>
 #include <jffs2/load_kernel.h>
-#include <miiphy.h>
-#include <mmc.h>
 #include <mtd_node.h>
-#include <netdev.h>
 #include <usb.h>
 
 #include "../common/tdx-common.h"
 
 DECLARE_GLOBAL_DATA_PTR;
 
-#define USB_PEN_GPIO           83
-#define USB_CDET_GPIO          102
 #define PTC0_GPIO_45           45
 
 static struct ddrmc_cr_setting colibri_vf_cr_settings[] = {
@@ -239,25 +232,6 @@ static void setup_tcon(void)
 }
 #endif
 
-#ifdef CONFIG_FSL_ESDHC
-struct fsl_esdhc_cfg esdhc_cfg[1] = {
-       {ESDHC1_BASE_ADDR},
-};
-
-int board_mmc_getcd(struct mmc *mmc)
-{
-       /* eSDHC1 is always present */
-       return 1;
-}
-
-int board_mmc_init(bd_t *bis)
-{
-       esdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
-
-       return fsl_esdhc_initialize(bis, &esdhc_cfg[0]);
-}
-#endif
-
 static inline int is_colibri_vf61(void)
 {
        struct mscm *mscm = (struct mscm *)MSCM_BASE_ADDR;
@@ -290,7 +264,7 @@ static void clock_init(void)
                        CCM_CCGR3_ANADIG_CTRL_MASK | CCM_CCGR3_SCSC_CTRL_MASK);
        clrsetbits_le32(&ccm->ccgr4, CCM_REG_CTRL_MASK,
                        CCM_CCGR4_WKUP_CTRL_MASK | CCM_CCGR4_CCM_CTRL_MASK |
-                       CCM_CCGR4_GPC_CTRL_MASK | CCM_CCGR4_I2C0_CTRL_MASK);
+                       CCM_CCGR4_GPC_CTRL_MASK);
        clrsetbits_le32(&ccm->ccgr6, CCM_REG_CTRL_MASK,
                        CCM_CCGR6_OCOTP_CTRL_MASK | CCM_CCGR6_DDRMC_CTRL_MASK);
        clrsetbits_le32(&ccm->ccgr7, CCM_REG_CTRL_MASK,
@@ -379,14 +353,6 @@ static void mscm_init(void)
                writew(MSCM_IRSPRC_CP0_EN, &mscmir->irsprc[i]);
 }
 
-int board_phy_config(struct phy_device *phydev)
-{
-       if (phydev->drv->config)
-               phydev->drv->config(phydev);
-
-       return 0;
-}
-
 int board_early_init_f(void)
 {
        clock_init();
@@ -433,13 +399,8 @@ int board_init(void)
         * so we must use the external oscillator in order
         * to maintain correct time in the hwclock
         */
-
        setbits_le32(&scsc->sosc_ctr, SCSC_SOSC_CTR_SOSC_EN);
 
-#ifdef CONFIG_USB_EHCI_VF
-       gpio_request(USB_CDET_GPIO, "usb-cdet-gpio");
-#endif
-
        return 0;
 }
 
@@ -476,47 +437,6 @@ int ft_board_setup(void *blob, bd_t *bd)
 }
 #endif
 
-#ifdef CONFIG_USB_EHCI_VF
-int board_ehci_hcd_init(int port)
-{
-       switch (port) {
-       case 0:
-               /* USBC does not have PEN, also configured as USB client only */
-               break;
-       case 1:
-               gpio_request(USB_PEN_GPIO, "usb-pen-gpio");
-               gpio_direction_output(USB_PEN_GPIO, 0);
-               break;
-       }
-       return 0;
-}
-
-int board_usb_phy_mode(int port)
-{
-       switch (port) {
-       case 0:
-               /*
-                * Port 0 is used only in client mode on Colibri Vybrid modules
-                * Check for state of USB client gpio pin and accordingly return
-                * USB_INIT_DEVICE or USB_INIT_HOST.
-                */
-               if (gpio_get_value(USB_CDET_GPIO))
-                       return USB_INIT_DEVICE;
-               else
-                       return USB_INIT_HOST;
-       case 1:
-               /* Port 1 is used only in host mode on Colibri Vybrid modules */
-               return USB_INIT_HOST;
-       default:
-               /*
-                * There are only two USB controllers on Vybrid. Ideally we will
-                * not reach here. However return USB_INIT_HOST if we do.
-                */
-               return USB_INIT_HOST;
-       }
-}
-#endif
-
 /*
  * Backlight off before OS handover
  */
index 9a91cb4b82211eb8673750af91bae52ead00bcf8..344fe772340316652509f6bdd71fefa86a314fc2 100644 (file)
@@ -56,13 +56,18 @@ CONFIG_DM=y
 CONFIG_DFU_NAND=y
 CONFIG_DM_GPIO=y
 CONFIG_VYBRID_GPIO=y
+CONFIG_DM_MMC=y
 # CONFIG_MMC_HW_PARTITIONING is not set
 CONFIG_FSL_ESDHC=y
+CONFIG_MTD=y
 CONFIG_NAND_VF610_NFC=y
+CONFIG_NAND_VF610_NFC_DT=y
 CONFIG_SYS_NAND_VF610_NFC_60_ECC_BYTES=y
 CONFIG_MTD_UBI_FASTMAP=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
+CONFIG_DM_ETH=y
+CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_VYBRID=y
index e7b786e48bb878834dd38b33ecfc4f1be6b5d7b1..1acc6e50566884f452354cc400fa3f74a970c146 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0+ */
 /*
- * Copyright 2015-2016 Toradex, Inc.
+ * Copyright 2015-2019 Toradex, Inc.
  *
  * Configuration settings for the Toradex VF50/VF61 modules.
  *
 /* NAND support */
 #define CONFIG_SYS_NAND_ONFI_DETECTION
 #define CONFIG_SYS_MAX_NAND_DEVICE     1
-#define CONFIG_SYS_NAND_BASE           NFC_BASE_ADDR
-
-/* Dynamic MTD partition support */
-
-#define CONFIG_SYS_FSL_ESDHC_ADDR      0
-#define CONFIG_SYS_FSL_ESDHC_NUM       1
-
-#define CONFIG_FEC_MXC
-#define IMX_FEC_BASE                   ENET1_BASE_ADDR
-#define CONFIG_FEC_XCV_TYPE            RMII
-#define CONFIG_FEC_MXC_PHYADDR          0
 
 #define CONFIG_IPADDR          192.168.10.2
 #define CONFIG_NETMASK         255.255.255.0