aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-davinci/da850.c
diff options
context:
space:
mode:
authorSudhakar Rajashekhara <sudhakar.raj@ti.com>2009-07-17 04:47:10 -0400
committerKevin Hilman <khilman@deeprootsystems.com>2009-08-26 04:55:45 -0400
commit5a4b131508236c0a59b8680f486c49e31881fe4e (patch)
tree418d8946d58c159718d0c195e7d0c92a476da3ab /arch/arm/mach-davinci/da850.c
parent0fbc5592158db4e1ca2037178e1ea6733ccc6f61 (diff)
davinci: Add EMAC support for da850/omap-l138
Ethernet Media Access Controller (EMAC) on da850/omap-l138 supports 10/100 Mbps operation. It also supports Media Independent Interface (MII) and Reduced Media Independent Interface (RMII) to physical layer (PHY). Phy which supports MII is present on the DA850/OMAP-L138 base board and Phy supporting RMII is present on the UI card. This patch adds support only for the MII Phy. Support for RMII Phy will be added later. Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-davinci/da850.c')
-rw-r--r--arch/arm/mach-davinci/da850.c31
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
286static struct clk emac_clk = {
287 .name = "emac",
288 .parent = &pll0_sysclk4,
289 .lpsc = DA8XX_LPSC1_CPGMAC,
290};
291
286static struct davinci_clk da850_clks[] = { 292static 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
401const 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 */
379static u8 da850_default_priorities[DA850_N_CP_INTC_IRQ] = { 410static u8 da850_default_priorities[DA850_N_CP_INTC_IRQ] = {
380 [IRQ_DA8XX_COMMTX] = 7, 411 [IRQ_DA8XX_COMMTX] = 7,