]> www.infradead.org Git - linux.git/commitdiff
arm64: dts: qcom: qcm6490-fairphone-fp5: Configure PM8008 regulators
authorLuca Weiss <luca.weiss@fairphone.com>
Fri, 21 Jun 2024 08:42:31 +0000 (10:42 +0200)
committerBjorn Andersson <andersson@kernel.org>
Sun, 23 Jun 2024 20:53:23 +0000 (15:53 -0500)
PM8008 regulators are used for the cameras found on FP5. Configure the
chip and its voltages.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240621-fp4-fp5-pm8008-v1-2-dbedcd6f00f1@fairphone.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts

index c66c7eda6a694463d47490f7745702ae57884e25..8ab30c01712e0b7c0cc1b403e0fe01650315b9e2 100644 (file)
                        };
                };
 
+               pm8008-thermal {
+                       polling-delay-passive = <100>;
+                       thermal-sensors = <&pm8008>;
+
+                       trips {
+                               trip0 {
+                                       temperature = <95000>;
+                                       hysteresis = <0>;
+                                       type = "passive";
+                               };
+
+                               trip1 {
+                                       temperature = <115000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
                quiet-thermal {
                        polling-delay-passive = <0>;
 
 &i2c1 {
        status = "okay";
 
-       /* PM8008 PMIC @ 8 and 9 */
+       pm8008: pmic@8 {
+               compatible = "qcom,pm8008";
+               reg = <0x8>;
+
+               interrupts-extended = <&tlmm 25 IRQ_TYPE_EDGE_RISING>;
+               reset-gpios = <&pm8350c_gpios 3 GPIO_ACTIVE_LOW>;
+
+               vdd-l1-l2-supply = <&vreg_s8b>;
+               vdd-l3-l4-supply = <&vreg_bob>;
+               vdd-l5-supply = <&vreg_bob>;
+               vdd-l6-supply = <&vreg_s1b>;
+               vdd-l7-supply = <&vreg_bob>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&pm8008_int_default>, <&pm8008_reset_n_default>;
+
+               gpio-controller;
+               #gpio-cells = <2>;
+               gpio-ranges = <&pm8008 0 0 2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+
+               #thermal-sensor-cells = <0>;
+
+               regulators {
+                       vreg_l1p: ldo1 {
+                               regulator-name = "vreg_l1p";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+
+                       vreg_l2p: ldo2 {
+                               regulator-name = "vreg_l2p";
+                               regulator-min-microvolt = <950000>;
+                               regulator-max-microvolt = <1152000>;
+                       };
+
+                       vreg_l3p: ldo3 {
+                               regulator-name = "vreg_l3p";
+                               regulator-min-microvolt = <2700000>;
+                               regulator-max-microvolt = <3000000>;
+                       };
+
+                       vreg_l4p: ldo4 {
+                               regulator-name = "vreg_l4p";
+                               regulator-min-microvolt = <2700000>;
+                               regulator-max-microvolt = <2900000>;
+                       };
+
+                       vreg_l5p: ldo5 {
+                               regulator-name = "vreg_l5p";
+                               regulator-min-microvolt = <2704000>;
+                               regulator-max-microvolt = <2900000>;
+                       };
+
+                       vreg_l6p: ldo6 {
+                               regulator-name = "vreg_l6p";
+                               regulator-min-microvolt = <1700000>;
+                               regulator-max-microvolt = <1904000>;
+                       };
+
+                       vreg_l7p: ldo7 {
+                               regulator-name = "vreg_l7p";
+                               regulator-min-microvolt = <2700000>;
+                               regulator-max-microvolt = <3000000>;
+                       };
+               };
+       };
+
        /* Pixelworks @ 26 */
        /* FSA4480 USB audio switch @ 42 */
        /* AW86927FCR haptics @ 5a */
        };
 };
 
+&pm8350c_gpios {
+       pm8008_reset_n_default: pm8008-reset-n-default-state {
+               pins = "gpio3";
+               function = PMIC_GPIO_FUNC_NORMAL;
+               bias-pull-down;
+       };
+};
+
 &pmk8350_rtc {
        status = "okay";
 };
                bias-pull-up;
        };
 
+       pm8008_int_default: pm8008-int-default-state {
+               pins = "gpio25";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
        qup_uart7_sleep_cts: qup-uart7-sleep-cts-state {
                pins = "gpio28";
                function = "gpio";