summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2017-12-29 15:06:14 +0800
committerPeng Fan <peng.fan@nxp.com>2017-12-29 15:17:26 +0800
commit13a9fa8e8f215ed6aee1fde0e9f8eaaf9455a194 (patch)
treeadadf51d26b9680ab9e9e241fcdd2e4d10a6b88d
parentbd41383b0b9f687f39b2bc9d774b9cd5829c85bd (diff)
MLK-17303-1 imx: 8qxp: Fix ENET1 enablement
Fix build error. Correct ENET1 enablement, Define CONFIG_FEC_ENET_DEV 1, to enable ENET1 on Base board. Signed-off-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 2440ee9ac2c66819e1cc664bd92fb8f092544059)
-rw-r--r--arch/arm/dts/fsl-imx8qxp-mek.dts2
-rw-r--r--board/freescale/imx8qxp_mek/imx8qxp_mek.c47
-rw-r--r--include/configs/imx8qxp_mek.h7
3 files changed, 23 insertions, 33 deletions
diff --git a/arch/arm/dts/fsl-imx8qxp-mek.dts b/arch/arm/dts/fsl-imx8qxp-mek.dts
index 7d25a217ce..aed7fc153d 100644
--- a/arch/arm/dts/fsl-imx8qxp-mek.dts
+++ b/arch/arm/dts/fsl-imx8qxp-mek.dts
@@ -302,7 +302,7 @@
phy-handle = <&ethphy1>;
fsl,ar8031-phy-fixup;
fsl,magic-packet;
- status = "disabled";
+ status = "okay";
};
&flexspi0 {
diff --git a/board/freescale/imx8qxp_mek/imx8qxp_mek.c b/board/freescale/imx8qxp_mek/imx8qxp_mek.c
index b17ade2d9d..708580920b 100644
--- a/board/freescale/imx8qxp_mek/imx8qxp_mek.c
+++ b/board/freescale/imx8qxp_mek/imx8qxp_mek.c
@@ -249,6 +249,7 @@ static void enet_device_phy_reset(void)
struct gpio_desc desc;
int ret;
+ /* The BB_PER_RST_B will reset the ENET1 PHY */
if (0 == CONFIG_FEC_ENET_DEV) {
ret = dm_gpio_lookup_name("gpio@1a_4", &desc);
if (ret)
@@ -257,14 +258,12 @@ static void enet_device_phy_reset(void)
ret = dm_gpio_request(&desc, "enet0_reset");
if (ret)
return;
- }
-
- /* The BB_PER_RST_B will reset the ENET1 PHY */
- dm_gpio_set_dir_flags(&desc, GPIOD_IS_OUT);
- dm_gpio_set_value(&desc, 0);
- udelay(50);
- dm_gpio_set_value(&desc, 1);
+ dm_gpio_set_dir_flags(&desc, GPIOD_IS_OUT);
+ dm_gpio_set_value(&desc, 0);
+ udelay(50);
+ dm_gpio_set_value(&desc, 1);
+ }
/* The board has a long delay for this reset to become stable */
mdelay(200);
@@ -297,24 +296,6 @@ int board_eth_init(bd_t *bis)
int board_phy_config(struct phy_device *phydev)
{
-#ifdef CONFIG_FEC_ENABLE_MAX7322
- uint8_t value;
-
- /* This is needed to drive the pads to 1.8V instead of 1.5V */
- i2c_set_bus_num(CONFIG_MAX7322_I2C_BUS);
-
- if (!i2c_probe(CONFIG_MAX7322_I2C_ADDR)) {
- /* Write 0x1 to enable O0 output, this device has no addr */
- /* hence addr length is 0 */
- value = 0x1;
- if (i2c_write(CONFIG_MAX7322_I2C_ADDR, 0, 0, &value, 1))
- printf("MAX7322 write failed\n");
- } else {
- printf("MAX7322 Not found\n");
- }
- mdelay(1);
-#endif
-
phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x1f);
phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x8);
@@ -348,6 +329,22 @@ static iomux_cfg_t board_gpios[] = {
static void board_gpio_init(void)
{
+ int ret;
+ struct gpio_desc desc;
+
+ ret = dm_gpio_lookup_name("gpio@1a_3", &desc);
+ if (ret)
+ return;
+
+ ret = dm_gpio_request(&desc, "bb_per_rst_b");
+ if (ret)
+ return;
+
+ dm_gpio_set_dir_flags(&desc, GPIOD_IS_OUT);
+ dm_gpio_set_value(&desc, 0);
+ udelay(50);
+ dm_gpio_set_value(&desc, 1);
+
imx8_iomux_setup_multiple_pads(board_gpios, ARRAY_SIZE(board_gpios));
/* enable i2c port expander assert reset line */
diff --git a/include/configs/imx8qxp_mek.h b/include/configs/imx8qxp_mek.h
index 64254f974b..0dea347f41 100644
--- a/include/configs/imx8qxp_mek.h
+++ b/include/configs/imx8qxp_mek.h
@@ -74,19 +74,12 @@
#elif (CONFIG_FEC_ENET_DEV == 1)
#define IMX_FEC_BASE 0x5B050000
#define CONFIG_FEC_MXC_PHYADDR 0x1
-#define CONFIG_FEC_ENABLE_MAX7322
#define CONFIG_ETHPRIME "eth1"
#endif
/* ENET0 MDIO are shared */
#define CONFIG_FEC_MXC_MDIO_BASE 0x5B040000
-/* MAX7322 */
-#ifdef CONFIG_FEC_ENABLE_MAX7322
-#define CONFIG_MAX7322_I2C_ADDR 0x68
-#define CONFIG_MAX7322_I2C_BUS 0 /* I2C1 */
-#endif
-
/* Boot M4 */
#define M4_BOOT_ENV \
"m4_0_image=m4_0.bin\0" \