diff options
author | Wolfgang Denk <wd@denx.de> | 2011-10-21 23:48:46 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2011-10-21 23:48:46 +0200 |
commit | 02aff558f4b68927c719a33bee8d13d325d105fb (patch) | |
tree | 215757279d23a8984cad993679c6be20fe0d6831 /drivers/net | |
parent | f82c087e60fe1c59ace1c6f016eb89c5d3c3ae13 (diff) | |
parent | 710308ee185b3087e474fb9b205f47613c65dda4 (diff) | |
download | u-boot-imx-02aff558f4b68927c719a33bee8d13d325d105fb.zip u-boot-imx-02aff558f4b68927c719a33bee8d13d325d105fb.tar.gz u-boot-imx-02aff558f4b68927c719a33bee8d13d325d105fb.tar.bz2 |
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx
* 'master' of git://git.denx.de/u-boot-mpc85xx:
mpc85xx: Add inline GPIO acessor functions
powerpc/85xx: wait for alignment before resetting SERDES RX lanes (SERDES9)
powerpc/85xx: Fix P2020DS booting
powerpc/85xx: Update USB device tree status based on pin settings
fdt: Add new fdt_set_node_status & fdt_set_status_by_alias helpers
powerpc/85xx: Add support for RMan LIODN initialization
powerpc/85xx: Update device tree handling for SRIO
powerpc/85xx: Update setting of SRIO LIODNs
fm: Don't allow disabling of FM1-DTSEC1
fm-eth: Don't mark the MAC we use for MDIO as disabled in device tree
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/fm/init.c | 10 | ||||
-rw-r--r-- | drivers/net/fm/p1023.c | 5 | ||||
-rw-r--r-- | drivers/net/fm/p3060.c | 5 | ||||
-rw-r--r-- | drivers/net/fm/p4080.c | 5 | ||||
-rw-r--r-- | drivers/net/fm/p5020.c | 5 | ||||
-rw-r--r-- | drivers/net/phy/teranetics.c | 2 |
6 files changed, 29 insertions, 3 deletions
diff --git a/drivers/net/fm/init.c b/drivers/net/fm/init.c index 512d7dd..953c359 100644 --- a/drivers/net/fm/init.c +++ b/drivers/net/fm/init.c @@ -183,6 +183,8 @@ static void ft_fixup_port(void *blob, struct fm_eth_info *info, char *prop) { int off, ph; phys_addr_t paddr = CONFIG_SYS_CCSRBAR_PHYS + info->compat_offset; + u64 dtsec1_addr = (u64)CONFIG_SYS_CCSRBAR_PHYS + + CONFIG_SYS_FSL_FM1_DTSEC1_OFFSET; off = fdt_node_offset_by_compat_reg(blob, prop, paddr); @@ -195,9 +197,13 @@ static void ft_fixup_port(void *blob, struct fm_eth_info *info, char *prop) /* board code might have caused offset to change */ off = fdt_node_offset_by_compat_reg(blob, prop, paddr); - /* disable both the mac node and the node that has a handle to it */ - fdt_setprop_string(blob, off, "status", "disabled"); + /* Don't disable FM1-DTSEC1 MAC as its used for MDIO */ + if (paddr != dtsec1_addr) { + /* disable the mac node */ + fdt_setprop_string(blob, off, "status", "disabled"); + } + /* disable the node point to the mac */ ph = fdt_get_phandle(blob, off); do_fixup_by_prop(blob, "fsl,fman-mac", &ph, sizeof(ph), "status", "disabled", strlen("disabled") + 1, 1); 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]); } diff --git a/drivers/net/phy/teranetics.c b/drivers/net/phy/teranetics.c index 9d9397a..78447b7 100644 --- a/drivers/net/phy/teranetics.c +++ b/drivers/net/phy/teranetics.c @@ -95,7 +95,7 @@ int tn2020_startup(struct phy_device *phydev) struct phy_driver tn2020_driver = { .name = "Teranetics TN2020", - .uid = 0x00a19410, + .uid = PHY_UID_TN2020, .mask = 0xfffffff0, .features = PHY_10G_FEATURES, .mmds = (MDIO_DEVS_PMAPMD | MDIO_DEVS_PCS | |