aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2012-11-20 17:30:08 -0500
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2012-11-20 17:30:08 -0500
commite01d10b0ee46b4661f7e648ed4cda1fd86803273 (patch)
treefcdd46c2bbbb64a2c2d1778a253ffdb71b6bb9b4
parent4ee961a35a48d25eb0f61acec632994662877d39 (diff)
parent3d82daaaa6c7b91a534a54c7d123fe419155bf98 (diff)
Merge tag 'marvell-sata-3.8' of github.com:MISL-EBU-System-SW/mainline-public into test-the-merge
Marvell Armada 370/XP support for 3.8
-rw-r--r--arch/arm/boot/dts/armada-370-db.dts4
-rw-r--r--arch/arm/boot/dts/armada-370-xp.dtsi10
-rw-r--r--arch/arm/boot/dts/armada-xp-db.dts4
-rw-r--r--arch/arm/configs/multi_v7_defconfig2
-rw-r--r--arch/arm/configs/mvebu_defconfig3
-rw-r--r--arch/arm/mach-mvebu/armada-370-xp.c12
6 files changed, 35 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/armada-370-db.dts b/arch/arm/boot/dts/armada-370-db.dts
index 4a31b0396623..cfc080777da1 100644
--- a/arch/arm/boot/dts/armada-370-db.dts
+++ b/arch/arm/boot/dts/armada-370-db.dts
@@ -34,5 +34,9 @@
34 clock-frequency = <200000000>; 34 clock-frequency = <200000000>;
35 status = "okay"; 35 status = "okay";
36 }; 36 };
37 sata@d00a0000 {
38 nr-ports = <2>;
39 status = "okay";
40 };
37 }; 41 };
38}; 42};
diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
index 94b4b9e03571..0abc8a16fc25 100644
--- a/arch/arm/boot/dts/armada-370-xp.dtsi
+++ b/arch/arm/boot/dts/armada-370-xp.dtsi
@@ -69,6 +69,16 @@
69 compatible = "marvell,armada-addr-decoding-controller"; 69 compatible = "marvell,armada-addr-decoding-controller";
70 reg = <0xd0020000 0x258>; 70 reg = <0xd0020000 0x258>;
71 }; 71 };
72
73 sata@d00a0000 {
74 compatible = "marvell,orion-sata";
75 reg = <0xd00a0000 0x2400>;
76 interrupts = <55>;
77 clocks = <&gateclk 15>, <&gateclk 30>;
78 clock-names = "0", "1";
79 status = "disabled";
80 };
81
72 }; 82 };
73}; 83};
74 84
diff --git a/arch/arm/boot/dts/armada-xp-db.dts b/arch/arm/boot/dts/armada-xp-db.dts
index b1fc728515e9..e59f14f14dd0 100644
--- a/arch/arm/boot/dts/armada-xp-db.dts
+++ b/arch/arm/boot/dts/armada-xp-db.dts
@@ -46,5 +46,9 @@
46 clock-frequency = <250000000>; 46 clock-frequency = <250000000>;
47 status = "okay"; 47 status = "okay";
48 }; 48 };
49 sata@d00a0000 {
50 nr-ports = <2>;
51 status = "okay";
52 };
49 }; 53 };
50}; 54};
diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index 159f75fc4377..dbea6f4efe9f 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -17,8 +17,10 @@ CONFIG_ARM_APPENDED_DTB=y
17CONFIG_VFP=y 17CONFIG_VFP=y
18CONFIG_NEON=y 18CONFIG_NEON=y
19CONFIG_NET=y 19CONFIG_NET=y
20CONFIG_BLK_DEV_SD=y
20CONFIG_ATA=y 21CONFIG_ATA=y
21CONFIG_SATA_HIGHBANK=y 22CONFIG_SATA_HIGHBANK=y
23CONFIG_SATA_MV=y
22CONFIG_NETDEVICES=y 24CONFIG_NETDEVICES=y
23CONFIG_NET_CALXEDA_XGMAC=y 25CONFIG_NET_CALXEDA_XGMAC=y
24CONFIG_SMSC911X=y 26CONFIG_SMSC911X=y
diff --git a/arch/arm/configs/mvebu_defconfig b/arch/arm/configs/mvebu_defconfig
index 3458752c4bb2..cdec70600994 100644
--- a/arch/arm/configs/mvebu_defconfig
+++ b/arch/arm/configs/mvebu_defconfig
@@ -20,6 +20,9 @@ CONFIG_ZBOOT_ROM_BSS=0x0
20CONFIG_ARM_APPENDED_DTB=y 20CONFIG_ARM_APPENDED_DTB=y
21CONFIG_VFP=y 21CONFIG_VFP=y
22CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 22CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
23CONFIG_BLK_DEV_SD=y
24CONFIG_ATA=y
25CONFIG_SATA_MV=y
23CONFIG_SERIAL_8250=y 26CONFIG_SERIAL_8250=y
24CONFIG_SERIAL_8250_CONSOLE=y 27CONFIG_SERIAL_8250_CONSOLE=y
25CONFIG_SERIAL_OF_PLATFORM=y 28CONFIG_SERIAL_OF_PLATFORM=y
diff --git a/arch/arm/mach-mvebu/armada-370-xp.c b/arch/arm/mach-mvebu/armada-370-xp.c
index 3292d6da5dc7..cd6eac17fb67 100644
--- a/arch/arm/mach-mvebu/armada-370-xp.c
+++ b/arch/arm/mach-mvebu/armada-370-xp.c
@@ -18,6 +18,7 @@
18#include <linux/io.h> 18#include <linux/io.h>
19#include <linux/time-armada-370-xp.h> 19#include <linux/time-armada-370-xp.h>
20#include <linux/clk/mvebu.h> 20#include <linux/clk/mvebu.h>
21#include <linux/dma-mapping.h>
21#include <asm/mach/arch.h> 22#include <asm/mach/arch.h>
22#include <asm/mach/map.h> 23#include <asm/mach/map.h>
23#include <asm/mach/time.h> 24#include <asm/mach/time.h>
@@ -44,6 +45,16 @@ void __init armada_370_xp_timer_and_clk_init(void)
44 armada_370_xp_timer_init(); 45 armada_370_xp_timer_init();
45} 46}
46 47
48void __init armada_370_xp_init_early(void)
49{
50 /*
51 * Some Armada 370/XP devices allocate their coherent buffers
52 * from atomic context. Increase size of atomic coherent pool
53 * to make sure such the allocations won't fail.
54 */
55 init_dma_coherent_pool_size(SZ_1M);
56}
57
47struct sys_timer armada_370_xp_timer = { 58struct sys_timer armada_370_xp_timer = {
48 .init = armada_370_xp_timer_and_clk_init, 59 .init = armada_370_xp_timer_and_clk_init,
49}; 60};
@@ -62,6 +73,7 @@ static const char * const armada_370_xp_dt_board_dt_compat[] = {
62DT_MACHINE_START(ARMADA_XP_DT, "Marvell Aramada 370/XP (Device Tree)") 73DT_MACHINE_START(ARMADA_XP_DT, "Marvell Aramada 370/XP (Device Tree)")
63 .init_machine = armada_370_xp_dt_init, 74 .init_machine = armada_370_xp_dt_init,
64 .map_io = armada_370_xp_map_io, 75 .map_io = armada_370_xp_map_io,
76 .init_early = armada_370_xp_init_early,
65 .init_irq = armada_370_xp_init_irq, 77 .init_irq = armada_370_xp_init_irq,
66 .handle_irq = armada_370_xp_handle_irq, 78 .handle_irq = armada_370_xp_handle_irq,
67 .timer = &armada_370_xp_timer, 79 .timer = &armada_370_xp_timer,