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