arm64: dts: qcom: sc7180: Add board regulators for MIPI camera trogdor boards
authorStephen Boyd <swboyd@chromium.org>
Thu, 16 Dec 2021 04:45:29 +0000 (20:45 -0800)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 31 Jan 2022 16:49:52 +0000 (10:49 -0600)
Some trogdor boards have on-board regulators for the MIPI camera
components. Add nodes describing these regulators so boards with these
supplies can consume them.

Cc: Douglas Anderson <dianders@chromium.org>
Cc: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20211216044529.733652-1-swboyd@chromium.org
arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi

index 14ed09f..c81805e 100644 (file)
@@ -142,6 +142,22 @@ ap_ts_pen_1v8: &i2c4 {
        };
 };
 
+&pp1800_uf_cam {
+       status = "okay";
+};
+
+&pp1800_wf_cam {
+       status = "okay";
+};
+
+&pp2800_uf_cam {
+       status = "okay";
+};
+
+&pp2800_wf_cam {
+       status = "okay";
+};
+
 &pp3300_dx_edp {
        gpio = <&tlmm 67 GPIO_ACTIVE_HIGH>;
 };
index f32369a..bff2b55 100644 (file)
@@ -146,6 +146,22 @@ ap_ts_pen_1v8: &i2c4 {
        };
 };
 
+&pp1800_uf_cam {
+       status = "okay";
+};
+
+&pp1800_wf_cam {
+       status = "okay";
+};
+
+&pp2800_uf_cam {
+       status = "okay";
+};
+
+&pp2800_wf_cam {
+       status = "okay";
+};
+
 &pp3300_dx_edp {
        gpio = <&tlmm 67 GPIO_ACTIVE_HIGH>;
 };
index bd5909f..7d8bf66 100644 (file)
                vin-supply = <&ppvar_sys>;
        };
 
+       pp1800_ec:
+       pp1800_sensors:
+       pp1800_ldo: pp1800-ldo-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "pp1800_ldo";
+
+               /* EC turns on with hibernate_l; always on for AP */
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+
+               /*
+                * Actually should be pp1800_h1 but we don't have any need to
+                * model that so we use the parent of pp1800_h1.
+                */
+               vin-supply = <&pp3300_a>;
+       };
+
+       pp1800_uf_cam: pp1800-uf-cam-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "pp1800_uf_cam";
+               status = "disabled";
+
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+
+               gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               pinctrl-names = "default";
+               pinctrl-0 = <&uf_cam_en>;
+
+               vin-supply = <&pp1800_ldo>;
+               regulator-enable-ramp-delay = <1000>;
+       };
+
+       pp1800_wf_cam: pp1800-wf-cam-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "pp1800_wf_cam";
+               status = "disabled";
+
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+
+               gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               pinctrl-names = "default";
+               pinctrl-0 = <&wf_cam_en>;
+
+               vin-supply = <&pp1800_ldo>;
+               regulator-enable-ramp-delay = <1000>;
+       };
+
+       pp2800_uf_cam: pp2800-uf-cam-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "pp2800_uf_cam";
+               status = "disabled";
+
+               regulator-min-microvolt = <2850000>;
+               regulator-max-microvolt = <2850000>;
+
+               gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               /*
+                * The pinconf can only be referenced once so we put it on the
+                * first regulator and comment it out here.
+                * pinctrl-names = "default";
+                * pinctrl-0 = <&uf_cam_en>;
+                */
+
+               vin-supply = <&pp3300_a>;
+       };
+
+       pp2800_vcm_wf_cam:
+       pp2800_wf_cam: pp2800-wf-cam-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "pp2800_wf_cam";
+               status = "disabled";
+
+               regulator-min-microvolt = <2850000>;
+               regulator-max-microvolt = <2850000>;
+
+               gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               /*
+                * The pinconf can only be referenced once so we put it on the
+                * first regulator and comment it out here.
+                * pinctrl-names = "default";
+                * pinctrl-0 = <&wf_cam_en>;
+                */
+
+               vin-supply = <&pp3300_a>;
+       };
+
        pp3300_audio:
        pp3300_codec: pp3300-codec-regulator {
                compatible = "regulator-fixed";
@@ -1521,4 +1615,32 @@ ap_spi_fp: &spi10 {
                        drive-strength = <2>;
                };
        };
+
+       uf_cam_en: uf-cam-en {
+               pinmux {
+                       pins = "gpio6";
+                       function = "gpio";
+               };
+
+               pinconf {
+                       pins = "gpio6";
+                       drive-strength = <2>;
+                       /* External pull down */
+                       bias-disable;
+               };
+       };
+
+       wf_cam_en: wf-cam-en {
+               pinmux {
+                       pins = "gpio7";
+                       function = "gpio";
+               };
+
+               pinconf {
+                       pins = "gpio7";
+                       drive-strength = <2>;
+                       /* External pull down */
+                       bias-disable;
+               };
+       };
 };