1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (c) 2015, The Linux Foundation. All rights reserved.
4 * Copyright (c) 2022-2023, Bryan O'Donoghue.
5 *
6 */
7
8/dts-v1/;
9
10#include "msm8939.dtsi"
11#include "msm8939-pm8916.dtsi"
12#include <dt-bindings/arm/qcom,ids.h>
13#include <dt-bindings/gpio/gpio.h>
14#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
15
16/ {
17	model = "Sony Xperia M4 Aqua";
18	compatible = "sony,kanuti-tulip", "qcom,msm8939";
19
20	qcom,board-id = <QCOM_BOARD_ID_MTP 0>;
21	qcom,msm-id = <QCOM_ID_MSM8939 0>, <QCOM_ID_MSM8939 0x30000>;
22
23	aliases {
24		mmc0 = &sdhc_1; /* SDC1 eMMC slot */
25		mmc1 = &sdhc_2; /* SDC2 SD card slot */
26		serial0 = &blsp_uart2;
27	};
28
29	chosen {
30		stdout-path = "serial0:115200n8";
31	};
32
33	usb_id: usb-id {
34		compatible = "linux,extcon-usb-gpio";
35		id-gpio = <&tlmm 110 GPIO_ACTIVE_HIGH>;
36		pinctrl-0 = <&usb_id_default>;
37		pinctrl-names = "default";
38	};
39};
40
41&mdss {
42	status = "okay";
43};
44
45&tlmm {
46	usb_id_default: usb-id-default-state {
47		pins = "gpio110";
48		function = "gpio";
49		bias-pull-up;
50		drive-strength = <8>;
51	};
52};
53
54&smd_rpm_regulators {
55	vdd_l1_l2_l3-supply = <&pm8916_s3>;
56	vdd_l4_l5_l6-supply = <&pm8916_s4>;
57	vdd_l7-supply = <&pm8916_s4>;
58
59	pm8916_s3: s3 {
60		regulator-min-microvolt = <1200000>;
61		regulator-max-microvolt = <1300000>;
62	};
63
64	pm8916_s4: s4 {
65		regulator-min-microvolt = <1800000>;
66		regulator-max-microvolt = <2100000>;
67	};
68
69	pm8916_l2: l2 {
70		regulator-min-microvolt = <1200000>;
71		regulator-max-microvolt = <1200000>;
72	};
73
74	pm8916_l4: l4 {
75		regulator-min-microvolt = <2050000>;
76		regulator-max-microvolt = <2050000>;
77	};
78
79	pm8916_l5: l5 {
80		regulator-min-microvolt = <1800000>;
81		regulator-max-microvolt = <1800000>;
82	};
83
84	pm8916_l6: l6 {
85		regulator-min-microvolt = <1800000>;
86		regulator-max-microvolt = <1800000>;
87		regulator-always-on;
88	};
89
90	pm8916_l7: l7 {
91		regulator-min-microvolt = <1800000>;
92		regulator-max-microvolt = <1800000>;
93	};
94
95	pm8916_l8: l8 {
96		regulator-min-microvolt = <2850000>;
97		regulator-max-microvolt = <2900000>;
98	};
99
100	pm8916_l9: l9 {
101		regulator-min-microvolt = <3300000>;
102		regulator-max-microvolt = <3300000>;
103	};
104
105	pm8916_l10: l10 {
106		regulator-min-microvolt = <3300000>;
107		regulator-max-microvolt = <3300000>;
108	};
109
110	pm8916_l11: l11 {
111		regulator-min-microvolt = <1800000>;
112		regulator-max-microvolt = <3300000>;
113		regulator-system-load = <200000>;
114		regulator-allow-set-load;
115	};
116
117	pm8916_l12: l12 {
118		regulator-min-microvolt = <1800000>;
119		regulator-max-microvolt = <3300000>;
120	};
121
122	pm8916_l13: l13 {
123		regulator-min-microvolt = <3075000>;
124		regulator-max-microvolt = <3075000>;
125	};
126
127	pm8916_l14: l14 {
128		regulator-min-microvolt = <1800000>;
129		regulator-max-microvolt = <3300000>;
130	};
131
132	pm8916_l15: l15 {
133		regulator-min-microvolt = <1800000>;
134		regulator-max-microvolt = <3300000>;
135	};
136
137	pm8916_l16: l16 {
138		regulator-min-microvolt = <1800000>;
139		regulator-max-microvolt = <3300000>;
140	};
141
142	pm8916_l17: l17 {
143		regulator-min-microvolt = <2850000>;
144		regulator-max-microvolt = <2850000>;
145	};
146
147	pm8916_l18: l18 {
148		regulator-min-microvolt = <2700000>;
149		regulator-max-microvolt = <2700000>;
150	};
151};
152
153&sdhc_1 {
154	pinctrl-0 = <&sdc1_default_state>;
155	pinctrl-1 = <&sdc1_sleep_state>;
156	pinctrl-names = "default", "sleep";
157	status = "okay";
158};
159
160&sdhc_2 {
161	pinctrl-0 = <&sdc2_default_state>;
162	pinctrl-1 = <&sdc2_sleep_state>;
163	pinctrl-names = "default", "sleep";
164	cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
165	status = "okay";
166};
167
168&usb {
169	extcon = <&usb_id>, <&usb_id>;
170	status = "okay";
171};
172
173&usb_hs_phy {
174	extcon = <&usb_id>;
175};
176
177&wcnss {
178	status = "okay";
179};
180
181&wcnss_iris {
182	compatible = "qcom,wcn3660";
183};
184