summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi')
-rw-r--r--arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi202
1 files changed, 185 insertions, 17 deletions
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 38256226d229..67538b5a557e 100644
--- a/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi
@@ -3,8 +3,15 @@
* 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"
+#include "pm8350b.dtsi"
+#include "pm8350c.dtsi"
+#include "pm8450.dtsi"
+#include "pmk8350.dtsi"
+#include "pmr735a.dtsi"
/delete-node/ &adsp_mem;
/delete-node/ &rmtfs_mem;
@@ -21,6 +28,41 @@
stdout-path = "serial0:115200n8";
};
+ gpio-keys {
+ compatible = "gpio-keys";
+ label = "gpio-keys";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&focus_n &snapshot_n &vol_down_n>;
+
+ key-camera-focus {
+ label = "Camera Focus";
+ linux,code = <KEY_CAMERA_FOCUS>;
+ gpios = <&pm8350b_gpios 8 GPIO_ACTIVE_LOW>;
+ debounce-interval = <15>;
+ linux,can-disable;
+ wakeup-source;
+ };
+
+ key-camera-snapshot {
+ label = "Camera Snapshot";
+ linux,code = <KEY_CAMERA>;
+ gpios = <&pm8350b_gpios 5 GPIO_ACTIVE_LOW>;
+ debounce-interval = <15>;
+ linux,can-disable;
+ wakeup-source;
+ };
+
+ key-volume-down {
+ label = "Volume Down";
+ linux,code = <KEY_VOLUMEDOWN>;
+ gpios = <&pm8350_gpios 6 GPIO_ACTIVE_LOW>;
+ debounce-interval = <15>;
+ linux,can-disable;
+ wakeup-source;
+ };
+ };
+
reserved-memory {
adsp_mem: memory@85700000 {
reg = <0x0 0x85700000 0x0 0x2800000>;
@@ -52,11 +94,14 @@
};
/* 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 {
@@ -71,7 +116,7 @@
};
&apps_rsc {
- pm8350-rpmh-regulators {
+ regulators-0 {
compatible = "qcom,pm8350-rpmh-regulators";
qcom,pmic-id = "b";
@@ -167,7 +212,7 @@
};
};
- pm8350c-rpmh-regulators {
+ regulators-1 {
compatible = "qcom,pm8350c-rpmh-regulators";
qcom,pmic-id = "c";
@@ -303,7 +348,7 @@
};
};
- pm8450-rpmh-regulators {
+ regulators-2 {
compatible = "qcom,pm8450-rpmh-regulators";
qcom,pmic-id = "h";
@@ -347,7 +392,7 @@
};
};
- pmr735a-rpmh-regulators {
+ regulators-3 {
compatible = "qcom,pmr735a-rpmh-regulators";
qcom,pmic-id = "e";
@@ -456,7 +501,58 @@
clock-frequency = <400000>;
status = "okay";
- /* Dialog SLG51000 CMIC @ 75 */
+ pmic@75 {
+ compatible = "dlg,slg51000";
+ reg = <0x75>;
+ dlg,cs-gpios = <&pm8350b_gpios 1 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&cam_pwr_a_cs>;
+
+ regulators {
+ slg51000_a_ldo1: ldo1 {
+ regulator-name = "slg51000_a_ldo1";
+ regulator-min-microvolt = <2400000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ slg51000_a_ldo2: ldo2 {
+ regulator-name = "slg51000_a_ldo2";
+ regulator-min-microvolt = <2400000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ slg51000_a_ldo3: ldo3 {
+ regulator-name = "slg51000_a_ldo3";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <3750000>;
+ };
+
+ slg51000_a_ldo4: ldo4 {
+ regulator-name = "slg51000_a_ldo4";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <3750000>;
+ };
+
+ slg51000_a_ldo5: ldo5 {
+ regulator-name = "slg51000_a_ldo5";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1200000>;
+ };
+
+ slg51000_a_ldo6: ldo6 {
+ regulator-name = "slg51000_a_ldo6";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1200000>;
+ };
+
+ slg51000_a_ldo7: ldo7 {
+ regulator-name = "slg51000_a_ldo7";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <3750000>;
+ };
+ };
+ };
};
&i2c9 {
@@ -466,13 +562,6 @@
/* NXP SN1X0 NFC @ 28 */
};
-&i2c13 {
- clock-frequency = <400000>;
- status = "okay";
-
- /* Richwave RTC6226 FM Radio Receiver @ 64 */
-};
-
&i2c14 {
clock-frequency = <1000000>;
status = "okay";
@@ -533,18 +622,89 @@
status = "okay";
};
+&pm8350_gpios {
+ gpio-line-names = "ASSIGN1_THERM", /* GPIO_1 */
+ "LCD_ID",
+ "SDR_MMW_THERM",
+ "RF_ID",
+ "NC",
+ "VOL_DOWN_N",
+ "NC",
+ "NC",
+ "NC",
+ "PM8350_OPTION"; /* GPIO_10 */
+
+ vol_down_n: vol-down-n-state {
+ pins = "gpio6";
+ function = "normal";
+ power-source = <1>;
+ bias-pull-up;
+ input-enable;
+ };
+};
+
+&pm8350b_gpios {
+ cam_pwr_a_cs: cam-pwr-a-cs-state {
+ pins = "gpio1";
+ function = "normal";
+ qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+ power-source = <1>;
+ drive-push-pull;
+ output-high;
+ };
+
+ snapshot_n: snapshot-n-state {
+ pins = "gpio5";
+ function = "normal";
+ power-source = <0>;
+ bias-pull-up;
+ input-enable;
+ };
+
+ focus_n: focus-n-state {
+ pins = "gpio8";
+ function = "normal";
+ power-source = <0>;
+ bias-pull-up;
+ input-enable;
+ };
+};
+
+&pm8450_gpios {
+ gpio-line-names = "FP_LDO_EN", /* GPIO_1 */
+ "",
+ "",
+ "";
+};
+
+&pmk8350_gpios {
+ gpio-line-names = "NC", /* GPIO_1 */
+ "NC",
+ "DISP_THERM",
+ "PMK8350_OPTION";
+};
+
+&pon_pwrkey {
+ status = "okay";
+};
+
+&pon_resin {
+ linux,code = <KEY_VOLUMEUP>;
+ status = "okay";
+};
+
&remoteproc_adsp {
- firmware-name = "qcom/sm8350/Sony/nagara/adsp.mbn";
+ firmware-name = "qcom/sm8450/Sony/nagara/adsp.mbn";
status = "okay";
};
&remoteproc_cdsp {
- firmware-name = "qcom/sm8350/Sony/nagara/cdsp.mbn";
+ firmware-name = "qcom/sm8450/Sony/nagara/cdsp.mbn";
status = "okay";
};
&remoteproc_slpi {
- firmware-name = "qcom/sm8350/Sony/nagara/slpi.mbn";
+ firmware-name = "qcom/sm8450/Sony/nagara/slpi.mbn";
status = "okay";
};
@@ -597,6 +757,14 @@
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";