]> www.infradead.org Git - linux.git/commitdiff
arm64: dts: qcom: sm7225-fairphone-fp4: Configure PM8008 regulators
authorLuca Weiss <luca.weiss@fairphone.com>
Fri, 21 Jun 2024 08:42:30 +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 FP4. 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-1-dbedcd6f00f1@fairphone.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts

index 6d7ab931e56be05cf3cb00726ba7065f9bbaf5ee..a74f3ac09a5e15998a8fcfce3660fdd5f8b10ec7 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";
+                               };
+                       };
+               };
        };
 };
 
 };
 
 &i2c10 {
-       /* PM8008 PMIC @ 8 and 9 */
+       clock-frequency = <400000>;
+       status = "okay";
+
+       pm8008: pmic@8 {
+               compatible = "qcom,pm8008";
+               reg = <0x8>;
+
+               interrupts-extended = <&tlmm 59 IRQ_TYPE_EDGE_RISING>;
+               reset-gpios = <&tlmm 58 GPIO_ACTIVE_LOW>;
+
+               vdd-l1-l2-supply = <&vreg_s8e>;
+               vdd-l3-l4-supply = <&vreg_bob>;
+               vdd-l5-supply = <&vreg_bob>;
+               vdd-l6-supply = <&vreg_s2a>;
+               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_l1p: ldo1 {
+                               regulator-name = "vreg_l1p";
+                               regulator-min-microvolt = <528000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+
+                       vreg_l2p: ldo2 {
+                               regulator-name = "vreg_l2p";
+                               regulator-min-microvolt = <528000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+
+                       vreg_l3p: ldo3 {
+                               regulator-name = "vreg_l3p";
+                               regulator-min-microvolt = <1500000>;
+                               regulator-max-microvolt = <2800000>;
+                       };
+
+                       vreg_l4p: ldo4 {
+                               regulator-name = "vreg_l4p";
+                               regulator-min-microvolt = <1500000>;
+                               regulator-max-microvolt = <2904000>;
+                       };
+
+                       vreg_l5p: ldo5 {
+                               regulator-name = "vreg_l5p";
+                               regulator-min-microvolt = <1500000>;
+                               regulator-max-microvolt = <2900000>;
+                       };
+
+                       vreg_l6p: ldo6 {
+                               regulator-name = "vreg_l6p";
+                               regulator-min-microvolt = <1500000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       vreg_l7p: ldo7 {
+                               regulator-name = "vreg_l7p";
+                               regulator-min-microvolt = <1500000>;
+                               regulator-max-microvolt = <3140000>;
+                       };
+               };
+       };
+
        /* PX8618 @ 26 */
        /* SMB1395 PMIC @ 34 */
        /* awinic,aw8695 @ 5a */
                 */
                bias-pull-up;
        };
+
+       pm8008_default: pm8008-default-state {
+               int-pins {
+                       pins = "gpio59";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+
+               reset-n-pins {
+                       pins = "gpio58";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
 };
 
 &uart1 {