[ARM] Kirkwood: Add support for 88f6282
authorSaeed Bishara <saeed@marvell.com>
Tue, 1 Jun 2010 15:09:27 +0000 (18:09 +0300)
committerNicolas Pitre <nico@fluxnic.net>
Sat, 17 Jul 2010 02:01:59 +0000 (22:01 -0400)
The 6282 SoC is compatible to 6280 and features faster CPU, DDR3, additional
PCIe interface, and LCD controller. More information can be found here:
http://www.marvell.com/products/processors/embedded/armada_300/armada_310.pdf

Signed-off-by: Saeed Bishara <saeed@marvell.com>
Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
arch/arm/mach-kirkwood/common.c
arch/arm/mach-kirkwood/include/mach/kirkwood.h
arch/arm/mach-kirkwood/mpp.c

index c780c4a..4ccfdf9 100644 (file)
@@ -402,7 +402,7 @@ void __init kirkwood_sdio_init(struct mvsdio_platform_data *mvsdio_data)
        u32 dev, rev;
 
        kirkwood_pcie_id(&dev, &rev);
-       if (rev == 0 /* catch all Kirkwood Z0's */
+       if (rev == 0 && dev != MV88F6282_DEV_ID) /* catch all Kirkwood Z0's */
                mvsdio_data->clock = 100000000;
        else
                mvsdio_data->clock = 200000000;
@@ -847,8 +847,10 @@ int __init kirkwood_find_tclk(void)
        u32 dev, rev;
 
        kirkwood_pcie_id(&dev, &rev);
-       if (dev == MV88F6281_DEV_ID && (rev == MV88F6281_REV_A0 ||
-                                       rev == MV88F6281_REV_A1))
+
+       if ((dev == MV88F6281_DEV_ID && (rev == MV88F6281_REV_A0 ||
+                                       rev == MV88F6281_REV_A1)) ||
+           (dev == MV88F6282_DEV_ID))
                return 200000000;
 
        return 166666667;
@@ -902,6 +904,11 @@ static char * __init kirkwood_id(void)
                        return "MV88F6180-Rev-A1";
                else
                        return "MV88F6180-Rev-Unsupported";
+       } else if (dev == MV88F6282_DEV_ID) {
+               if (rev == MV88F6282_REV_A0)
+                       return "MV88F6282-Rev-A0";
+               else
+                       return "MV88F6282-Rev-Unsupported";
        } else {
                return "Device-Unknown";
        }
index d61b9aa..dd7eddb 100644 (file)
 #define MV88F6180_REV_A0       2
 #define MV88F6180_REV_A1       3
 
+#define MV88F6282_DEV_ID       0x6282
+#define MV88F6282_REV_A0       0
 #endif
index a5900f6..065187d 100644 (file)
@@ -23,7 +23,8 @@ static unsigned int __init kirkwood_variant(void)
 
        kirkwood_pcie_id(&dev, &rev);
 
-       if (dev == MV88F6281_DEV_ID && rev >= MV88F6281_REV_A0)
+       if ((dev == MV88F6281_DEV_ID && rev >= MV88F6281_REV_A0) ||
+           (dev == MV88F6282_DEV_ID))
                return MPP_F6281_MASK;
        if (dev == MV88F6192_DEV_ID && rev >= MV88F6192_REV_A0)
                return MPP_F6192_MASK;