324 lines
6.9 KiB
Plaintext
324 lines
6.9 KiB
Plaintext
// SPDX-License-Identifier: BSD-3-Clause
|
||
/*
|
||
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
||
*/
|
||
|
||
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
|
||
|
||
#include "monaco.dtsi"
|
||
#include "monaco-pmics.dtsi"
|
||
|
||
/ {
|
||
/* This comes from a PMIC handled within the SAIL domain */
|
||
vreg_s2s: vreg-s2s {
|
||
compatible = "regulator-fixed";
|
||
regulator-name = "vreg_s2s";
|
||
|
||
regulator-min-microvolt = <1800000>;
|
||
regulator-max-microvolt = <1800000>;
|
||
};
|
||
};
|
||
|
||
&apps_rsc {
|
||
regulators-0 {
|
||
compatible = "qcom,pmm8654au-rpmh-regulators";
|
||
qcom,pmic-id = "a";
|
||
|
||
vreg_l3a: ldo3 {
|
||
regulator-name = "vreg_l3a";
|
||
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_HPM>;
|
||
regulator-always-on;
|
||
};
|
||
|
||
vreg_l4a: ldo4 {
|
||
regulator-name = "vreg_l4a";
|
||
regulator-min-microvolt = <880000>;
|
||
regulator-max-microvolt = <912000>;
|
||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
regulator-allow-set-load;
|
||
regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
|
||
};
|
||
|
||
vreg_l5a: ldo5 {
|
||
regulator-name = "vreg_l5a";
|
||
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_HPM>;
|
||
};
|
||
|
||
vreg_l6a: ldo6 {
|
||
regulator-name = "vreg_l6a";
|
||
regulator-min-microvolt = <880000>;
|
||
regulator-max-microvolt = <912000>;
|
||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
regulator-allow-set-load;
|
||
regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
|
||
};
|
||
|
||
vreg_l7a: ldo7 {
|
||
regulator-name = "vreg_l7a";
|
||
regulator-min-microvolt = <880000>;
|
||
regulator-max-microvolt = <912000>;
|
||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
regulator-allow-set-load;
|
||
regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
|
||
};
|
||
|
||
vreg_l8a: ldo8 {
|
||
regulator-name = "vreg_l8a";
|
||
regulator-min-microvolt = <2504000>;
|
||
regulator-max-microvolt = <2960000>;
|
||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
regulator-allow-set-load;
|
||
regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
|
||
};
|
||
|
||
vreg_l9a: ldo9 {
|
||
regulator-name = "vreg_l9a";
|
||
regulator-min-microvolt = <2970000>;
|
||
regulator-max-microvolt = <3072000>;
|
||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
regulator-allow-set-load;
|
||
regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
|
||
};
|
||
};
|
||
|
||
regulators-1 {
|
||
compatible = "qcom,pmm8654au-rpmh-regulators";
|
||
qcom,pmic-id = "c";
|
||
|
||
vreg_s5c: smps5 { /* LPDDR VDD2H */
|
||
regulator-name = "vreg_s5c";
|
||
regulator-min-microvolt = <1104000>;
|
||
regulator-max-microvolt = <1104000>;
|
||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
};
|
||
|
||
vreg_l1c: ldo1 { /* LPDDR VDDQ */
|
||
regulator-name = "vreg_l1c";
|
||
regulator-min-microvolt = <300000>;
|
||
regulator-max-microvolt = <512000>;
|
||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
regulator-allow-set-load;
|
||
regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
|
||
};
|
||
|
||
vreg_l2c: ldo2 { /* LPDDR VDD2L */
|
||
regulator-name = "vreg_l2c";
|
||
regulator-min-microvolt = <900000>;
|
||
regulator-max-microvolt = <904000>;
|
||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
regulator-allow-set-load;
|
||
regulator-allowed-modes = <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>;
|
||
regulator-allow-set-load;
|
||
regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
|
||
};
|
||
|
||
vreg_l7c: ldo7 {
|
||
regulator-name = "vreg_l7c";
|
||
regulator-min-microvolt = <1800000>;
|
||
regulator-max-microvolt = <1800000>;
|
||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
regulator-allow-set-load;
|
||
regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
|
||
};
|
||
|
||
vreg_l8c: ldo8 { /* LPDDR VDD1 */
|
||
regulator-name = "vreg_l8c";
|
||
regulator-min-microvolt = <1800000>;
|
||
regulator-max-microvolt = <1800000>;
|
||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
regulator-allow-set-load;
|
||
regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
|
||
};
|
||
|
||
vreg_l9c: ldo9 { /* QFPROM */
|
||
regulator-name = "vreg_l9c";
|
||
regulator-min-microvolt = <1800000>;
|
||
regulator-max-microvolt = <1800000>;
|
||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||
regulator-allow-set-load;
|
||
regulator-allowed-modes = <RPMH_REGULATOR_MODE_HPM>;
|
||
};
|
||
};
|
||
};
|
||
|
||
&mdss_dp0 {
|
||
pinctrl-0 = <&dp_hpd>;
|
||
pinctrl-names = "default";
|
||
};
|
||
|
||
&mdss_dp0_phy {
|
||
vdda-phy-supply = <&vreg_l5a>;
|
||
vdda-pll-supply = <&vreg_l4a>;
|
||
};
|
||
|
||
&mdss_dsi0 {
|
||
vdda-supply = <&vreg_l5a>;
|
||
};
|
||
|
||
&mdss_dsi0_phy {
|
||
vdds-supply = <&vreg_l4a>;
|
||
};
|
||
|
||
&gpi_dma0 {
|
||
status = "okay";
|
||
};
|
||
|
||
&gpi_dma1 {
|
||
status = "okay";
|
||
};
|
||
|
||
&gpu {
|
||
status = "okay";
|
||
};
|
||
|
||
&gpu_zap_shader {
|
||
firmware-name = "qcom/qcs8300/a623_zap.mbn";
|
||
};
|
||
|
||
&iris {
|
||
status = "okay";
|
||
};
|
||
|
||
/* PCIe0 Gen4 x2 */
|
||
&pcie0 {
|
||
iommu-map = <0x0 &pcie_smmu 0x0000 0x1>,
|
||
<0x100 &pcie_smmu 0x0001 0x1>,
|
||
<0x200 &pcie_smmu 0x0007 0x1>,
|
||
<0x208 &pcie_smmu 0x0002 0x1>,
|
||
<0x210 &pcie_smmu 0x0003 0x1>,
|
||
<0x218 &pcie_smmu 0x0004 0x1>,
|
||
<0x300 &pcie_smmu 0x0005 0x1>,
|
||
<0x400 &pcie_smmu 0x0006 0x1>;
|
||
|
||
status = "okay";
|
||
};
|
||
|
||
&pcie0_phy {
|
||
vdda-phy-supply = <&vreg_l6a>;
|
||
vdda-pll-supply = <&vreg_l5a>;
|
||
|
||
status = "okay";
|
||
};
|
||
|
||
/* PCIe1 Gen4 x4 */
|
||
&pcie1 {
|
||
status = "okay";
|
||
};
|
||
|
||
&pcie1_phy {
|
||
vdda-phy-supply = <&vreg_l6a>;
|
||
vdda-pll-supply = <&vreg_l5a>;
|
||
|
||
status = "okay";
|
||
};
|
||
|
||
&qupv3_id_0 {
|
||
firmware-name = "qcom/qcs8300/qupv3fw.elf";
|
||
|
||
status = "okay";
|
||
};
|
||
|
||
&qupv3_id_1 {
|
||
firmware-name = "qcom/qcs8300/qupv3fw.elf";
|
||
status = "okay";
|
||
};
|
||
|
||
/* There is a HW/FW issue preventing proper REFGEN hardware voting
|
||
* for the USB2 HS PHY. As a workaround, we force REFGEN to stay
|
||
* always‑on in software, matching initial bootloader config.
|
||
*/
|
||
&refgen {
|
||
regulator-always-on;
|
||
};
|
||
|
||
&remoteproc_adsp {
|
||
firmware-name = "qcom/qcs8300/adsp.mbn";
|
||
|
||
status = "okay";
|
||
};
|
||
|
||
&remoteproc_cdsp {
|
||
firmware-name = "qcom/qcs8300/cdsp0.mbn";
|
||
|
||
status = "okay";
|
||
};
|
||
|
||
&remoteproc_gpdsp {
|
||
firmware-name = "qcom/qcs8300/gpdsp0.mbn";
|
||
|
||
status = "okay";
|
||
};
|
||
|
||
/* OnSom eMMC */
|
||
&sdhc_1 {
|
||
vmmc-supply = <&vreg_l8a>;
|
||
vqmmc-supply = <&vreg_s2s>;
|
||
|
||
bus-width = <8>;
|
||
mmc-ddr-1_8v;
|
||
mmc-hs200-1_8v;
|
||
mmc-hs400-1_8v;
|
||
mmc-hs400-enhanced-strobe;
|
||
|
||
no-sd;
|
||
no-sdio;
|
||
non-removable;
|
||
|
||
status = "okay";
|
||
};
|
||
|
||
/* Ethernet/SGMII */
|
||
&serdes0 {
|
||
phy-supply = <&vreg_l5a>;
|
||
|
||
status = "okay";
|
||
};
|
||
|
||
&tlmm {
|
||
dp_hpd: dp-hpd-state {
|
||
pins = "gpio94";
|
||
function = "edp0_hot";
|
||
bias-disable;
|
||
};
|
||
};
|
||
|
||
/* USB0 HS + SS */
|
||
&usb_1_hsphy {
|
||
vdda-pll-supply = <&vreg_l7a>;
|
||
vdda18-supply = <&vreg_l7c>;
|
||
vdda33-supply = <&vreg_l9a>;
|
||
|
||
status = "okay";
|
||
};
|
||
|
||
&usb_qmpphy {
|
||
vdda-phy-supply = <&vreg_l7a>;
|
||
vdda-pll-supply = <&vreg_l5a>;
|
||
|
||
status = "okay";
|
||
};
|
||
|
||
/* USB1 HS */
|
||
&usb_2_hsphy {
|
||
vdda-pll-supply = <&vreg_l7a>;
|
||
vdda18-supply = <&vreg_l7c>;
|
||
vdda33-supply = <&vreg_l9a>;
|
||
|
||
status = "okay";
|
||
};
|