summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorKumar Gala <galak@kernel.crashing.org>2011-10-14 03:17:56 -0500
committerKumar Gala <galak@kernel.crashing.org>2011-10-18 00:36:15 -0500
commitf5b9e736418422f9f3501b9854294b38275f4abd (patch)
treede70a6ea67f4a5cefbf8a0a7d7c3df4f5da83e3e /drivers
parente81c0aba9a5e56d6e9b25a669c582827f999302f (diff)
downloadu-boot-imx-f5b9e736418422f9f3501b9854294b38275f4abd.zip
u-boot-imx-f5b9e736418422f9f3501b9854294b38275f4abd.tar.gz
u-boot-imx-f5b9e736418422f9f3501b9854294b38275f4abd.tar.bz2
fm: Don't allow disabling of FM1-DTSEC1
The MDIO controller to talk to external PHYs is on FM1-DTSEC1 so don't allow disabling. If we disable it we end up powering the block down in the SoC and thus can't communicate to any external PHYs. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/fm/p1023.c5
-rw-r--r--drivers/net/fm/p3060.c5
-rw-r--r--drivers/net/fm/p4080.c5
-rw-r--r--drivers/net/fm/p5020.c5
4 files changed, 20 insertions, 0 deletions
diff --git a/drivers/net/fm/p1023.c b/drivers/net/fm/p1023.c
index b17dc40..9765da5 100644
--- a/drivers/net/fm/p1023.c
+++ b/drivers/net/fm/p1023.c
@@ -39,6 +39,11 @@ static int is_device_disabled(enum fm_port port)
void fman_disable_port(enum fm_port port)
{
ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
+
+ /* don't allow disabling of DTSEC1 as its needed for MDIO */
+ if (port == FM1_DTSEC1)
+ return;
+
setbits_be32(&gur->devdisr, port_to_devdisr[port]);
}
diff --git a/drivers/net/fm/p3060.c b/drivers/net/fm/p3060.c
index 176e1d2..c9748a9 100644
--- a/drivers/net/fm/p3060.c
+++ b/drivers/net/fm/p3060.c
@@ -45,6 +45,11 @@ static int is_device_disabled(enum fm_port port)
void fman_disable_port(enum fm_port port)
{
ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
+
+ /* don't allow disabling of DTSEC1 as its needed for MDIO */
+ if (port == FM1_DTSEC1)
+ return;
+
setbits_be32(&gur->devdisr2, port_to_devdisr[port]);
}
diff --git a/drivers/net/fm/p4080.c b/drivers/net/fm/p4080.c
index 791caab..9dc6049 100644
--- a/drivers/net/fm/p4080.c
+++ b/drivers/net/fm/p4080.c
@@ -47,6 +47,11 @@ static int is_device_disabled(enum fm_port port)
void fman_disable_port(enum fm_port port)
{
ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
+
+ /* don't allow disabling of DTSEC1 as its needed for MDIO */
+ if (port == FM1_DTSEC1)
+ return;
+
setbits_be32(&gur->devdisr2, port_to_devdisr[port]);
}
diff --git a/drivers/net/fm/p5020.c b/drivers/net/fm/p5020.c
index 69c27d2..a7a6e43 100644
--- a/drivers/net/fm/p5020.c
+++ b/drivers/net/fm/p5020.c
@@ -43,6 +43,11 @@ static int is_device_disabled(enum fm_port port)
void fman_disable_port(enum fm_port port)
{
ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
+
+ /* don't allow disabling of DTSEC1 as its needed for MDIO */
+ if (port == FM1_DTSEC1)
+ return;
+
setbits_be32(&gur->devdisr2, port_to_devdisr[port]);
}