aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/alchemy/common/platform.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/alchemy/common/platform.c')
-rw-r--r--arch/mips/alchemy/common/platform.c30
1 files changed, 21 insertions, 9 deletions
diff --git a/arch/mips/alchemy/common/platform.c b/arch/mips/alchemy/common/platform.c
index f72c48d4804c..15d9b2f14262 100644
--- a/arch/mips/alchemy/common/platform.c
+++ b/arch/mips/alchemy/common/platform.c
@@ -373,8 +373,8 @@ static struct platform_device pbdb_smbus_device = {
373#endif 373#endif
374 374
375/* Macro to help defining the Ethernet MAC resources */ 375/* Macro to help defining the Ethernet MAC resources */
376#define MAC_RES_COUNT 3 /* MAC regs base, MAC enable reg, MAC INT */ 376#define MAC_RES_COUNT 4 /* MAC regs, MAC en, MAC INT, MACDMA regs */
377#define MAC_RES(_base, _enable, _irq) \ 377#define MAC_RES(_base, _enable, _irq, _macdma) \
378 { \ 378 { \
379 .start = _base, \ 379 .start = _base, \
380 .end = _base + 0xffff, \ 380 .end = _base + 0xffff, \
@@ -389,28 +389,37 @@ static struct platform_device pbdb_smbus_device = {
389 .start = _irq, \ 389 .start = _irq, \
390 .end = _irq, \ 390 .end = _irq, \
391 .flags = IORESOURCE_IRQ \ 391 .flags = IORESOURCE_IRQ \
392 }, \
393 { \
394 .start = _macdma, \
395 .end = _macdma + 0x1ff, \
396 .flags = IORESOURCE_MEM, \
392 } 397 }
393 398
394static struct resource au1xxx_eth0_resources[][MAC_RES_COUNT] __initdata = { 399static struct resource au1xxx_eth0_resources[][MAC_RES_COUNT] __initdata = {
395 [ALCHEMY_CPU_AU1000] = { 400 [ALCHEMY_CPU_AU1000] = {
396 MAC_RES(AU1000_MAC0_PHYS_ADDR, 401 MAC_RES(AU1000_MAC0_PHYS_ADDR,
397 AU1000_MACEN_PHYS_ADDR, 402 AU1000_MACEN_PHYS_ADDR,
398 AU1000_MAC0_DMA_INT) 403 AU1000_MAC0_DMA_INT,
404 AU1000_MACDMA0_PHYS_ADDR)
399 }, 405 },
400 [ALCHEMY_CPU_AU1500] = { 406 [ALCHEMY_CPU_AU1500] = {
401 MAC_RES(AU1500_MAC0_PHYS_ADDR, 407 MAC_RES(AU1500_MAC0_PHYS_ADDR,
402 AU1500_MACEN_PHYS_ADDR, 408 AU1500_MACEN_PHYS_ADDR,
403 AU1500_MAC0_DMA_INT) 409 AU1500_MAC0_DMA_INT,
410 AU1000_MACDMA0_PHYS_ADDR)
404 }, 411 },
405 [ALCHEMY_CPU_AU1100] = { 412 [ALCHEMY_CPU_AU1100] = {
406 MAC_RES(AU1000_MAC0_PHYS_ADDR, 413 MAC_RES(AU1000_MAC0_PHYS_ADDR,
407 AU1000_MACEN_PHYS_ADDR, 414 AU1000_MACEN_PHYS_ADDR,
408 AU1100_MAC0_DMA_INT) 415 AU1100_MAC0_DMA_INT,
416 AU1000_MACDMA0_PHYS_ADDR)
409 }, 417 },
410 [ALCHEMY_CPU_AU1550] = { 418 [ALCHEMY_CPU_AU1550] = {
411 MAC_RES(AU1000_MAC0_PHYS_ADDR, 419 MAC_RES(AU1000_MAC0_PHYS_ADDR,
412 AU1000_MACEN_PHYS_ADDR, 420 AU1000_MACEN_PHYS_ADDR,
413 AU1550_MAC0_DMA_INT) 421 AU1550_MAC0_DMA_INT,
422 AU1000_MACDMA0_PHYS_ADDR)
414 }, 423 },
415}; 424};
416 425
@@ -429,17 +438,20 @@ static struct resource au1xxx_eth1_resources[][MAC_RES_COUNT] __initdata = {
429 [ALCHEMY_CPU_AU1000] = { 438 [ALCHEMY_CPU_AU1000] = {
430 MAC_RES(AU1000_MAC1_PHYS_ADDR, 439 MAC_RES(AU1000_MAC1_PHYS_ADDR,
431 AU1000_MACEN_PHYS_ADDR + 4, 440 AU1000_MACEN_PHYS_ADDR + 4,
432 AU1000_MAC1_DMA_INT) 441 AU1000_MAC1_DMA_INT,
442 AU1000_MACDMA1_PHYS_ADDR)
433 }, 443 },
434 [ALCHEMY_CPU_AU1500] = { 444 [ALCHEMY_CPU_AU1500] = {
435 MAC_RES(AU1500_MAC1_PHYS_ADDR, 445 MAC_RES(AU1500_MAC1_PHYS_ADDR,
436 AU1500_MACEN_PHYS_ADDR + 4, 446 AU1500_MACEN_PHYS_ADDR + 4,
437 AU1500_MAC1_DMA_INT) 447 AU1500_MAC1_DMA_INT,
448 AU1000_MACDMA1_PHYS_ADDR)
438 }, 449 },
439 [ALCHEMY_CPU_AU1550] = { 450 [ALCHEMY_CPU_AU1550] = {
440 MAC_RES(AU1000_MAC1_PHYS_ADDR, 451 MAC_RES(AU1000_MAC1_PHYS_ADDR,
441 AU1000_MACEN_PHYS_ADDR + 4, 452 AU1000_MACEN_PHYS_ADDR + 4,
442 AU1550_MAC1_DMA_INT) 453 AU1550_MAC1_DMA_INT,
454 AU1000_MACDMA1_PHYS_ADDR)
443 }, 455 },
444}; 456};
445 457