xref: /freebsd/sys/contrib/device-tree/src/arm/qcom/qcom-msm8660-surf.dts (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
3f126890aSEmmanuel Vadot
4f126890aSEmmanuel Vadot#include "qcom-msm8660.dtsi"
5*8d13bc63SEmmanuel Vadot#include "pm8058.dtsi"
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadot/ {
8f126890aSEmmanuel Vadot	model = "Qualcomm MSM8660 SURF";
9f126890aSEmmanuel Vadot	compatible = "qcom,msm8660-surf", "qcom,msm8660";
10f126890aSEmmanuel Vadot
11f126890aSEmmanuel Vadot	aliases {
12f126890aSEmmanuel Vadot		serial0 = &gsbi12_serial;
13f126890aSEmmanuel Vadot	};
14f126890aSEmmanuel Vadot
15f126890aSEmmanuel Vadot	chosen {
16f126890aSEmmanuel Vadot		stdout-path = "serial0:115200n8";
17f126890aSEmmanuel Vadot	};
18f126890aSEmmanuel Vadot
19f126890aSEmmanuel Vadot	/* Temporary fixed regulator */
20f126890aSEmmanuel Vadot	vsdcc_fixed: vsdcc-regulator {
21f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
22f126890aSEmmanuel Vadot		regulator-name = "SDCC Power";
23f126890aSEmmanuel Vadot		regulator-min-microvolt = <2700000>;
24f126890aSEmmanuel Vadot		regulator-max-microvolt = <2700000>;
25f126890aSEmmanuel Vadot		regulator-always-on;
26f126890aSEmmanuel Vadot	};
27f126890aSEmmanuel Vadot};
28f126890aSEmmanuel Vadot
29f126890aSEmmanuel Vadot&gsbi12 {
30f126890aSEmmanuel Vadot	qcom,mode = <GSBI_PROT_I2C_UART>;
31f126890aSEmmanuel Vadot	status = "okay";
32f126890aSEmmanuel Vadot};
33f126890aSEmmanuel Vadot
34f126890aSEmmanuel Vadot&gsbi12_serial {
35f126890aSEmmanuel Vadot	status = "okay";
36f126890aSEmmanuel Vadot};
37f126890aSEmmanuel Vadot
38f126890aSEmmanuel Vadot&pm8058 {
39*8d13bc63SEmmanuel Vadot	interrupts-extended = <&tlmm 88 IRQ_TYPE_LEVEL_LOW>;
40*8d13bc63SEmmanuel Vadot};
41*8d13bc63SEmmanuel Vadot
42*8d13bc63SEmmanuel Vadot&pm8058_keypad {
43f126890aSEmmanuel Vadot	linux,keymap = <
44f126890aSEmmanuel Vadot		MATRIX_KEY(0, 0, KEY_FN_F1)
45f126890aSEmmanuel Vadot		MATRIX_KEY(0, 1, KEY_UP)
46f126890aSEmmanuel Vadot		MATRIX_KEY(0, 2, KEY_LEFT)
47f126890aSEmmanuel Vadot		MATRIX_KEY(0, 3, KEY_VOLUMEUP)
48f126890aSEmmanuel Vadot		MATRIX_KEY(1, 0, KEY_FN_F2)
49f126890aSEmmanuel Vadot		MATRIX_KEY(1, 1, KEY_RIGHT)
50f126890aSEmmanuel Vadot		MATRIX_KEY(1, 2, KEY_DOWN)
51f126890aSEmmanuel Vadot		MATRIX_KEY(1, 3, KEY_VOLUMEDOWN)
52f126890aSEmmanuel Vadot		MATRIX_KEY(2, 3, KEY_ENTER)
53f126890aSEmmanuel Vadot		MATRIX_KEY(4, 0, KEY_CAMERA_FOCUS)
54f126890aSEmmanuel Vadot		MATRIX_KEY(4, 1, KEY_UP)
55f126890aSEmmanuel Vadot		MATRIX_KEY(4, 2, KEY_LEFT)
56f126890aSEmmanuel Vadot		MATRIX_KEY(4, 3, KEY_HOME)
57f126890aSEmmanuel Vadot		MATRIX_KEY(4, 4, KEY_FN_F3)
58f126890aSEmmanuel Vadot		MATRIX_KEY(5, 0, KEY_CAMERA)
59f126890aSEmmanuel Vadot		MATRIX_KEY(5, 1, KEY_RIGHT)
60f126890aSEmmanuel Vadot		MATRIX_KEY(5, 2, KEY_DOWN)
61f126890aSEmmanuel Vadot		MATRIX_KEY(5, 3, KEY_BACK)
62f126890aSEmmanuel Vadot		MATRIX_KEY(5, 4, KEY_MENU)
63f126890aSEmmanuel Vadot		>;
64f126890aSEmmanuel Vadot	keypad,num-rows = <6>;
65f126890aSEmmanuel Vadot	keypad,num-columns = <5>;
66f126890aSEmmanuel Vadot};
67*8d13bc63SEmmanuel Vadot
68*8d13bc63SEmmanuel Vadot&rpm {
69*8d13bc63SEmmanuel Vadot	regulators-0 {
70*8d13bc63SEmmanuel Vadot		compatible = "qcom,rpm-pm8901-regulators";
71*8d13bc63SEmmanuel Vadot	};
72*8d13bc63SEmmanuel Vadot
73*8d13bc63SEmmanuel Vadot	regulators-1 {
74*8d13bc63SEmmanuel Vadot		compatible = "qcom,rpm-pm8058-regulators";
75*8d13bc63SEmmanuel Vadot	};
76f126890aSEmmanuel Vadot};
77f126890aSEmmanuel Vadot
78f126890aSEmmanuel Vadot/* eMMC */
79f126890aSEmmanuel Vadot&sdcc1 {
80f126890aSEmmanuel Vadot	vmmc-supply = <&vsdcc_fixed>;
81f126890aSEmmanuel Vadot	status = "okay";
82f126890aSEmmanuel Vadot};
83f126890aSEmmanuel Vadot
84f126890aSEmmanuel Vadot/* External micro SD card */
85f126890aSEmmanuel Vadot&sdcc3 {
86f126890aSEmmanuel Vadot	vmmc-supply = <&vsdcc_fixed>;
87f126890aSEmmanuel Vadot	status = "okay";
88f126890aSEmmanuel Vadot};
89