558 lines
12 KiB
Plaintext
558 lines
12 KiB
Plaintext
|
// SPDX-License-Identifier: BSD-3-Clause
|
||
|
/*
|
||
|
* Copyright (c) 2023, Linaro Limited
|
||
|
*/
|
||
|
|
||
|
/dts-v1/;
|
||
|
|
||
|
#include <dt-bindings/gpio/gpio.h>
|
||
|
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
|
||
|
|
||
|
#include "sa8775p.dtsi"
|
||
|
#include "sa8775p-pmics.dtsi"
|
||
|
|
||
|
/ {
|
||
|
model = "Qualcomm SA8775P Ride";
|
||
|
compatible = "qcom,sa8775p-ride", "qcom,sa8775p";
|
||
|
|
||
|
aliases {
|
||
|
serial0 = &uart10;
|
||
|
serial1 = &uart12;
|
||
|
serial2 = &uart17;
|
||
|
i2c11 = &i2c11;
|
||
|
i2c18 = &i2c18;
|
||
|
spi16 = &spi16;
|
||
|
ufshc1 = &ufs_mem_hc;
|
||
|
};
|
||
|
|
||
|
chosen {
|
||
|
stdout-path = "serial0:115200n8";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&apps_rsc {
|
||
|
regulators-0 {
|
||
|
compatible = "qcom,pmm8654au-rpmh-regulators";
|
||
|
qcom,pmic-id = "a";
|
||
|
|
||
|
vreg_s4a: smps4 {
|
||
|
regulator-name = "vreg_s4a";
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1816000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_s5a: smps5 {
|
||
|
regulator-name = "vreg_s5a";
|
||
|
regulator-min-microvolt = <1850000>;
|
||
|
regulator-max-microvolt = <1996000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_s9a: smps9 {
|
||
|
regulator-name = "vreg_s9a";
|
||
|
regulator-min-microvolt = <535000>;
|
||
|
regulator-max-microvolt = <1120000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l4a: ldo4 {
|
||
|
regulator-name = "vreg_l4a";
|
||
|
regulator-min-microvolt = <788000>;
|
||
|
regulator-max-microvolt = <1050000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-allow-set-load;
|
||
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||
|
RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l5a: ldo5 {
|
||
|
regulator-name = "vreg_l5a";
|
||
|
regulator-min-microvolt = <870000>;
|
||
|
regulator-max-microvolt = <950000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-allow-set-load;
|
||
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||
|
RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l6a: ldo6 {
|
||
|
regulator-name = "vreg_l6a";
|
||
|
regulator-min-microvolt = <870000>;
|
||
|
regulator-max-microvolt = <970000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-allow-set-load;
|
||
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||
|
RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l7a: ldo7 {
|
||
|
regulator-name = "vreg_l7a";
|
||
|
regulator-min-microvolt = <720000>;
|
||
|
regulator-max-microvolt = <950000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-allow-set-load;
|
||
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||
|
RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l8a: ldo8 {
|
||
|
regulator-name = "vreg_l8a";
|
||
|
regulator-min-microvolt = <2504000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-allow-set-load;
|
||
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||
|
RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l9a: ldo9 {
|
||
|
regulator-name = "vreg_l9a";
|
||
|
regulator-min-microvolt = <2970000>;
|
||
|
regulator-max-microvolt = <3544000>;
|
||
|
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,pmm8654au-rpmh-regulators";
|
||
|
qcom,pmic-id = "c";
|
||
|
|
||
|
vreg_l1c: ldo1 {
|
||
|
regulator-name = "vreg_l1c";
|
||
|
regulator-min-microvolt = <1140000>;
|
||
|
regulator-max-microvolt = <1260000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-allow-set-load;
|
||
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||
|
RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l2c: ldo2 {
|
||
|
regulator-name = "vreg_l2c";
|
||
|
regulator-min-microvolt = <900000>;
|
||
|
regulator-max-microvolt = <1100000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-allow-set-load;
|
||
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||
|
RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l3c: ldo3 {
|
||
|
regulator-name = "vreg_l3c";
|
||
|
regulator-min-microvolt = <1100000>;
|
||
|
regulator-max-microvolt = <1300000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-allow-set-load;
|
||
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||
|
RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l4c: ldo4 {
|
||
|
regulator-name = "vreg_l4c";
|
||
|
regulator-min-microvolt = <1200000>;
|
||
|
regulator-max-microvolt = <1200000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
/*
|
||
|
* FIXME: This should have regulator-allow-set-load but
|
||
|
* we're getting an over-current fault from the PMIC
|
||
|
* when switching to LPM.
|
||
|
*/
|
||
|
};
|
||
|
|
||
|
vreg_l5c: ldo5 {
|
||
|
regulator-name = "vreg_l5c";
|
||
|
regulator-min-microvolt = <1100000>;
|
||
|
regulator-max-microvolt = <1300000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-allow-set-load;
|
||
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||
|
RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l6c: ldo6 {
|
||
|
regulator-name = "vreg_l6c";
|
||
|
regulator-min-microvolt = <1620000>;
|
||
|
regulator-max-microvolt = <1980000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-allow-set-load;
|
||
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||
|
RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l7c: ldo7 {
|
||
|
regulator-name = "vreg_l7c";
|
||
|
regulator-min-microvolt = <1620000>;
|
||
|
regulator-max-microvolt = <2000000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-allow-set-load;
|
||
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||
|
RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l8c: ldo8 {
|
||
|
regulator-name = "vreg_l8c";
|
||
|
regulator-min-microvolt = <2400000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-allow-set-load;
|
||
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||
|
RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l9c: ldo9 {
|
||
|
regulator-name = "vreg_l9c";
|
||
|
regulator-min-microvolt = <1650000>;
|
||
|
regulator-max-microvolt = <2700000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-allow-set-load;
|
||
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||
|
RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
regulators-2 {
|
||
|
compatible = "qcom,pmm8654au-rpmh-regulators";
|
||
|
qcom,pmic-id = "e";
|
||
|
|
||
|
vreg_s4e: smps4 {
|
||
|
regulator-name = "vreg_s4e";
|
||
|
regulator-min-microvolt = <970000>;
|
||
|
regulator-max-microvolt = <1520000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_s7e: smps7 {
|
||
|
regulator-name = "vreg_s7e";
|
||
|
regulator-min-microvolt = <1010000>;
|
||
|
regulator-max-microvolt = <1170000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_s9e: smps9 {
|
||
|
regulator-name = "vreg_s9e";
|
||
|
regulator-min-microvolt = <300000>;
|
||
|
regulator-max-microvolt = <570000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l6e: ldo6 {
|
||
|
regulator-name = "vreg_l6e";
|
||
|
regulator-min-microvolt = <1280000>;
|
||
|
regulator-max-microvolt = <1450000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-allow-set-load;
|
||
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||
|
RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
|
||
|
vreg_l8e: ldo8 {
|
||
|
regulator-name = "vreg_l8e";
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1950000>;
|
||
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
|
regulator-allow-set-load;
|
||
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
||
|
RPMH_REGULATOR_MODE_HPM>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&i2c11 {
|
||
|
clock-frequency = <400000>;
|
||
|
pinctrl-0 = <&qup_i2c11_default>;
|
||
|
pinctrl-names = "default";
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&i2c18 {
|
||
|
clock-frequency = <400000>;
|
||
|
pinctrl-0 = <&qup_i2c18_default>;
|
||
|
pinctrl-names = "default";
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&pmm8654au_0_gpios {
|
||
|
gpio-line-names = "DS_EN",
|
||
|
"POFF_COMPLETE",
|
||
|
"UFS0_VER_ID",
|
||
|
"FAST_POFF",
|
||
|
"DBU1_PON_DONE",
|
||
|
"AOSS_SLEEP",
|
||
|
"CAM_DES0_EN",
|
||
|
"CAM_DES1_EN",
|
||
|
"CAM_DES2_EN",
|
||
|
"CAM_DES3_EN",
|
||
|
"UEFI",
|
||
|
"ANALOG_PON_OPT";
|
||
|
};
|
||
|
|
||
|
&pmm8654au_1_gpios {
|
||
|
gpio-line-names = "PMIC_C_ID0",
|
||
|
"PMIC_C_ID1",
|
||
|
"UFS1_VER_ID",
|
||
|
"IPA_PWR",
|
||
|
"",
|
||
|
"WLAN_DBU4_EN",
|
||
|
"WLAN_EN",
|
||
|
"BT_EN",
|
||
|
"USB2_PWR_EN",
|
||
|
"USB2_FAULT";
|
||
|
|
||
|
usb2_en_state: usb2-en-state {
|
||
|
pins = "gpio9";
|
||
|
function = "normal";
|
||
|
output-high;
|
||
|
power-source = <0>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&pmm8654au_2_gpios {
|
||
|
gpio-line-names = "PMIC_E_ID0",
|
||
|
"PMIC_E_ID1",
|
||
|
"USB0_PWR_EN",
|
||
|
"USB0_FAULT",
|
||
|
"SENSOR_IRQ_1",
|
||
|
"SENSOR_IRQ_2",
|
||
|
"SENSOR_RST",
|
||
|
"SGMIIO0_RST",
|
||
|
"SGMIIO1_RST",
|
||
|
"USB1_PWR_ENABLE",
|
||
|
"USB1_FAULT",
|
||
|
"VMON_SPX8";
|
||
|
|
||
|
usb0_en_state: usb0-en-state {
|
||
|
pins = "gpio3";
|
||
|
function = "normal";
|
||
|
output-high;
|
||
|
power-source = <0>;
|
||
|
};
|
||
|
|
||
|
usb1_en_state: usb1-en-state {
|
||
|
pins = "gpio10";
|
||
|
function = "normal";
|
||
|
output-high;
|
||
|
power-source = <0>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&pmm8654au_3_gpios {
|
||
|
gpio-line-names = "PMIC_G_ID0",
|
||
|
"PMIC_G_ID1",
|
||
|
"GNSS_RST",
|
||
|
"GNSS_EN",
|
||
|
"GNSS_BOOT_MODE";
|
||
|
};
|
||
|
|
||
|
&qupv3_id_1 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&qupv3_id_2 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&sleep_clk {
|
||
|
clock-frequency = <32764>;
|
||
|
};
|
||
|
|
||
|
&spi16 {
|
||
|
pinctrl-0 = <&qup_spi16_default>;
|
||
|
pinctrl-names = "default";
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&tlmm {
|
||
|
qup_uart10_default: qup-uart10-state {
|
||
|
pins = "gpio46", "gpio47";
|
||
|
function = "qup1_se3";
|
||
|
};
|
||
|
|
||
|
qup_spi16_default: qup-spi16-state {
|
||
|
pins = "gpio86", "gpio87", "gpio88", "gpio89";
|
||
|
function = "qup2_se2";
|
||
|
drive-strength = <6>;
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
qup_i2c11_default: qup-i2c11-state {
|
||
|
pins = "gpio48", "gpio49";
|
||
|
function = "qup1_se4";
|
||
|
drive-strength = <2>;
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
qup_i2c18_default: qup-i2c18-state {
|
||
|
pins = "gpio95", "gpio96";
|
||
|
function = "qup2_se4";
|
||
|
drive-strength = <2>;
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
qup_uart12_default: qup-uart12-state {
|
||
|
qup_uart12_cts: qup-uart12-cts-pins {
|
||
|
pins = "gpio52";
|
||
|
function = "qup1_se5";
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
qup_uart12_rts: qup-uart12-rts-pins {
|
||
|
pins = "gpio53";
|
||
|
function = "qup1_se5";
|
||
|
bias-pull-down;
|
||
|
};
|
||
|
|
||
|
qup_uart12_tx: qup-uart12-tx-pins {
|
||
|
pins = "gpio54";
|
||
|
function = "qup1_se5";
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
qup_uart12_rx: qup-uart12-rx-pins {
|
||
|
pins = "gpio55";
|
||
|
function = "qup1_se5";
|
||
|
bias-pull-down;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
qup_uart17_default: qup-uart17-state {
|
||
|
qup_uart17_cts: qup-uart17-cts-pins {
|
||
|
pins = "gpio91";
|
||
|
function = "qup2_se3";
|
||
|
bias-disable;
|
||
|
};
|
||
|
|
||
|
qup_uart17_rts: qup0-uart17-rts-pins {
|
||
|
pins = "gpio92";
|
||
|
function = "qup2_se3";
|
||
|
bias-pull-down;
|
||
|
};
|
||
|
|
||
|
qup_uart17_tx: qup0-uart17-tx-pins {
|
||
|
pins = "gpio93";
|
||
|
function = "qup2_se3";
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
qup_uart17_rx: qup0-uart17-rx-pins {
|
||
|
pins = "gpio94";
|
||
|
function = "qup2_se3";
|
||
|
bias-pull-down;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&uart10 {
|
||
|
compatible = "qcom,geni-debug-uart";
|
||
|
pinctrl-0 = <&qup_uart10_default>;
|
||
|
pinctrl-names = "default";
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&uart12 {
|
||
|
pinctrl-0 = <&qup_uart12_default>;
|
||
|
pinctrl-names = "default";
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&uart17 {
|
||
|
pinctrl-0 = <&qup_uart17_default>;
|
||
|
pinctrl-names = "default";
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&ufs_mem_hc {
|
||
|
reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
|
||
|
vcc-supply = <&vreg_l8a>;
|
||
|
vcc-max-microamp = <1100000>;
|
||
|
vccq-supply = <&vreg_l4c>;
|
||
|
vccq-max-microamp = <1200000>;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&ufs_mem_phy {
|
||
|
vdda-phy-supply = <&vreg_l4a>;
|
||
|
vdda-pll-supply = <&vreg_l1c>;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_0 {
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&usb0_en_state>;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_0_dwc3 {
|
||
|
dr_mode = "peripheral";
|
||
|
};
|
||
|
|
||
|
&usb_0_hsphy {
|
||
|
vdda-pll-supply = <&vreg_l7a>;
|
||
|
vdda18-supply = <&vreg_l6c>;
|
||
|
vdda33-supply = <&vreg_l9a>;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_0_qmpphy {
|
||
|
vdda-phy-supply = <&vreg_l1c>;
|
||
|
vdda-pll-supply = <&vreg_l7a>;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_1 {
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&usb1_en_state>;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_1_dwc3 {
|
||
|
dr_mode = "host";
|
||
|
};
|
||
|
|
||
|
&usb_1_hsphy {
|
||
|
vdda-pll-supply = <&vreg_l7a>;
|
||
|
vdda18-supply = <&vreg_l6c>;
|
||
|
vdda33-supply = <&vreg_l9a>;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_1_qmpphy {
|
||
|
vdda-phy-supply = <&vreg_l1c>;
|
||
|
vdda-pll-supply = <&vreg_l7a>;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_2 {
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&usb2_en_state>;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_2_dwc3 {
|
||
|
dr_mode = "host";
|
||
|
};
|
||
|
|
||
|
&usb_2_hsphy {
|
||
|
vdda-pll-supply = <&vreg_l7a>;
|
||
|
vdda18-supply = <&vreg_l6c>;
|
||
|
vdda33-supply = <&vreg_l9a>;
|
||
|
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&xo_board_clk {
|
||
|
clock-frequency = <38400000>;
|
||
|
};
|