diff options
Diffstat (limited to 'arch/arm/mach-davinci/da850.c')
-rw-r--r-- | arch/arm/mach-davinci/da850.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/da850.c b/arch/arm/mach-davinci/da850.c index 332cf7fadb1f..4a43ae2bec09 100644 --- a/arch/arm/mach-davinci/da850.c +++ b/arch/arm/mach-davinci/da850.c | |||
@@ -283,6 +283,12 @@ static struct clk rmii_clk = { | |||
283 | .parent = &pll0_sysclk7, | 283 | .parent = &pll0_sysclk7, |
284 | }; | 284 | }; |
285 | 285 | ||
286 | static struct clk emac_clk = { | ||
287 | .name = "emac", | ||
288 | .parent = &pll0_sysclk4, | ||
289 | .lpsc = DA8XX_LPSC1_CPGMAC, | ||
290 | }; | ||
291 | |||
286 | static struct davinci_clk da850_clks[] = { | 292 | static struct davinci_clk da850_clks[] = { |
287 | CLK(NULL, "ref", &ref_clk), | 293 | CLK(NULL, "ref", &ref_clk), |
288 | CLK(NULL, "pll0", &pll0_clk), | 294 | CLK(NULL, "pll0", &pll0_clk), |
@@ -319,6 +325,7 @@ static struct davinci_clk da850_clks[] = { | |||
319 | CLK(NULL, "emif3", &emif3_clk), | 325 | CLK(NULL, "emif3", &emif3_clk), |
320 | CLK(NULL, "arm", &arm_clk), | 326 | CLK(NULL, "arm", &arm_clk), |
321 | CLK(NULL, "rmii", &rmii_clk), | 327 | CLK(NULL, "rmii", &rmii_clk), |
328 | CLK("davinci_emac.1", NULL, &emac_clk), | ||
322 | CLK(NULL, NULL, NULL), | 329 | CLK(NULL, NULL, NULL), |
323 | }; | 330 | }; |
324 | 331 | ||
@@ -347,6 +354,22 @@ static const struct mux_config da850_pins[] = { | |||
347 | /* I2C0 function */ | 354 | /* I2C0 function */ |
348 | MUX_CFG(DA850, I2C0_SDA, 4, 12, 15, 2, false) | 355 | MUX_CFG(DA850, I2C0_SDA, 4, 12, 15, 2, false) |
349 | MUX_CFG(DA850, I2C0_SCL, 4, 8, 15, 2, false) | 356 | MUX_CFG(DA850, I2C0_SCL, 4, 8, 15, 2, false) |
357 | /* EMAC function */ | ||
358 | MUX_CFG(DA850, MII_TXEN, 2, 4, 15, 8, false) | ||
359 | MUX_CFG(DA850, MII_TXCLK, 2, 8, 15, 8, false) | ||
360 | MUX_CFG(DA850, MII_COL, 2, 12, 15, 8, false) | ||
361 | MUX_CFG(DA850, MII_TXD_3, 2, 16, 15, 8, false) | ||
362 | MUX_CFG(DA850, MII_TXD_2, 2, 20, 15, 8, false) | ||
363 | MUX_CFG(DA850, MII_TXD_1, 2, 24, 15, 8, false) | ||
364 | MUX_CFG(DA850, MII_TXD_0, 2, 28, 15, 8, false) | ||
365 | MUX_CFG(DA850, MII_RXCLK, 3, 0, 15, 8, false) | ||
366 | MUX_CFG(DA850, MII_RXDV, 3, 4, 15, 8, false) | ||
367 | MUX_CFG(DA850, MII_RXER, 3, 8, 15, 8, false) | ||
368 | MUX_CFG(DA850, MII_CRS, 3, 12, 15, 8, false) | ||
369 | MUX_CFG(DA850, MII_RXD_3, 3, 16, 15, 8, false) | ||
370 | MUX_CFG(DA850, MII_RXD_2, 3, 20, 15, 8, false) | ||
371 | MUX_CFG(DA850, MII_RXD_1, 3, 24, 15, 8, false) | ||
372 | MUX_CFG(DA850, MII_RXD_0, 3, 28, 15, 8, false) | ||
350 | #endif | 373 | #endif |
351 | }; | 374 | }; |
352 | 375 | ||
@@ -375,6 +398,14 @@ const short da850_i2c1_pins[] __initdata = { | |||
375 | -1 | 398 | -1 |
376 | }; | 399 | }; |
377 | 400 | ||
401 | const short da850_cpgmac_pins[] __initdata = { | ||
402 | DA850_MII_TXEN, DA850_MII_TXCLK, DA850_MII_COL, DA850_MII_TXD_3, | ||
403 | DA850_MII_TXD_2, DA850_MII_TXD_1, DA850_MII_TXD_0, DA850_MII_RXER, | ||
404 | DA850_MII_CRS, DA850_MII_RXCLK, DA850_MII_RXDV, DA850_MII_RXD_3, | ||
405 | DA850_MII_RXD_2, DA850_MII_RXD_1, DA850_MII_RXD_0, | ||
406 | -1 | ||
407 | }; | ||
408 | |||
378 | /* FIQ are pri 0-1; otherwise 2-7, with 7 lowest priority */ | 409 | /* FIQ are pri 0-1; otherwise 2-7, with 7 lowest priority */ |
379 | static u8 da850_default_priorities[DA850_N_CP_INTC_IRQ] = { | 410 | static u8 da850_default_priorities[DA850_N_CP_INTC_IRQ] = { |
380 | [IRQ_DA8XX_COMMTX] = 7, | 411 | [IRQ_DA8XX_COMMTX] = 7, |