PM8008 regulators are used for the cameras found on FP4. Configure the
chip and its voltages.

Signed-off-by: Luca Weiss <luca.we...@fairphone.com>
---
 arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts | 109 +++++++++++++++++++++-
 1 file changed, 108 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts 
b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
index 6d7ab931e56b..a74f3ac09a5e 100644
--- a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
+++ b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
@@ -117,6 +117,25 @@ active-config0 {
                                };
                        };
                };
+
+               pm8008-thermal {
+                       polling-delay-passive = <100>;
+                       thermal-sensors = <&pm8008>;
+
+                       trips {
+                               trip0 {
+                                       temperature = <95000>;
+                                       hysteresis = <0>;
+                                       type = "passive";
+                               };
+
+                               trip1 {
+                                       temperature = <115000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
        };
 };
 
@@ -404,7 +423,79 @@ &i2c8 {
 };
 
 &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 */
@@ -717,6 +808,22 @@ qup_uart1_sleep_tx: qup-uart1-sleep-tx-state {
                 */
                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 {

-- 
2.45.2


Reply via email to