xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/sm8250-samsung-common.dtsi (revision 96fb1ebd28756790597f73ad25306f58f558be97)
1// SPDX-License-Identifier: GPL-2.0-only
2
3/dts-v1/;
4
5#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
6#include "sm8250.dtsi"
7#include "pm8150.dtsi"
8
9/ {
10	chosen {
11		#address-cells = <2>;
12		#size-cells = <2>;
13		ranges;
14
15		framebuffer: framebuffer@9c000000 {
16			compatible = "simple-framebuffer";
17			reg = <0x0 0x9c000000 0x0 0x2300000>;
18			width = <1080>;
19			height = <2400>;
20			stride = <(1080 * 4)>;
21			format = "a8r8g8b8";
22		};
23	};
24
25	gpio_keys: gpio-keys {
26		compatible = "gpio-keys";
27
28		pinctrl-names = "default";
29		pinctrl-0 = <&vol_up_n>;
30
31		key-vol-up {
32			label = "Volume Up";
33			gpios = <&pm8150_gpios 3 GPIO_ACTIVE_LOW>;
34			linux,code = <KEY_VOLUMEUP>;
35			debounce-interval = <15>;
36			linux,can-disable;
37			wakeup-source;
38		};
39	};
40
41	reserved-memory {
42		cont_splash_mem: memory@9c000000 {
43			reg = <0x0 0x9c000000 0x0 0x2300000>;
44			no-map;
45		};
46
47		ramoops@9fa00000 {
48			compatible = "ramoops";
49			reg = <0x0 0x9fa00000 0x0 0x100000>;
50			record-size = <0x4000>;
51			console-size = <0x40000>;
52			ftrace-size = <0x40000>;
53			pmsg-size = <0x40000>;
54			no-map;
55		};
56	};
57
58	vph_pwr: vph-pwr-regulator {
59		compatible = "regulator-fixed";
60		regulator-name = "vph_pwr";
61		regulator-min-microvolt = <3700000>;
62		regulator-max-microvolt = <3700000>;
63	};
64};
65
66&apps_rsc {
67	regulators-0 {
68		compatible = "qcom,pm8150-rpmh-regulators";
69		qcom,pmic-id = "a";
70
71		vdd-s1-supply = <&vph_pwr>;
72		vdd-s2-supply = <&vph_pwr>;
73		vdd-s3-supply = <&vph_pwr>;
74		vdd-s4-supply = <&vph_pwr>;
75		vdd-s5-supply = <&vph_pwr>;
76		vdd-s6-supply = <&vph_pwr>;
77		vdd-s7-supply = <&vph_pwr>;
78		vdd-s8-supply = <&vph_pwr>;
79		vdd-s9-supply = <&vph_pwr>;
80		vdd-s10-supply = <&vph_pwr>;
81
82		vreg_s4a_1p8: smps4 {
83			regulator-name = "vreg_s4a_1p8";
84			regulator-min-microvolt = <1800000>;
85			regulator-max-microvolt = <1920000>;
86			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
87			regulator-allow-set-load;
88			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
89						   RPMH_REGULATOR_MODE_HPM>;
90		};
91
92		vreg_l2a_3p1: ldo2 {
93			regulator-name = "vreg_l2a_3p1";
94			regulator-min-microvolt = <3072000>;
95			regulator-max-microvolt = <3072000>;
96			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
97		};
98
99		vreg_l5a_0p88: ldo5 {
100			regulator-name = "vreg_l5a_0p88";
101			regulator-min-microvolt = <880000>;
102			regulator-max-microvolt = <880000>;
103			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
104		};
105
106		vreg_l6a_1p2: ldo6 {
107			regulator-name = "vreg_l6a_1p2";
108			regulator-min-microvolt = <1200000>;
109			regulator-max-microvolt = <1200000>;
110			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
111			regulator-allow-set-load;
112			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
113						   RPMH_REGULATOR_MODE_HPM>;
114		};
115
116		vreg_l9a_1p2: ldo9 {
117			regulator-name = "vreg_l9a_1p2";
118			regulator-min-microvolt = <1200000>;
119			regulator-max-microvolt = <1200000>;
120			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
121		};
122
123		vreg_l12a_1p8: ldo12 {
124			regulator-name = "vreg_l12a_1p8";
125			regulator-min-microvolt = <1800000>;
126			regulator-max-microvolt = <1800000>;
127			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
128		};
129
130		vreg_l17a_3p0: ldo17 {
131			regulator-name = "vreg_l17a_3p0";
132			regulator-min-microvolt = <2496000>;
133			regulator-max-microvolt = <3008000>;
134			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
135			regulator-allow-set-load;
136			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
137						   RPMH_REGULATOR_MODE_HPM>;
138		};
139	};
140};
141
142&pm8150_gpios {
143	vol_up_n: vol-up-n-state {
144		pins = "gpio3";
145		function = "normal";
146		power-source = <0>;
147		input-enable;
148		bias-pull-up;
149	};
150};
151
152&pon_pwrkey {
153	status = "okay";
154};
155
156&pon_resin {
157	linux,code = <KEY_VOLUMEDOWN>;
158	status = "okay";
159};
160
161&tlmm {
162	gpio-reserved-ranges = <20 4>, /* SPI (fingerprint scanner) */
163			       <40 4>; /* Unused */
164};
165
166&usb_1 {
167	/* Limit to USB 2.0 for now */
168	qcom,select-utmi-as-pipe-clk;
169
170	status = "okay";
171};
172
173&usb_1_dwc3 {
174	dr_mode = "peripheral";
175	maximum-speed = "high-speed";
176	/* Remove USB3 phy */
177	phys = <&usb_1_hsphy>;
178	phy-names = "usb2-phy";
179};
180
181&usb_1_hsphy {
182	vdda-pll-supply = <&vreg_l5a_0p88>;
183	vdda18-supply = <&vreg_l12a_1p8>;
184	vdda33-supply = <&vreg_l2a_3p1>;
185
186	status = "okay";
187};
188
189&ufs_mem_hc {
190	vcc-supply = <&vreg_l17a_3p0>;
191	vcc-max-microamp = <800000>;
192	vccq-supply = <&vreg_l6a_1p2>;
193	vccq-max-microamp = <800000>;
194	vccq2-supply = <&vreg_s4a_1p8>;
195	vccq2-max-microamp = <800000>;
196
197	status = "okay";
198};
199
200&ufs_mem_phy {
201	vdda-phy-supply = <&vreg_l5a_0p88>;
202	vdda-pll-supply = <&vreg_l9a_1p2>;
203
204	status = "okay";
205};
206