aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-kirkwood/common.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-kirkwood/common.c')
-rw-r--r--arch/arm/mach-kirkwood/common.c43
1 files changed, 34 insertions, 9 deletions
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c
index 2e79dabac53c..c8516e352d1c 100644
--- a/arch/arm/mach-kirkwood/common.c
+++ b/arch/arm/mach-kirkwood/common.c
@@ -532,6 +532,12 @@ int kirkwood_tclk;
532 532
533int __init kirkwood_find_tclk(void) 533int __init kirkwood_find_tclk(void)
534{ 534{
535 u32 dev, rev;
536
537 kirkwood_pcie_id(&dev, &rev);
538 if (dev == MV88F6281_DEV_ID && rev == MV88F6281_REV_A0)
539 return 200000000;
540
535 return 166666667; 541 return 166666667;
536} 542}
537 543
@@ -549,18 +555,37 @@ struct sys_timer kirkwood_timer = {
549/***************************************************************************** 555/*****************************************************************************
550 * General 556 * General
551 ****************************************************************************/ 557 ****************************************************************************/
558/*
559 * Identify device ID and revision.
560 */
552static char * __init kirkwood_id(void) 561static char * __init kirkwood_id(void)
553{ 562{
554 switch (readl(DEVICE_ID) & 0x3) { 563 u32 dev, rev;
555 case 0: 564
556 return "88F6180"; 565 kirkwood_pcie_id(&dev, &rev);
557 case 1: 566
558 return "88F6192"; 567 if (dev == MV88F6281_DEV_ID) {
559 case 2: 568 if (rev == MV88F6281_REV_Z0)
560 return "88F6281"; 569 return "MV88F6281-Z0";
570 else if (rev == MV88F6281_REV_A0)
571 return "MV88F6281-A0";
572 else
573 return "MV88F6281-Rev-Unsupported";
574 } else if (dev == MV88F6192_DEV_ID) {
575 if (rev == MV88F6192_REV_Z0)
576 return "MV88F6192-Z0";
577 else if (rev == MV88F6192_REV_A0)
578 return "MV88F6192-A0";
579 else
580 return "MV88F6192-Rev-Unsupported";
581 } else if (dev == MV88F6180_DEV_ID) {
582 if (rev == MV88F6180_REV_A0)
583 return "MV88F6180-Rev-A0";
584 else
585 return "MV88F6180-Rev-Unsupported";
586 } else {
587 return "Device-Unknown";
561 } 588 }
562
563 return "unknown 88F6000 variant";
564} 589}
565 590
566static int __init is_l2_writethrough(void) 591static int __init is_l2_writethrough(void)