Merge branch 'for-rmk' of git://git.marvell.com/orion into devel
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Fri, 19 Jun 2009 18:59:36 +0000 (19:59 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 19 Jun 2009 18:59:36 +0000 (19:59 +0100)
arch/arm/boot/compressed/head.S
arch/arm/mach-orion5x/addr-map.c
arch/arm/mach-orion5x/common.c
arch/arm/mach-orion5x/common.h

index 01d49be3b2cafe62b9e86fb57ac884fa314136dc..4515728c5345b4dab982903a5c17e57e92c61b31 100644 (file)
@@ -674,6 +674,15 @@ proc_types:
                b       __armv4_mmu_cache_off
                b       __armv5tej_mmu_cache_flush
 
+#ifdef CONFIG_CPU_FEROCEON_OLD_ID
+               /* this conflicts with the standard ARMv5TE entry */
+               .long   0x41009260              @ Old Feroceon
+               .long   0xff00fff0
+               b       __armv4_mmu_cache_on
+               b       __armv4_mmu_cache_off
+               b       __armv5tej_mmu_cache_flush
+#endif
+
                .word   0x66015261              @ FA526
                .word   0xff01fff1
                b       __fa526_cache_on
index 6f3f77d031d0e5ed8db6f4558dbdee1b05b5a73f..d78731edebb698b01edf297d29c5f9ef0cc73455 100644 (file)
@@ -200,6 +200,6 @@ void __init orion5x_setup_pcie_wa_win(u32 base, u32 size)
 
 int __init orion5x_setup_sram_win(void)
 {
-       return setup_cpu_win(win_alloc_count, ORION5X_SRAM_PHYS_BASE,
+       return setup_cpu_win(win_alloc_count++, ORION5X_SRAM_PHYS_BASE,
                        ORION5X_SRAM_SIZE, TARGET_SRAM, ATTR_SRAM, -1);
 }
index eafcc49009ead6134192a3ef207f230515ca3cbe..f87fa125380362f242b7498bff6629bccc253307 100644 (file)
@@ -562,7 +562,7 @@ static struct platform_device orion5x_crypto_device = {
        .resource       = orion5x_crypto_res,
 };
 
-int __init orion5x_crypto_init(void)
+static int __init orion5x_crypto_init(void)
 {
        int ret;
 
@@ -696,6 +696,14 @@ void __init orion5x_init(void)
                disable_hlt();
        }
 
+       /*
+        * The 5082/5181l/5182/6082/6082l/6183 have crypto
+        * while 5180n/5181/5281 don't have crypto.
+        */
+       if ((dev == MV88F5181_DEV_ID && rev >= MV88F5181L_REV_A0) ||
+           dev == MV88F5182_DEV_ID || dev == MV88F6183_DEV_ID)
+               orion5x_crypto_init();
+
        /*
         * Register watchdog driver
         */
index de483e83edd7fe29ae34a03c55dae3eb69214a56..8f004503c96d491bd49785d33470d60e93316539 100644 (file)
@@ -38,7 +38,6 @@ void orion5x_spi_init(void);
 void orion5x_uart0_init(void);
 void orion5x_uart1_init(void);
 void orion5x_xor_init(void);
-int orion5x_crypto_init(void);
 
 /*
  * PCIe/PCI functions.