summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/qcom/msm8916-samsung-grandmax.dts
blob: 5ddb69bf8e78a98a5a057c8a655c5b57f8e7bf00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// SPDX-License-Identifier: GPL-2.0-only

/dts-v1/;

#include "msm8916-samsung-e2015-common.dtsi"
#include <dt-bindings/leds/common.h>

/*
 * NOTE: The original firmware from Samsung can only boot ARM32 kernels on some
 * variants.
 * Unfortunately, the firmware is signed and cannot be replaced easily.
 * There seems to be no way to boot ARM64 kernels on 32-bit devices at the
 * moment, even though the hardware would support it.
 *
 * However, it is possible to use this device tree by compiling an ARM32 kernel
 * instead. For clarity and build testing this device tree is maintained next
 * to the other MSM8916 device trees. However, it is actually used through
 * arch/arm/boot/dts/qcom-msm8916-samsung-grandmax.dts
 */

/ {
	model = "Samsung Galaxy Grand Max";
	compatible = "samsung,grandmax", "qcom,msm8916";
	chassis-type = "handset";

	/delete-node/ gpio-hall-sensor;
	/delete-node/ i2c-nfc;
	/delete-node/ i2c-tkey;

	gpio-leds {
		compatible = "gpio-leds";
		led-keyled {
			function = LED_FUNCTION_KBD_BACKLIGHT;
			color = <LED_COLOR_ID_WHITE>;

			gpios = <&tlmm 60 GPIO_ACTIVE_HIGH>;

			pinctrl-names = "default";
			pinctrl-0 = <&gpio_leds_default>;
		};
	};
};

&battery {
	charge-term-current-microamp = <150000>;
	constant-charge-current-max-microamp = <1000000>;
	constant-charge-voltage-max-microvolt = <4400000>;
};

&blsp_i2c5 {
	status = "okay";

	touchscreen@50 {
		compatible = "imagis,ist3038";
		reg = <0x50>;

		interrupts-extended = <&tlmm 13 IRQ_TYPE_EDGE_FALLING>;

		touchscreen-size-x = <720>;
		touchscreen-size-y = <1280>;

		vdd-supply = <&reg_vdd_tsp_a>;
		vddio-supply = <&pm8916_l6>;

		pinctrl-0 = <&ts_int_default>;
		pinctrl-names = "default";

		linux,keycodes = <KEY_APPSELECT KEY_BACK>;
	};
};

&reg_motor_vdd {
	gpio = <&tlmm 72 GPIO_ACTIVE_HIGH>;
};

&reg_touch_key {
	status = "disabled"; /* Using Imagis touch key */
};

&sound {
	model = "samsung-gmax"; /* No secondary microphone */
};

&tlmm {
	gpio_leds_default: gpio-led-default-state {
		pins = "gpio60";
		function = "gpio";

		drive-strength = <2>;
		bias-disable;
	};
};

&motor_en_default {
	pins = "gpio72";
};