arm64: dts: qcom: sc8280xp-x13s: enable pm8008 camera pmic
authorJohan Hovold <johan+linaro@kernel.org>
Sat, 8 Jun 2024 15:55:26 +0000 (17:55 +0200)
committerBjorn Andersson <andersson@kernel.org>
Fri, 21 Jun 2024 06:09:04 +0000 (01:09 -0500)
Enable the PM8008 PMIC which is used to power the camera sensors.

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Tested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240608155526.12996-13-johan+linaro@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts

index 19efa49240ec87d01c9b3b490e55b2f0104fcc85..40da95b202da70dce421de7f0ff481974f39e3e3 100644 (file)
        };
 
        thermal-zones {
+               pm8008-thermal {
+                       polling-delay-passive = <100>;
+                       polling-delay = <0>;
+
+                       thermal-sensors = <&pm8008>;
+
+                       trips {
+                               trip0 {
+                                       temperature = <95000>;
+                                       hysteresis = <0>;
+                                       type = "passive";
+                               };
+
+                               trip1 {
+                                       temperature = <115000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
                skin-temp-thermal {
                        polling-delay-passive = <250>;
 
        };
 };
 
+&i2c11 {
+       clock-frequency = <400000>;
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c11_default>;
+
+       status = "okay";
+
+       pm8008: pmic@c {
+               compatible = "qcom,pm8008";
+               reg = <0xc>;
+
+               interrupts-extended = <&tlmm 41 IRQ_TYPE_EDGE_RISING>;
+               reset-gpios = <&tlmm 42 GPIO_ACTIVE_LOW>;
+
+               vdd-l1-l2-supply = <&vreg_s11b>;
+               vdd-l3-l4-supply = <&vreg_bob>;
+               vdd-l5-supply = <&vreg_bob>;
+               vdd-l6-supply = <&vreg_bob>;
+               vdd-l7-supply = <&vreg_bob>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&pm8008_default>;
+
+               gpio-controller;
+               #gpio-cells = <2>;
+               gpio-ranges = <&pm8008 0 0 2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+
+               #thermal-sensor-cells = <0>;
+
+               regulators {
+                       vreg_l1q: ldo1 {
+                               regulator-name = "vreg_l1q";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+
+                       vreg_l2q: ldo2 {
+                               regulator-name = "vreg_l2q";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+
+                       vreg_l3q: ldo3 {
+                               regulator-name = "vreg_l3q";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                       };
+
+                       vreg_l4q: ldo4 {
+                               regulator-name = "vreg_l4q";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                       };
+
+                       vreg_l5q: ldo5 {
+                               regulator-name = "vreg_l5q";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       vreg_l6q: ldo6 {
+                               regulator-name = "vreg_l6q";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       vreg_l7q: ldo7 {
+                               regulator-name = "vreg_l7q";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                       };
+               };
+       };
+};
+
 &i2c21 {
        clock-frequency = <400000>;
 
                bias-disable;
        };
 
+       i2c11_default: i2c11-default-state {
+               pins = "gpio18", "gpio19";
+               function = "qup11";
+               drive-strength = <16>;
+               bias-disable;
+       };
+
        i2c21_default: i2c21-default-state {
                pins = "gpio81", "gpio82";
                function = "qup21";
                };
        };
 
+       pm8008_default: pm8008-default-state {
+               int-pins {
+                       pins = "gpio41";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+
+               reset-n-pins {
+                       pins = "gpio42";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
+
        spkr_1_sd_n_default: spkr-1-sd-n-default-state {
                perst-n-pins {
                        pins = "gpio178";