ARM: dts: Sort nodes within Peach-pit/Peach-pi dts files
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / exynos5800-peach-pi.dts
1 /*
2  * Google Peach Pi Rev 10+ board device tree source
3  *
4  * Copyright (c) 2014 Google, Inc
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 #include <dt-bindings/input/input.h>
13 #include <dt-bindings/gpio/gpio.h>
14 #include "exynos5800.dtsi"
15
16 / {
17         model = "Google Peach Pi Rev 10+";
18
19         compatible = "google,pi-rev16",
20                 "google,pi-rev15", "google,pi-rev14",
21                 "google,pi-rev13", "google,pi-rev12",
22                 "google,pi-rev11", "google,pi-rev10",
23                 "google,pi", "google,peach", "samsung,exynos5800",
24                 "samsung,exynos5";
25
26         backlight {
27                 compatible = "pwm-backlight";
28                 pwms = <&pwm 0 1000000 0>;
29                 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
30                 default-brightness-level = <7>;
31                 pinctrl-0 = <&pwm0_out>;
32                 pinctrl-names = "default";
33         };
34
35         fixed-rate-clocks {
36                 oscclk {
37                         compatible = "samsung,exynos5420-oscclk";
38                         clock-frequency = <24000000>;
39                 };
40         };
41
42         gpio-keys {
43                 compatible = "gpio-keys";
44
45                 pinctrl-names = "default";
46                 pinctrl-0 = <&power_key_irq>;
47
48                 power {
49                         label = "Power";
50                         gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
51                         linux,code = <KEY_POWER>;
52                         gpio-key,wakeup;
53                 };
54         };
55
56         memory {
57                 reg = <0x20000000 0x80000000>;
58         };
59
60         sound {
61                 compatible = "google,snow-audio-max98091";
62
63                 samsung,i2s-controller = <&i2s0>;
64                 samsung,audio-codec = <&max98091>;
65         };
66
67         usb300_vbus_reg: regulator-usb300 {
68                 compatible = "regulator-fixed";
69                 regulator-name = "P5.0V_USB3CON0";
70                 regulator-min-microvolt = <5000000>;
71                 regulator-max-microvolt = <5000000>;
72                 gpio = <&gph0 0 0>;
73                 pinctrl-names = "default";
74                 pinctrl-0 = <&usb300_vbus_en>;
75                 enable-active-high;
76         };
77
78         usb301_vbus_reg: regulator-usb301 {
79                 compatible = "regulator-fixed";
80                 regulator-name = "P5.0V_USB3CON1";
81                 regulator-min-microvolt = <5000000>;
82                 regulator-max-microvolt = <5000000>;
83                 gpio = <&gph0 1 0>;
84                 pinctrl-names = "default";
85                 pinctrl-0 = <&usb301_vbus_en>;
86                 enable-active-high;
87         };
88 };
89
90 &dp {
91         status = "okay";
92         pinctrl-names = "default";
93         pinctrl-0 = <&dp_hpd_gpio>;
94         samsung,color-space = <0>;
95         samsung,dynamic-range = <0>;
96         samsung,ycbcr-coeff = <0>;
97         samsung,color-depth = <1>;
98         samsung,link-rate = <0x0a>;
99         samsung,lane-count = <2>;
100         samsung,hpd-gpio = <&gpx2 6 0>;
101
102         display-timings {
103                 native-mode = <&timing1>;
104
105                 timing1: timing@1 {
106                         clock-frequency = <150660000>;
107                         hactive = <1920>;
108                         vactive = <1080>;
109                         hfront-porch = <60>;
110                         hback-porch = <172>;
111                         hsync-len = <80>;
112                         vback-porch = <25>;
113                         vfront-porch = <10>;
114                         vsync-len = <10>;
115                 };
116         };
117 };
118
119 &fimd {
120         status = "okay";
121         samsung,invert-vclk;
122 };
123
124 &hdmi {
125         status = "okay";
126         hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
127         pinctrl-names = "default";
128         pinctrl-0 = <&hdmi_hpd_irq>;
129         ddc = <&i2c_2>;
130 };
131
132 &hsi2c_7 {
133         status = "okay";
134
135         max98091: codec@10 {
136                 compatible = "maxim,max98091";
137                 reg = <0x10>;
138                 interrupts = <2 0>;
139                 interrupt-parent = <&gpx0>;
140                 pinctrl-names = "default";
141                 pinctrl-0 = <&max98091_irq>;
142         };
143 };
144
145 &hsi2c_9 {
146         status = "okay";
147         clock-frequency = <400000>;
148
149         tpm@20 {
150                 compatible = "infineon,slb9645tt";
151                 reg = <0x20>;
152
153                 /* Unused irq; but still need to configure the pins */
154                 pinctrl-names = "default";
155                 pinctrl-0 = <&tpm_irq>;
156         };
157 };
158
159 &i2c_2 {
160         status = "okay";
161         samsung,i2c-sda-delay = <100>;
162         samsung,i2c-max-bus-freq = <66000>;
163         samsung,i2c-slave-addr = <0x50>;
164 };
165
166 &i2s0 {
167         status = "okay";
168 };
169
170 &mmc_0 {
171         status = "okay";
172         num-slots = <1>;
173         broken-cd;
174         caps2-mmc-hs200-1_8v;
175         supports-highspeed;
176         non-removable;
177         card-detect-delay = <200>;
178         clock-frequency = <400000000>;
179         samsung,dw-mshc-ciu-div = <3>;
180         samsung,dw-mshc-sdr-timing = <0 4>;
181         samsung,dw-mshc-ddr-timing = <0 2>;
182         pinctrl-names = "default";
183         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
184
185         slot@0 {
186                 reg = <0>;
187                 bus-width = <8>;
188         };
189 };
190
191 &mmc_2 {
192         status = "okay";
193         num-slots = <1>;
194         supports-highspeed;
195         card-detect-delay = <200>;
196         clock-frequency = <400000000>;
197         samsung,dw-mshc-ciu-div = <3>;
198         samsung,dw-mshc-sdr-timing = <2 3>;
199         samsung,dw-mshc-ddr-timing = <1 2>;
200         pinctrl-names = "default";
201         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
202
203         slot@0 {
204                 reg = <0>;
205                 bus-width = <4>;
206         };
207 };
208
209
210 &pinctrl_0 {
211         max98091_irq: max98091-irq {
212                 samsung,pins = "gpx0-2";
213                 samsung,pin-function = <0>;
214                 samsung,pin-pud = <0>;
215                 samsung,pin-drv = <0>;
216         };
217
218         tpm_irq: tpm-irq {
219                 samsung,pins = "gpx1-0";
220                 samsung,pin-function = <0>;
221                 samsung,pin-pud = <0>;
222                 samsung,pin-drv = <0>;
223         };
224
225         power_key_irq: power-key-irq {
226                 samsung,pins = "gpx1-2";
227                 samsung,pin-function = <0>;
228                 samsung,pin-pud = <0>;
229                 samsung,pin-drv = <0>;
230         };
231
232         dp_hpd_gpio: dp_hpd_gpio {
233                 samsung,pins = "gpx2-6";
234                 samsung,pin-function = <0>;
235                 samsung,pin-pud = <3>;
236                 samsung,pin-drv = <0>;
237         };
238
239         hdmi_hpd_irq: hdmi-hpd-irq {
240                 samsung,pins = "gpx3-7";
241                 samsung,pin-function = <0>;
242                 samsung,pin-pud = <1>;
243                 samsung,pin-drv = <0>;
244         };
245 };
246
247 &pinctrl_3 {
248         usb300_vbus_en: usb300-vbus-en {
249                 samsung,pins = "gph0-0";
250                 samsung,pin-function = <1>;
251                 samsung,pin-pud = <0>;
252                 samsung,pin-drv = <0>;
253         };
254
255         usb301_vbus_en: usb301-vbus-en {
256                 samsung,pins = "gph0-1";
257                 samsung,pin-function = <1>;
258                 samsung,pin-pud = <0>;
259                 samsung,pin-drv = <0>;
260         };
261 };
262
263 &rtc {
264         status = "okay";
265 };
266
267 &uart_3 {
268         status = "okay";
269 };
270
271 &usbdrd_phy0 {
272         vbus-supply = <&usb300_vbus_reg>;
273 };
274
275 &usbdrd_phy1 {
276         vbus-supply = <&usb301_vbus_reg>;
277 };
278
279 /*
280  * Use longest HW watchdog in SoC (32 seconds) since the hardware
281  * watchdog provides no debugging information (compared to soft/hard
282  * lockup detectors) and so should be last resort.
283  */
284 &watchdog {
285         timeout-sec = <32>;
286 };
287