forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
565 lines
10 KiB
565 lines
10 KiB
// SPDX-License-Identifier: GPL-2.0 |
|
|
|
/dts-v1/; |
|
|
|
#include <dt-bindings/gpio/gpio.h> |
|
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> |
|
#include <dt-bindings/regulator/qcom,rpmh-regulator.h> |
|
#include <dt-bindings/sound/qcom,q6afe.h> |
|
#include <dt-bindings/sound/qcom,q6asm.h> |
|
#include "sdm845.dtsi" |
|
#include "pm8998.dtsi" |
|
#include "pmi8998.dtsi" |
|
|
|
/* |
|
* Delete following upstream (sdm845.dtsi) reserved |
|
* memory mappings which are different in this device. |
|
*/ |
|
/delete-node/ &tz_mem; |
|
/delete-node/ &adsp_mem; |
|
/delete-node/ &wlan_msa_mem; |
|
/delete-node/ &mpss_region; |
|
/delete-node/ &venus_mem; |
|
/delete-node/ &cdsp_mem; |
|
/delete-node/ &mba_region; |
|
/delete-node/ &slpi_mem; |
|
/delete-node/ &spss_mem; |
|
/delete-node/ &rmtfs_mem; |
|
|
|
/ { |
|
model = "Xiaomi Pocophone F1"; |
|
compatible = "xiaomi,beryllium", "qcom,sdm845"; |
|
|
|
/* required for bootloader to select correct board */ |
|
qcom,board-id = <69 0>; |
|
qcom,msm-id = <321 0x20001>; |
|
|
|
aliases { |
|
hsuart0 = &uart6; |
|
}; |
|
|
|
gpio-keys { |
|
compatible = "gpio-keys"; |
|
autorepeat; |
|
|
|
pinctrl-names = "default"; |
|
pinctrl-0 = <&vol_up_pin_a>; |
|
|
|
vol-up { |
|
label = "Volume Up"; |
|
linux,code = <KEY_VOLUMEUP>; |
|
gpios = <&pm8998_gpio 6 GPIO_ACTIVE_LOW>; |
|
}; |
|
}; |
|
|
|
/* Reserved memory changes from downstream */ |
|
reserved-memory { |
|
tz_mem: memory@86200000 { |
|
reg = <0 0x86200000 0 0x4900000>; |
|
no-map; |
|
}; |
|
|
|
adsp_mem: memory@8c500000 { |
|
reg = <0 0x8c500000 0 0x1e00000>; |
|
no-map; |
|
}; |
|
|
|
wlan_msa_mem: memory@8e300000 { |
|
reg = <0 0x8e300000 0 0x100000>; |
|
no-map; |
|
}; |
|
|
|
mpss_region: memory@8e400000 { |
|
reg = <0 0x8e400000 0 0x7800000>; |
|
no-map; |
|
}; |
|
|
|
venus_mem: memory@95c00000 { |
|
reg = <0 0x95c00000 0 0x500000>; |
|
no-map; |
|
}; |
|
|
|
cdsp_mem: memory@96100000 { |
|
reg = <0 0x96100000 0 0x800000>; |
|
no-map; |
|
}; |
|
|
|
mba_region: memory@96900000 { |
|
reg = <0 0x96900000 0 0x200000>; |
|
no-map; |
|
}; |
|
|
|
slpi_mem: memory@96b00000 { |
|
reg = <0 0x96b00000 0 0x1400000>; |
|
no-map; |
|
}; |
|
|
|
spss_mem: memory@97f00000 { |
|
reg = <0 0x97f00000 0 0x100000>; |
|
no-map; |
|
}; |
|
|
|
rmtfs_mem: memory@f6301000 { |
|
compatible = "qcom,rmtfs-mem"; |
|
reg = <0 0xf6301000 0 0x200000>; |
|
no-map; |
|
|
|
qcom,client-id = <1>; |
|
qcom,vmid = <15>; |
|
}; |
|
}; |
|
|
|
vreg_s4a_1p8: vreg-s4a-1p8 { |
|
compatible = "regulator-fixed"; |
|
regulator-name = "vreg_s4a_1p8"; |
|
|
|
regulator-min-microvolt = <1800000>; |
|
regulator-max-microvolt = <1800000>; |
|
regulator-always-on; |
|
}; |
|
}; |
|
|
|
&adsp_pas { |
|
status = "okay"; |
|
firmware-name = "qcom/sdm845/adsp.mdt"; |
|
}; |
|
|
|
&apps_rsc { |
|
pm8998-rpmh-regulators { |
|
compatible = "qcom,pm8998-rpmh-regulators"; |
|
qcom,pmic-id = "a"; |
|
|
|
vreg_l1a_0p875: ldo1 { |
|
regulator-min-microvolt = <880000>; |
|
regulator-max-microvolt = <880000>; |
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
|
}; |
|
|
|
vreg_l5a_0p8: ldo5 { |
|
regulator-min-microvolt = <800000>; |
|
regulator-max-microvolt = <800000>; |
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
|
}; |
|
|
|
vreg_l7a_1p8: ldo7 { |
|
regulator-min-microvolt = <1800000>; |
|
regulator-max-microvolt = <1800000>; |
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
|
}; |
|
|
|
vreg_l12a_1p8: ldo12 { |
|
regulator-min-microvolt = <1800000>; |
|
regulator-max-microvolt = <1800000>; |
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
|
}; |
|
|
|
vreg_l13a_2p95: ldo13 { |
|
regulator-min-microvolt = <1800000>; |
|
regulator-max-microvolt = <2960000>; |
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
|
}; |
|
|
|
vreg_l14a_1p8: ldo14 { |
|
regulator-min-microvolt = <1800000>; |
|
regulator-max-microvolt = <1800000>; |
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
|
regulator-boot-on; |
|
regulator-always-on; |
|
}; |
|
|
|
vreg_l17a_1p3: ldo17 { |
|
regulator-min-microvolt = <1304000>; |
|
regulator-max-microvolt = <1304000>; |
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
|
}; |
|
|
|
vreg_l20a_2p95: ldo20 { |
|
regulator-min-microvolt = <2960000>; |
|
regulator-max-microvolt = <2968000>; |
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
|
}; |
|
|
|
vreg_l21a_2p95: ldo21 { |
|
regulator-min-microvolt = <2960000>; |
|
regulator-max-microvolt = <2968000>; |
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
|
}; |
|
|
|
vreg_l24a_3p075: ldo24 { |
|
regulator-min-microvolt = <3088000>; |
|
regulator-max-microvolt = <3088000>; |
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
|
}; |
|
|
|
vreg_l25a_3p3: ldo25 { |
|
regulator-min-microvolt = <3300000>; |
|
regulator-max-microvolt = <3312000>; |
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
|
}; |
|
|
|
vreg_l26a_1p2: ldo26 { |
|
regulator-min-microvolt = <1200000>; |
|
regulator-max-microvolt = <1200000>; |
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
|
regulator-boot-on; |
|
}; |
|
}; |
|
}; |
|
|
|
&cdsp_pas { |
|
status = "okay"; |
|
firmware-name = "qcom/sdm845/cdsp.mdt"; |
|
}; |
|
|
|
&dsi0 { |
|
status = "okay"; |
|
vdda-supply = <&vreg_l26a_1p2>; |
|
|
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
|
|
panel@0 { |
|
compatible = "tianma,fhd-video"; |
|
reg = <0>; |
|
vddi0-supply = <&vreg_l14a_1p8>; |
|
vddpos-supply = <&lab>; |
|
vddneg-supply = <&ibb>; |
|
|
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
|
|
reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>; |
|
|
|
port { |
|
tianma_nt36672a_in_0: endpoint { |
|
remote-endpoint = <&dsi0_out>; |
|
}; |
|
}; |
|
}; |
|
}; |
|
|
|
&dsi0_out { |
|
remote-endpoint = <&tianma_nt36672a_in_0>; |
|
data-lanes = <0 1 2 3>; |
|
}; |
|
|
|
&dsi0_phy { |
|
status = "okay"; |
|
vdds-supply = <&vreg_l1a_0p875>; |
|
}; |
|
|
|
&gcc { |
|
protected-clocks = <GCC_QSPI_CORE_CLK>, |
|
<GCC_QSPI_CORE_CLK_SRC>, |
|
<GCC_QSPI_CNOC_PERIPH_AHB_CLK>, |
|
<GCC_LPASS_Q6_AXI_CLK>, |
|
<GCC_LPASS_SWAY_CLK>; |
|
}; |
|
|
|
&gpu { |
|
zap-shader { |
|
memory-region = <&gpu_mem>; |
|
firmware-name = "qcom/sdm845/a630_zap.mbn"; |
|
}; |
|
}; |
|
|
|
&ibb { |
|
regulator-min-microvolt = <4600000>; |
|
regulator-max-microvolt = <6000000>; |
|
regulator-over-current-protection; |
|
regulator-pull-down; |
|
regulator-soft-start; |
|
qcom,discharge-resistor-kohms = <300>; |
|
}; |
|
|
|
&lab { |
|
regulator-min-microvolt = <4600000>; |
|
regulator-max-microvolt = <6000000>; |
|
regulator-over-current-protection; |
|
regulator-pull-down; |
|
regulator-soft-start; |
|
}; |
|
|
|
&mdss { |
|
status = "okay"; |
|
}; |
|
|
|
&mdss_mdp { |
|
status = "okay"; |
|
}; |
|
|
|
&mss_pil { |
|
status = "okay"; |
|
firmware-name = "qcom/sdm845/mba.mbn", "qcom/sdm845/modem.mdt"; |
|
}; |
|
|
|
&pm8998_gpio { |
|
vol_up_pin_a: vol-up-active { |
|
pins = "gpio6"; |
|
function = "normal"; |
|
input-enable; |
|
bias-pull-up; |
|
qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; |
|
}; |
|
}; |
|
|
|
&pm8998_pon { |
|
resin { |
|
compatible = "qcom,pm8941-resin"; |
|
interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>; |
|
debounce = <15625>; |
|
bias-pull-up; |
|
linux,code = <KEY_VOLUMEDOWN>; |
|
}; |
|
}; |
|
|
|
/* QUAT I2S Uses 1 I2S SD Line for audio on TAS2559/60 amplifiers */ |
|
&q6afedai { |
|
qi2s@22 { |
|
reg = <22>; |
|
qcom,sd-lines = <0>; |
|
}; |
|
}; |
|
|
|
&q6asmdai { |
|
dai@0 { |
|
reg = <0>; |
|
}; |
|
|
|
dai@1 { |
|
reg = <1>; |
|
}; |
|
|
|
dai@2 { |
|
reg = <2>; |
|
}; |
|
}; |
|
|
|
&qupv3_id_0 { |
|
status = "okay"; |
|
}; |
|
|
|
&sdhc_2 { |
|
status = "okay"; |
|
|
|
pinctrl-names = "default"; |
|
pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>; |
|
|
|
vmmc-supply = <&vreg_l21a_2p95>; |
|
vqmmc-supply = <&vreg_l13a_2p95>; |
|
|
|
bus-width = <4>; |
|
cd-gpios = <&tlmm 126 GPIO_ACTIVE_HIGH>; |
|
}; |
|
|
|
&sound { |
|
compatible = "qcom,db845c-sndcard"; |
|
pinctrl-0 = <&quat_mi2s_active |
|
&quat_mi2s_sd0_active>; |
|
pinctrl-names = "default"; |
|
model = "Xiaomi Poco F1"; |
|
audio-routing = |
|
"RX_BIAS", "MCLK", |
|
"AMIC1", "MIC BIAS1", |
|
"AMIC2", "MIC BIAS2", |
|
"AMIC3", "MIC BIAS3"; |
|
|
|
mm1-dai-link { |
|
link-name = "MultiMedia1"; |
|
cpu { |
|
sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; |
|
}; |
|
}; |
|
|
|
mm2-dai-link { |
|
link-name = "MultiMedia2"; |
|
cpu { |
|
sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; |
|
}; |
|
}; |
|
|
|
mm3-dai-link { |
|
link-name = "MultiMedia3"; |
|
cpu { |
|
sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; |
|
}; |
|
}; |
|
|
|
slim-dai-link { |
|
link-name = "SLIM Playback"; |
|
cpu { |
|
sound-dai = <&q6afedai SLIMBUS_0_RX>; |
|
}; |
|
|
|
platform { |
|
sound-dai = <&q6routing>; |
|
}; |
|
|
|
codec { |
|
sound-dai = <&wcd9340 0>; |
|
}; |
|
}; |
|
|
|
slimcap-dai-link { |
|
link-name = "SLIM Capture"; |
|
cpu { |
|
sound-dai = <&q6afedai SLIMBUS_0_TX>; |
|
}; |
|
|
|
platform { |
|
sound-dai = <&q6routing>; |
|
}; |
|
|
|
codec { |
|
sound-dai = <&wcd9340 1>; |
|
}; |
|
}; |
|
}; |
|
|
|
&tlmm { |
|
gpio-reserved-ranges = <0 4>, <81 4>; |
|
|
|
sdc2_default_state: sdc2-default { |
|
clk { |
|
pins = "sdc2_clk"; |
|
bias-disable; |
|
drive-strength = <16>; |
|
}; |
|
|
|
cmd { |
|
pins = "sdc2_cmd"; |
|
bias-pull-up; |
|
drive-strength = <10>; |
|
}; |
|
|
|
data { |
|
pins = "sdc2_data"; |
|
bias-pull-up; |
|
drive-strength = <10>; |
|
}; |
|
}; |
|
|
|
sdc2_card_det_n: sd-card-det-n { |
|
pins = "gpio126"; |
|
function = "gpio"; |
|
bias-pull-up; |
|
}; |
|
|
|
wcd_intr_default: wcd_intr_default { |
|
pins = <54>; |
|
function = "gpio"; |
|
|
|
input-enable; |
|
bias-pull-down; |
|
drive-strength = <2>; |
|
}; |
|
}; |
|
|
|
&uart6 { |
|
status = "okay"; |
|
|
|
bluetooth { |
|
compatible = "qcom,wcn3990-bt"; |
|
|
|
vddio-supply = <&vreg_s4a_1p8>; |
|
vddxo-supply = <&vreg_l7a_1p8>; |
|
vddrf-supply = <&vreg_l17a_1p3>; |
|
vddch0-supply = <&vreg_l25a_3p3>; |
|
max-speed = <3200000>; |
|
}; |
|
}; |
|
|
|
&ufs_mem_hc { |
|
status = "okay"; |
|
|
|
reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>; |
|
|
|
vcc-supply = <&vreg_l20a_2p95>; |
|
vcc-max-microamp = <800000>; |
|
}; |
|
|
|
&ufs_mem_phy { |
|
status = "okay"; |
|
|
|
vdda-phy-supply = <&vreg_l1a_0p875>; |
|
vdda-pll-supply = <&vreg_l26a_1p2>; |
|
}; |
|
|
|
&usb_1 { |
|
status = "okay"; |
|
}; |
|
|
|
&usb_1_dwc3 { |
|
dr_mode = "peripheral"; |
|
}; |
|
|
|
&usb_1_hsphy { |
|
status = "okay"; |
|
|
|
vdd-supply = <&vreg_l1a_0p875>; |
|
vdda-pll-supply = <&vreg_l12a_1p8>; |
|
vdda-phy-dpdm-supply = <&vreg_l24a_3p075>; |
|
|
|
qcom,imp-res-offset-value = <8>; |
|
qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>; |
|
qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>; |
|
qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; |
|
}; |
|
|
|
&usb_1_qmpphy { |
|
status = "okay"; |
|
|
|
vdda-phy-supply = <&vreg_l26a_1p2>; |
|
vdda-pll-supply = <&vreg_l1a_0p875>; |
|
}; |
|
|
|
&wcd9340{ |
|
pinctrl-0 = <&wcd_intr_default>; |
|
pinctrl-names = "default"; |
|
clock-names = "extclk"; |
|
clocks = <&rpmhcc RPMH_LN_BB_CLK2>; |
|
reset-gpios = <&tlmm 64 0>; |
|
vdd-buck-supply = <&vreg_s4a_1p8>; |
|
vdd-buck-sido-supply = <&vreg_s4a_1p8>; |
|
vdd-tx-supply = <&vreg_s4a_1p8>; |
|
vdd-rx-supply = <&vreg_s4a_1p8>; |
|
vdd-io-supply = <&vreg_s4a_1p8>; |
|
qcom,micbias1-microvolt = <2700000>; |
|
qcom,micbias2-microvolt = <1800000>; |
|
qcom,micbias3-microvolt = <2700000>; |
|
qcom,micbias4-microvolt = <2700000>; |
|
}; |
|
|
|
&wifi { |
|
status = "okay"; |
|
|
|
vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>; |
|
vdd-1.8-xo-supply = <&vreg_l7a_1p8>; |
|
vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; |
|
vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; |
|
}; |
|
|
|
/* PINCTRL - additions to nodes defined in sdm845.dtsi */ |
|
|
|
&qup_uart6_default { |
|
pinmux { |
|
pins = "gpio45", "gpio46", "gpio47", "gpio48"; |
|
function = "qup6"; |
|
}; |
|
|
|
cts { |
|
pins = "gpio45"; |
|
bias-disable; |
|
}; |
|
|
|
rts-tx { |
|
pins = "gpio46", "gpio47"; |
|
drive-strength = <2>; |
|
bias-disable; |
|
}; |
|
|
|
rx { |
|
pins = "gpio48"; |
|
bias-pull-up; |
|
}; |
|
};
|
|
|