aboutsummaryrefslogtreecommitdiff
path: root/src/arm64/qcom/sm8350-sony-xperia-sagami.dtsi
diff options
context:
space:
mode:
Diffstat (limited to 'src/arm64/qcom/sm8350-sony-xperia-sagami.dtsi')
-rw-r--r--src/arm64/qcom/sm8350-sony-xperia-sagami.dtsi110
1 files changed, 97 insertions, 13 deletions
diff --git a/src/arm64/qcom/sm8350-sony-xperia-sagami.dtsi b/src/arm64/qcom/sm8350-sony-xperia-sagami.dtsi
index 1f2d660f8f86..89382ad73133 100644
--- a/src/arm64/qcom/sm8350-sony-xperia-sagami.dtsi
+++ b/src/arm64/qcom/sm8350-sony-xperia-sagami.dtsi
@@ -3,6 +3,7 @@
* Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
*/
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sm8350.dtsi"
#include "pm8350.dtsi"
@@ -48,7 +49,35 @@
gpio-keys {
compatible = "gpio-keys";
- /* For reasons still unknown, GAssist key and Camera Focus/Shutter don't work.. */
+ pinctrl-names = "default";
+ pinctrl-0 = <&focus_n &snapshot_n &vol_down_n &g_assist_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-google-assist {
+ label = "Google Assistant Key";
+ gpios = <&pm8350_gpios 9 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_LEFTMETA>;
+ debounce-interval = <15>;
+ linux,can-disable;
+ wakeup-source;
+ };
key-vol-down {
label = "Volume Down";
@@ -56,7 +85,7 @@
gpios = <&pmk8350_gpios 3 GPIO_ACTIVE_LOW>;
debounce-interval = <15>;
linux,can-disable;
- gpio-key,wakeup;
+ wakeup-source;
};
};
@@ -171,6 +200,8 @@
regulator-max-microvolt = <888000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
};
pm8350_l6: ldo6 {
@@ -179,6 +210,8 @@
regulator-max-microvolt = <1208000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
};
pm8350_l7: ldo7 {
@@ -187,6 +220,8 @@
regulator-max-microvolt = <3008000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
};
/* L8 - lcx.lvl (ARC) */
@@ -197,6 +232,8 @@
regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
};
};
@@ -443,13 +480,6 @@
/* Some subset of SONY IMX663 camera sensor @ 38 */
};
-&i2c2 {
- status = "okay";
- clock-frequency = <400000>;
-
- /* Richwave RTC6226 FM Radio Receiver @ 64 */
-};
-
&i2c4 {
status = "okay";
clock-frequency = <400000>;
@@ -461,7 +491,7 @@
status = "okay";
clock-frequency = <1000000>;
- cs35l41_l: cs35l41@40 {
+ cs35l41_l: speaker-amp@40 {
compatible = "cirrus,cs35l41";
reg = <0x40>;
interrupt-parent = <&tlmm>;
@@ -476,7 +506,7 @@
#sound-dai-cells = <1>;
};
- cs35l41_r: cs35l41@41 {
+ cs35l41_r: speaker-amp@41 {
compatible = "cirrus,cs35l41";
reg = <0x41>;
interrupt-parent = <&tlmm>;
@@ -506,7 +536,6 @@
clock-frequency = <100000>;
/* Qualcomm PM8008i/PM8008j (?) @ 8, 9, c, d */
- /* Dialog SLG51000 CMIC @ 75 */
};
&i2c15 {
@@ -524,9 +553,10 @@
};
&ipa {
- status = "okay";
+ qcom,gsi-loader = "self";
memory-region = <&pil_ipa_fw_mem>;
firmware-name = "qcom/sm8350/Sony/sagami/ipa_fws.mbn";
+ status = "okay";
};
&mpss {
@@ -534,6 +564,60 @@
firmware-name = "qcom/sm8350/Sony/sagami/modem.mbn";
};
+&pm8350_gpios {
+ gpio-line-names = "ASSIGN1_THERM", /* GPIO_1 */
+ "LCD_ID",
+ "SDR_MMW_THERM",
+ "RF_ID",
+ "NC",
+ "FP_LDO_EN",
+ "SP_ARI_PWR_ALARM",
+ "NC",
+ "G_ASSIST_N",
+ "PM8350_OPTION"; /* GPIO_10 */
+
+ g_assist_n: g-assist-n-state {
+ pins = "gpio9";
+ function = "normal";
+ power-source = <1>;
+ bias-pull-up;
+ input-enable;
+ };
+};
+
+&pm8350b_gpios {
+ 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>;
+ input-enable;
+ bias-pull-up;
+ };
+};
+
+&pmk8350_gpios {
+ gpio-line-names = "NC", /* GPIO_1 */
+ "NC",
+ "VOL_DOWN_N",
+ "PMK8350_OPTION";
+
+ vol_down_n: vol-down-n-state {
+ pins = "gpio3";
+ function = "normal";
+ power-source = <0>;
+ bias-pull-up;
+ input-enable;
+ };
+};
+
&pmk8350_rtc {
status = "okay";
};