xref: /freebsd-src/sys/contrib/device-tree/src/arm64/qcom/msm8916-samsung-gt510.dts (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1cb7aa33aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2cb7aa33aSEmmanuel Vadot
3cb7aa33aSEmmanuel Vadot/dts-v1/;
4cb7aa33aSEmmanuel Vadot
5cb7aa33aSEmmanuel Vadot#include "msm8916-samsung-gt5-common.dtsi"
6cb7aa33aSEmmanuel Vadot
7cb7aa33aSEmmanuel Vadot/ {
8cb7aa33aSEmmanuel Vadot	model = "Samsung Galaxy Tab A 9.7 (2015)";
9cb7aa33aSEmmanuel Vadot	compatible = "samsung,gt510", "qcom,msm8916";
10cb7aa33aSEmmanuel Vadot	chassis-type = "tablet";
11cb7aa33aSEmmanuel Vadot
12*8d13bc63SEmmanuel Vadot	speaker_codec: audio-codec {
13*8d13bc63SEmmanuel Vadot		compatible = "maxim,max98357a";
14*8d13bc63SEmmanuel Vadot		sdmode-gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>;
15*8d13bc63SEmmanuel Vadot		#sound-dai-cells = <0>;
16*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&audio_sdmode_default>;
17*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
18*8d13bc63SEmmanuel Vadot	};
19*8d13bc63SEmmanuel Vadot
20cb7aa33aSEmmanuel Vadot	clk_pwm: pwm {
21cb7aa33aSEmmanuel Vadot		compatible = "clk-pwm";
22cb7aa33aSEmmanuel Vadot		#pwm-cells = <2>;
23cb7aa33aSEmmanuel Vadot
24cb7aa33aSEmmanuel Vadot		clocks = <&gcc GCC_GP2_CLK>;
25cb7aa33aSEmmanuel Vadot
26cb7aa33aSEmmanuel Vadot		pinctrl-0 = <&motor_pwm_default>;
27cb7aa33aSEmmanuel Vadot		pinctrl-names = "default";
28cb7aa33aSEmmanuel Vadot	};
29cb7aa33aSEmmanuel Vadot
3084943d6fSEmmanuel Vadot	reg_lcd_vmipi: regulator-lcd-vmipi {
3184943d6fSEmmanuel Vadot		compatible = "regulator-fixed";
3284943d6fSEmmanuel Vadot		regulator-name = "lcd_vmipi";
3384943d6fSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
3484943d6fSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
3584943d6fSEmmanuel Vadot
3684943d6fSEmmanuel Vadot		gpio = <&tlmm 8 GPIO_ACTIVE_HIGH>;
3784943d6fSEmmanuel Vadot		enable-active-high;
3884943d6fSEmmanuel Vadot
3984943d6fSEmmanuel Vadot		pinctrl-0 = <&lcd_en_default>;
4084943d6fSEmmanuel Vadot		pinctrl-names = "default";
4184943d6fSEmmanuel Vadot	};
4284943d6fSEmmanuel Vadot
43cb7aa33aSEmmanuel Vadot	reg_motor_vdd: regulator-motor-vdd {
44cb7aa33aSEmmanuel Vadot		compatible = "regulator-fixed";
45cb7aa33aSEmmanuel Vadot		regulator-name = "motor_vdd";
46cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <3000000>;
47cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <3000000>;
48cb7aa33aSEmmanuel Vadot
49f126890aSEmmanuel Vadot		gpio = <&tlmm 76 GPIO_ACTIVE_HIGH>;
50cb7aa33aSEmmanuel Vadot		enable-active-high;
51cb7aa33aSEmmanuel Vadot
52cb7aa33aSEmmanuel Vadot		pinctrl-0 = <&motor_en_default>;
53cb7aa33aSEmmanuel Vadot		pinctrl-names = "default";
54cb7aa33aSEmmanuel Vadot	};
55cb7aa33aSEmmanuel Vadot
56cb7aa33aSEmmanuel Vadot	reg_tsp_1p8v: regulator-tsp-1p8v {
57cb7aa33aSEmmanuel Vadot		compatible = "regulator-fixed";
58cb7aa33aSEmmanuel Vadot		regulator-name = "tsp_1p8v";
59cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
60cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
61cb7aa33aSEmmanuel Vadot
62f126890aSEmmanuel Vadot		gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
63cb7aa33aSEmmanuel Vadot		enable-active-high;
64cb7aa33aSEmmanuel Vadot
65cb7aa33aSEmmanuel Vadot		pinctrl-0 = <&tsp_en_default>;
66cb7aa33aSEmmanuel Vadot		pinctrl-names = "default";
67cb7aa33aSEmmanuel Vadot	};
68cb7aa33aSEmmanuel Vadot
69cb7aa33aSEmmanuel Vadot	reg_tsp_3p3v: regulator-tsp-3p3v {
70cb7aa33aSEmmanuel Vadot		compatible = "regulator-fixed";
71cb7aa33aSEmmanuel Vadot		regulator-name = "tsp_3p3v";
72cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
73cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
74cb7aa33aSEmmanuel Vadot
75f126890aSEmmanuel Vadot		gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>;
76cb7aa33aSEmmanuel Vadot		enable-active-high;
77cb7aa33aSEmmanuel Vadot	};
78cb7aa33aSEmmanuel Vadot
7984943d6fSEmmanuel Vadot	reg_vlcd_5p4v: regulator-vlcd-5p4v {
8084943d6fSEmmanuel Vadot		compatible = "regulator-fixed";
8184943d6fSEmmanuel Vadot		regulator-name = "vlcd_5p4v";
8284943d6fSEmmanuel Vadot		regulator-min-microvolt = <5400000>;
8384943d6fSEmmanuel Vadot		regulator-max-microvolt = <5400000>;
8484943d6fSEmmanuel Vadot
8584943d6fSEmmanuel Vadot		gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>;
8684943d6fSEmmanuel Vadot		enable-active-high;
8784943d6fSEmmanuel Vadot
8884943d6fSEmmanuel Vadot		pinctrl-0 = <&buckbooster_en_default>;
8984943d6fSEmmanuel Vadot		pinctrl-names = "default";
9084943d6fSEmmanuel Vadot	};
9184943d6fSEmmanuel Vadot
92cb7aa33aSEmmanuel Vadot	vibrator {
93cb7aa33aSEmmanuel Vadot		compatible = "pwm-vibrator";
94cb7aa33aSEmmanuel Vadot
95cb7aa33aSEmmanuel Vadot		pwms = <&clk_pwm 0 100000>;
96cb7aa33aSEmmanuel Vadot		pwm-names = "enable";
97cb7aa33aSEmmanuel Vadot
98cb7aa33aSEmmanuel Vadot		vcc-supply = <&reg_motor_vdd>;
99cb7aa33aSEmmanuel Vadot	};
100cb7aa33aSEmmanuel Vadot};
101cb7aa33aSEmmanuel Vadot
102cb7aa33aSEmmanuel Vadot&blsp_i2c5 {
103cb7aa33aSEmmanuel Vadot	status = "okay";
104cb7aa33aSEmmanuel Vadot
105cb7aa33aSEmmanuel Vadot	touchscreen@4a {
106cb7aa33aSEmmanuel Vadot		compatible = "atmel,maxtouch";
107cb7aa33aSEmmanuel Vadot		reg = <0x4a>;
108f126890aSEmmanuel Vadot		interrupt-parent = <&tlmm>;
109cb7aa33aSEmmanuel Vadot		interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
110cb7aa33aSEmmanuel Vadot
111cb7aa33aSEmmanuel Vadot		vdd-supply = <&reg_tsp_1p8v>;
112cb7aa33aSEmmanuel Vadot		vdda-supply = <&reg_tsp_3p3v>;
113cb7aa33aSEmmanuel Vadot
114f126890aSEmmanuel Vadot		reset-gpios = <&tlmm 114 GPIO_ACTIVE_LOW>;
115cb7aa33aSEmmanuel Vadot
116cb7aa33aSEmmanuel Vadot		pinctrl-0 = <&tsp_int_rst_default>;
117cb7aa33aSEmmanuel Vadot		pinctrl-names = "default";
11884943d6fSEmmanuel Vadot
11984943d6fSEmmanuel Vadot		linux,keycodes = <KEY_APPSELECT KEY_BACK>;
120cb7aa33aSEmmanuel Vadot	};
121cb7aa33aSEmmanuel Vadot};
122cb7aa33aSEmmanuel Vadot
123*8d13bc63SEmmanuel Vadot&gpu {
124*8d13bc63SEmmanuel Vadot	status = "okay";
125*8d13bc63SEmmanuel Vadot};
126*8d13bc63SEmmanuel Vadot
12784943d6fSEmmanuel Vadot&mdss {
12884943d6fSEmmanuel Vadot	status = "okay";
12984943d6fSEmmanuel Vadot};
13084943d6fSEmmanuel Vadot
13184943d6fSEmmanuel Vadot&mdss_dsi0 {
13284943d6fSEmmanuel Vadot	pinctrl-0 = <&mdss_default>;
13384943d6fSEmmanuel Vadot	pinctrl-1 = <&mdss_sleep>;
13484943d6fSEmmanuel Vadot	pinctrl-names = "default", "sleep";
13584943d6fSEmmanuel Vadot
13684943d6fSEmmanuel Vadot	panel@0 {
13784943d6fSEmmanuel Vadot		compatible = "samsung,ltl101at01", "samsung,s6d7aa0";
13884943d6fSEmmanuel Vadot		reg = <0>;
13984943d6fSEmmanuel Vadot
14084943d6fSEmmanuel Vadot		power-supply = <&reg_vlcd_5p4v>;
14184943d6fSEmmanuel Vadot		vmipi-supply = <&reg_lcd_vmipi>;
14284943d6fSEmmanuel Vadot		reset-gpios = <&tlmm 97 GPIO_ACTIVE_LOW>;
14384943d6fSEmmanuel Vadot
14484943d6fSEmmanuel Vadot		port {
14584943d6fSEmmanuel Vadot			panel_in: endpoint {
14684943d6fSEmmanuel Vadot				remote-endpoint = <&mdss_dsi0_out>;
14784943d6fSEmmanuel Vadot			};
14884943d6fSEmmanuel Vadot		};
14984943d6fSEmmanuel Vadot	};
15084943d6fSEmmanuel Vadot};
15184943d6fSEmmanuel Vadot
15284943d6fSEmmanuel Vadot&mdss_dsi0_out {
15384943d6fSEmmanuel Vadot	data-lanes = <0 1 2 3>;
15484943d6fSEmmanuel Vadot	remote-endpoint = <&panel_in>;
15584943d6fSEmmanuel Vadot};
15684943d6fSEmmanuel Vadot
157*8d13bc63SEmmanuel Vadot&sound {
158*8d13bc63SEmmanuel Vadot	model = "samsung-gt510";
159*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&cdc_pdm_default &sec_mi2s_default>;
160*8d13bc63SEmmanuel Vadot	pinctrl-1 = <&cdc_pdm_sleep &sec_mi2s_sleep>;
161*8d13bc63SEmmanuel Vadot	pinctrl-names = "default", "sleep";
162*8d13bc63SEmmanuel Vadot};
163*8d13bc63SEmmanuel Vadot
164f126890aSEmmanuel Vadot&tlmm {
165*8d13bc63SEmmanuel Vadot	audio_sdmode_default: audio-sdmode-default-state {
166*8d13bc63SEmmanuel Vadot		pins = "gpio55";
167*8d13bc63SEmmanuel Vadot		function = "gpio";
168*8d13bc63SEmmanuel Vadot		drive-strength = <2>;
169*8d13bc63SEmmanuel Vadot		bias-disable;
170*8d13bc63SEmmanuel Vadot	};
171*8d13bc63SEmmanuel Vadot
17284943d6fSEmmanuel Vadot	buckbooster_en_default: buckbooster-en-default-state {
17384943d6fSEmmanuel Vadot		pins = "gpio51";
17484943d6fSEmmanuel Vadot		function = "gpio";
17584943d6fSEmmanuel Vadot		drive-strength = <2>;
17684943d6fSEmmanuel Vadot		bias-disable;
17784943d6fSEmmanuel Vadot	};
17884943d6fSEmmanuel Vadot
179cb7aa33aSEmmanuel Vadot	motor_en_default: motor-en-default-state {
180cb7aa33aSEmmanuel Vadot		pins = "gpio76";
181cb7aa33aSEmmanuel Vadot		function = "gpio";
182cb7aa33aSEmmanuel Vadot		drive-strength = <2>;
183cb7aa33aSEmmanuel Vadot		bias-disable;
184cb7aa33aSEmmanuel Vadot	};
185cb7aa33aSEmmanuel Vadot
186cb7aa33aSEmmanuel Vadot	motor_pwm_default: motor-pwm-default-state {
187cb7aa33aSEmmanuel Vadot		pins = "gpio50";
188cb7aa33aSEmmanuel Vadot		function = "gcc_gp2_clk_a";
189cb7aa33aSEmmanuel Vadot	};
190cb7aa33aSEmmanuel Vadot
19184943d6fSEmmanuel Vadot	lcd_en_default: lcd-en-default-state {
19284943d6fSEmmanuel Vadot		pins = "gpio8";
19384943d6fSEmmanuel Vadot		function = "gpio";
19484943d6fSEmmanuel Vadot		drive-strength = <2>;
19584943d6fSEmmanuel Vadot		bias-disable;
19684943d6fSEmmanuel Vadot	};
19784943d6fSEmmanuel Vadot
19884943d6fSEmmanuel Vadot	mdss_default: mdss-default-state {
19984943d6fSEmmanuel Vadot		pins = "gpio97";
20084943d6fSEmmanuel Vadot		function = "gpio";
20184943d6fSEmmanuel Vadot		drive-strength = <8>;
20284943d6fSEmmanuel Vadot		bias-disable;
20384943d6fSEmmanuel Vadot	};
20484943d6fSEmmanuel Vadot
20584943d6fSEmmanuel Vadot	mdss_sleep: mdss-sleep-state {
20684943d6fSEmmanuel Vadot		pins = "gpio97";
20784943d6fSEmmanuel Vadot		function = "gpio";
20884943d6fSEmmanuel Vadot		drive-strength = <2>;
20984943d6fSEmmanuel Vadot		bias-pull-down;
21084943d6fSEmmanuel Vadot	};
21184943d6fSEmmanuel Vadot
212cb7aa33aSEmmanuel Vadot	tsp_en_default: tsp-en-default-state {
213cb7aa33aSEmmanuel Vadot		pins = "gpio73";
214cb7aa33aSEmmanuel Vadot		function = "gpio";
215cb7aa33aSEmmanuel Vadot		drive-strength = <2>;
216cb7aa33aSEmmanuel Vadot		bias-disable;
217cb7aa33aSEmmanuel Vadot	};
218cb7aa33aSEmmanuel Vadot
219cb7aa33aSEmmanuel Vadot	tsp_int_rst_default: tsp-int-rst-default-state {
220cb7aa33aSEmmanuel Vadot		pins = "gpio13", "gpio114";
221cb7aa33aSEmmanuel Vadot		function = "gpio";
222cb7aa33aSEmmanuel Vadot		drive-strength = <2>;
223cb7aa33aSEmmanuel Vadot		bias-disable;
224cb7aa33aSEmmanuel Vadot	};
225cb7aa33aSEmmanuel Vadot};
226