924 lines
20 KiB
Plaintext
924 lines
20 KiB
Plaintext
// SPDX-License-Identifier: BSD-3-Clause
|
|
/*
|
|
* 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"
|
|
#include "pm8350b.dtsi"
|
|
#include "pm8350c.dtsi"
|
|
#include "pmk8350.dtsi"
|
|
#include "pmr735a.dtsi"
|
|
#include "pmr735b.dtsi"
|
|
|
|
/ {
|
|
/*
|
|
* Yes, you are correct, there is NO MORE {msm,board,pmic}-id on SM8350!
|
|
* Adding it will cause the bootloader to go crazy and randomly crash
|
|
* shortly after closing UEFI boot services.. Perhaps that has something
|
|
* to do with the OS running inside a VM now..?
|
|
*/
|
|
|
|
chassis-type = "handset";
|
|
|
|
chosen {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
|
|
framebuffer: framebuffer@e1000000 {
|
|
compatible = "simple-framebuffer";
|
|
reg = <0 0xe1000000 0 0x2300000>;
|
|
|
|
/* The display, even though it's 4K, initializes at 1080-ish p */
|
|
width = <1096>;
|
|
height = <2560>;
|
|
stride = <(1096 * 4)>;
|
|
format = "a8r8g8b8";
|
|
/*
|
|
* That's (going to be) a lot of clocks, but it's necessary due
|
|
* to unused clk cleanup & no panel driver yet
|
|
*/
|
|
clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
|
|
<&gcc GCC_DISP_SF_AXI_CLK>;
|
|
};
|
|
};
|
|
|
|
gpio-keys {
|
|
compatible = "gpio-keys";
|
|
|
|
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";
|
|
linux,code = <KEY_VOLUMEDOWN>;
|
|
gpios = <&pmk8350_gpios 3 GPIO_ACTIVE_LOW>;
|
|
debounce-interval = <15>;
|
|
linux,can-disable;
|
|
wakeup-source;
|
|
};
|
|
};
|
|
|
|
reserved-memory {
|
|
cont_splash_mem: memory@e1000000 {
|
|
reg = <0 0xe1000000 0 0x2300000>;
|
|
no-map;
|
|
};
|
|
|
|
ramoops@ffc00000 {
|
|
compatible = "ramoops";
|
|
reg = <0 0xffc00000 0 0x100000>;
|
|
console-size = <0x40000>;
|
|
record-size = <0x1000>;
|
|
no-map;
|
|
};
|
|
};
|
|
|
|
vph_pwr: vph-pwr-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vph_pwr";
|
|
regulator-min-microvolt = <3700000>;
|
|
regulator-max-microvolt = <3700000>;
|
|
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
};
|
|
|
|
&adsp {
|
|
status = "okay";
|
|
firmware-name = "qcom/sm8350/Sony/sagami/adsp.mbn";
|
|
};
|
|
|
|
&apps_rsc {
|
|
regulators-0 {
|
|
compatible = "qcom,pm8350-rpmh-regulators";
|
|
qcom,pmic-id = "b";
|
|
|
|
vdd-s1-supply = <&vph_pwr>;
|
|
vdd-s2-supply = <&vph_pwr>;
|
|
vdd-s3-supply = <&vph_pwr>;
|
|
vdd-s4-supply = <&vph_pwr>;
|
|
vdd-s5-supply = <&vph_pwr>;
|
|
vdd-s6-supply = <&vph_pwr>;
|
|
vdd-s7-supply = <&vph_pwr>;
|
|
vdd-s8-supply = <&vph_pwr>;
|
|
vdd-s9-supply = <&vph_pwr>;
|
|
vdd-s10-supply = <&vph_pwr>;
|
|
vdd-s11-supply = <&vph_pwr>;
|
|
vdd-s12-supply = <&vph_pwr>;
|
|
|
|
vdd-l1-l4-supply = <&pm8350_s11>;
|
|
vdd-l2-l7-supply = <&vreg_bob>;
|
|
vdd-l3-l5-supply = <&vreg_bob>;
|
|
vdd-l6-l9-l10-supply = <&pm8350_s11>;
|
|
|
|
/*
|
|
* ARC regulators:
|
|
* S5 - mx.lvl
|
|
* S6 - gfx.lvl
|
|
* S9 - mxc.lvl
|
|
*/
|
|
|
|
pm8350_s10: smps10 {
|
|
regulator-name = "pm8350_s10";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350_s11: smps11 {
|
|
regulator-name = "pm8350_s11";
|
|
regulator-min-microvolt = <752000>;
|
|
regulator-max-microvolt = <1000000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350_s12: smps12 {
|
|
regulator-name = "pm8350_s12";
|
|
regulator-min-microvolt = <1224000>;
|
|
regulator-max-microvolt = <1360000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350_l1: ldo1 {
|
|
regulator-name = "pm8350_l1";
|
|
regulator-min-microvolt = <912000>;
|
|
regulator-max-microvolt = <920000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350_l2: ldo2 {
|
|
regulator-name = "pm8350_l2";
|
|
regulator-min-microvolt = <3072000>;
|
|
regulator-max-microvolt = <3072000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350_l3: ldo3 {
|
|
regulator-name = "pm8350_l3";
|
|
regulator-min-microvolt = <904000>;
|
|
regulator-max-microvolt = <904000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
/* L4 - lmx.lvl (ARC) */
|
|
|
|
pm8350_l5: ldo5 {
|
|
regulator-name = "pm8350_l5";
|
|
regulator-min-microvolt = <880000>;
|
|
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 {
|
|
regulator-name = "pm8350_l6";
|
|
regulator-min-microvolt = <1200000>;
|
|
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 {
|
|
regulator-name = "pm8350_l7";
|
|
regulator-min-microvolt = <2400000>;
|
|
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) */
|
|
|
|
pm8350_l9: ldo9 {
|
|
regulator-name = "pm8350_l9";
|
|
regulator-min-microvolt = <1200000>;
|
|
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>;
|
|
};
|
|
};
|
|
|
|
regulators-1 {
|
|
compatible = "qcom,pm8350c-rpmh-regulators";
|
|
qcom,pmic-id = "c";
|
|
|
|
vdd-s1-supply = <&vph_pwr>;
|
|
vdd-s2-supply = <&vph_pwr>;
|
|
vdd-s3-supply = <&vph_pwr>;
|
|
vdd-s4-supply = <&vph_pwr>;
|
|
vdd-s5-supply = <&vph_pwr>;
|
|
vdd-s6-supply = <&vph_pwr>;
|
|
vdd-s7-supply = <&vph_pwr>;
|
|
vdd-s8-supply = <&vph_pwr>;
|
|
vdd-s9-supply = <&vph_pwr>;
|
|
vdd-s10-supply = <&vph_pwr>;
|
|
|
|
vdd-l1-l12-supply = <&pm8350c_s1>;
|
|
vdd-l2-l8-supply = <&pm8350c_s1>;
|
|
vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
|
|
vdd-l6-l9-l11-supply = <&vreg_bob>;
|
|
vdd-l10-supply = <&pm8350_s12>;
|
|
|
|
vdd-bob-supply = <&vph_pwr>;
|
|
|
|
pm8350c_s1: smps1 {
|
|
regulator-name = "pm8350c_s1";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1952000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
/* S2 - ebi.lvl (ARC) */
|
|
|
|
pm8350c_s3: smps3 {
|
|
regulator-name = "pm8350c_s3";
|
|
regulator-min-microvolt = <300000>;
|
|
regulator-max-microvolt = <704000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
/*
|
|
* ARC regulators:
|
|
* S4 - mss.lvl
|
|
* S6 - cx.lvl
|
|
* S8 - mmcx.lvl
|
|
*/
|
|
|
|
pm8350c_s10: smps10 {
|
|
regulator-name = "pm8350c_s10";
|
|
regulator-min-microvolt = <1048000>;
|
|
regulator-max-microvolt = <1128000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350c_l1: ldo1 {
|
|
regulator-name = "pm8350c_l1";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350c_l2: ldo2 {
|
|
regulator-name = "pm8350c_l2";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350c_l3: ldo3 {
|
|
regulator-name = "pm8350c_l3";
|
|
regulator-min-microvolt = <3304000>;
|
|
regulator-max-microvolt = <3304000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350c_l4: ldo4 {
|
|
regulator-name = "pm8350c_l4";
|
|
regulator-min-microvolt = <1704000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350c_l5: ldo5 {
|
|
regulator-name = "pm8350c_l5";
|
|
regulator-min-microvolt = <1704000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350c_l6: ldo6 {
|
|
regulator-name = "pm8350c_l6";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <2960000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350c_l7: ldo7 {
|
|
regulator-name = "pm8350c_l7";
|
|
regulator-min-microvolt = <3008000>;
|
|
regulator-max-microvolt = <3008000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350c_l8: ldo8 {
|
|
regulator-name = "pm8350c_l8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350c_l9: ldo9 {
|
|
regulator-name = "pm8350c_l9";
|
|
regulator-min-microvolt = <2960000>;
|
|
/* Originally max = 3008000 but SDHCI expects 2960000 */
|
|
regulator-max-microvolt = <2960000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350c_l10: ldo10 {
|
|
regulator-name = "pm8350c_l10";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350c_l11: ldo11 {
|
|
regulator-name = "pm8350c_l11";
|
|
regulator-min-microvolt = <2400000>;
|
|
regulator-max-microvolt = <3008000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350c_l12: ldo12 {
|
|
regulator-name = "pm8350c_l12";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <2000000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
pm8350c_l13: ldo13 {
|
|
regulator-name = "pm8350c_l13";
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_bob: bob {
|
|
regulator-name = "vreg_bob";
|
|
regulator-min-microvolt = <3400000>;
|
|
regulator-max-microvolt = <3960000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
|
|
};
|
|
};
|
|
|
|
/* TODO: Add pm8350b (just one ldo) once the driver part is in */
|
|
|
|
regulators-2 {
|
|
compatible = "qcom,pmr735a-rpmh-regulators";
|
|
qcom,pmic-id = "e";
|
|
|
|
vdd-s1-supply = <&vph_pwr>;
|
|
vdd-s2-supply = <&vph_pwr>;
|
|
vdd-s3-supply = <&vph_pwr>;
|
|
|
|
vdd-l1-l2-supply = <&pmr735a_s2>;
|
|
vdd-l3-supply = <&pmr735a_s1>;
|
|
vdd-l4-supply = <&pm8350c_s1>;
|
|
vdd-l5-l6-supply = <&pm8350c_s1>;
|
|
vdd-l7-bob-supply = <&vreg_bob>;
|
|
|
|
pmr735a_s1: smps1 {
|
|
regulator-name = "pmr735a_s1";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1280000>;
|
|
};
|
|
|
|
pmr735a_s2: smps2 {
|
|
regulator-name = "pmr735a_s2";
|
|
regulator-min-microvolt = <500000>;
|
|
regulator-max-microvolt = <976000>;
|
|
};
|
|
|
|
pmr735a_s3: smps3 {
|
|
regulator-name = "pmr735a_s3";
|
|
regulator-min-microvolt = <2208000>;
|
|
regulator-max-microvolt = <2352000>;
|
|
};
|
|
|
|
pmr735a_l1: ldo1 {
|
|
regulator-name = "pmr735a_l1";
|
|
regulator-min-microvolt = <912000>;
|
|
regulator-max-microvolt = <912000>;
|
|
};
|
|
|
|
pmr735a_l2: ldo2 {
|
|
regulator-name = "pmr735a_l2";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
};
|
|
|
|
pmr735a_l3: ldo3 {
|
|
regulator-name = "pmr735a_l3";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
};
|
|
|
|
pmr735a_l4: ldo4 {
|
|
regulator-name = "pmr735a_l4";
|
|
regulator-min-microvolt = <1776000>;
|
|
regulator-max-microvolt = <1872000>;
|
|
};
|
|
|
|
pmr735a_l5: ldo5 {
|
|
regulator-name = "pmr735a_l5";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <800000>;
|
|
};
|
|
|
|
pmr735a_l6: ldo6 {
|
|
regulator-name = "pmr735a_l6";
|
|
regulator-min-microvolt = <480000>;
|
|
regulator-max-microvolt = <904000>;
|
|
};
|
|
|
|
pmr735a_l7: ldo7 {
|
|
regulator-name = "pmr735a_l7";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&cdsp {
|
|
status = "okay";
|
|
firmware-name = "qcom/sm8350/Sony/sagami/cdsp.mbn";
|
|
};
|
|
|
|
&i2c1 {
|
|
status = "okay";
|
|
clock-frequency = <1000000>;
|
|
|
|
/* Some subset of SONY IMX663 camera sensor @ 38 */
|
|
};
|
|
|
|
&i2c4 {
|
|
status = "okay";
|
|
clock-frequency = <400000>;
|
|
|
|
/* Samsung Touchscreen (needs I2C GPI DMA) @ 48 */
|
|
};
|
|
|
|
&i2c11 {
|
|
status = "okay";
|
|
clock-frequency = <1000000>;
|
|
|
|
cs35l41_l: speaker-amp@40 {
|
|
compatible = "cirrus,cs35l41";
|
|
reg = <0x40>;
|
|
interrupt-parent = <&tlmm>;
|
|
interrupts = <36 IRQ_TYPE_LEVEL_LOW>;
|
|
reset-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
|
|
cirrus,boost-peak-milliamp = <4000>;
|
|
cirrus,boost-ind-nanohenry = <1000>;
|
|
cirrus,boost-cap-microfarad = <15>;
|
|
cirrus,asp-sdout-hiz = <3>;
|
|
cirrus,gpio2-src-select = <2>;
|
|
cirrus,gpio2-output-enable;
|
|
#sound-dai-cells = <1>;
|
|
};
|
|
|
|
cs35l41_r: speaker-amp@41 {
|
|
compatible = "cirrus,cs35l41";
|
|
reg = <0x41>;
|
|
interrupt-parent = <&tlmm>;
|
|
interrupts = <36 IRQ_TYPE_LEVEL_LOW>;
|
|
reset-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
|
|
cirrus,boost-peak-milliamp = <4000>;
|
|
cirrus,boost-ind-nanohenry = <1000>;
|
|
cirrus,boost-cap-microfarad = <15>;
|
|
cirrus,asp-sdout-hiz = <3>;
|
|
cirrus,gpio2-src-select = <2>;
|
|
cirrus,gpio2-output-enable;
|
|
#sound-dai-cells = <1>;
|
|
};
|
|
};
|
|
|
|
&i2c12 {
|
|
status = "okay";
|
|
/* Clock frequency was not specified downstream, let's park it to 100 KHz */
|
|
clock-frequency = <100000>;
|
|
|
|
/* AMS TCS3490 RGB+IR color sensor @ 72 */
|
|
};
|
|
|
|
&i2c13 {
|
|
status = "okay";
|
|
/* Clock frequency was not specified downstream, let's park it to 100 KHz */
|
|
clock-frequency = <100000>;
|
|
|
|
/* Qualcomm PM8008i/PM8008j (?) @ 8, 9, c, d */
|
|
};
|
|
|
|
&i2c15 {
|
|
status = "okay";
|
|
clock-frequency = <400000>;
|
|
|
|
/* NXP SN1X0 NFC @ 28 */
|
|
};
|
|
|
|
&i2c17 {
|
|
status = "okay";
|
|
clock-frequency = <1000000>;
|
|
|
|
/* Cirrus Logic CS40L25A boosted haptics driver @ 40 */
|
|
};
|
|
|
|
&ipa {
|
|
qcom,gsi-loader = "self";
|
|
memory-region = <&pil_ipa_fw_mem>;
|
|
firmware-name = "qcom/sm8350/Sony/sagami/ipa_fws.mbn";
|
|
status = "okay";
|
|
};
|
|
|
|
&mpss {
|
|
status = "okay";
|
|
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";
|
|
};
|
|
|
|
&pon_pwrkey {
|
|
status = "okay";
|
|
};
|
|
|
|
&pon_resin {
|
|
status = "okay";
|
|
linux,code = <KEY_VOLUMEUP>;
|
|
};
|
|
|
|
&qupv3_id_0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&qupv3_id_1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&qupv3_id_2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhc_2 {
|
|
cd-gpios = <&tlmm 92 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&sdc2_default_state &sdc2_card_det_active>;
|
|
pinctrl-1 = <&sdc2_sleep_state &sdc2_card_det_sleep>;
|
|
vmmc-supply = <&pm8350c_l9>;
|
|
vqmmc-supply = <&pm8350c_l6>;
|
|
no-sdio;
|
|
no-mmc;
|
|
status = "okay";
|
|
};
|
|
|
|
&slpi {
|
|
status = "okay";
|
|
firmware-name = "qcom/sm8350/Sony/sagami/slpi.mbn";
|
|
};
|
|
|
|
&spi14 {
|
|
status = "okay";
|
|
|
|
/* NXP SN1X0 NFC Secure Element @ 0 */
|
|
};
|
|
|
|
&tlmm {
|
|
gpio-reserved-ranges = <44 4>;
|
|
gpio-line-names = "APPS_I2C_0_SDA", /* GPIO_0 */
|
|
"APPS_I2C_0_SCL",
|
|
"UWIDEC_PWR_EN",
|
|
"HAP_RST_N",
|
|
"NC",
|
|
"NC",
|
|
"PM8008_1_RESET_N",
|
|
"NC",
|
|
"OIS_TELE_I2C_SDA",
|
|
"OIS_TELE_I2C_SCL",
|
|
"PM8350_OPTION", /* GPIO_10 */
|
|
"NC",
|
|
"APPS_I2C_1_SDA",
|
|
"APPS_I2C_1_SCL",
|
|
"NC",
|
|
"NC",
|
|
"CAM1_RESET_N",
|
|
"LEO_CAM0_RESET_N",
|
|
"DEBUG_UART_TX",
|
|
"DEBUG_UART_RX",
|
|
"TS_I2C_SDA", /* GPIO_20 */
|
|
"TS_I2C_SCL",
|
|
"TS_RESET_N",
|
|
"TS_INT_N",
|
|
"DISP_RESET_N",
|
|
"SW_SERVICE",
|
|
"DISP_ERR_FG",
|
|
"TX_GTR_THRES_IN",
|
|
"NC",
|
|
"NC",
|
|
"NC", /* GPIO_30 */
|
|
"NC",
|
|
"NC",
|
|
"NC",
|
|
"NC",
|
|
"NC",
|
|
"SPK_AMP_INT_N",
|
|
"SPK_AMP_RESET_N",
|
|
"FP_INT_N",
|
|
"FP_RESET_N",
|
|
"NC", /* GPIO_40 */
|
|
"NC",
|
|
"DEBUG_GPIO0",
|
|
"FORCE_USB_BOOT",
|
|
"FP_SPI_MISO",
|
|
"FP_SPI_MOSI",
|
|
"FP_SPI_CLK",
|
|
"FP_SPI_CS_N",
|
|
"SPK_AMP_I2C_SDA",
|
|
"SPK_AMP_I2C_SCL",
|
|
"NC", /* GPIO_50 */
|
|
"HAP_INT_N",
|
|
"CAMSENSOR_I2C_SDA",
|
|
"CAMSENSOR_I2C_SCL",
|
|
"SBU_SW_OE",
|
|
"SBU_SW_SEL",
|
|
"NFC_ESE_SPI_MISO",
|
|
"NFC_ESE_SPI_MOSI",
|
|
"NFC_ESE_SPI_CLK",
|
|
"NFC_ESE_SPI_CS",
|
|
"NFC_I2C_SDA", /* GPIO_60 */
|
|
"NFC_I2C_SCL",
|
|
"NFC_EN",
|
|
"NFC_CLK_REQ",
|
|
"HST_WLAN_EN",
|
|
"HST_BT_EN",
|
|
"HW_ID_0",
|
|
"HW_ID_1",
|
|
"HST_BT_UART_CTS",
|
|
"HST_BT_UART_RFR",
|
|
"HST_BT_UART_TX", /* GPIO_70 */
|
|
"HST_BT_UART_RX",
|
|
"HAP_I2C_SDA",
|
|
"HAP_I2C_SCL",
|
|
"RF_LCD_ID_EN",
|
|
"RF_ID_EXTENSION",
|
|
"NC",
|
|
"NC",
|
|
"NC",
|
|
"NC",
|
|
"HALL_INT_N", /* GPIO_80 */
|
|
"USB_CC_DIR",
|
|
"DISP_VSYNC",
|
|
"NC",
|
|
"NC",
|
|
"CAM_SOF_TELE",
|
|
"NFC_DWL_REQ",
|
|
"NFC_IRQ",
|
|
"WCD_RST_N",
|
|
"ALS_PROX_INT_N",
|
|
"NC", /* GPIO_90 */
|
|
"NC",
|
|
"TRAY_DET",
|
|
"UDON_SWITCH_SEL",
|
|
"PCIE0_RESET_N",
|
|
"PCIE0_CLK_REQ_N",
|
|
"PCIE0_WAKE_N",
|
|
"CAM_SOF",
|
|
"RF_ID_EXTENSION_2",
|
|
"RGBC_IR_INT",
|
|
"CAM_MCLK0", /* GPIO_100 */
|
|
"CAM_MCLK1",
|
|
"CAM_MCLK2",
|
|
"CAM_MCLK3",
|
|
"NC",
|
|
"NC",
|
|
"CAM2_RESET_N",
|
|
"CCI_I2C0_SDA",
|
|
"CCI_I2C0_SCL",
|
|
"CCI_I2C1_SDA",
|
|
"CCI_I2C1_SCL", /* GPIO_110 */
|
|
"CCI_I2C2_SDA",
|
|
"CCI_I2C2_SCL",
|
|
"CCI_I2C3_SDA",
|
|
"CCI_I2C3_SCL",
|
|
"NC",
|
|
"PM8008_1_IRQ",
|
|
"CAM3_RESET_N",
|
|
"IMU1_INT",
|
|
"EXT_VD0_XVS",
|
|
"NC", /* GPIO_120 */
|
|
"NC",
|
|
"NC",
|
|
"NC",
|
|
"NC",
|
|
"HAP_I2S_CLK",
|
|
"HAP_I2S_DOUT",
|
|
"HAP_TRG1",
|
|
"HAP_I2S_SYNC",
|
|
"HST_BT_WLAN_SLIMBUS_CLK",
|
|
"HST_BT_WLAN_SLIMBUS_DAT0", /* GPIO_130 */
|
|
"NC",
|
|
"UIM2_DETECT_EN",
|
|
"UIM2_DATA",
|
|
"UIM2_CLK",
|
|
"UIM2_RESET",
|
|
"UIM2_PRESENT",
|
|
"UIM1_DATA",
|
|
"UIM1_CLK",
|
|
"UIM1_RESET",
|
|
"TRAY_DET", /* GPIO_140 */
|
|
"SM_RFFE0_CLK",
|
|
"SM_RFFE0_DATA",
|
|
"SM_RFFE1_CLK",
|
|
"SM_RFFE1_DATA",
|
|
"SM_MSS_GRFC4",
|
|
"SM_MSS_GRFC5",
|
|
"SM_MSS_GRFC6",
|
|
"SM_MSS_GRFC7",
|
|
"SM_RFFE4_CLK",
|
|
"SM_RFFE4_DATA", /* GPIO_150 */
|
|
"WLAN_COEX_UART1_RX",
|
|
"WLAN_COEX_UART1_TX",
|
|
"HST_SW_CTRL",
|
|
"DISP_VDDR_EN",
|
|
"NC",
|
|
"NC",
|
|
"PA_INDICATOR_OR",
|
|
"NC",
|
|
"QLINK0_REQ",
|
|
"QLINK0_EN", /* GPIO_160 */
|
|
"QLINK0_WMSS_RESET_N",
|
|
"NC",
|
|
"NC",
|
|
"NC",
|
|
"PM8008_2_IRQ",
|
|
"TELEC_PWR_EN",
|
|
"PM8008_2_RESET_N",
|
|
"WCD_SWR_TX_CLK",
|
|
"WCD_SWR_TX_DATA0",
|
|
"WCD_SWR_TX_DATA1", /* GPIO_170 */
|
|
"WCD_SWR_RX_CLK",
|
|
"WCD_SWR_RX_DATA0",
|
|
"WCD_SWR_RX_DATA1",
|
|
"SM_DMIC1_CLK",
|
|
"SM_DMIC1_DATA",
|
|
"SM_DMIC2_CLK",
|
|
"SM_DMIC2_DATA",
|
|
"SPK_AMP_I2S_CLK",
|
|
"SPK_AMP_I2S_WS",
|
|
"SPK_AMP_I2S_ASP_DIN", /* GPIO_180 */
|
|
"SPK_AMP_I2S_ASP_DOUT",
|
|
"WCD_SWR_TX_DATA2",
|
|
"NC",
|
|
"NC",
|
|
"NC",
|
|
"NC",
|
|
"IMU_SPI_MISO",
|
|
"IMU_SPI_MOSI",
|
|
"IMU_SPI_CLK",
|
|
"IMU_SPI_CS_N", /* GPIO_190 */
|
|
"MAG_I2C_SDA",
|
|
"MAG_I2C_SCL",
|
|
"SENSOR_I2C_SDA",
|
|
"SENSOR_I2C_SCL",
|
|
"NC",
|
|
"NC",
|
|
"NC",
|
|
"NC",
|
|
"HST_BLE_UART_TX",
|
|
"HST_BLE_UART_RX", /* GPIO_200 */
|
|
"HST_WLAN_UART_TX",
|
|
"HST_WLAN_UART_RX";
|
|
|
|
ts_int_default: ts-int-default-state {
|
|
pins = "gpio23";
|
|
function = "gpio";
|
|
drive-strength = <2>;
|
|
bias-disable;
|
|
input-enable;
|
|
};
|
|
|
|
sdc2_card_det_active: sd-card-det-active-state {
|
|
pins = "gpio92";
|
|
function = "gpio";
|
|
drive-strength = <2>;
|
|
bias-pull-up;
|
|
};
|
|
|
|
sdc2_card_det_sleep: sd-card-det-sleep-state {
|
|
pins = "gpio92";
|
|
function = "gpio";
|
|
drive-strength = <2>;
|
|
bias-disable;
|
|
};
|
|
};
|
|
|
|
/* BIG WARNING! DO NOT TOUCH UFS, YOUR DEVICE WILL DIE! */
|
|
&ufs_mem_hc { status = "disabled"; };
|
|
&ufs_mem_phy { status = "disabled"; };
|
|
|
|
&usb_1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_1_dwc3 {
|
|
dr_mode = "peripheral";
|
|
};
|
|
|
|
&usb_1_hsphy {
|
|
status = "okay";
|
|
|
|
vdda-pll-supply = <&pm8350_l5>;
|
|
vdda18-supply = <&pm8350c_l1>;
|
|
vdda33-supply = <&pm8350_l2>;
|
|
};
|
|
|
|
&usb_1_qmpphy {
|
|
status = "okay";
|
|
|
|
vdda-phy-supply = <&pm8350_l6>;
|
|
vdda-pll-supply = <&pm8350_l1>;
|
|
};
|