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/fm/init.c | |
parent | f82c087e60fe1c59ace1c6f016eb89c5d3c3ae13 (diff) | |
parent | 710308ee185b3087e474fb9b205f47613c65dda4 (diff) |
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/fm/init.c')
-rw-r--r-- | drivers/net/fm/init.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/fm/init.c b/drivers/net/fm/init.c index 512d7dd3de0..953c359e6e4 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); |