xref: /linux/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts (revision 6e7fd890f1d6ac83805409e9c346240de2705584)
1// SPDX-License-Identifier: GPL-2.0-only
2
3/dts-v1/;
4
5#include "msm8916-pm8916.dtsi"
6#include "msm8916-modem-qdsp6.dtsi"
7
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/input/input.h>
10#include <dt-bindings/leds/common.h>
11
12/ {
13	model = "GPLUS FL8005A";
14	compatible = "gplus,fl8005a", "qcom,msm8916";
15	chassis-type = "tablet";
16
17	aliases {
18		mmc0 = &sdhc_1; /* eMMC */
19		mmc1 = &sdhc_2; /* SD card */
20		serial0 = &blsp_uart2;
21	};
22
23	chosen {
24		stdout-path = "serial0";
25	};
26
27	battery: battery {
28		compatible = "simple-battery";
29		device-chemistry = "lithium-ion-polymer";
30		voltage-min-design-microvolt = <3700000>;
31		voltage-max-design-microvolt = <4200000>;
32		energy-full-design-microwatt-hours = <13690000>;
33		charge-full-design-microamp-hours = <3700000>;
34
35		ocv-capacity-celsius = <25>;
36		ocv-capacity-table-0 =
37			<4186000 100>, <4126000 95>, <4078000 90>,
38			<4036000 85>, <3997000 80>, <3962000 75>,
39			<3932000 70>, <3904000 65>, <3874000 60>,
40			<3839000 55>, <3809000 50>, <3792000 45>,
41			<3780000 40>, <3772000 35>, <3764000 30>,
42			<3752000 25>, <3731000 20>, <3704000 16>,
43			<3677000 13>, <3670000 11>, <3668000 10>,
44			<3666000 9>, <3662000 8>, <3658000 7>, <3648000 6>,
45			<3624000 5>, <3580000 4>, <3518000 3>, <3434000 2>,
46			<3310000 1>, <3000000 0>;
47	};
48
49	flash-led-controller {
50		/* Actually qcom,leds-gpio-flash */
51		compatible = "sgmicro,sgm3140";
52		enable-gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>;
53		flash-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
54
55		pinctrl-0 = <&camera_flash_default>;
56		pinctrl-names = "default";
57
58		flash_led: led {
59			function = LED_FUNCTION_FLASH;
60			color = <LED_COLOR_ID_WHITE>;
61			flash-max-timeout-us = <250000>;
62		};
63	};
64
65	gpio-keys {
66		compatible = "gpio-keys";
67
68		pinctrl-0 = <&gpio_keys_default>;
69		pinctrl-names = "default";
70
71		button-volume-up {
72			label = "Volume Up";
73			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
74			linux,code = <KEY_VOLUMEUP>;
75		};
76	};
77
78	gpio-leds {
79		compatible = "gpio-leds";
80
81		pinctrl-0 = <&gpio_leds_default>;
82		pinctrl-names = "default";
83
84		led-red {
85			function = LED_FUNCTION_CHARGING;
86			color = <LED_COLOR_ID_RED>;
87			gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
88			retain-state-suspended;
89		};
90
91		led-green {
92			function = LED_FUNCTION_CHARGING;
93			color = <LED_COLOR_ID_GREEN>;
94			gpios = <&tlmm 118 GPIO_ACTIVE_HIGH>;
95			retain-state-suspended;
96		};
97	};
98
99	usb_id: usb-id {
100		compatible = "linux,extcon-usb-gpio";
101		id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
102		pinctrl-0 = <&usb_id_default>;
103		pinctrl-names = "default";
104	};
105};
106
107&blsp_i2c5 {
108	status = "okay";
109
110	touchscreen@38 {
111		/* Actually ft5402 */
112		compatible = "edt,edt-ft5406";
113		reg = <0x38>;
114
115		interrupt-parent = <&tlmm>;
116		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
117
118		reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>;
119
120		vcc-supply = <&pm8916_l17>;
121		iovcc-supply = <&pm8916_l6>;
122
123		touchscreen-size-x = <800>;
124		touchscreen-size-y = <500>;
125		touchscreen-inverted-x;
126		touchscreen-swapped-x-y;
127
128		pinctrl-0 = <&touchscreen_default>;
129		pinctrl-names = "default";
130	};
131};
132
133&blsp_uart2 {
134	status = "okay";
135};
136
137&mpss_mem {
138	reg = <0x0 0x86800000 0x0 0x5000000>;
139};
140
141&pm8916_bms {
142	monitored-battery = <&battery>;
143	status = "okay";
144};
145
146&pm8916_codec {
147	qcom,micbias-lvl = <2800>;
148	qcom,mbhc-vthreshold-low = <150 180 237 450 500>;
149	qcom,mbhc-vthreshold-high = <150 180 237 450 500>;
150	qcom,hphl-jack-type-normally-open;
151};
152
153&pm8916_resin {
154	linux,code = <KEY_VOLUMEDOWN>;
155	status = "okay";
156};
157
158&pm8916_rpm_regulators {
159	pm8916_l17: l17 {
160		regulator-min-microvolt = <2850000>;
161		regulator-max-microvolt = <2850000>;
162	};
163};
164
165&pm8916_vib {
166	status = "okay";
167};
168
169&sdhc_1 {
170	status = "okay";
171};
172
173&sdhc_2 {
174	pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
175	pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
176	pinctrl-names = "default", "sleep";
177
178	cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
179
180	status = "okay";
181};
182
183&sound {
184	model = "msm8916-1mic";
185	audio-routing =
186		"AMIC1", "MIC BIAS External1",
187		"AMIC2", "MIC BIAS Internal2",
188		"AMIC3", "MIC BIAS External1";
189};
190
191&usb {
192	extcon = <&usb_id>, <&usb_id>;
193	status = "okay";
194};
195
196&usb_hs_phy {
197	extcon = <&usb_id>;
198};
199
200&venus {
201	status = "okay";
202};
203
204&venus_mem {
205	status = "okay";
206};
207
208&wcnss {
209	status = "okay";
210};
211
212&wcnss_iris {
213	compatible = "qcom,wcn3620";
214};
215
216&wcnss_mem {
217	status = "okay";
218};
219
220&tlmm {
221	camera_flash_default: camera-flash-default-state {
222		pins = "gpio31", "gpio32";
223		function = "gpio";
224		drive-strength = <2>;
225		bias-disable;
226	};
227
228	gpio_keys_default: gpio-keys-default-state {
229		pins = "gpio107";
230		function = "gpio";
231		drive-strength = <2>;
232		bias-pull-up;
233	};
234
235	gpio_leds_default: gpio-led-default-state {
236		pins = "gpio117", "gpio118";
237		function = "gpio";
238		drive-strength = <2>;
239		bias-disable;
240	};
241
242	sdc2_cd_default: sdc2-cd-default-state {
243		pins = "gpio38";
244		function = "gpio";
245		drive-strength = <2>;
246		bias-disable;
247	};
248
249	touchscreen_default: touchscreen-default-state {
250		reset-pins {
251			pins = "gpio12";
252			function = "gpio";
253			drive-strength = <2>;
254			bias-disable;
255		};
256
257		touchscreen-pins {
258			pins = "gpio13";
259			function = "gpio";
260			drive-strength = <2>;
261			bias-pull-up;
262		};
263	};
264
265	usb_id_default: usb-id-default-state {
266		pins = "gpio110";
267		function = "gpio";
268		drive-strength = <8>;
269		bias-pull-up;
270	};
271};
272