diff options
Diffstat (limited to 'arch/arm/mach-kirkwood')
-rw-r--r-- | arch/arm/mach-kirkwood/common.c | 13 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/include/mach/kirkwood.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/mpp.c | 3 |
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; |