summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSilvio Fricke <silvio.fricke@gmail.com>2014-09-17 08:33:00 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2014-09-22 06:56:29 +0200
commitea569b0a7a9de2cf9110928dfe97e63240f461b5 (patch)
tree1de8e7b8135f0c7f582d27bb7137e6eb57acb3bd
parentb376b8d365e17adbfe2e2c9bafa170f87e142749 (diff)
downloadbarebox-ea569b0a7a9de2cf9110928dfe97e63240f461b5.tar.gz
barebox-ea569b0a7a9de2cf9110928dfe97e63240f461b5.tar.xz
ARM: i.MX: edmqmx6: free phy-reset gpio pin
Since 93a6c6a808("dts: update to v3.17-rc2") we have a correct gpio configuration. This results in a double gpio request what receipted in a error message like this one: gpiolib: _gpio_request: gpio-25 (phy-reset) status -16 Now with this patch the problem is gone. Signed-off-by: Silvio Fricke <silvio.fricke@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/boards/datamodul-edm-qmx6/board.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/boards/datamodul-edm-qmx6/board.c b/arch/arm/boards/datamodul-edm-qmx6/board.c
index e388e28168..25f45dfcc0 100644
--- a/arch/arm/boards/datamodul-edm-qmx6/board.c
+++ b/arch/arm/boards/datamodul-edm-qmx6/board.c
@@ -49,6 +49,7 @@
#define RQ7_GPIO_ENET_MODE2 IMX_GPIO_NR(6, 28)
#define RQ7_GPIO_ENET_MODE3 IMX_GPIO_NR(6, 29)
#define RQ7_GPIO_ENET_EN_CLK125 IMX_GPIO_NR(6, 24)
+#define RQ7_GPIO_ENET_RESET IMX_GPIO_NR(1, 25)
static iomux_v3_cfg_t realq7_pads_gpio[] = {
MX6Q_PAD_RGMII_RXC__GPIO_6_30,
@@ -57,6 +58,7 @@ static iomux_v3_cfg_t realq7_pads_gpio[] = {
MX6Q_PAD_RGMII_RD2__GPIO_6_28,
MX6Q_PAD_RGMII_RD3__GPIO_6_29,
MX6Q_PAD_RGMII_RX_CTL__GPIO_6_24,
+ MX6Q_PAD_ENET_CRS_DV__GPIO_1_25,
};
static int ksz9031rn_phy_fixup(struct phy_device *dev)
@@ -85,12 +87,14 @@ static int realq7_enet_init(void)
gpio_direction_output(RQ7_GPIO_ENET_MODE3, 1);
gpio_direction_output(RQ7_GPIO_ENET_EN_CLK125, 1);
- gpio_direction_output(25, 0);
+ gpio_direction_output(RQ7_GPIO_ENET_RESET, 0);
mdelay(50);
- gpio_direction_output(25, 1);
+ gpio_direction_output(RQ7_GPIO_ENET_RESET, 1);
mdelay(50);
+ gpio_free(RQ7_GPIO_ENET_RESET);
+
phy_register_fixup_for_uid(PHY_ID_KSZ9031, MICREL_PHY_ID_MASK,
ksz9031rn_phy_fixup);