Files
lkl_linux/arch/arm64/boot/dts/qcom/sa8775p-ride.dts
Naveen Kumar Goud Arepalli e608d16e01 arm64: dts: qcom: sa8775p-ride: Update L4C parameters
L4c is the supply for UFS vccq, As per UFS spec range of vccq is
1.14V to 1.26V, There are stability issues when operating at
marginal voltage. Hence configure the min and max vccq voltages
to 1.2V.

Signed-off-by: Naveen Kumar Goud Arepalli <quic_narepall@quicinc.com>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230711105915.30581-1-quic_narepall@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-07-13 20:39:21 -07:00

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>;
};