summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/imx28-tx28.dts
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@linaro.org>2012-07-13 10:15:34 +0400
committerShawn Guo <shawn.guo@linaro.org>2012-08-17 08:35:09 +0400
commit2c7c2c1d01a2559d452c0f0aa5e6f6ca2643e6b1 (patch)
treef2ec81a772baaa2e65986864c30a9bf503fd9e04 /arch/arm/boot/dts/imx28-tx28.dts
parentaef35104a9e5b8555cdaeebd4563df9921f6d605 (diff)
downloadlinux-2c7c2c1d01a2559d452c0f0aa5e6f6ca2643e6b1.tar.xz
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";
};
};