1*7cc40615SJasper Korten// SPDX-License-Identifier: GPL-2.0-only
2*7cc40615SJasper Korten
3*7cc40615SJasper Korten/dts-v1/;
4*7cc40615SJasper Korten
5*7cc40615SJasper Korten#include "msm8916-samsung-gt5-common.dtsi"
6*7cc40615SJasper Korten
7*7cc40615SJasper Korten/ {
8*7cc40615SJasper Korten	model = "Samsung Galaxy Tab A 9.7 (2015)";
9*7cc40615SJasper Korten	compatible = "samsung,gt510", "qcom,msm8916";
10*7cc40615SJasper Korten	chassis-type = "tablet";
11*7cc40615SJasper Korten
12*7cc40615SJasper Korten	clk_pwm: pwm {
13*7cc40615SJasper Korten		compatible = "clk-pwm";
14*7cc40615SJasper Korten		#pwm-cells = <2>;
15*7cc40615SJasper Korten
16*7cc40615SJasper Korten		clocks = <&gcc GCC_GP2_CLK>;
17*7cc40615SJasper Korten
18*7cc40615SJasper Korten		pinctrl-0 = <&motor_pwm_default>;
19*7cc40615SJasper Korten		pinctrl-names = "default";
20*7cc40615SJasper Korten	};
21*7cc40615SJasper Korten
22*7cc40615SJasper Korten	reg_motor_vdd: regulator-motor-vdd {
23*7cc40615SJasper Korten		compatible = "regulator-fixed";
24*7cc40615SJasper Korten		regulator-name = "motor_vdd";
25*7cc40615SJasper Korten		regulator-min-microvolt = <3000000>;
26*7cc40615SJasper Korten		regulator-max-microvolt = <3000000>;
27*7cc40615SJasper Korten
28*7cc40615SJasper Korten		gpio = <&msmgpio 76 GPIO_ACTIVE_HIGH>;
29*7cc40615SJasper Korten		enable-active-high;
30*7cc40615SJasper Korten
31*7cc40615SJasper Korten		pinctrl-0 = <&motor_en_default>;
32*7cc40615SJasper Korten		pinctrl-names = "default";
33*7cc40615SJasper Korten	};
34*7cc40615SJasper Korten
35*7cc40615SJasper Korten	reg_tsp_1p8v: regulator-tsp-1p8v {
36*7cc40615SJasper Korten		compatible = "regulator-fixed";
37*7cc40615SJasper Korten		regulator-name = "tsp_1p8v";
38*7cc40615SJasper Korten		regulator-min-microvolt = <1800000>;
39*7cc40615SJasper Korten		regulator-max-microvolt = <1800000>;
40*7cc40615SJasper Korten
41*7cc40615SJasper Korten		gpio = <&msmgpio 73 GPIO_ACTIVE_HIGH>;
42*7cc40615SJasper Korten		enable-active-high;
43*7cc40615SJasper Korten
44*7cc40615SJasper Korten		pinctrl-0 = <&tsp_en_default>;
45*7cc40615SJasper Korten		pinctrl-names = "default";
46*7cc40615SJasper Korten	};
47*7cc40615SJasper Korten
48*7cc40615SJasper Korten	reg_tsp_3p3v: regulator-tsp-3p3v {
49*7cc40615SJasper Korten		compatible = "regulator-fixed";
50*7cc40615SJasper Korten		regulator-name = "tsp_3p3v";
51*7cc40615SJasper Korten		regulator-min-microvolt = <3300000>;
52*7cc40615SJasper Korten		regulator-max-microvolt = <3300000>;
53*7cc40615SJasper Korten
54*7cc40615SJasper Korten		gpio = <&msmgpio 73 GPIO_ACTIVE_HIGH>;
55*7cc40615SJasper Korten		enable-active-high;
56*7cc40615SJasper Korten	};
57*7cc40615SJasper Korten
58*7cc40615SJasper Korten	vibrator {
59*7cc40615SJasper Korten		compatible = "pwm-vibrator";
60*7cc40615SJasper Korten
61*7cc40615SJasper Korten		pwms = <&clk_pwm 0 100000>;
62*7cc40615SJasper Korten		pwm-names = "enable";
63*7cc40615SJasper Korten
64*7cc40615SJasper Korten		vcc-supply = <&reg_motor_vdd>;
65*7cc40615SJasper Korten	};
66*7cc40615SJasper Korten};
67*7cc40615SJasper Korten
68*7cc40615SJasper Korten&blsp_i2c5 {
69*7cc40615SJasper Korten	status = "okay";
70*7cc40615SJasper Korten
71*7cc40615SJasper Korten	touchscreen@4a {
72*7cc40615SJasper Korten		compatible = "atmel,maxtouch";
73*7cc40615SJasper Korten		reg = <0x4a>;
74*7cc40615SJasper Korten		interrupt-parent = <&msmgpio>;
75*7cc40615SJasper Korten		interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
76*7cc40615SJasper Korten
77*7cc40615SJasper Korten		vdd-supply = <&reg_tsp_1p8v>;
78*7cc40615SJasper Korten		vdda-supply = <&reg_tsp_3p3v>;
79*7cc40615SJasper Korten
80*7cc40615SJasper Korten		reset-gpios = <&msmgpio 114 GPIO_ACTIVE_LOW>;
81*7cc40615SJasper Korten
82*7cc40615SJasper Korten		pinctrl-0 = <&tsp_int_rst_default>;
83*7cc40615SJasper Korten		pinctrl-names = "default";
84*7cc40615SJasper Korten	};
85*7cc40615SJasper Korten};
86*7cc40615SJasper Korten
87*7cc40615SJasper Korten&msmgpio {
88*7cc40615SJasper Korten	motor_en_default: motor-en-default-state {
89*7cc40615SJasper Korten		pins = "gpio76";
90*7cc40615SJasper Korten		function = "gpio";
91*7cc40615SJasper Korten		drive-strength = <2>;
92*7cc40615SJasper Korten		bias-disable;
93*7cc40615SJasper Korten	};
94*7cc40615SJasper Korten
95*7cc40615SJasper Korten	motor_pwm_default: motor-pwm-default-state {
96*7cc40615SJasper Korten		pins = "gpio50";
97*7cc40615SJasper Korten		function = "gcc_gp2_clk_a";
98*7cc40615SJasper Korten	};
99*7cc40615SJasper Korten
100*7cc40615SJasper Korten	tsp_en_default: tsp-en-default-state {
101*7cc40615SJasper Korten		pins = "gpio73";
102*7cc40615SJasper Korten		function = "gpio";
103*7cc40615SJasper Korten		drive-strength = <2>;
104*7cc40615SJasper Korten		bias-disable;
105*7cc40615SJasper Korten	};
106*7cc40615SJasper Korten
107*7cc40615SJasper Korten	tsp_int_rst_default: tsp-int-rst-default-state {
108*7cc40615SJasper Korten		pins = "gpio13", "gpio114";
109*7cc40615SJasper Korten		function = "gpio";
110*7cc40615SJasper Korten		drive-strength = <2>;
111*7cc40615SJasper Korten		bias-disable;
112*7cc40615SJasper Korten	};
113*7cc40615SJasper Korten};
114