@ -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 ) ;