diff options
author | Max Krummenacher <max.krummenacher@toradex.com> | 2016-02-09 16:15:28 +0100 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2016-06-24 14:46:16 +0200 |
commit | 7f9ad0ee55abbc89b433c4ff14e64eb35c831370 (patch) | |
tree | 81077abe034da896fca5292c751e109668f18782 | |
parent | 73c06d69321c45b69ffc864cbaaa7143da87d186 (diff) |
ARM: dts: imx7d-colibri: use external Ethernet PHY clock
Add workaround for M4 NMI issue.
Set the Ethernet PHY reference clock to be generated externaly from
the i.MX 7 by default (Colibri i.MX 7 V1.1 sample batch)
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
-rw-r--r-- | arch/arm/boot/dts/imx7d-colibri.dts | 18 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-imx7d.c | 1 |
2 files changed, 18 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/imx7d-colibri.dts b/arch/arm/boot/dts/imx7d-colibri.dts index f6fb6d4ebb17..caed41f4ad46 100644 --- a/arch/arm/boot/dts/imx7d-colibri.dts +++ b/arch/arm/boot/dts/imx7d-colibri.dts @@ -11,6 +11,9 @@ #include <dt-bindings/input/input.h> #include "imx7d.dtsi" +/* define USE_ENET_OUT when the PHY clock is provided by the i.MX7 */ +/* #define USE_ENET_OUT */ + / { model = "Toradex Colibri iMX7D on Colibri Evaluation Board V3"; compatible = "toradex,colibri_imx7d-eval", "toradex,colibri_imx7d", \ @@ -144,7 +147,11 @@ <&clks IMX7D_PLL_ENET_MAIN_50M_CLK>, <&clks IMX7D_ENET1_REF_ROOT_CLK>; clock-names = "ipg", "ahb", "ptp", +#ifdef USE_ENET_OUT "enet_clk_ref", "enet_out"; +#else + "enet_clk_ref", "no_enet_out"; +#endif assigned-clocks = <&clks IMX7D_ENET1_TIME_ROOT_SRC>, <&clks IMX7D_ENET1_TIME_ROOT_CLK>; @@ -554,8 +561,17 @@ MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL 0x73 MX7D_PAD_ENET1_RGMII_TD0__ENET1_RGMII_TD0 0x73 MX7D_PAD_ENET1_RGMII_TD1__ENET1_RGMII_TD1 0x73 - +#ifdef USE_ENET_OUT +#if 1 MX7D_PAD_GPIO1_IO12__CCM_ENET_REF_CLK1 0x40000073 +#else +/* workaround ethernet & M4 NMI issue */ + MX7D_PAD_GPIO1_IO12__CCM_ENET_REF_CLK1 0x73 + MX7D_PAD_I2C1_SDA__CCM_ENET_REF_CLK1 0x40000070 +#endif +#else + MX7D_PAD_GPIO1_IO12__CCM_ENET_REF_CLK1 0x73 +#endif MX7D_PAD_SD2_CD_B__ENET1_MDIO 0x3 MX7D_PAD_SD2_WP__ENET1_MDC 0x3 >; diff --git a/arch/arm/mach-imx/mach-imx7d.c b/arch/arm/mach-imx/mach-imx7d.c index fa05cdd3d43b..c3a51f59980c 100644 --- a/arch/arm/mach-imx/mach-imx7d.c +++ b/arch/arm/mach-imx/mach-imx7d.c @@ -10,6 +10,7 @@ #include <linux/of_platform.h> #include <asm/mach/arch.h> #include <asm/mach/map.h> +#include <linux/clk.h> #include <linux/phy.h> #include <linux/pm_opp.h> #include <linux/regmap.h> |