diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2014-10-09 16:10:35 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2014-10-31 16:44:32 -0400 |
commit | 451f2334f09c4387dcd51a628eda534ed7f66d2a (patch) | |
tree | d399a2ccad77f8e20af4d90c8e65bfb217428841 | |
parent | 98ba16bb22d12740a246b8339db4969e2822ce33 (diff) |
ARM: nomadik: device tree for NHK15 board
This adds a device tree for the Nomadik NHK15 development kit
board.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | Documentation/devicetree/bindings/arm/ste-nomadik.txt | 6 | ||||
-rw-r--r-- | arch/arm/boot/dts/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/boot/dts/ste-nomadik-nhk15.dts | 151 | ||||
-rw-r--r-- | arch/arm/mach-nomadik/cpu-8815.c | 1 |
4 files changed, 160 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/arm/ste-nomadik.txt b/Documentation/devicetree/bindings/arm/ste-nomadik.txt index 6256ec31666d..2fdff5a806cf 100644 --- a/Documentation/devicetree/bindings/arm/ste-nomadik.txt +++ b/Documentation/devicetree/bindings/arm/ste-nomadik.txt | |||
@@ -10,6 +10,12 @@ Required root node property: src | |||
10 | 10 | ||
11 | Boards with the Nomadik SoC include: | 11 | Boards with the Nomadik SoC include: |
12 | 12 | ||
13 | Nomadik NHK-15 board manufactured by ST Microelectronics: | ||
14 | |||
15 | Required root node property: | ||
16 | |||
17 | compatible="st,nomadik-nhk-15"; | ||
18 | |||
13 | S8815 "MiniKit" manufactured by Calao Systems: | 19 | S8815 "MiniKit" manufactured by Calao Systems: |
14 | 20 | ||
15 | Required root node property: | 21 | Required root node property: |
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 38c89cafa1ab..50bb73ec2b7d 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -274,7 +274,8 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \ | |||
274 | imx28-m28evk.dtb \ | 274 | imx28-m28evk.dtb \ |
275 | imx28-sps1.dtb \ | 275 | imx28-sps1.dtb \ |
276 | imx28-tx28.dtb | 276 | imx28-tx28.dtb |
277 | dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb | 277 | dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb \ |
278 | ste-nomadik-nhk15.dtb | ||
278 | dtb-$(CONFIG_ARCH_NSPIRE) += nspire-cx.dtb \ | 279 | dtb-$(CONFIG_ARCH_NSPIRE) += nspire-cx.dtb \ |
279 | nspire-tp.dtb \ | 280 | nspire-tp.dtb \ |
280 | nspire-clp.dtb | 281 | nspire-clp.dtb |
diff --git a/arch/arm/boot/dts/ste-nomadik-nhk15.dts b/arch/arm/boot/dts/ste-nomadik-nhk15.dts new file mode 100644 index 000000000000..a8c00ee7522a --- /dev/null +++ b/arch/arm/boot/dts/ste-nomadik-nhk15.dts | |||
@@ -0,0 +1,151 @@ | |||
1 | /* | ||
2 | * Device Tree for the ST-Ericsson Nomadik S8815 board | ||
3 | * Produced by Calao Systems | ||
4 | */ | ||
5 | |||
6 | /dts-v1/; | ||
7 | #include <dt-bindings/interrupt-controller/irq.h> | ||
8 | #include <dt-bindings/gpio/gpio.h> | ||
9 | #include "ste-nomadik-stn8815.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Nomadik STN8815NHK"; | ||
13 | compatible = "st,nomadik-nhk-15"; | ||
14 | |||
15 | chosen { | ||
16 | bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk"; | ||
17 | }; | ||
18 | |||
19 | aliases { | ||
20 | stmpe-i2c0 = &stmpe0; | ||
21 | stmpe-i2c1 = &stmpe1; | ||
22 | }; | ||
23 | |||
24 | pinctrl { | ||
25 | stmpe2401_1 { | ||
26 | stmpe2401_1_nhk_mode: stmpe2401_1_nhk { | ||
27 | nhk_cfg1 { | ||
28 | ste,pins = "GPIO76_B20"; // IRQ line | ||
29 | ste,input = <0>; | ||
30 | }; | ||
31 | nhk_cfg2 { | ||
32 | ste,pins = "GPIO77_B8"; // reset line | ||
33 | ste,output = <1>; | ||
34 | }; | ||
35 | }; | ||
36 | }; | ||
37 | stmpe2401_2 { | ||
38 | stmpe2401_2_nhk_mode: stmpe2401_2_nhk { | ||
39 | nhk_cfg1 { | ||
40 | ste,pins = "GPIO78_A8"; // IRQ line | ||
41 | ste,input = <0>; | ||
42 | }; | ||
43 | nhk_cfg2 { | ||
44 | ste,pins = "GPIO79_C9"; // reset line | ||
45 | ste,output = <1>; | ||
46 | }; | ||
47 | }; | ||
48 | }; | ||
49 | }; | ||
50 | |||
51 | src@101e0000 { | ||
52 | /* These chrystal outputs are not used on this board */ | ||
53 | disable-sxtalo; | ||
54 | disable-mxtalo; | ||
55 | }; | ||
56 | |||
57 | /* This is where the interrupt is routed on the NHK-15 debug board */ | ||
58 | external-bus@34000000 { | ||
59 | compatible = "simple-bus"; | ||
60 | reg = <0x34000000 0x1000000>; | ||
61 | #address-cells = <1>; | ||
62 | #size-cells = <1>; | ||
63 | ranges = <0 0x34000000 0x1000000>; | ||
64 | ethernet@300 { | ||
65 | compatible = "smsc,lan91c111"; | ||
66 | reg = <0x300 0x0fd00>; | ||
67 | reg-io-width = <2>; | ||
68 | reset-gpios = <&stmpe_gpio44 10 GPIO_ACTIVE_HIGH>; | ||
69 | interrupt-parent = <&stmpe_gpio44>; | ||
70 | interrupts = <11 IRQ_TYPE_EDGE_RISING>; | ||
71 | }; | ||
72 | }; | ||
73 | |||
74 | i2c0 { | ||
75 | stmpe0: stmpe2401@43 { | ||
76 | compatible = "st,stmpe2401"; | ||
77 | reg = <0x43>; | ||
78 | reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; // GPIO77 | ||
79 | interrupts = <12 IRQ_TYPE_EDGE_FALLING>; // GPIO76 | ||
80 | interrupt-parent = <&gpio2>; | ||
81 | interrupt-controller; | ||
82 | wakeup-source; | ||
83 | pinctrl-names = "default"; | ||
84 | pinctrl-0 = <&stmpe2401_1_nhk_mode>; | ||
85 | stmpe_gpio43: stmpe_gpio { | ||
86 | compatible = "st,stmpe-gpio"; | ||
87 | gpio-controller; | ||
88 | #gpio-cells = <2>; | ||
89 | interrupt-controller; | ||
90 | #interrupt-cells = <2>; | ||
91 | /* Some pins in alternate functions */ | ||
92 | st,norequest-mask = <0xf0f002>; | ||
93 | }; | ||
94 | stmpe_keypad { | ||
95 | compatible = "st,stmpe-keypad"; | ||
96 | debounce-interval = <64>; | ||
97 | st,scan-count = <8>; | ||
98 | st,no-autorepeat; | ||
99 | keypad,num-rows = <8>; | ||
100 | keypad,num-columns = <8>; | ||
101 | linux,keymap = <0x00020072 // Vol down | ||
102 | 0x00030073 // Vol up | ||
103 | 0x0100009e // Back | ||
104 | 0x010100e3 // TV out | ||
105 | 0x01020098 // Lock | ||
106 | 0x0103013b // Start | ||
107 | 0x020000a3 // Next | ||
108 | 0x020100a4 // Play | ||
109 | 0x020200a5 // Prev | ||
110 | 0x02030160 // OK | ||
111 | 0x03000069 // Left | ||
112 | 0x0301006a // Right | ||
113 | 0x03020067 // Up | ||
114 | 0x0303006c>; // Down | ||
115 | }; | ||
116 | }; | ||
117 | stmpe1: stmpe2401@44 { | ||
118 | compatible = "st,stmpe2401"; | ||
119 | reg = <0x44>; | ||
120 | reset-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; // GPIO79 | ||
121 | interrupts = <14 IRQ_TYPE_EDGE_FALLING>; // GPIO78 | ||
122 | interrupt-parent = <&gpio2>; | ||
123 | interrupt-controller; | ||
124 | wakeup-source; | ||
125 | pinctrl-names = "default"; | ||
126 | pinctrl-0 = <&stmpe2401_2_nhk_mode>; | ||
127 | stmpe_gpio44: stmpe_gpio { | ||
128 | compatible = "st,stmpe-gpio"; | ||
129 | gpio-controller; | ||
130 | #gpio-cells = <2>; | ||
131 | interrupt-controller; | ||
132 | #interrupt-cells = <2>; | ||
133 | }; | ||
134 | }; | ||
135 | }; | ||
136 | |||
137 | amba { | ||
138 | mmcsd: sdi@101f6000 { | ||
139 | cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>; | ||
140 | wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>; | ||
141 | }; | ||
142 | }; | ||
143 | |||
144 | /* Custom board node with GPIO pins to active etc */ | ||
145 | usb-s8815 { | ||
146 | /* This will turn off SATA so that MMC/SD can thrive */ | ||
147 | mmcsd-gpio { | ||
148 | gpios = <&stmpe_gpio44 2 0x1>; | ||
149 | }; | ||
150 | }; | ||
151 | }; | ||
diff --git a/arch/arm/mach-nomadik/cpu-8815.c b/arch/arm/mach-nomadik/cpu-8815.c index 9116ca476d7c..9bda46f1fab7 100644 --- a/arch/arm/mach-nomadik/cpu-8815.c +++ b/arch/arm/mach-nomadik/cpu-8815.c | |||
@@ -144,6 +144,7 @@ static int __init cpu8815_mmcsd_init(void) | |||
144 | device_initcall(cpu8815_mmcsd_init); | 144 | device_initcall(cpu8815_mmcsd_init); |
145 | 145 | ||
146 | static const char * cpu8815_board_compat[] = { | 146 | static const char * cpu8815_board_compat[] = { |
147 | "st,nomadik-nhk-15", | ||
147 | "calaosystems,usb-s8815", | 148 | "calaosystems,usb-s8815", |
148 | NULL, | 149 | NULL, |
149 | }; | 150 | }; |