Merge tag 'selinux-pr-20190312' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / ste-nomadik-nhk15.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Device Tree for the ST Microelectronics Nomadik NHK8815 board
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                 serial0 = &uart0;
21                 serial1 = &uart1;
22                 stmpe-i2c0 = &stmpe0;
23                 stmpe-i2c1 = &stmpe1;
24         };
25
26         pinctrl {
27                 uart0 {
28                         uart0_nhk_mode: uart0_mux {
29                                 u0_default_mux {
30                                         function = "u0";
31                                         groups = "u0txrx_a_1", "u0ctsrts_a_1";
32                                 };
33                         };
34                 };
35
36                 stmpe2401_1 {
37                         stmpe2401_1_nhk_mode: stmpe2401_1_nhk {
38                                 nhk_cfg1 {
39                                         pins = "GPIO76_B20"; // IRQ line
40                                         ste,input = <0>;
41                                 };
42                                 nhk_cfg2 {
43                                         pins = "GPIO77_B8"; // reset line
44                                         ste,output = <1>;
45                                 };
46                         };
47                 };
48                 stmpe2401_2 {
49                         stmpe2401_2_nhk_mode: stmpe2401_2_nhk {
50                                 nhk_cfg1 {
51                                         pins = "GPIO78_A8"; // IRQ line
52                                         ste,input = <0>;
53                                 };
54                                 nhk_cfg2 {
55                                         pins = "GPIO79_C9"; // reset line
56                                         ste,output = <1>;
57                                 };
58                         };
59                 };
60                 lis3lv02dl {
61                         lis3lv02dl_nhk_mode: lis3lv02dl_nhk {
62                                 nhk_cfg1 {
63                                         pins = "GPIO82_C10"; // IRQ line
64                                         ste,input = <0>;
65                                 };
66                         };
67                 };
68         };
69         src@101e0000 {
70                 /* These chrystal outputs are not used on this board */
71                 disable-sxtalo;
72                 disable-mxtalo;
73         };
74
75         /* This is where the interrupt is routed on the NHK-15 debug board */
76         external-bus@34000000 {
77                 compatible = "simple-bus";
78                 reg = <0x34000000 0x1000000>;
79                 #address-cells = <1>;
80                 #size-cells = <1>;
81                 ranges = <0 0x34000000 0x1000000>;
82                 ethernet@300 {
83                         compatible = "smsc,lan91c111";
84                         reg = <0x300 0x0fd00>;
85                         reg-io-width = <2>;
86                         reset-gpios = <&stmpe_gpio44 10 GPIO_ACTIVE_HIGH>;
87                         interrupt-parent = <&stmpe_gpio44>;
88                         interrupts = <11 IRQ_TYPE_EDGE_RISING>;
89                 };
90         };
91
92         i2c0 {
93                 lis3lv02dl@1d {
94                         /* Accelerometer */
95                         compatible = "st,lis3lv02dl-accel";
96                         interrupt-parent = <&gpio2>;
97                         interrupts = <18 IRQ_TYPE_EDGE_RISING>; // GPIO 82
98                         pinctrl-0 = <&lis3lv02dl_nhk_mode>;
99                         pinctrl-names = "default";
100                         reg = <0x1d>;
101                 };
102                 stmpe0: stmpe2401@43 {
103                         compatible = "st,stmpe2401";
104                         reg = <0x43>;
105                         reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; // GPIO77
106                         interrupts = <12 IRQ_TYPE_EDGE_FALLING>; // GPIO76
107                         interrupt-parent = <&gpio2>;
108                         interrupt-controller;
109                         wakeup-source;
110                         pinctrl-names = "default";
111                         pinctrl-0 = <&stmpe2401_1_nhk_mode>;
112                         stmpe_gpio43: stmpe_gpio {
113                                 compatible = "st,stmpe-gpio";
114                                 gpio-controller;
115                                 #gpio-cells = <2>;
116                                 interrupt-controller;
117                                 #interrupt-cells = <2>;
118                                 /* Some pins in alternate functions */
119                                 st,norequest-mask = <0xf0f002>;
120                         };
121                         stmpe_keypad {
122                                 compatible = "st,stmpe-keypad";
123                                 debounce-interval = <64>;
124                                 st,scan-count = <8>;
125                                 st,no-autorepeat;
126                                 keypad,num-rows = <8>;
127                                 keypad,num-columns = <8>;
128                                 linux,keymap = <0x00020072 // Vol down
129                                                 0x00030073 // Vol up
130                                                 0x0100009e // Back
131                                                 0x010100e3 // TV out
132                                                 0x01020098 // Lock
133                                                 0x0103013b // Start
134                                                 0x020000a3 // Next
135                                                 0x020100a4 // Play
136                                                 0x020200a5 // Prev
137                                                 0x02030160 // OK
138                                                 0x03000069 // Left
139                                                 0x0301006a // Right
140                                                 0x03020067 // Up
141                                                 0x0303006c>; // Down
142                         };
143                         stmpe0_pwm: stmpe_pwm {
144                                 compatible = "st,stmpe-pwm";
145                                 #pwm-cells = <2>;
146                         };
147                 };
148                 stmpe1: stmpe2401@44 {
149                         compatible = "st,stmpe2401";
150                         reg = <0x44>;
151                         reset-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; // GPIO79
152                         interrupts = <14 IRQ_TYPE_EDGE_FALLING>; // GPIO78
153                         interrupt-parent = <&gpio2>;
154                         interrupt-controller;
155                         wakeup-source;
156                         pinctrl-names = "default";
157                         pinctrl-0 = <&stmpe2401_2_nhk_mode>;
158                         stmpe_gpio44: stmpe_gpio {
159                                 compatible = "st,stmpe-gpio";
160                                 gpio-controller;
161                                 #gpio-cells = <2>;
162                                 interrupt-controller;
163                                 #interrupt-cells = <2>;
164                                 /*
165                                  * This will turn off SATA so that MMC/SD
166                                  * can thrive
167                                  */
168                                 mmcsd-gpio {
169                                         gpio-hog;
170                                         gpios = <2 0x0>;
171                                         output-low;
172                                         line-name = "SATA EN";
173                                 };
174                         };
175                 };
176         };
177
178         amba {
179                 clcd@10120000 {
180                         status = "okay";
181                         pinctrl-names = "default";
182                         pinctrl-0 = <&clcd_24bit_mux>;
183                         port {
184                                 nomadik_clcd: endpoint {
185                                         remote-endpoint = <&nomadik_clcd_panel>;
186                                         arm,pl11x,tft-r0g0b0-pads = <16 8 0>;
187                                 };
188                         };
189
190                 };
191
192                 /* Activate RX/TX and CTS/RTS on UART 0 */
193                 uart0: uart@101fd000 {
194                         pinctrl-names = "default";
195                         pinctrl-0 = <&uart0_nhk_mode>;
196                         status = "okay";
197                 };
198                 mmcsd: sdi@101f6000 {
199                         cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>;
200                         wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>;
201                 };
202         };
203
204         spi {
205                 compatible = "spi-gpio";
206                 #address-cells = <1>;
207                 #size-cells = <0>;
208
209                 /*
210                  * As we're dealing with 3wire SPI, we only define SCK
211                  * and MOSI (in the spec MOSI is called "SDA").
212                  */
213                 gpio-sck = <&gpio0 5 GPIO_ACTIVE_HIGH>;
214                 gpio-mosi = <&gpio0 4 GPIO_ACTIVE_HIGH>;
215                 /*
216                  * It's not actually active high, but the frameworks assume
217                  * the polarity of the passed-in GPIO is "normal" (active
218                  * high) then actively drives the line low to select the
219                  * chip.
220                  */
221                 cs-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
222                 num-chipselects = <1>;
223
224                 /*
225                  * WVGA connector 21
226                  * WVGA (800x480): 4.3" TPG110 TDO43MTEA2 24-bit RGB
227                  * with TPO touch screen.
228                   */
229                 panel: display@0 {
230                         /*
231                          * The TPO display driver is connected to a
232                          * 5.7" OSD OSD057VA01CT TFT display.
233                          */
234                         compatible = "tpo,tpg110";
235                         reg = <0>;
236                         spi-3wire;
237                         /* 320 ns min period ~= 3 MHz */
238                         spi-max-frequency = <3000000>;
239                         /* Width and height from the OSD data sheet */
240                         width-mm = <116>;
241                         height-mm = <87>;
242                         grestb-gpios = <&stmpe_gpio44 5 GPIO_ACTIVE_LOW>;
243                         backlight = <&bl>;
244
245                         port {
246                                 nomadik_clcd_panel: endpoint {
247                                         remote-endpoint = <&nomadik_clcd>;
248                                 };
249                         };
250                 };
251         };
252
253         bl: backlight {
254                 compatible = "pwm-backlight";
255                 pwms = <&stmpe0_pwm 0 500000>;
256                 pwm-names = "backlight";
257                 brightness-levels = <
258                         0  1  2  3  4  5  6  7  8  9
259                         10 11 12 13 14 15 16 17 18 19
260                         20 21 22 23 24 25 26 27 28 29
261                         30 31 32 33 34 35 36 37 38 39
262                         40 41 42 43 44 45 46 47 48 49
263                         50 51 52 53 54 55 56 57 58 59
264                         60 61 62 63 64 65 66 67 68 69
265                         70 71 72 73 74 75 76 77 78 79
266                         80 81 82 83 84 85 86 87 88 89
267                         90 91 92 93 94 95 96 97 98 99
268                         100
269                 >;
270                 default-brightness-level = <100>;
271         };
272 };