1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2021, The Linux Foundation. All rights reserved.
4 * Copyright (c) 2022, Linaro Limited
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
12 #include "sc8280xp.dtsi"
13 #include "sc8280xp-pmics.dtsi"
16 model = "Lenovo ThinkPad X13s";
17 compatible = "lenovo,thinkpad-x13s", "qcom,sc8280xp";
20 compatible = "pwm-backlight";
21 pwms = <&pmc8280c_lpg 3 1000000>;
22 enable-gpios = <&pmc8280_1_gpios 8 GPIO_ACTIVE_HIGH>;
23 power-supply = <&vreg_edp_bl>;
25 pinctrl-names = "default";
26 pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
29 vreg_edp_bl: regulator-edp-bl {
30 compatible = "regulator-fixed";
32 regulator-name = "VBL9";
33 regulator-min-microvolt = <3600000>;
34 regulator-max-microvolt = <3600000>;
36 gpio = <&pmc8280_1_gpios 9 GPIO_ACTIVE_HIGH>;
39 pinctrl-names = "default";
40 pinctrl-0 = <&edp_bl_reg_en>;
45 vreg_misc_3p3: regulator-misc-3p3 {
46 compatible = "regulator-fixed";
48 regulator-name = "VCC3B";
49 regulator-min-microvolt = <3300000>;
50 regulator-max-microvolt = <3300000>;
52 gpio = <&pmc8280_1_gpios 1 GPIO_ACTIVE_HIGH>;
55 pinctrl-names = "default";
56 pinctrl-0 = <&misc_3p3_reg_en>;
64 pmc8280-1-rpmh-regulators {
65 compatible = "qcom,pm8350-rpmh-regulators";
68 vdd-l3-l5-supply = <&vreg_s11b>;
71 regulator-name = "vreg_s11b";
72 regulator-min-microvolt = <1272000>;
73 regulator-max-microvolt = <1272000>;
74 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
78 regulator-name = "vreg_l3b";
79 regulator-min-microvolt = <1200000>;
80 regulator-max-microvolt = <1200000>;
81 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
86 regulator-name = "vreg_l4b";
87 regulator-min-microvolt = <912000>;
88 regulator-max-microvolt = <912000>;
89 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
93 regulator-name = "vreg_l6b";
94 regulator-min-microvolt = <880000>;
95 regulator-max-microvolt = <880000>;
96 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
98 regulator-always-on; // FIXME: VDD_A_EDP_0_0P9
102 pmc8280c-rpmh-regulators {
103 compatible = "qcom,pm8350c-rpmh-regulators";
107 regulator-name = "vreg_l1c";
108 regulator-min-microvolt = <1800000>;
109 regulator-max-microvolt = <1800000>;
110 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
114 regulator-name = "vreg_l12c";
115 regulator-min-microvolt = <1800000>;
116 regulator-max-microvolt = <1800000>;
117 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
121 regulator-name = "vreg_l13c";
122 regulator-min-microvolt = <3072000>;
123 regulator-max-microvolt = <3072000>;
124 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
128 pmc8280-2-rpmh-regulators {
129 compatible = "qcom,pm8350-rpmh-regulators";
132 vdd-l1-l4-supply = <&vreg_s11b>;
135 regulator-name = "vreg_l3d";
136 regulator-min-microvolt = <1200000>;
137 regulator-max-microvolt = <1200000>;
138 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
142 regulator-name = "vreg_l4d";
143 regulator-min-microvolt = <1200000>;
144 regulator-max-microvolt = <1200000>;
145 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
149 regulator-name = "vreg_l7d";
150 regulator-min-microvolt = <3072000>;
151 regulator-max-microvolt = <3072000>;
152 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
156 regulator-name = "vreg_l9d";
157 regulator-min-microvolt = <912000>;
158 regulator-max-microvolt = <912000>;
159 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
168 &pmk8280_pon_pwrkey {
177 clock-frequency = <400000>;
179 pinctrl-names = "default";
180 pinctrl-0 = <&qup0_i2c4_default>;
186 compatible = "hid-over-i2c";
189 hid-descr-addr = <0x1>;
190 interrupts-extended = <&tlmm 175 IRQ_TYPE_LEVEL_LOW>;
191 vdd-supply = <&vreg_misc_3p3>;
193 pinctrl-names = "default";
194 pinctrl-0 = <&ts0_default>;
207 clock-frequency = <400000>;
209 pinctrl-names = "default";
210 pinctrl-0 = <&qup2_i2c5_default>;
215 compatible = "hid-over-i2c";
218 hid-descr-addr = <0x1>;
219 interrupts-extended = <&tlmm 182 IRQ_TYPE_LEVEL_LOW>;
220 vdd-supply = <&vreg_misc_3p3>;
222 pinctrl-names = "default";
223 pinctrl-0 = <&tpad_default>;
231 compatible = "hid-over-i2c";
234 hid-descr-addr = <0x20>;
235 interrupts-extended = <&tlmm 182 IRQ_TYPE_LEVEL_LOW>;
236 vdd-supply = <&vreg_misc_3p3>;
238 pinctrl-names = "default";
239 pinctrl-0 = <&tpad_default>;
245 compatible = "hid-over-i2c";
248 hid-descr-addr = <0x1>;
249 interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>;
250 vdd-supply = <&vreg_misc_3p3>;
252 pinctrl-names = "default";
253 pinctrl-0 = <&kybd_default>;
260 firmware-name = "/*(DEBLOBBED)*/";
266 firmware-name = "/*(DEBLOBBED)*/";
276 /* TODO: Define USB-C connector properly */
281 vdda-pll-supply = <&vreg_l9d>;
282 vdda18-supply = <&vreg_l1c>;
283 vdda33-supply = <&vreg_l7d>;
289 vdda-phy-supply = <&vreg_l9d>;
290 vdda-pll-supply = <&vreg_l4d>;
300 /* TODO: Define USB-C connector properly */
305 vdda-pll-supply = <&vreg_l4b>;
306 vdda18-supply = <&vreg_l1c>;
307 vdda33-supply = <&vreg_l13c>;
313 vdda-phy-supply = <&vreg_l4b>;
314 vdda-pll-supply = <&vreg_l3b>;
320 clock-frequency = <38400000>;
326 edp_bl_en: edp-bl-en-state {
331 edp_bl_reg_en: edp-bl-reg-en-state {
336 misc_3p3_reg_en: misc-3p3-reg-en-state {
343 edp_bl_pwm: edp-bl-pwm-state {
350 gpio-reserved-ranges = <70 2>, <74 6>, <125 2>, <128 2>, <154 4>;
352 kybd_default: kybd-default-state {
372 qup0_i2c4_default: qup0-i2c4-default-state {
373 pins = "gpio171", "gpio172";
376 drive-strength = <16>;
379 qup2_i2c5_default: qup2-i2c5-default-state {
380 pins = "gpio81", "gpio82";
383 drive-strength = <16>;
386 tpad_default: tpad-default-state {
394 ts0_default: ts0-default-state {
405 drive-strength = <16>;