aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-kirkwood
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-kirkwood')
-rw-r--r--arch/arm/mach-kirkwood/common.c13
-rw-r--r--arch/arm/mach-kirkwood/include/mach/kirkwood.h2
-rw-r--r--arch/arm/mach-kirkwood/mpp.c3
3 files changed, 14 insertions, 4 deletions
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c
index c780c4a30434..4ccfdf97aa25 100644
--- a/arch/arm/mach-kirkwood/common.c
+++ b/arch/arm/mach-kirkwood/common.c
@@ -402,7 +402,7 @@ void __init kirkwood_sdio_init(struct mvsdio_platform_data *mvsdio_data)
402 u32 dev, rev; 402 u32 dev, rev;
403 403
404 kirkwood_pcie_id(&dev, &rev); 404 kirkwood_pcie_id(&dev, &rev);
405 if (rev == 0) /* catch all Kirkwood Z0's */ 405 if (rev == 0 && dev != MV88F6282_DEV_ID) /* catch all Kirkwood Z0's */
406 mvsdio_data->clock = 100000000; 406 mvsdio_data->clock = 100000000;
407 else 407 else
408 mvsdio_data->clock = 200000000; 408 mvsdio_data->clock = 200000000;
@@ -847,8 +847,10 @@ int __init kirkwood_find_tclk(void)
847 u32 dev, rev; 847 u32 dev, rev;
848 848
849 kirkwood_pcie_id(&dev, &rev); 849 kirkwood_pcie_id(&dev, &rev);
850 if (dev == MV88F6281_DEV_ID && (rev == MV88F6281_REV_A0 || 850
851 rev == MV88F6281_REV_A1)) 851 if ((dev == MV88F6281_DEV_ID && (rev == MV88F6281_REV_A0 ||
852 rev == MV88F6281_REV_A1)) ||
853 (dev == MV88F6282_DEV_ID))
852 return 200000000; 854 return 200000000;
853 855
854 return 166666667; 856 return 166666667;
@@ -902,6 +904,11 @@ static char * __init kirkwood_id(void)
902 return "MV88F6180-Rev-A1"; 904 return "MV88F6180-Rev-A1";
903 else 905 else
904 return "MV88F6180-Rev-Unsupported"; 906 return "MV88F6180-Rev-Unsupported";
907 } else if (dev == MV88F6282_DEV_ID) {
908 if (rev == MV88F6282_REV_A0)
909 return "MV88F6282-Rev-A0";
910 else
911 return "MV88F6282-Rev-Unsupported";
905 } else { 912 } else {
906 return "Device-Unknown"; 913 return "Device-Unknown";
907 } 914 }
diff --git a/arch/arm/mach-kirkwood/include/mach/kirkwood.h b/arch/arm/mach-kirkwood/include/mach/kirkwood.h
index d61b9aabfd18..dd7eddbd5902 100644
--- a/arch/arm/mach-kirkwood/include/mach/kirkwood.h
+++ b/arch/arm/mach-kirkwood/include/mach/kirkwood.h
@@ -113,4 +113,6 @@
113#define MV88F6180_REV_A0 2 113#define MV88F6180_REV_A0 2
114#define MV88F6180_REV_A1 3 114#define MV88F6180_REV_A1 3
115 115
116#define MV88F6282_DEV_ID 0x6282
117#define MV88F6282_REV_A0 0
116#endif 118#endif
diff --git a/arch/arm/mach-kirkwood/mpp.c b/arch/arm/mach-kirkwood/mpp.c
index a5900f64e38c..065187d177c6 100644
--- a/arch/arm/mach-kirkwood/mpp.c
+++ b/arch/arm/mach-kirkwood/mpp.c
@@ -23,7 +23,8 @@ static unsigned int __init kirkwood_variant(void)
23 23
24 kirkwood_pcie_id(&dev, &rev); 24 kirkwood_pcie_id(&dev, &rev);
25 25
26 if (dev == MV88F6281_DEV_ID && rev >= MV88F6281_REV_A0) 26 if ((dev == MV88F6281_DEV_ID && rev >= MV88F6281_REV_A0) ||
27 (dev == MV88F6282_DEV_ID))
27 return MPP_F6281_MASK; 28 return MPP_F6281_MASK;
28 if (dev == MV88F6192_DEV_ID && rev >= MV88F6192_REV_A0) 29 if (dev == MV88F6192_DEV_ID && rev >= MV88F6192_REV_A0)
29 return MPP_F6192_MASK; 30 return MPP_F6192_MASK;