[PATCH v2 5/7] arm64: dts: qcom: sm8450-nagara: Set up camera regulators

Konrad Dybcio
2022-12-29T10:33:18Z

Set up gpio-controlled fixed regulators for camera on PDX223 and fix
up the existing ones in common and PDX224 trees.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
v1 -> v2:
No changes

.../qcom/sm8450-sony-xperia-nagara-pdx223.dts | 38 +++++++++++++++++++
.../qcom/sm8450-sony-xperia-nagara-pdx224.dts | 15 +++++++-
.../dts/qcom/sm8450-sony-xperia-nagara.dtsi | 16 +++++++-
3 files changed, 65 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara-pdx223.dts b/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara-pdx223.dts
index 561cd4f09ab7..daf2f91f356e 100644
--- a/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara-pdx223.dts
+++ b/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara-pdx223.dts
@@ -11,6 +11,26 @@
/ {
model = "Sony Xperia 1 IV";
compatible = "sony,pdx223", "qcom,sm8450";
+
+ imx316_lvdd_regulator: imx316-lvdd-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "imx316_lvdd_regulator";
+ gpio = <&pm8350b_gpios 6 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&cam_pwr_ld_en>;
+ };
+
+ tcs3490_vdd_regulator: rgbcir-vdd-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "tcs3490_vdd_regulator";
+ gpio = <&pm8350c_gpios 6 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&rgbc_ir_pwr_en>;
+ };
};

&pm8350b_gpios {
@@ -22,6 +42,15 @@ &pm8350b_gpios {
"CAM_PWR_LD_EN",
"NC",
"FOCUS_N";
+
+ cam_pwr_ld_en: cam-pwr-ld-en-state {
+ pins = "gpio6";
+ function = "normal";
+ qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+ power-source = <0>;
+ drive-push-pull;
+ output-low;
+ };
};

&pm8350c_gpios {
@@ -34,6 +63,15 @@ &pm8350c_gpios {
"NC",
"NC",
"WIDEC_PWR_EN";
+
+ rgbc_ir_pwr_en: rgbc-ir-pwr-en-state {
+ pins = "gpio6";
+ function = "normal";
+ qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+ power-source = <1>;
+ drive-push-pull;
+ output-low;
+ };
};

&tlmm {
diff --git a/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara-pdx224.dts b/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara-pdx224.dts
index fc9d74d0f227..dc4de2d3fe48 100644
--- a/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara-pdx224.dts
+++ b/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara-pdx224.dts
@@ -12,11 +12,14 @@ / {
model = "Sony Xperia 5 IV";
compatible = "sony,pdx224", "qcom,sm8450";

- imx563_vdig_vreg: imx563-vdig-regulator {
+ imx563_vdig_regulator: imx563-vdig-regulator {
compatible = "regulator-fixed";
- regulator-name = "imx563_vdig_vreg";
+ regulator-name = "imx563_vdig_regulator";
gpio = <&tlmm 22 GPIO_ACTIVE_HIGH>;
enable-active-high;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&uwidec_pwr_en>;
};
};

@@ -254,4 +257,12 @@ &tlmm {
"APPS_I2C_0_SCL",
"CCI_I2C3_SDA",
"CCI_I2C3_SCL";
+
+ uwidec_pwr_en: uwidec-pwr-en-state {
+ pins = "gpio22";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ output-low;
+ };
};
diff --git a/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi b/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi
index 0e139921b3e3..a8c4df2696e3 100644
--- a/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi
@@ -3,6 +3,7 @@
* Copyright (c) 2022, Konrad Dybcio <konrad.dybcio@somainline.org>
*/

+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sm8450.dtsi"
#include "pm8350.dtsi"
@@ -93,11 +94,14 @@ ramoops@ffc00000 {
};

/* Sadly, the voltages for these GPIO regulators are unknown. */
- imx650_vana_vreg: imx650-vana-regulator {
+ imx650_vana_regulator: imx650-vana-regulator {
compatible = "regulator-fixed";
- regulator-name = "imx650_vana_vreg";
+ regulator-name = "imx650_vana_regulator";
gpio = <&tlmm 23 GPIO_ACTIVE_HIGH>;
enable-active-high;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&telec_pwr_en>;
};

vph_pwr: vph-pwr-regulator {
@@ -703,6 +707,14 @@ ts_int_default: ts-int-default-state {
input-enable;
};

+ telec_pwr_en: telec-pwr-en-state {
+ pins = "gpio23";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ output-low;
+ };
+
sdc2_card_det_n: sd-card-det-n-state {
pins = "gpio92";
function = "gpio";
--
2.39.0