diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2012-11-20 17:30:08 -0500 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2012-11-20 17:30:08 -0500 |
commit | e01d10b0ee46b4661f7e648ed4cda1fd86803273 (patch) | |
tree | fcdd46c2bbbb64a2c2d1778a253ffdb71b6bb9b4 | |
parent | 4ee961a35a48d25eb0f61acec632994662877d39 (diff) | |
parent | 3d82daaaa6c7b91a534a54c7d123fe419155bf98 (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.dts | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-370-xp.dtsi | 10 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-xp-db.dts | 4 | ||||
-rw-r--r-- | arch/arm/configs/multi_v7_defconfig | 2 | ||||
-rw-r--r-- | arch/arm/configs/mvebu_defconfig | 3 | ||||
-rw-r--r-- | arch/arm/mach-mvebu/armada-370-xp.c | 12 |
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 | |||
17 | CONFIG_VFP=y | 17 | CONFIG_VFP=y |
18 | CONFIG_NEON=y | 18 | CONFIG_NEON=y |
19 | CONFIG_NET=y | 19 | CONFIG_NET=y |
20 | CONFIG_BLK_DEV_SD=y | ||
20 | CONFIG_ATA=y | 21 | CONFIG_ATA=y |
21 | CONFIG_SATA_HIGHBANK=y | 22 | CONFIG_SATA_HIGHBANK=y |
23 | CONFIG_SATA_MV=y | ||
22 | CONFIG_NETDEVICES=y | 24 | CONFIG_NETDEVICES=y |
23 | CONFIG_NET_CALXEDA_XGMAC=y | 25 | CONFIG_NET_CALXEDA_XGMAC=y |
24 | CONFIG_SMSC911X=y | 26 | CONFIG_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 | |||
20 | CONFIG_ARM_APPENDED_DTB=y | 20 | CONFIG_ARM_APPENDED_DTB=y |
21 | CONFIG_VFP=y | 21 | CONFIG_VFP=y |
22 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 22 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
23 | CONFIG_BLK_DEV_SD=y | ||
24 | CONFIG_ATA=y | ||
25 | CONFIG_SATA_MV=y | ||
23 | CONFIG_SERIAL_8250=y | 26 | CONFIG_SERIAL_8250=y |
24 | CONFIG_SERIAL_8250_CONSOLE=y | 27 | CONFIG_SERIAL_8250_CONSOLE=y |
25 | CONFIG_SERIAL_OF_PLATFORM=y | 28 | CONFIG_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 | ||
48 | void __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 | |||
47 | struct sys_timer armada_370_xp_timer = { | 58 | struct 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[] = { | |||
62 | DT_MACHINE_START(ARMADA_XP_DT, "Marvell Aramada 370/XP (Device Tree)") | 73 | DT_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, |