summaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/imx28-tx28.dts
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@linaro.org>2012-07-13 08:15:34 +0200
committerShawn Guo <shawn.guo@linaro.org>2012-08-17 06:35:09 +0200
commit2c7c2c1d01a2559d452c0f0aa5e6f6ca2643e6b1 (patch)
treef2ec81a772baaa2e65986864c30a9bf503fd9e04 /arch/arm/boot/dts/imx28-tx28.dts
parentARM: dts: imx28: Add compatible and interrupt for LRADC (diff)
downloadlinux-2c7c2c1d01a2559d452c0f0aa5e6f6ca2643e6b1.tar.xz
linux-2c7c2c1d01a2559d452c0f0aa5e6f6ca2643e6b1.zip
ARM: mxs: tx28: reset fec phy for device tree boot
For non-DT boot, function tx28_add_fec0 configures all ENET0 pins into gpio mode for resetting fec phy, and then reconfigures those pins into ENET function after that. For DT boot, all the pin configuration is done by pinctrl subsystem. Ideally, when gpio_request gets called, GPIO subsystem should call pinctrl to configure pins into gpio mode automatically, and have pins freed up from pinctrl subsystem when gpio_free is called. But right now, this cooperation between gpio and pinctrl hasn't been available. As the result, we have to explicitly call pinctrl_get_select and pinctrl_put for device tree boot. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Lothar Waßmann <LW@KARO-electronics.de>
Diffstat (limited to 'arch/arm/boot/dts/imx28-tx28.dts')
-rw-r--r--arch/arm/boot/dts/imx28-tx28.dts21
1 files changed, 20 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/imx28-tx28.dts b/arch/arm/boot/dts/imx28-tx28.dts
index 62bf767409a6..a56ae05f9fa9 100644
--- a/arch/arm/boot/dts/imx28-tx28.dts
+++ b/arch/arm/boot/dts/imx28-tx28.dts
@@ -34,6 +34,24 @@
fsl,voltage = <1>;
fsl,pull-up = <0>;
};
+
+ mac0_pins_gpio: mac0-gpio-mode@0 {
+ reg = <0>;
+ fsl,pinmux-ids = <
+ 0x4003 /* MX28_PAD_ENET0_MDC__GPIO_4_0 */
+ 0x4013 /* MX28_PAD_ENET0_MDIO__GPIO_4_1 */
+ 0x4023 /* MX28_PAD_ENET0_RX_EN__GPIO_4_2 */
+ 0x4033 /* MX28_PAD_ENET0_RXD0__GPIO_4_3 */
+ 0x4043 /* MX28_PAD_ENET0_RXD1__GPIO_4_4 */
+ 0x4063 /* MX28_PAD_ENET0_TX_EN__GPIO_4_6 */
+ 0x4073 /* MX28_PAD_ENET0_TXD0__GPIO_4_7 */
+ 0x4083 /* MX28_PAD_ENET0_TXD1__GPIO_4_8 */
+ 0x4103 /* MX28_PAD_ENET_CLK__GPIO_4_16 */
+ >;
+ fsl,drive-strength = <0>;
+ fsl,voltage = <1>;
+ fsl,pull-up = <0>;
+ };
};
};
@@ -72,8 +90,9 @@
ahb@80080000 {
mac0: ethernet@800f0000 {
phy-mode = "rmii";
- pinctrl-names = "default";
+ pinctrl-names = "default", "gpio_mode";
pinctrl-0 = <&mac0_pins_a>;
+ pinctrl-1 = <&mac0_pins_gpio>;
status = "okay";
};
};