diff options
author | Daniel Tang <dt.tangr@gmail.com> | 2013-06-11 04:40:18 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2013-06-21 14:06:29 -0400 |
commit | d907849e0dbaeacb34e0a6a3b49ebeaf8c49355e (patch) | |
tree | 2cd451d041d7c8dcb27c8ff89b00b92bf69431b4 /arch/arm/boot/dts | |
parent | 7d132055814ef17a6c7b69f342244c410a5e000f (diff) |
arm: Add device trees for TI-Nspire hardware
This patch adds device trees for describing the TI-Nspire hardware.
Changes between v1 and v2:
* Change "keymap" binding to the standard "linux,keymap" binding.
Signed-off-by: Daniel Tang <dt.tangr@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/boot/dts')
-rw-r--r-- | arch/arm/boot/dts/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/boot/dts/nspire-classic.dtsi | 74 | ||||
-rw-r--r-- | arch/arm/boot/dts/nspire-clp.dts | 45 | ||||
-rw-r--r-- | arch/arm/boot/dts/nspire-cx.dts | 112 | ||||
-rw-r--r-- | arch/arm/boot/dts/nspire-tp.dts | 44 | ||||
-rw-r--r-- | arch/arm/boot/dts/nspire.dtsi | 175 |
6 files changed, 453 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index f0895c581a89..6191b1d84e9f 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -135,6 +135,9 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \ | |||
135 | imx28-sps1.dtb \ | 135 | imx28-sps1.dtb \ |
136 | imx28-tx28.dtb | 136 | imx28-tx28.dtb |
137 | dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb | 137 | dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb |
138 | dtb-$(CONFIG_ARCH_NSPIRE) += nspire-cx.dtb \ | ||
139 | nspire-tp.dtb \ | ||
140 | nspire-clp.dtb | ||
138 | dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ | 141 | dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ |
139 | omap3430-sdp.dtb \ | 142 | omap3430-sdp.dtb \ |
140 | omap3-beagle.dtb \ | 143 | omap3-beagle.dtb \ |
diff --git a/arch/arm/boot/dts/nspire-classic.dtsi b/arch/arm/boot/dts/nspire-classic.dtsi new file mode 100644 index 000000000000..9565199bce7a --- /dev/null +++ b/arch/arm/boot/dts/nspire-classic.dtsi | |||
@@ -0,0 +1,74 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/boot/nspire-classic.dts | ||
3 | * | ||
4 | * Copyright (C) 2013 Daniel Tang <tangrs@tangrs.id.au> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2, as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | /include/ "nspire.dtsi" | ||
13 | |||
14 | &lcd { | ||
15 | lcd-type = "classic"; | ||
16 | }; | ||
17 | |||
18 | &fast_timer { | ||
19 | /* compatible = "lsi,zevio-timer"; */ | ||
20 | reg = <0x90010000 0x1000>, <0x900A0010 0x8>; | ||
21 | }; | ||
22 | |||
23 | &uart { | ||
24 | compatible = "ns16550"; | ||
25 | reg-shift = <2>; | ||
26 | reg-io-width = <4>; | ||
27 | clocks = <&apb_pclk>; | ||
28 | no-loopback-test; | ||
29 | }; | ||
30 | |||
31 | &timer0 { | ||
32 | /* compatible = "lsi,zevio-timer"; */ | ||
33 | reg = <0x900C0000 0x1000>, <0x900A0018 0x8>; | ||
34 | }; | ||
35 | |||
36 | &timer1 { | ||
37 | compatible = "lsi,zevio-timer"; | ||
38 | reg = <0x900D0000 0x1000>, <0x900A0020 0x8>; | ||
39 | }; | ||
40 | |||
41 | &keypad { | ||
42 | active-low; | ||
43 | |||
44 | }; | ||
45 | |||
46 | &base_clk { | ||
47 | compatible = "lsi,nspire-classic-clock"; | ||
48 | }; | ||
49 | |||
50 | &ahb_clk { | ||
51 | compatible = "lsi,nspire-classic-ahb-divider"; | ||
52 | }; | ||
53 | |||
54 | / { | ||
55 | memory { | ||
56 | device_type = "memory"; | ||
57 | reg = <0x10000000 0x2000000>; /* 32 MB */ | ||
58 | }; | ||
59 | |||
60 | ahb { | ||
61 | #address-cells = <1>; | ||
62 | #size-cells = <1>; | ||
63 | |||
64 | intc: interrupt-controller@DC000000 { | ||
65 | compatible = "lsi,zevio-intc"; | ||
66 | interrupt-controller; | ||
67 | reg = <0xDC000000 0x1000>; | ||
68 | #interrupt-cells = <1>; | ||
69 | }; | ||
70 | }; | ||
71 | chosen { | ||
72 | bootargs = "debug earlyprintk console=tty0 console=ttyS0,115200n8 root=/dev/ram0"; | ||
73 | }; | ||
74 | }; | ||
diff --git a/arch/arm/boot/dts/nspire-clp.dts b/arch/arm/boot/dts/nspire-clp.dts new file mode 100644 index 000000000000..fa5a044656de --- /dev/null +++ b/arch/arm/boot/dts/nspire-clp.dts | |||
@@ -0,0 +1,45 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/boot/nspire-clp.dts | ||
3 | * | ||
4 | * Copyright (C) 2013 Daniel Tang <tangrs@tangrs.id.au> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2, as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | /dts-v1/; | ||
12 | |||
13 | /include/ "nspire-classic.dtsi" | ||
14 | |||
15 | &keypad { | ||
16 | linux,keymap = < | ||
17 | 0x0000001c 0x0001001c 0x00020039 | ||
18 | 0x0004002c 0x00050034 0x00060015 | ||
19 | 0x0007000b 0x0008002d 0x01000033 | ||
20 | 0x0101004e 0x01020011 0x01030004 | ||
21 | 0x0104002f 0x01050003 0x01060016 | ||
22 | 0x01070002 0x01080014 0x02000062 | ||
23 | 0x0201000c 0x0202001f 0x02030007 | ||
24 | 0x02040013 0x02050006 0x02060010 | ||
25 | 0x02070005 0x02080019 0x03000027 | ||
26 | 0x03010037 0x03020018 0x0303000a | ||
27 | 0x03040031 0x03050009 0x03060032 | ||
28 | 0x03070008 0x03080026 0x04000028 | ||
29 | 0x04010035 0x04020025 0x04040024 | ||
30 | 0x04060017 0x04080023 0x05000028 | ||
31 | 0x05020022 0x0503001b 0x05040021 | ||
32 | 0x0505001a 0x05060012 0x0507006f | ||
33 | 0x05080020 0x0509002a 0x0601001c | ||
34 | 0x0602002e 0x06030068 0x06040030 | ||
35 | 0x0605006d 0x0606001e 0x06070001 | ||
36 | 0x0608002b 0x0609000f 0x07000067 | ||
37 | 0x0702006a 0x0704006c 0x07060069 | ||
38 | 0x0707000e 0x0708001d 0x070a000d | ||
39 | >; | ||
40 | }; | ||
41 | |||
42 | / { | ||
43 | model = "TI-NSPIRE Clickpad"; | ||
44 | compatible = "ti,nspire-clp"; | ||
45 | }; | ||
diff --git a/arch/arm/boot/dts/nspire-cx.dts b/arch/arm/boot/dts/nspire-cx.dts new file mode 100644 index 000000000000..375b924f60d8 --- /dev/null +++ b/arch/arm/boot/dts/nspire-cx.dts | |||
@@ -0,0 +1,112 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/boot/nspire-cx.dts | ||
3 | * | ||
4 | * Copyright (C) 2013 Daniel Tang <tangrs@tangrs.id.au> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2, as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | /dts-v1/; | ||
12 | |||
13 | /include/ "nspire.dtsi" | ||
14 | |||
15 | &lcd { | ||
16 | lcd-type = "cx"; | ||
17 | }; | ||
18 | |||
19 | &fast_timer { | ||
20 | /* compatible = "arm,sp804", "arm,primecell"; */ | ||
21 | }; | ||
22 | |||
23 | &uart { | ||
24 | compatible = "arm,pl011", "arm,primecell"; | ||
25 | |||
26 | clocks = <&uart_clk>, <&apb_pclk>; | ||
27 | clock-names = "uart_clk", "apb_pclk"; | ||
28 | }; | ||
29 | |||
30 | &timer0 { | ||
31 | compatible = "arm,sp804", "arm,primecell"; | ||
32 | }; | ||
33 | |||
34 | &timer1 { | ||
35 | compatible = "arm,sp804", "arm,primecell"; | ||
36 | }; | ||
37 | |||
38 | &base_clk { | ||
39 | compatible = "lsi,nspire-cx-clock"; | ||
40 | }; | ||
41 | |||
42 | &ahb_clk { | ||
43 | compatible = "lsi,nspire-cx-ahb-divider"; | ||
44 | }; | ||
45 | |||
46 | &keypad { | ||
47 | linux,keymap = < | ||
48 | 0x0000001c 0x0001001c 0x00040039 | ||
49 | 0x0005002c 0x00060015 0x0007000b | ||
50 | 0x0008000f 0x0100002d 0x01010011 | ||
51 | 0x0102002f 0x01030004 0x01040016 | ||
52 | 0x01050014 0x0106001f 0x01070002 | ||
53 | 0x010a006a 0x02000013 0x02010010 | ||
54 | 0x02020019 0x02030007 0x02040018 | ||
55 | 0x02050031 0x02060032 0x02070005 | ||
56 | 0x02080028 0x0209006c 0x03000026 | ||
57 | 0x03010025 0x03020024 0x0303000a | ||
58 | 0x03040017 0x03050023 0x03060022 | ||
59 | 0x03070008 0x03080035 0x03090069 | ||
60 | 0x04000021 0x04010012 0x04020020 | ||
61 | 0x0404002e 0x04050030 0x0406001e | ||
62 | 0x0407000d 0x04080037 0x04090067 | ||
63 | 0x05010038 0x0502000c 0x0503001b | ||
64 | 0x05040034 0x0505001a 0x05060006 | ||
65 | 0x05080027 0x0509000e 0x050a006f | ||
66 | 0x0600002b 0x0602004e 0x06030068 | ||
67 | 0x06040003 0x0605006d 0x06060009 | ||
68 | 0x06070001 0x0609000f 0x0708002a | ||
69 | 0x0709001d 0x070a0033 >; | ||
70 | }; | ||
71 | |||
72 | / { | ||
73 | model = "TI-NSPIRE CX"; | ||
74 | compatible = "ti,nspire-cx"; | ||
75 | |||
76 | memory { | ||
77 | device_type = "memory"; | ||
78 | reg = <0x10000000 0x4000000>; /* 64 MB */ | ||
79 | }; | ||
80 | |||
81 | uart_clk: uart_clk { | ||
82 | #clock-cells = <0>; | ||
83 | compatible = "fixed-clock"; | ||
84 | clock-frequency = <12000000>; | ||
85 | }; | ||
86 | |||
87 | ahb { | ||
88 | #address-cells = <1>; | ||
89 | #size-cells = <1>; | ||
90 | |||
91 | intc: interrupt-controller@DC000000 { | ||
92 | compatible = "arm,pl190-vic"; | ||
93 | interrupt-controller; | ||
94 | reg = <0xDC000000 0x1000>; | ||
95 | #interrupt-cells = <1>; | ||
96 | }; | ||
97 | |||
98 | apb@90000000 { | ||
99 | #address-cells = <1>; | ||
100 | #size-cells = <1>; | ||
101 | |||
102 | i2c@90050000 { | ||
103 | compatible = "snps,designware-i2c"; | ||
104 | reg = <0x90050000 0x1000>; | ||
105 | interrupts = <20>; | ||
106 | }; | ||
107 | }; | ||
108 | }; | ||
109 | chosen { | ||
110 | bootargs = "debug earlyprintk console=tty0 console=ttyAMA0,115200n8 root=/dev/ram0"; | ||
111 | }; | ||
112 | }; | ||
diff --git a/arch/arm/boot/dts/nspire-tp.dts b/arch/arm/boot/dts/nspire-tp.dts new file mode 100644 index 000000000000..621391ce6ed6 --- /dev/null +++ b/arch/arm/boot/dts/nspire-tp.dts | |||
@@ -0,0 +1,44 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/boot/nspire-tp.dts | ||
3 | * | ||
4 | * Copyright (C) 2013 Daniel Tang <tangrs@tangrs.id.au> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2, as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | /dts-v1/; | ||
12 | |||
13 | /include/ "nspire-classic.dtsi" | ||
14 | |||
15 | &keypad { | ||
16 | linux,keymap = < | ||
17 | 0x0000001c 0x0001001c 0x00040039 | ||
18 | 0x0005002c 0x00060015 0x0007000b | ||
19 | 0x0008000f 0x0100002d 0x01010011 | ||
20 | 0x0102002f 0x01030004 0x01040016 | ||
21 | 0x01050014 0x0106001f 0x01070002 | ||
22 | 0x010a006a 0x02000013 0x02010010 | ||
23 | 0x02020019 0x02030007 0x02040018 | ||
24 | 0x02050031 0x02060032 0x02070005 | ||
25 | 0x02080028 0x0209006c 0x03000026 | ||
26 | 0x03010025 0x03020024 0x0303000a | ||
27 | 0x03040017 0x03050023 0x03060022 | ||
28 | 0x03070008 0x03080035 0x03090069 | ||
29 | 0x04000021 0x04010012 0x04020020 | ||
30 | 0x0404002e 0x04050030 0x0406001e | ||
31 | 0x0407000d 0x04080037 0x04090067 | ||
32 | 0x05010038 0x0502000c 0x0503001b | ||
33 | 0x05040034 0x0505001a 0x05060006 | ||
34 | 0x05080027 0x0509000e 0x050a006f | ||
35 | 0x0600002b 0x0602004e 0x06030068 | ||
36 | 0x06040003 0x0605006d 0x06060009 | ||
37 | 0x06070001 0x0609000f 0x0708002a | ||
38 | 0x0709001d 0x070a0033 >; | ||
39 | }; | ||
40 | |||
41 | / { | ||
42 | model = "TI-NSPIRE Touchpad"; | ||
43 | compatible = "ti,nspire-tp"; | ||
44 | }; | ||
diff --git a/arch/arm/boot/dts/nspire.dtsi b/arch/arm/boot/dts/nspire.dtsi new file mode 100644 index 000000000000..a22ffe633b49 --- /dev/null +++ b/arch/arm/boot/dts/nspire.dtsi | |||
@@ -0,0 +1,175 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/boot/nspire.dtsi | ||
3 | * | ||
4 | * Copyright (C) 2013 Daniel Tang <tangrs@tangrs.id.au> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2, as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | /include/ "skeleton.dtsi" | ||
13 | |||
14 | / { | ||
15 | interrupt-parent = <&intc>; | ||
16 | |||
17 | cpus { | ||
18 | cpu@0 { | ||
19 | compatible = "arm,arm926ejs"; | ||
20 | }; | ||
21 | }; | ||
22 | |||
23 | bootrom: bootrom@00000000 { | ||
24 | reg = <0x00000000 0x80000>; | ||
25 | }; | ||
26 | |||
27 | sram: sram@A4000000 { | ||
28 | device = "memory"; | ||
29 | reg = <0xA4000000 0x20000>; | ||
30 | }; | ||
31 | |||
32 | timer_clk: timer_clk { | ||
33 | #clock-cells = <0>; | ||
34 | compatible = "fixed-clock"; | ||
35 | clock-frequency = <32768>; | ||
36 | }; | ||
37 | |||
38 | base_clk: base_clk { | ||
39 | #clock-cells = <0>; | ||
40 | reg = <0x900B0024 0x4>; | ||
41 | }; | ||
42 | |||
43 | ahb_clk: ahb_clk { | ||
44 | #clock-cells = <0>; | ||
45 | reg = <0x900B0024 0x4>; | ||
46 | clocks = <&base_clk>; | ||
47 | }; | ||
48 | |||
49 | apb_pclk: apb_pclk { | ||
50 | #clock-cells = <0>; | ||
51 | compatible = "fixed-factor-clock"; | ||
52 | clock-div = <2>; | ||
53 | clock-mult = <1>; | ||
54 | clocks = <&ahb_clk>; | ||
55 | }; | ||
56 | |||
57 | ahb { | ||
58 | compatible = "simple-bus"; | ||
59 | #address-cells = <1>; | ||
60 | #size-cells = <1>; | ||
61 | ranges; | ||
62 | |||
63 | spi: spi@A9000000 { | ||
64 | reg = <0xA9000000 0x1000>; | ||
65 | }; | ||
66 | |||
67 | usb0: usb@B0000000 { | ||
68 | reg = <0xB0000000 0x1000>; | ||
69 | interrupts = <8>; | ||
70 | }; | ||
71 | |||
72 | usb1: usb@B4000000 { | ||
73 | reg = <0xB4000000 0x1000>; | ||
74 | interrupts = <9>; | ||
75 | status = "disabled"; | ||
76 | }; | ||
77 | |||
78 | lcd: lcd@C0000000 { | ||
79 | compatible = "arm,pl111", "arm,primecell"; | ||
80 | reg = <0xC0000000 0x1000>; | ||
81 | interrupts = <21>; | ||
82 | |||
83 | clocks = <&apb_pclk>; | ||
84 | clock-names = "apb_pclk"; | ||
85 | }; | ||
86 | |||
87 | adc: adc@C4000000 { | ||
88 | reg = <0xC4000000 0x1000>; | ||
89 | interrupts = <11>; | ||
90 | }; | ||
91 | |||
92 | tdes: crypto@C8010000 { | ||
93 | reg = <0xC8010000 0x1000>; | ||
94 | }; | ||
95 | |||
96 | sha256: crypto@CC000000 { | ||
97 | reg = <0xCC000000 0x1000>; | ||
98 | }; | ||
99 | |||
100 | apb@90000000 { | ||
101 | compatible = "simple-bus"; | ||
102 | #address-cells = <1>; | ||
103 | #size-cells = <1>; | ||
104 | clock-ranges; | ||
105 | ranges; | ||
106 | |||
107 | gpio: gpio@90000000 { | ||
108 | reg = <0x90000000 0x1000>; | ||
109 | interrupts = <7>; | ||
110 | }; | ||
111 | |||
112 | fast_timer: timer@90010000 { | ||
113 | reg = <0x90010000 0x1000>; | ||
114 | interrupts = <17>; | ||
115 | }; | ||
116 | |||
117 | uart: serial@90020000 { | ||
118 | reg = <0x90020000 0x1000>; | ||
119 | interrupts = <1>; | ||
120 | }; | ||
121 | |||
122 | timer0: timer@900C0000 { | ||
123 | reg = <0x900C0000 0x1000>; | ||
124 | |||
125 | clocks = <&timer_clk>; | ||
126 | }; | ||
127 | |||
128 | timer1: timer@900D0000 { | ||
129 | reg = <0x900D0000 0x1000>; | ||
130 | interrupts = <19>; | ||
131 | |||
132 | clocks = <&timer_clk>; | ||
133 | }; | ||
134 | |||
135 | watchdog: watchdog@90060000 { | ||
136 | compatible = "arm,amba-primecell"; | ||
137 | reg = <0x90060000 0x1000>; | ||
138 | interrupts = <3>; | ||
139 | }; | ||
140 | |||
141 | rtc: rtc@90090000 { | ||
142 | reg = <0x90090000 0x1000>; | ||
143 | interrupts = <4>; | ||
144 | }; | ||
145 | |||
146 | misc: misc@900A0000 { | ||
147 | reg = <0x900A0000 0x1000>; | ||
148 | }; | ||
149 | |||
150 | pwr: pwr@900B0000 { | ||
151 | reg = <0x900B0000 0x1000>; | ||
152 | interrupts = <15>; | ||
153 | }; | ||
154 | |||
155 | keypad: input@900E0000 { | ||
156 | compatible = "ti,nspire-keypad"; | ||
157 | reg = <0x900E0000 0x1000>; | ||
158 | interrupts = <16>; | ||
159 | |||
160 | scan-interval = <1000>; | ||
161 | row-delay = <200>; | ||
162 | |||
163 | clocks = <&apb_pclk>; | ||
164 | }; | ||
165 | |||
166 | contrast: contrast@900F0000 { | ||
167 | reg = <0x900F0000 0x1000>; | ||
168 | }; | ||
169 | |||
170 | led: led@90110000 { | ||
171 | reg = <0x90110000 0x1000>; | ||
172 | }; | ||
173 | }; | ||
174 | }; | ||
175 | }; | ||