Skip to content
Snippets Groups Projects
Commit e81c0aba authored by Kumar Gala's avatar Kumar Gala
Browse files

fm-eth: Don't mark the MAC we use for MDIO as disabled in device tree


FM1-DTSEC1's MAC was being marked as disabled if the port was not
configured based on the SoC configuration.  However we utilize the MAC
interface for MDIO and thus should NOT mark it disabled.

Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent efb2172e
No related branches found
No related tags found
No related merge requests found
...@@ -183,6 +183,8 @@ static void ft_fixup_port(void *blob, struct fm_eth_info *info, char *prop) ...@@ -183,6 +183,8 @@ static void ft_fixup_port(void *blob, struct fm_eth_info *info, char *prop)
{ {
int off, ph; int off, ph;
phys_addr_t paddr = CONFIG_SYS_CCSRBAR_PHYS + info->compat_offset; 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); 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) ...@@ -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 */ /* board code might have caused offset to change */
off = fdt_node_offset_by_compat_reg(blob, prop, paddr); off = fdt_node_offset_by_compat_reg(blob, prop, paddr);
/* disable both the mac node and the node that has a handle to it */ /* Don't disable FM1-DTSEC1 MAC as its used for MDIO */
fdt_setprop_string(blob, off, "status", "disabled"); 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); ph = fdt_get_phandle(blob, off);
do_fixup_by_prop(blob, "fsl,fman-mac", &ph, sizeof(ph), do_fixup_by_prop(blob, "fsl,fman-mac", &ph, sizeof(ph),
"status", "disabled", strlen("disabled") + 1, 1); "status", "disabled", strlen("disabled") + 1, 1);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment