xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/msm8939-huawei-kiwi.dts (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
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	pinctrl-0 = <&blsp_uart2_console_default>;
130	pinctrl-1 = <&blsp_uart2_console_sleep>;
131	pinctrl-names = "default", "sleep";
132	status = "okay";
133};
134
135&pm8916_l8 {
136	regulator-min-microvolt = <2950000>;
137	regulator-max-microvolt = <2950000>;
138};
139
140&pm8916_resin {
141	linux,code = <KEY_VOLUMEDOWN>;
142	status = "okay";
143};
144
145&pm8916_rpm_regulators {
146	pm8916_l16: l16 {
147		regulator-min-microvolt = <1800000>;
148		regulator-max-microvolt = <1800000>;
149	};
150
151	pm8916_l17: l17 {
152		regulator-min-microvolt = <2850000>;
153		regulator-max-microvolt = <2850000>;
154	};
155};
156
157&pm8916_vib {
158	status = "okay";
159};
160
161&sdhc_1 {
162	status = "okay";
163};
164
165&sdhc_2 {
166	pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
167	pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
168	pinctrl-names = "default", "sleep";
169
170	cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
171
172	status = "okay";
173};
174
175&usb {
176	extcon = <&usb_id>, <&usb_id>;
177	status = "okay";
178};
179
180&usb_hs_phy {
181	extcon = <&usb_id>;
182};
183
184&wcnss {
185	status = "okay";
186};
187
188&wcnss_iris {
189	compatible = "qcom,wcn3620";
190};
191
192&wcnss_mem {
193	status = "okay";
194};
195
196&tlmm {
197	accel_int_default: accel-int-default-state {
198		pins = "gpio115";
199		function = "gpio";
200		drive-strength = <2>;
201		bias-disable;
202	};
203
204	gpio_hall_sensor_default: gpio-hall-sensor-default-state {
205		pins = "gpio69";
206		function = "gpio";
207		drive-strength = <2>;
208		bias-disable;
209	};
210
211	gpio_keys_default: gpio-keys-default-state {
212		pins = "gpio107";
213		function = "gpio";
214		drive-strength = <2>;
215		bias-pull-up;
216	};
217
218	prox_irq_default: prox-irq-default-state {
219		pins = "gpio113";
220		function = "gpio";
221		drive-strength = <2>;
222		bias-disable;
223	};
224
225	sdc2_cd_default: sdc2-cd-default-state {
226		pins = "gpio38";
227		function = "gpio";
228		drive-strength = <2>;
229		bias-disable;
230	};
231
232	touchscreen_default: touchscreen-default-state {
233		pins = "gpio12", "gpio13";
234		function = "gpio";
235		drive-strength = <2>;
236		bias-disable;
237	};
238
239	usb_id_default: usb-id-default-state {
240		pins = "gpio110";
241		function = "gpio";
242		drive-strength = <8>;
243		bias-pull-up;
244	};
245};
246