X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=board%2Ftqc%2Ftqma6%2Ftqma6_mba6.c;h=8a2431edab93a1cde84d54a94b2ec0a2068b3d61;hb=0b7f1a95df8fe312ff8f1f548f51e6d656e8e67e;hp=4db1a0bb7d041267cf265551c7bbc236e5abccc0;hpb=1221ce459d04a428f8880f58581f671b736c3c27;p=platform%2Fkernel%2Fu-boot.git diff --git a/board/tqc/tqma6/tqma6_mba6.c b/board/tqc/tqma6/tqma6_mba6.c index 4db1a0b..8a2431e 100644 --- a/board/tqc/tqma6/tqma6_mba6.c +++ b/board/tqc/tqma6/tqma6_mba6.c @@ -1,11 +1,10 @@ +// SPDX-License-Identifier: GPL-2.0+ /* * Copyright (C) 2012 Freescale Semiconductor, Inc. * Author: Fabio Estevam * * Copyright (C) 2013, 2014 TQ Systems (ported SabreSD to TQMa6x) * Author: Markus Niebel - * - * SPDX-License-Identifier: GPL-2.0+ */ #include @@ -16,11 +15,11 @@ #include #include #include -#include +#include #include -#include -#include +#include +#include #include #include #include @@ -30,8 +29,6 @@ #include "tqma6_bb.h" -DECLARE_GLOBAL_DATA_PTR; - #define UART_PAD_CTRL (PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ PAD_CTL_DSE_80ohm | PAD_CTL_SRE_FAST | PAD_CTL_HYS) @@ -51,22 +48,22 @@ DECLARE_GLOBAL_DATA_PTR; PAD_CTL_DSE_80ohm | PAD_CTL_SRE_FAST | PAD_CTL_HYS) #define I2C_PAD_CTRL (PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ - PAD_CTL_DSE_40ohm | PAD_CTL_HYS | \ + PAD_CTL_DSE_80ohm | PAD_CTL_HYS | \ PAD_CTL_ODE | PAD_CTL_SRE_FAST) -#if defined(CONFIG_MX6Q) +#if defined(CONFIG_TQMA6Q) #define IOMUX_SW_PAD_CTRL_GRP_DDR_TYPE_RGMII 0x02e0790 #define IOMUX_SW_PAD_CTRL_GRP_RGMII_TERM 0x02e07ac -#elif defined(CONFIG_MX6S) +#elif defined(CONFIG_TQMA6S) || defined(CONFIG_TQMA6DL) #define IOMUX_SW_PAD_CTRL_GRP_DDR_TYPE_RGMII 0x02e0768 #define IOMUX_SW_PAD_CTRL_GRP_RGMII_TERM 0x02e0788 #else -#error "need to define target CPU" +#error "need to select module" #endif @@ -114,6 +111,11 @@ static iomux_v3_cfg_t const mba6_enet_pads[] = { static void mba6_setup_iomuxc_enet(void) { + struct iomuxc *const iomuxc_regs = (struct iomuxc *)IOMUXC_BASE_ADDR; + + /* clear gpr1[ENET_CLK_SEL] for externel clock */ + clrbits_le32(&iomuxc_regs->gpr[1], IOMUXC_GPR1_ENET_CLK_SEL_MASK); + __raw_writel(IOMUX_SW_PAD_CTRL_GRP_RGMII_TERM_DISABLE, (void *)IOMUX_SW_PAD_CTRL_GRP_RGMII_TERM); __raw_writel(IOMUX_SW_PAD_CTRL_GRP_DDR_TYPE_RGMII_1P5V, @@ -125,7 +127,7 @@ static void mba6_setup_iomuxc_enet(void) /* Reset PHY */ gpio_direction_output(ENET_PHY_RESET_GPIO , 0); /* Need delay 10ms after power on according to KSZ9031 spec */ - udelay(1000 * 10); + mdelay(10); gpio_set_value(ENET_PHY_RESET_GPIO, 1); /* * KSZ9031 manual: 100 usec wait time after reset before communication @@ -133,7 +135,7 @@ static void mba6_setup_iomuxc_enet(void) * BUGBUG: hardware has an RC const that needs > 10 msec from 0->1 on * reset before the phy sees a high level */ - udelay(200); + mdelay(15); } static iomux_v3_cfg_t const mba6_uart2_pads[] = { @@ -234,39 +236,20 @@ static void mba6_setup_i2c(void) printf("setup I2C1 failed: %d\n", ret); } - -static iomux_v3_cfg_t const mba6_ecspi1_pads[] = { - NEW_PAD_CTRL(MX6_PAD_EIM_D24__GPIO3_IO24, SPI_PAD_CTRL), - NEW_PAD_CTRL(MX6_PAD_EIM_D25__GPIO3_IO25, SPI_PAD_CTRL), -}; - -static unsigned const mba6_ecspi1_cs[] = { - IMX_GPIO_NR(3, 24), - IMX_GPIO_NR(3, 25), -}; - -static void mba6_setup_iomuxc_spi(void) -{ - unsigned i; - - for (i = 0; i < ARRAY_SIZE(mba6_ecspi1_cs); ++i) - gpio_direction_output(mba6_ecspi1_cs[i], 1); - imx_iomux_v3_setup_multiple_pads(mba6_ecspi1_pads, - ARRAY_SIZE(mba6_ecspi1_pads)); -} - int board_phy_config(struct phy_device *phydev) { /* * optimized pad skew values depends on CPU variant on the TQMa6x module: - * i.MX6Q/D or i.MX6DL/S + * CONFIG_TQMA6Q: i.MX6Q/D + * CONFIG_TQMA6S: i.MX6S + * CONFIG_TQMA6DL: i.MX6DL */ -#if defined(CONFIG_MX6Q) || defined(CONFIG_MX6Q) +#if defined(CONFIG_TQMA6Q) #define MBA6X_KSZ9031_CTRL_SKEW 0x0032 #define MBA6X_KSZ9031_CLK_SKEW 0x03ff #define MBA6X_KSZ9031_RX_SKEW 0x3333 #define MBA6X_KSZ9031_TX_SKEW 0x2036 -#elif defined(CONFIG_MX6DL) || defined(CONFIG_MX6S) +#elif defined(CONFIG_TQMA6S) || defined(CONFIG_TQMA6DL) #define MBA6X_KSZ9031_CTRL_SKEW 0x0030 #define MBA6X_KSZ9031_CLK_SKEW 0x03ff #define MBA6X_KSZ9031_RX_SKEW 0x3333 @@ -341,7 +324,6 @@ int tqma6_bb_board_early_init_f(void) int tqma6_bb_board_init(void) { mba6_setup_i2c(); - mba6_setup_iomuxc_spi(); /* do it here - to have reset completed */ mba6_setup_iomuxc_enet();