Path: blob/master/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
170997 views
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*/
#include "pmcx0102.dtsi" /* SPMI0: SID-2/3 SPMI1: SID-2/3 */
#include "pmh0101.dtsi" /* SPMI0: SID-1 */
#include "pmh0110-glymur.dtsi" /* SPMI0: SID-5/7 SPMI1: SID-5 */
#include "pmh0104-glymur.dtsi" /* SPMI0: SID-8/9 SPMI1: SID-11 */
#include "pmk8850.dtsi" /* SPMI0: SID-0 */
#include "smb2370.dtsi" /* SPMI2: SID-9/10/11 */
/ {
model = "Qualcomm Technologies, Inc. Glymur CRD";
compatible = "qcom,glymur-crd", "qcom,glymur";
aliases {
serial0 = &uart21;
serial1 = &uart14;
i2c0 = &i2c0;
i2c1 = &i2c4;
i2c2 = &i2c5;
spi0 = &spi18;
};
chosen {
stdout-path = "serial0:115200n8";
};
clocks {
xo_board: xo-board {
compatible = "fixed-clock";
clock-frequency = <38400000>;
#clock-cells = <0>;
};
sleep_clk: sleep-clk {
compatible = "fixed-clock";
clock-frequency = <32000>;
#clock-cells = <0>;
};
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-0 = <&key_vol_up_default>;
pinctrl-names = "default";
key-volume-up {
label = "Volume Up";
linux,code = <KEY_VOLUMEUP>;
gpios = <&pmh0101_gpios 6 GPIO_ACTIVE_LOW>;
debounce-interval = <15>;
linux,can-disable;
wakeup-source;
};
};
vreg_nvme: regulator-nvme {
compatible = "regulator-fixed";
regulator-name = "VREG_NVME_3P3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&pmh0101_gpios 14 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&nvme_reg_en>;
pinctrl-names = "default";
regulator-boot-on;
};
vreg_nvmesec: regulator-nvmesec {
compatible = "regulator-fixed";
regulator-name = "VREG_NVME_SEC_3P3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&pmh0110_f_e1_gpios 14 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&nvme_sec_reg_en>;
pinctrl-names = "default";
regulator-boot-on;
};
vreg_wcn_0p95: regulator-wcn-0p95 {
compatible = "regulator-fixed";
regulator-name = "VREG_WCN_0P95";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <950000>;
vin-supply = <&vreg_wcn_3p3>;
};
vreg_wcn_3p3: regulator-wcn-3p3 {
compatible = "regulator-fixed";
regulator-name = "VREG_WCN_3P3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&tlmm 94 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&wcn_sw_en>;
pinctrl-names = "default";
regulator-boot-on;
};
vreg_wwan: regulator-wwan {
compatible = "regulator-fixed";
regulator-name = "VREG_WWAN_3P3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&tlmm 246 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&wwan_reg_en>;
pinctrl-names = "default";
};
wcn7850-pmu {
compatible = "qcom,wcn7850-pmu";
vdd-supply = <&vreg_wcn_0p95>;
vddio-supply = <&vreg_l15b_e0_1p8>;
vddaon-supply = <&vreg_l15b_e0_1p8>;
vdddig-supply = <&vreg_l15b_e0_1p8>;
vddrfa1p2-supply = <&vreg_l15b_e0_1p8>;
vddrfa1p8-supply = <&vreg_l15b_e0_1p8>;
wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&wcn_wlan_bt_en>;
pinctrl-names = "default";
regulators {
vreg_pmu_rfa_cmn: ldo0 {
regulator-name = "vreg_pmu_rfa_cmn";
};
vreg_pmu_aon_0p59: ldo1 {
regulator-name = "vreg_pmu_aon_0p59";
};
vreg_pmu_wlcx_0p8: ldo2 {
regulator-name = "vreg_pmu_wlcx_0p8";
};
vreg_pmu_wlmx_0p85: ldo3 {
regulator-name = "vreg_pmu_wlmx_0p85";
};
vreg_pmu_btcmx_0p85: ldo4 {
regulator-name = "vreg_pmu_btcmx_0p85";
};
vreg_pmu_rfa_0p8: ldo5 {
regulator-name = "vreg_pmu_rfa_0p8";
};
vreg_pmu_rfa_1p2: ldo6 {
regulator-name = "vreg_pmu_rfa_1p2";
};
vreg_pmu_rfa_1p8: ldo7 {
regulator-name = "vreg_pmu_rfa_1p8";
};
vreg_pmu_pcie_0p9: ldo8 {
regulator-name = "vreg_pmu_pcie_0p9";
};
vreg_pmu_pcie_1p8: ldo9 {
regulator-name = "vreg_pmu_pcie_1p8";
};
};
};
};
&apps_rsc {
regulators-0 {
compatible = "qcom,pmh0101-rpmh-regulators";
qcom,pmic-id = "B_E0";
vreg_bob1_e0: bob1 {
regulator-name = "vreg_bob1_e0";
regulator-min-microvolt = <2200000>;
regulator-max-microvolt = <4224000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
};
vreg_bob2_e0: bob2 {
regulator-name = "vreg_bob2_e0";
regulator-min-microvolt = <2540000>;
regulator-max-microvolt = <3600000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
};
vreg_l1b_e0_1p8: ldo1 {
regulator-name = "vreg_l1b_e0_1p8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l2b_e0_2p9: ldo2 {
regulator-name = "vreg_l2b_e0_2p9";
regulator-min-microvolt = <2904000>;
regulator-max-microvolt = <2904000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l7b_e0_2p79: ldo7 {
regulator-name = "vreg_l7b_e0_2p79";
regulator-min-microvolt = <2790000>;
regulator-max-microvolt = <2792000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l8b_e0_1p50: ldo8 {
regulator-name = "vreg_l8b_e0_1p50";
regulator-min-microvolt = <1504000>;
regulator-max-microvolt = <1504000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l9b_e0_2p7: ldo9 {
regulator-name = "vreg_l9b_e0_2p7";
regulator-min-microvolt = <2704000>;
regulator-max-microvolt = <2704000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l10b_e0_1p8: ldo10 {
regulator-name = "vreg_l10b_e0_1p8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l11b_e0_1p2: ldo11 {
regulator-name = "vreg_l11b_e0_1p2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l12b_e0_1p14: ldo12 {
regulator-name = "vreg_l12b_e0_1p14";
regulator-min-microvolt = <1144000>;
regulator-max-microvolt = <1144000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l15b_e0_1p8: ldo15 {
regulator-name = "vreg_l15b_e0_1p8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l17b_e0_2p4: ldo17 {
regulator-name = "vreg_l17b_e0_2p4";
regulator-min-microvolt = <2400000>;
regulator-max-microvolt = <2700000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l18b_e0_1p2: ldo18 {
regulator-name = "vreg_l18b_e0_1p2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
regulators-1 {
compatible = "qcom,pmcx0102-rpmh-regulators";
qcom,pmic-id = "C_E1";
vreg_l1c_e1_0p82: ldo1 {
regulator-name = "vreg_l1c_e1_0p82";
regulator-min-microvolt = <832000>;
regulator-max-microvolt = <832000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l2c_e1_1p14: ldo2 {
regulator-name = "vreg_l2c_e1_1p14";
regulator-min-microvolt = <1144000>;
regulator-max-microvolt = <1144000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l3c_e1_0p89: ldo3 {
regulator-name = "vreg_l3c_e1_0p89";
regulator-min-microvolt = <890000>;
regulator-max-microvolt = <980000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l4c_e1_0p72: ldo4 {
regulator-name = "vreg_l4c_e1_0p72";
regulator-min-microvolt = <720000>;
regulator-max-microvolt = <720000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
regulators-2 {
compatible = "qcom,pmh0110-rpmh-regulators";
qcom,pmic-id = "F_E0";
vreg_s7f_e0_1p32: smps7 {
regulator-name = "vreg_s7f_e0_1p32";
regulator-min-microvolt = <1320000>;
regulator-max-microvolt = <1352000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_s8f_e0_0p95: smps8 {
regulator-name = "vreg_s8f_e0_0p95";
regulator-min-microvolt = <952000>;
regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_s9f_e0_1p9: smps9 {
regulator-name = "vreg_s9f_e0_1p9";
regulator-min-microvolt = <1900000>;
regulator-max-microvolt = <2000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l2f_e0_0p82: ldo2 {
regulator-name = "vreg_l2f_e0_0p82";
regulator-min-microvolt = <832000>;
regulator-max-microvolt = <832000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l3f_e0_0p72: ldo3 {
regulator-name = "vreg_l3f_e0_0p72";
regulator-min-microvolt = <720000>;
regulator-max-microvolt = <720000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l4f_e0_0p3: ldo4 {
regulator-name = "vreg_l4f_e0_0p3";
regulator-min-microvolt = <1080000>;
regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
regulators-3 {
compatible = "qcom,pmh0110-rpmh-regulators";
qcom,pmic-id = "F_E1";
vreg_s7f_e1_0p3: smps7 {
regulator-name = "vreg_s7f_e1_0p3";
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l1f_e1_0p82: ldo1 {
regulator-name = "vreg_l1f_e1_0p82";
regulator-min-microvolt = <832000>;
regulator-max-microvolt = <832000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l2f_e1_0p83: ldo2 {
regulator-name = "vreg_l2f_e1_0p83";
regulator-min-microvolt = <832000>;
regulator-max-microvolt = <832000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l4f_e1_1p08: ldo4 {
regulator-name = "vreg_l4f_e1_1p08";
regulator-min-microvolt = <1080000>;
regulator-max-microvolt = <1320000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
regulators-4 {
compatible = "qcom,pmh0110-rpmh-regulators";
qcom,pmic-id = "H_E0";
vreg_l1h_e0_0p89: ldo1 {
regulator-name = "vreg_l1h_e0_0p89";
regulator-min-microvolt = <832000>;
regulator-max-microvolt = <832000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l2h_e0_0p72: ldo2 {
regulator-name = "vreg_l2h_e0_0p72";
regulator-min-microvolt = <832000>;
regulator-max-microvolt = <832000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l3h_e0_0p32: ldo3 {
regulator-name = "vreg_l3h_e0_0p32";
regulator-min-microvolt = <320000>;
regulator-max-microvolt = <2000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l4h_e0_1p2: ldo4 {
regulator-name = "vreg_l4h_e0_1p2";
regulator-min-microvolt = <1080000>;
regulator-max-microvolt = <1320000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
};
&pcie3b {
vddpe-3v3-supply = <&vreg_nvmesec>;
pinctrl-0 = <&pcie3b_default>;
pinctrl-names = "default";
};
&pcie3b_phy {
vdda-phy-supply = <&vreg_l3c_e1_0p89>;
vdda-pll-supply = <&vreg_l2c_e1_1p14>;
};
&pcie3b_port0 {
reset-gpios = <&tlmm 155 GPIO_ACTIVE_LOW>;
wake-gpios = <&tlmm 157 GPIO_ACTIVE_LOW>;
};
&pcie4 {
pinctrl-0 = <&pcie4_default>;
pinctrl-names = "default";
status = "okay";
};
&pcie4_phy {
vdda-phy-supply = <&vreg_l1c_e1_0p82>;
vdda-pll-supply = <&vreg_l4f_e1_1p08>;
status = "okay";
};
&pcie4_port0 {
reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
wifi@0 {
compatible = "pci17cb,1107";
reg = <0x10000 0x0 0x0 0x0 0x0>;
vddaon-supply = <&vreg_pmu_aon_0p59>;
vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
};
};
&pcie5 {
vddpe-3v3-supply = <&vreg_nvme>;
pinctrl-0 = <&pcie5_default>;
pinctrl-names = "default";
status = "okay";
};
&pcie5_phy {
vdda-phy-supply = <&vreg_l2f_e0_0p82>;
vdda-pll-supply = <&vreg_l4h_e0_1p2>;
status = "okay";
};
&pcie5_port0 {
reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
};
&pcie6 {
vddpe-3v3-supply = <&vreg_wwan>;
pinctrl-0 = <&pcie6_default>;
pinctrl-names = "default";
status = "okay";
};
&pcie6_phy {
vdda-phy-supply = <&vreg_l1c_e1_0p82>;
vdda-pll-supply = <&vreg_l4f_e1_1p08>;
status = "okay";
};
&pcie6_port0 {
reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
};
&pmh0101_gpios {
nvme_reg_en: nvme-reg-en-state {
pins = "gpio14";
function = "normal";
bias-disable;
};
};
&pmh0110_f_e1_gpios {
nvme_sec_reg_en: nvme-reg-en-state {
pins = "gpio14";
function = "normal";
bias-disable;
};
};
&pmh0101_gpios {
key_vol_up_default: key-vol-up-default-state {
pins = "gpio6";
function = "normal";
output-disable;
bias-pull-up;
};
};
&pmk8850_rtc {
qcom,no-alarm;
};
&pon_resin {
linux,code = <KEY_VOLUMEDOWN>;
status = "okay";
};
&tlmm {
gpio-reserved-ranges = <4 4>, /* EC TZ Secure I3C */
<10 2>, /* OOB UART */
<44 4>; /* Security SPI (TPM) */
pcie4_default: pcie4-default-state {
clkreq-n-pins {
pins = "gpio147";
function = "pcie4_clk_req_n";
drive-strength = <2>;
bias-pull-up;
};
perst-n-pins {
pins = "gpio146";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
wake-n-pins {
pins = "gpio148";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
};
pcie5_default: pcie5-default-state {
clkreq-n-pins {
pins = "gpio153";
function = "pcie5_clk_req_n";
drive-strength = <2>;
bias-pull-up;
};
perst-n-pins {
pins = "gpio152";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
wake-n-pins {
pins = "gpio154";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
};
pcie6_default: pcie6-default-state {
clkreq-n-pins {
pins = "gpio150";
function = "pcie6_clk_req_n";
drive-strength = <2>;
bias-pull-up;
};
perst-n-pins {
pins = "gpio149";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
wake-n-pins {
pins = "gpio151";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
};
pcie3b_default: pcie3b-default-state {
clkreq-n-pins {
pins = "gpio156";
function = "pcie3b_clk";
drive-strength = <2>;
bias-pull-up;
};
perst-n-pins {
pins = "gpio155";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
wake-n-pins {
pins = "gpio157";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
};
wcn_wlan_bt_en: wcn-wlan-bt-en-state {
pins = "gpio116", "gpio117";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
wcn_sw_en: wcn-sw-en-state {
pins = "gpio94";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
wwan_reg_en: wwan-reg-en-state {
pins = "gpio246";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
};
&uart14 {
status = "okay";
bluetooth {
compatible = "qcom,wcn7850-bt";
max-speed = <3200000>;
vddaon-supply = <&vreg_pmu_aon_0p59>;
vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
};
};