Commit 7a740ec3 authored by Konrad Dybcio's avatar Konrad Dybcio Committed by Bjorn Andersson
Browse files

arm64: dts: qcom: sm8150-kumano: Set up camera fixed regulators



Sony - as per usual - used a whole bunch of GPIO-gated fixed
voltage regulators for camera sensors on Kumano. Describe them
and the corresponding pins.

Signed-off-by: default avatarKonrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230315-topic-kumano_dts0-v2-3-0ca7fa521b86@linaro.org
parent b949d803
Loading
Loading
Loading
Loading
+110 −0
Original line number Original line Diff line number Diff line
@@ -6,6 +6,7 @@
/dts-v1/;
/dts-v1/;


#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sm8150.dtsi"
#include "sm8150.dtsi"
#include "pm8150.dtsi"
#include "pm8150.dtsi"
@@ -81,6 +82,66 @@ key-vol-down {
		};
		};
	};
	};


	cam0_vdig_vreg: cam0-vdig-regulator {
		compatible = "regulator-fixed";
		regulator-name = "camera0_vdig_vreg";
		gpio = <&tlmm 22 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&main_cam_pwr_en>;
		pinctrl-names = "default";
	};

	cam1_vdig_vreg: cam1-vdig-regulator {
		compatible = "regulator-fixed";
		regulator-name = "camera1_vdig_vreg";
		gpio = <&tlmm 79 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&sub_cam_pwr_en>;
		pinctrl-names = "default";
	};

	cam2_vdig_vreg: cam2-vdig-regulator {
		compatible = "regulator-fixed";
		regulator-name = "camera2_vdig_vreg";
		gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&chat_cam_pwr_en>;
		pinctrl-names = "default";
	};

	cam3_vdig_vreg: cam3-vdig-regulator {
		compatible = "regulator-fixed";
		regulator-name = "camera3_vdig_vreg";
		gpio = <&pm8150_gpios 7 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&supwc_pwr_en>;
		pinctrl-names = "default";
	};

	cam_vmdr_vreg: cam-vmdr-regulator {
		compatible = "regulator-fixed";
		regulator-name = "camera_vmdr_vreg";
		gpio = <&pm8150l_gpios 3 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&main_cam_pwr_vmdr_en>;
		pinctrl-names = "default";
	};

	rgbcir_vreg: rgbcir-regulator {
		compatible = "regulator-fixed";
		regulator-name = "rgbcir_vreg";
		gpio = <&tlmm 29 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&rgbc_ir_pwr_en>;
		pinctrl-names = "default";
	};

	vph_pwr: vph-pwr-regulator {
	vph_pwr: vph-pwr-regulator {
		compatible = "regulator-fixed";
		compatible = "regulator-fixed";
		regulator-name = "vph_pwr";
		regulator-name = "vph_pwr";
@@ -474,6 +535,15 @@ vol_down_n: vol-down-n-state {
		bias-pull-up;
		bias-pull-up;
		input-enable;
		input-enable;
	};
	};

	supwc_pwr_en: supwc-pwr-en-state {
		pins = "gpio7";
		function = "normal";
		qcom,drive-strength = <1>;
		power-source = <1>;
		drive-push-pull;
		output-low;
	};
};
};


&pm8150b_gpios {
&pm8150b_gpios {
@@ -520,6 +590,15 @@ &pm8150l_gpios {
			  "NC", /* GPIO_10 */
			  "NC", /* GPIO_10 */
			  "NC",
			  "NC",
			  "NC";
			  "NC";

	main_cam_pwr_vmdr_en: main-cam-pwr-vmdr-en-state {
		pins = "gpio3";
		function = "normal";
		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
		power-source = <0>;
		drive-push-pull;
		output-low;
	};
};
};


&pon_pwrkey {
&pon_pwrkey {
@@ -716,6 +795,37 @@ &tlmm {
			  "WL_CMD_DATA_CHAIN1",
			  "WL_CMD_DATA_CHAIN1",
			  "WL_BT_COEX_CLK",
			  "WL_BT_COEX_CLK",
			  "WL_BT_COEX_DATA";
			  "WL_BT_COEX_DATA";

	main_cam_pwr_en: main-cam-pwr-en-state {
		pins = "gpio22";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
		output-low;
	};

	chat_cam_pwr_en: chat-cam-pwr-en-state {
		pins = "gpio25";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
		output-low;
	};

	rgbc_ir_pwr_en: rgbc-ir-pwr-en-state {
		pins = "gpio29";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
		output-low;
	};

	sub_cam_pwr_en: sub-cam-pwr-en-state {
		pins = "gpio79";
		function = "gpio";
		drive-strength = <2>;
		bias-pull-down;
	};
};
};


&uart2 {
&uart2 {