diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2012-09-06 04:08:47 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-09-17 18:20:22 -0400 |
commit | 4672cddff21f6edde857aa4b523bbc1bfc741cf8 (patch) | |
tree | 95af82598243419da14f78aab39474778071fed3 /arch/arm/boot | |
parent | 4980f9bc2cec0f8ff0e0f2b021d46c7606ae1849 (diff) |
ARM: 7518/1: integrator: convert AMBA devices to device tree
This converts the AMBA (PrimeCell) devices on the Integrator/AP
and Integrator/CP over to probing from the Device Tree if the
kernel is compiled for Device Tree support.
We continue to #ifdef out all non-DT code and vice versa on
respective boot type to get a clean cut.
We need to add a bunch of auxdata (compare to the Versatile)
to handle bus names and callbacks alike.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/boot')
-rw-r--r-- | arch/arm/boot/dts/integrator.dtsi | 38 | ||||
-rw-r--r-- | arch/arm/boot/dts/integratorap.dts | 32 | ||||
-rw-r--r-- | arch/arm/boot/dts/integratorcp.dts | 49 |
3 files changed, 119 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/integrator.dtsi b/arch/arm/boot/dts/integrator.dtsi index b464abadd10..9bcc09d5445 100644 --- a/arch/arm/boot/dts/integrator.dtsi +++ b/arch/arm/boot/dts/integrator.dtsi | |||
@@ -30,4 +30,42 @@ | |||
30 | reg = <0x14000000 0x100>; | 30 | reg = <0x14000000 0x100>; |
31 | clear-mask = <0xffffffff>; | 31 | clear-mask = <0xffffffff>; |
32 | }; | 32 | }; |
33 | |||
34 | fpga { | ||
35 | compatible = "arm,amba-bus", "simple-bus"; | ||
36 | #address-cells = <1>; | ||
37 | #size-cells = <1>; | ||
38 | ranges; | ||
39 | interrupt-parent = <&pic>; | ||
40 | |||
41 | /* | ||
42 | * These PrimeCells are in the same locations and using the | ||
43 | * same interrupts in all Integrators, however the silicon | ||
44 | * version deployed is different. | ||
45 | */ | ||
46 | rtc@15000000 { | ||
47 | reg = <0x15000000 0x1000>; | ||
48 | interrupts = <8>; | ||
49 | }; | ||
50 | |||
51 | uart@16000000 { | ||
52 | reg = <0x16000000 0x1000>; | ||
53 | interrupts = <1>; | ||
54 | }; | ||
55 | |||
56 | uart@17000000 { | ||
57 | reg = <0x17000000 0x1000>; | ||
58 | interrupts = <2>; | ||
59 | }; | ||
60 | |||
61 | kmi@18000000 { | ||
62 | reg = <0x18000000 0x1000>; | ||
63 | interrupts = <3>; | ||
64 | }; | ||
65 | |||
66 | kmi@19000000 { | ||
67 | reg = <0x19000000 0x1000>; | ||
68 | interrupts = <4>; | ||
69 | }; | ||
70 | }; | ||
33 | }; | 71 | }; |
diff --git a/arch/arm/boot/dts/integratorap.dts b/arch/arm/boot/dts/integratorap.dts index 083ff395de0..61767757b50 100644 --- a/arch/arm/boot/dts/integratorap.dts +++ b/arch/arm/boot/dts/integratorap.dts | |||
@@ -33,4 +33,36 @@ | |||
33 | pic: pic@14000000 { | 33 | pic: pic@14000000 { |
34 | valid-mask = <0x003fffff>; | 34 | valid-mask = <0x003fffff>; |
35 | }; | 35 | }; |
36 | |||
37 | fpga { | ||
38 | /* | ||
39 | * The Integator/AP predates the idea to have magic numbers | ||
40 | * identifying the PrimeCell in hardware, thus we have to | ||
41 | * supply these from the device tree. | ||
42 | */ | ||
43 | rtc: rtc@15000000 { | ||
44 | compatible = "arm,pl030", "arm,primecell"; | ||
45 | arm,primecell-periphid = <0x00041030>; | ||
46 | }; | ||
47 | |||
48 | uart0: uart@16000000 { | ||
49 | compatible = "arm,pl010", "arm,primecell"; | ||
50 | arm,primecell-periphid = <0x00041010>; | ||
51 | }; | ||
52 | |||
53 | uart1: uart@17000000 { | ||
54 | compatible = "arm,pl010", "arm,primecell"; | ||
55 | arm,primecell-periphid = <0x00041010>; | ||
56 | }; | ||
57 | |||
58 | kmi0: kmi@18000000 { | ||
59 | compatible = "arm,pl050", "arm,primecell"; | ||
60 | arm,primecell-periphid = <0x00041050>; | ||
61 | }; | ||
62 | |||
63 | kmi1: kmi@19000000 { | ||
64 | compatible = "arm,pl050", "arm,primecell"; | ||
65 | arm,primecell-periphid = <0x00041050>; | ||
66 | }; | ||
67 | }; | ||
36 | }; | 68 | }; |
diff --git a/arch/arm/boot/dts/integratorcp.dts b/arch/arm/boot/dts/integratorcp.dts index 63033144442..7bd49466cb0 100644 --- a/arch/arm/boot/dts/integratorcp.dts +++ b/arch/arm/boot/dts/integratorcp.dts | |||
@@ -51,4 +51,53 @@ | |||
51 | clear-mask = <0x00000fff>; | 51 | clear-mask = <0x00000fff>; |
52 | valid-mask = <0x00000fff>; | 52 | valid-mask = <0x00000fff>; |
53 | }; | 53 | }; |
54 | |||
55 | fpga { | ||
56 | /* | ||
57 | * These PrimeCells are at the same location and using | ||
58 | * the same interrupts in all Integrators, but in the CP | ||
59 | * slightly newer versions are deployed. | ||
60 | */ | ||
61 | rtc@15000000 { | ||
62 | compatible = "arm,pl031", "arm,primecell"; | ||
63 | }; | ||
64 | |||
65 | uart@16000000 { | ||
66 | compatible = "arm,pl011", "arm,primecell"; | ||
67 | }; | ||
68 | |||
69 | uart@17000000 { | ||
70 | compatible = "arm,pl011", "arm,primecell"; | ||
71 | }; | ||
72 | |||
73 | kmi@18000000 { | ||
74 | compatible = "arm,pl050", "arm,primecell"; | ||
75 | }; | ||
76 | |||
77 | kmi@19000000 { | ||
78 | compatible = "arm,pl050", "arm,primecell"; | ||
79 | }; | ||
80 | |||
81 | /* | ||
82 | * These PrimeCells are only available on the Integrator/CP | ||
83 | */ | ||
84 | mmc@1c000000 { | ||
85 | compatible = "arm,pl180", "arm,primecell"; | ||
86 | reg = <0x1c000000 0x1000>; | ||
87 | interrupts = <23 24>; | ||
88 | max-frequency = <515633>; | ||
89 | }; | ||
90 | |||
91 | aaci@1d000000 { | ||
92 | compatible = "arm,pl041", "arm,primecell"; | ||
93 | reg = <0x1d000000 0x1000>; | ||
94 | interrupts = <25>; | ||
95 | }; | ||
96 | |||
97 | clcd@c0000000 { | ||
98 | compatible = "arm,pl110", "arm,primecell"; | ||
99 | reg = <0xC0000000 0x1000>; | ||
100 | interrupts = <22>; | ||
101 | }; | ||
102 | }; | ||
54 | }; | 103 | }; |