Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux...
[firefly-linux-kernel-4.4.55.git] / arch / arm64 / boot / dts / rockchip / rk3399-sapphire-excavator-linux.dts
1 /*
2  * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., Ltd
3  *
4  * This file is dual-licensed: you can use it either under the terms
5  * of the GPL or the X11 license, at your option. Note that this dual
6  * licensing only applies to this file, and not this project as a
7  * whole.
8  *
9  *  a) This file is free software; you can redistribute it and/or
10  *     modify it under the terms of the GNU General Public License as
11  *     published by the Free Software Foundation; either version 2 of the
12  *     License, or (at your option) any later version.
13  *
14  *     This file is distributed in the hope that it will be useful,
15  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  *     GNU General Public License for more details.
18  *
19  * Or, alternatively,
20  *
21  *  b) Permission is hereby granted, free of charge, to any person
22  *     obtaining a copy of this software and associated documentation
23  *     files (the "Software"), to deal in the Software without
24  *     restriction, including without limitation the rights to use,
25  *     copy, modify, merge, publish, distribute, sublicense, and/or
26  *     sell copies of the Software, and to permit persons to whom the
27  *     Software is furnished to do so, subject to the following
28  *     conditions:
29  *
30  *     The above copyright notice and this permission notice shall be
31  *     included in all copies or substantial portions of the Software.
32  *
33  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40  *     OTHER DEALINGS IN THE SOFTWARE.
41  */
42
43 /dts-v1/;
44
45 #include "rk3399-excavator-sapphire.dtsi"
46 #include "rk3399-linux.dtsi"
47 #include <dt-bindings/input/input.h>
48
49 / {
50         model = "Rockchip RK3399 Excavator Board (Linux Opensource)";
51         compatible = "rockchip,rk3399-excavator-linux", "rockchip,rk3399";
52
53         fiq_debugger: fiq-debugger {
54                 compatible = "rockchip,fiq-debugger";
55                 rockchip,serial-id = <2>;
56                 rockchip,signal-irq = <182>;
57                 rockchip,wake-irq = <0>;
58                 rockchip,irq-mode-enable = <1>;  /* If enable uart uses irq instead of fiq */
59                 rockchip,baudrate = <1500000>;  /* Only 115200 and 1500000 */
60                 pinctrl-names = "default";
61                 pinctrl-0 = <&uart2c_xfer>;
62         };
63
64         edp_panel: edp-panel {
65                 compatible = "lg,lp079qx1-sp0v", "panel-simple";
66                 backlight = <&backlight>;
67                 power-supply = <&vcc3v3_s0>;
68                 enable-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;
69                 pinctrl-names = "default";
70                 pinctrl-0 = <&lcd_panel_reset>;
71
72                 ports {
73                         panel_in_edp: endpoint {
74                                 remote-endpoint = <&edp_out_panel>;
75                         };
76                 };
77         };
78
79         hdmi_codec: hdmi-codec {
80                 compatible = "simple-audio-card";
81                 simple-audio-card,format = "i2s";
82                 simple-audio-card,mclk-fs = <256>;
83                 simple-audio-card,name = "HDMI-CODEC";
84
85                 simple-audio-card,cpu {
86                         sound-dai = <&i2s2>;
87                 };
88
89                 simple-audio-card,codec {
90                         sound-dai = <&hdmi>;
91                 };
92         };
93
94         gpio-keys {
95                 compatible = "gpio-keys";
96                 #address-cells = <1>;
97                 #size-cells = <0>;
98                 autorepeat;
99
100                 pinctrl-names = "default";
101                 pinctrl-0 = <&pwrbtn>;
102
103                 button@0 {
104                         gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
105                         linux,code = <KEY_POWER>;
106                         label = "GPIO Key Power";
107                         linux,input-type = <1>;
108                         gpio-key,wakeup = <1>;
109                         debounce-interval = <100>;
110                 };
111         };
112 };
113
114 &vpu {
115         status = "okay";
116         /* 0 means ion, 1 means drm */
117         //allocator = <0>;
118 };
119
120 &rkvdec {
121         status = "okay";
122         /* 0 means ion, 1 means drm */
123         //allocator = <0>;
124 };
125
126 &backlight {
127         status = "okay";
128         enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
129 };
130
131 &display_subsystem {
132         status = "okay";
133 };
134
135 &route_edp {
136         status = "okay";
137 };
138
139 &edp {
140         status = "okay";
141
142         ports {
143                 edp_out: port@1 {
144                         reg = <1>;
145                         #address-cells = <1>;
146                         #size-cells = <0>;
147
148                         edp_out_panel: endpoint@0 {
149                                 reg = <0>;
150                                 remote-endpoint = <&panel_in_edp>;
151                         };
152                 };
153         };
154 };
155
156 &hdmi {
157         #address-cells = <1>;
158         #size-cells = <0>;
159         #sound-dai-cells = <0>;
160         status = "okay";
161 };
162
163 &i2c1 {
164         status = "okay";
165
166         gsl3673: gsl3673@40 {
167                 compatible = "GSL,GSL3673";
168                 reg = <0x40>;
169                 screen_max_x = <1536>;
170                 screen_max_y = <2048>;
171                 irq_gpio_number = <&gpio1 20 IRQ_TYPE_LEVEL_LOW>;
172                 rst_gpio_number = <&gpio4 22 GPIO_ACTIVE_HIGH>;
173         };
174 };
175
176 &i2c3 {
177         status = "okay";
178         i2c-scl-rising-time-ns = <450>;
179         i2c-scl-falling-time-ns = <15>;
180 };
181
182 &i2s2 {
183         #sound-dai-cells = <0>;
184         status = "okay";
185 };
186
187 &vopb {
188         status = "okay";
189 };
190
191 &vopb_mmu {
192         status = "okay";
193 };
194
195 &vopl {
196         status = "okay";
197 };
198
199 &vopl_mmu {
200         status = "okay";
201 };
202
203 &pinctrl {
204         buttons {
205                 pwrbtn: pwrbtn {
206                         rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
207                 };
208         };
209
210         lcd-panel {
211                 lcd_panel_reset: lcd-panel-reset {
212                         rockchip,pins = <4 30 RK_FUNC_GPIO &pcfg_pull_up>;
213                 };
214         };
215 };