diff options
Diffstat (limited to 'arch/ppc/platforms/85xx/sbc8560.c')
-rw-r--r-- | arch/ppc/platforms/85xx/sbc8560.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/arch/ppc/platforms/85xx/sbc8560.c b/arch/ppc/platforms/85xx/sbc8560.c index c76760a781c1..b4ee1707a836 100644 --- a/arch/ppc/platforms/85xx/sbc8560.c +++ b/arch/ppc/platforms/85xx/sbc8560.c | |||
@@ -91,6 +91,9 @@ sbc8560_early_serial_map(void) | |||
91 | } | 91 | } |
92 | #endif | 92 | #endif |
93 | 93 | ||
94 | static const char *GFAR_PHY_25 = "phy0:25"; | ||
95 | static const char *GFAR_PHY_26 = "phy0:26"; | ||
96 | |||
94 | /* ************************************************************************ | 97 | /* ************************************************************************ |
95 | * | 98 | * |
96 | * Setup the architecture | 99 | * Setup the architecture |
@@ -102,6 +105,7 @@ sbc8560_setup_arch(void) | |||
102 | bd_t *binfo = (bd_t *) __res; | 105 | bd_t *binfo = (bd_t *) __res; |
103 | unsigned int freq; | 106 | unsigned int freq; |
104 | struct gianfar_platform_data *pdata; | 107 | struct gianfar_platform_data *pdata; |
108 | struct gianfar_mdio_data *mdata; | ||
105 | 109 | ||
106 | /* get the core frequency */ | 110 | /* get the core frequency */ |
107 | freq = binfo->bi_intfreq; | 111 | freq = binfo->bi_intfreq; |
@@ -126,24 +130,26 @@ sbc8560_setup_arch(void) | |||
126 | invalidate_tlbcam_entry(num_tlbcam_entries - 1); | 130 | invalidate_tlbcam_entry(num_tlbcam_entries - 1); |
127 | #endif | 131 | #endif |
128 | 132 | ||
133 | /* setup the board related info for the MDIO bus */ | ||
134 | mdata = (struct gianfar_mdio_data *) ppc_sys_get_pdata(MPC85xx_MDIO); | ||
135 | |||
136 | mdata->irq[25] = MPC85xx_IRQ_EXT6; | ||
137 | mdata->irq[26] = MPC85xx_IRQ_EXT7; | ||
138 | mdata->irq[31] = -1; | ||
139 | mdata->paddr += binfo->bi_immr_base; | ||
140 | |||
129 | /* setup the board related information for the enet controllers */ | 141 | /* setup the board related information for the enet controllers */ |
130 | pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC1); | 142 | pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC1); |
131 | if (pdata) { | 143 | if (pdata) { |
132 | pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR; | 144 | pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR; |
133 | pdata->interruptPHY = MPC85xx_IRQ_EXT6; | 145 | pdata->bus_id = GFAR_PHY_25; |
134 | pdata->phyid = 25; | ||
135 | /* fixup phy address */ | ||
136 | pdata->phy_reg_addr += binfo->bi_immr_base; | ||
137 | memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6); | 146 | memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6); |
138 | } | 147 | } |
139 | 148 | ||
140 | pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC2); | 149 | pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC2); |
141 | if (pdata) { | 150 | if (pdata) { |
142 | pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR; | 151 | pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR; |
143 | pdata->interruptPHY = MPC85xx_IRQ_EXT7; | 152 | pdata->bus_id = GFAR_PHY_26; |
144 | pdata->phyid = 26; | ||
145 | /* fixup phy address */ | ||
146 | pdata->phy_reg_addr += binfo->bi_immr_base; | ||
147 | memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6); | 153 | memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6); |
148 | } | 154 | } |
149 | 155 | ||