]> git.ipfire.org Git - thirdparty/u-boot.git/blob - src/arm64/qcom/msm8939-huawei-kiwi.dts
Squashed 'dts/upstream/' changes from aaba2d45dc2a..b35b9bd1d4ee
[thirdparty/u-boot.git] / src / arm64 / qcom / msm8939-huawei-kiwi.dts
1 // SPDX-License-Identifier: GPL-2.0-only
2
3 /dts-v1/;
4
5 #include "msm8939-pm8916.dtsi"
6 #include <dt-bindings/gpio/gpio.h>
7
8 / {
9 model = "Huawei Honor 5X / GR5 (2016)";
10 compatible = "huawei,kiwi", "qcom,msm8939";
11 chassis-type = "handset";
12
13 aliases {
14 mmc0 = &sdhc_1; /* SDC1 eMMC slot */
15 mmc1 = &sdhc_2; /* SDC2 SD card slot */
16 serial0 = &blsp_uart2;
17 };
18
19 chosen {
20 stdout-path = "serial0";
21 };
22
23 reserved-memory {
24 qseecom_mem: qseecom@84a00000 {
25 reg = <0x0 0x84a00000 0x0 0x1600000>;
26 no-map;
27 };
28 };
29
30 gpio-hall-sensor {
31 compatible = "gpio-keys";
32
33 pinctrl-0 = <&gpio_hall_sensor_default>;
34 pinctrl-names = "default";
35
36 label = "GPIO Hall Effect Sensor";
37
38 event-hall-sensor {
39 label = "Hall Effect Sensor";
40 gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
41 linux,input-type = <EV_SW>;
42 linux,code = <SW_LID>;
43 linux,can-disable;
44 };
45 };
46
47 gpio-keys {
48 compatible = "gpio-keys";
49
50 pinctrl-0 = <&gpio_keys_default>;
51 pinctrl-names = "default";
52
53 label = "GPIO Buttons";
54
55 button-volume-up {
56 label = "Volume Up";
57 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
58 linux,code = <KEY_VOLUMEUP>;
59 };
60 };
61
62 usb_id: usb-id {
63 compatible = "linux,extcon-usb-gpio";
64 id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
65 pinctrl-0 = <&usb_id_default>;
66 pinctrl-names = "default";
67 };
68 };
69
70 &blsp_i2c2 {
71 status = "okay";
72
73 accelerometer@1e {
74 compatible = "kionix,kx023-1025";
75 reg = <0x1e>;
76
77 vdd-supply = <&pm8916_l17>;
78 vddio-supply = <&pm8916_l6>;
79 pinctrl-0 = <&accel_int_default>;
80 pinctrl-names = "default";
81 mount-matrix = "-1", "0", "0",
82 "0", "1", "0",
83 "0", "0", "1";
84 };
85
86 proximity@39 {
87 compatible = "avago,apds9930";
88 reg = <0x39>;
89
90 interrupt-parent = <&tlmm>;
91 interrupts = <113 IRQ_TYPE_EDGE_FALLING>;
92
93 vdd-supply = <&pm8916_l17>;
94 vddio-supply = <&pm8916_l6>;
95
96 led-max-microamp = <25000>;
97 amstaos,proximity-diodes = <0>;
98
99 pinctrl-0 = <&prox_irq_default>;
100 pinctrl-names = "default";
101 };
102 };
103
104 &blsp_i2c5 {
105 status = "okay";
106
107 touchscreen@1c {
108 compatible = "cypress,tt21000";
109
110 reg = <0x1c>;
111 interrupt-parent = <&tlmm>;
112 interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
113
114 reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>;
115
116 /*
117 * NOTE: vdd is not directly supplied by pm8916_l16, it seems to be a
118 * fixed regulator that is automatically enabled by pm8916_l16.
119 */
120 vdd-supply = <&pm8916_l16>;
121 vddio-supply = <&pm8916_l16>;
122
123 pinctrl-0 = <&touchscreen_default>;
124 pinctrl-names = "default";
125 };
126 };
127
128 &blsp_uart2 {
129 status = "okay";
130 };
131
132 &pm8916_l8 {
133 regulator-min-microvolt = <2950000>;
134 regulator-max-microvolt = <2950000>;
135 };
136
137 &pm8916_resin {
138 linux,code = <KEY_VOLUMEDOWN>;
139 status = "okay";
140 };
141
142 &pm8916_rpm_regulators {
143 pm8916_l16: l16 {
144 regulator-min-microvolt = <1800000>;
145 regulator-max-microvolt = <1800000>;
146 };
147
148 pm8916_l17: l17 {
149 regulator-min-microvolt = <2850000>;
150 regulator-max-microvolt = <2850000>;
151 };
152 };
153
154 &pm8916_vib {
155 status = "okay";
156 };
157
158 &sdhc_1 {
159 status = "okay";
160 };
161
162 &sdhc_2 {
163 pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
164 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
165 pinctrl-names = "default", "sleep";
166
167 cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
168
169 status = "okay";
170 };
171
172 &usb {
173 extcon = <&usb_id>, <&usb_id>;
174 status = "okay";
175 };
176
177 &usb_hs_phy {
178 extcon = <&usb_id>;
179 };
180
181 &wcnss {
182 status = "okay";
183 };
184
185 &wcnss_iris {
186 compatible = "qcom,wcn3620";
187 };
188
189 &wcnss_mem {
190 status = "okay";
191 };
192
193 &tlmm {
194 accel_int_default: accel-int-default-state {
195 pins = "gpio115";
196 function = "gpio";
197 drive-strength = <2>;
198 bias-disable;
199 };
200
201 gpio_hall_sensor_default: gpio-hall-sensor-default-state {
202 pins = "gpio69";
203 function = "gpio";
204 drive-strength = <2>;
205 bias-disable;
206 };
207
208 gpio_keys_default: gpio-keys-default-state {
209 pins = "gpio107";
210 function = "gpio";
211 drive-strength = <2>;
212 bias-pull-up;
213 };
214
215 prox_irq_default: prox-irq-default-state {
216 pins = "gpio113";
217 function = "gpio";
218 drive-strength = <2>;
219 bias-disable;
220 };
221
222 sdc2_cd_default: sdc2-cd-default-state {
223 pins = "gpio38";
224 function = "gpio";
225 drive-strength = <2>;
226 bias-disable;
227 };
228
229 touchscreen_default: touchscreen-default-state {
230 pins = "gpio12", "gpio13";
231 function = "gpio";
232 drive-strength = <2>;
233 bias-disable;
234 };
235
236 usb_id_default: usb-id-default-state {
237 pins = "gpio110";
238 function = "gpio";
239 drive-strength = <8>;
240 bias-pull-up;
241 };
242 };