xref: /openbmc/linux/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1662a90c4SLin, Meng-Bo// SPDX-License-Identifier: GPL-2.0-only
2662a90c4SLin, Meng-Bo
3662a90c4SLin, Meng-Bo/dts-v1/;
4662a90c4SLin, Meng-Bo
5662a90c4SLin, Meng-Bo#include "msm8916-pm8916.dtsi"
6662a90c4SLin, Meng-Bo
7662a90c4SLin, Meng-Bo#include <dt-bindings/gpio/gpio.h>
8662a90c4SLin, Meng-Bo#include <dt-bindings/input/input.h>
9662a90c4SLin, Meng-Bo#include <dt-bindings/leds/common.h>
10662a90c4SLin, Meng-Bo
11662a90c4SLin, Meng-Bo/ {
12662a90c4SLin, Meng-Bo	model = "GPLUS FL8005A";
13662a90c4SLin, Meng-Bo	compatible = "gplus,fl8005a", "qcom,msm8916";
14662a90c4SLin, Meng-Bo	chassis-type = "tablet";
15662a90c4SLin, Meng-Bo
16662a90c4SLin, Meng-Bo	aliases {
17154f23a8SStephan Gerhold		mmc0 = &sdhc_1; /* eMMC */
18154f23a8SStephan Gerhold		mmc1 = &sdhc_2; /* SD card */
19c310ca82SStephan Gerhold		serial0 = &blsp_uart2;
20662a90c4SLin, Meng-Bo	};
21662a90c4SLin, Meng-Bo
22662a90c4SLin, Meng-Bo	chosen {
23662a90c4SLin, Meng-Bo		stdout-path = "serial0";
24662a90c4SLin, Meng-Bo	};
25662a90c4SLin, Meng-Bo
26599a259aSLin, Meng-Bo	flash-led-controller {
27599a259aSLin, Meng-Bo		/* Actually qcom,leds-gpio-flash */
28599a259aSLin, Meng-Bo		compatible = "sgmicro,sgm3140";
2941e22c2fSStephan Gerhold		enable-gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>;
3041e22c2fSStephan Gerhold		flash-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
31599a259aSLin, Meng-Bo
32599a259aSLin, Meng-Bo		pinctrl-0 = <&camera_flash_default>;
33599a259aSLin, Meng-Bo		pinctrl-names = "default";
34599a259aSLin, Meng-Bo
35599a259aSLin, Meng-Bo		flash_led: led {
36599a259aSLin, Meng-Bo			function = LED_FUNCTION_FLASH;
37599a259aSLin, Meng-Bo			color = <LED_COLOR_ID_WHITE>;
38599a259aSLin, Meng-Bo			flash-max-timeout-us = <250000>;
39599a259aSLin, Meng-Bo		};
40599a259aSLin, Meng-Bo	};
41599a259aSLin, Meng-Bo
42662a90c4SLin, Meng-Bo	gpio-keys {
43662a90c4SLin, Meng-Bo		compatible = "gpio-keys";
44662a90c4SLin, Meng-Bo
45662a90c4SLin, Meng-Bo		pinctrl-0 = <&gpio_keys_default>;
46662a90c4SLin, Meng-Bo		pinctrl-names = "default";
47662a90c4SLin, Meng-Bo
48662a90c4SLin, Meng-Bo		button-volume-up {
49662a90c4SLin, Meng-Bo			label = "Volume Up";
5041e22c2fSStephan Gerhold			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
51662a90c4SLin, Meng-Bo			linux,code = <KEY_VOLUMEUP>;
52662a90c4SLin, Meng-Bo		};
53662a90c4SLin, Meng-Bo	};
54662a90c4SLin, Meng-Bo
55662a90c4SLin, Meng-Bo	gpio-leds {
56662a90c4SLin, Meng-Bo		compatible = "gpio-leds";
57662a90c4SLin, Meng-Bo
58662a90c4SLin, Meng-Bo		pinctrl-0 = <&gpio_leds_default>;
59662a90c4SLin, Meng-Bo		pinctrl-names = "default";
60662a90c4SLin, Meng-Bo
61662a90c4SLin, Meng-Bo		led-red {
62662a90c4SLin, Meng-Bo			function = LED_FUNCTION_CHARGING;
63662a90c4SLin, Meng-Bo			color = <LED_COLOR_ID_RED>;
6441e22c2fSStephan Gerhold			gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
65662a90c4SLin, Meng-Bo			retain-state-suspended;
66662a90c4SLin, Meng-Bo		};
67662a90c4SLin, Meng-Bo
68662a90c4SLin, Meng-Bo		led-green {
69662a90c4SLin, Meng-Bo			function = LED_FUNCTION_CHARGING;
70662a90c4SLin, Meng-Bo			color = <LED_COLOR_ID_GREEN>;
7141e22c2fSStephan Gerhold			gpios = <&tlmm 118 GPIO_ACTIVE_HIGH>;
72662a90c4SLin, Meng-Bo			retain-state-suspended;
73662a90c4SLin, Meng-Bo		};
74662a90c4SLin, Meng-Bo	};
75662a90c4SLin, Meng-Bo
76662a90c4SLin, Meng-Bo	usb_id: usb-id {
77662a90c4SLin, Meng-Bo		compatible = "linux,extcon-usb-gpio";
78*f6485041SAlexander Stein		id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
79662a90c4SLin, Meng-Bo		pinctrl-0 = <&usb_id_default>;
80662a90c4SLin, Meng-Bo		pinctrl-names = "default";
81662a90c4SLin, Meng-Bo	};
82662a90c4SLin, Meng-Bo};
83662a90c4SLin, Meng-Bo
84143b4b84SLin, Meng-Bo&blsp_i2c5 {
85143b4b84SLin, Meng-Bo	status = "okay";
86143b4b84SLin, Meng-Bo
87143b4b84SLin, Meng-Bo	touchscreen@38 {
88143b4b84SLin, Meng-Bo		/* Actually ft5402 */
89143b4b84SLin, Meng-Bo		compatible = "edt,edt-ft5406";
90143b4b84SLin, Meng-Bo		reg = <0x38>;
91143b4b84SLin, Meng-Bo
9241e22c2fSStephan Gerhold		interrupt-parent = <&tlmm>;
93143b4b84SLin, Meng-Bo		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
94143b4b84SLin, Meng-Bo
9541e22c2fSStephan Gerhold		reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>;
96143b4b84SLin, Meng-Bo
97143b4b84SLin, Meng-Bo		vcc-supply = <&pm8916_l17>;
98143b4b84SLin, Meng-Bo		iovcc-supply = <&pm8916_l6>;
99143b4b84SLin, Meng-Bo
100143b4b84SLin, Meng-Bo		touchscreen-size-x = <800>;
101143b4b84SLin, Meng-Bo		touchscreen-size-y = <500>;
102143b4b84SLin, Meng-Bo		touchscreen-inverted-x;
103143b4b84SLin, Meng-Bo		touchscreen-swapped-x-y;
104143b4b84SLin, Meng-Bo
105143b4b84SLin, Meng-Bo		pinctrl-0 = <&touchscreen_default>;
106143b4b84SLin, Meng-Bo		pinctrl-names = "default";
107143b4b84SLin, Meng-Bo	};
108143b4b84SLin, Meng-Bo};
109143b4b84SLin, Meng-Bo
110c310ca82SStephan Gerhold&blsp_uart2 {
111662a90c4SLin, Meng-Bo	status = "okay";
112662a90c4SLin, Meng-Bo};
113662a90c4SLin, Meng-Bo
114662a90c4SLin, Meng-Bo&pm8916_resin {
115662a90c4SLin, Meng-Bo	linux,code = <KEY_VOLUMEDOWN>;
116662a90c4SLin, Meng-Bo	status = "okay";
117662a90c4SLin, Meng-Bo};
118662a90c4SLin, Meng-Bo
119b0a8f16aSStephan Gerhold&pm8916_rpm_regulators {
120b0a8f16aSStephan Gerhold	pm8916_l17: l17 {
121b0a8f16aSStephan Gerhold		regulator-min-microvolt = <2850000>;
122b0a8f16aSStephan Gerhold		regulator-max-microvolt = <2850000>;
123b0a8f16aSStephan Gerhold	};
124b0a8f16aSStephan Gerhold};
125b0a8f16aSStephan Gerhold
126662a90c4SLin, Meng-Bo&pm8916_vib {
127662a90c4SLin, Meng-Bo	status = "okay";
128662a90c4SLin, Meng-Bo};
129662a90c4SLin, Meng-Bo
130662a90c4SLin, Meng-Bo&sdhc_1 {
131662a90c4SLin, Meng-Bo	status = "okay";
132662a90c4SLin, Meng-Bo};
133662a90c4SLin, Meng-Bo
134662a90c4SLin, Meng-Bo&sdhc_2 {
135c943e4c5SStephan Gerhold	pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
136c943e4c5SStephan Gerhold	pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
137662a90c4SLin, Meng-Bo	pinctrl-names = "default", "sleep";
138662a90c4SLin, Meng-Bo
13941e22c2fSStephan Gerhold	cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
140662a90c4SLin, Meng-Bo
141662a90c4SLin, Meng-Bo	status = "okay";
142662a90c4SLin, Meng-Bo};
143662a90c4SLin, Meng-Bo
144662a90c4SLin, Meng-Bo&usb {
145662a90c4SLin, Meng-Bo	extcon = <&usb_id>, <&usb_id>;
146662a90c4SLin, Meng-Bo	status = "okay";
147662a90c4SLin, Meng-Bo};
148662a90c4SLin, Meng-Bo
149662a90c4SLin, Meng-Bo&usb_hs_phy {
150662a90c4SLin, Meng-Bo	extcon = <&usb_id>;
151662a90c4SLin, Meng-Bo};
152662a90c4SLin, Meng-Bo
15332444424SStephan Gerhold&wcnss {
15432444424SStephan Gerhold	status = "okay";
15532444424SStephan Gerhold};
15632444424SStephan Gerhold
15732444424SStephan Gerhold&wcnss_iris {
15832444424SStephan Gerhold	compatible = "qcom,wcn3620";
15932444424SStephan Gerhold};
16032444424SStephan Gerhold
16141e22c2fSStephan Gerhold&tlmm {
162599a259aSLin, Meng-Bo	camera_flash_default: camera-flash-default-state {
163599a259aSLin, Meng-Bo		pins = "gpio31", "gpio32";
164599a259aSLin, Meng-Bo		function = "gpio";
165599a259aSLin, Meng-Bo		drive-strength = <2>;
166599a259aSLin, Meng-Bo		bias-disable;
167599a259aSLin, Meng-Bo	};
168599a259aSLin, Meng-Bo
169662a90c4SLin, Meng-Bo	gpio_keys_default: gpio-keys-default-state {
170662a90c4SLin, Meng-Bo		pins = "gpio107";
171662a90c4SLin, Meng-Bo		function = "gpio";
172662a90c4SLin, Meng-Bo		drive-strength = <2>;
173662a90c4SLin, Meng-Bo		bias-pull-up;
174662a90c4SLin, Meng-Bo	};
175662a90c4SLin, Meng-Bo
176662a90c4SLin, Meng-Bo	gpio_leds_default: gpio-led-default-state {
177662a90c4SLin, Meng-Bo		pins = "gpio117", "gpio118";
178662a90c4SLin, Meng-Bo		function = "gpio";
179662a90c4SLin, Meng-Bo		drive-strength = <2>;
180662a90c4SLin, Meng-Bo		bias-disable;
181662a90c4SLin, Meng-Bo	};
182662a90c4SLin, Meng-Bo
183dfbda20dSStephan Gerhold	sdc2_cd_default: sdc2-cd-default-state {
184dfbda20dSStephan Gerhold		pins = "gpio38";
185dfbda20dSStephan Gerhold		function = "gpio";
186dfbda20dSStephan Gerhold		drive-strength = <2>;
187dfbda20dSStephan Gerhold		bias-disable;
188dfbda20dSStephan Gerhold	};
189dfbda20dSStephan Gerhold
190143b4b84SLin, Meng-Bo	touchscreen_default: touchscreen-default-state {
191143b4b84SLin, Meng-Bo		reset-pins {
192143b4b84SLin, Meng-Bo			pins = "gpio12";
193143b4b84SLin, Meng-Bo			function = "gpio";
194143b4b84SLin, Meng-Bo			drive-strength = <2>;
195143b4b84SLin, Meng-Bo			bias-disable;
196143b4b84SLin, Meng-Bo		};
197143b4b84SLin, Meng-Bo
198143b4b84SLin, Meng-Bo		touchscreen-pins {
199143b4b84SLin, Meng-Bo			pins = "gpio13";
200143b4b84SLin, Meng-Bo			function = "gpio";
201143b4b84SLin, Meng-Bo			drive-strength = <2>;
202143b4b84SLin, Meng-Bo			bias-pull-up;
203143b4b84SLin, Meng-Bo		};
204143b4b84SLin, Meng-Bo	};
205143b4b84SLin, Meng-Bo
206662a90c4SLin, Meng-Bo	usb_id_default: usb-id-default-state {
207662a90c4SLin, Meng-Bo		pins = "gpio110";
208662a90c4SLin, Meng-Bo		function = "gpio";
209662a90c4SLin, Meng-Bo		drive-strength = <8>;
210662a90c4SLin, Meng-Bo		bias-pull-up;
211662a90c4SLin, Meng-Bo	};
212662a90c4SLin, Meng-Bo};
213