arm64: dts: qcom: Add support for the Xiaomi SM7125 platform
There are 6 Xiaomi smartphones with the SM7125 SoC: - POCO M2 Pro (gram) - Redmi Note 9S (curtana) - Redmi Note 9 Pro (Global, joyeuse) - Redmi Note 9 Pro (India, curtana) - Redmi Note 9 Pro Max (excalibur) - Redmi Note 10 Lite (curtana) These devices share a common board design (a.k.a miatoll) with only a few differences. Add support for the common board, as well as support for the global Redmi Note 9 Pro. Signed-off-by: David Wronek <davidwronek@gmail.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Link: https://lore.kernel.org/r/20230824091737.75813-5-davidwronek@gmail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>pull/807/head
parent
72fbf05149
commit
7d65d4b7d7
|
|
@ -201,6 +201,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sm6125-sony-xperia-seine-pdx201.dtb
|
|||
dtb-$(CONFIG_ARCH_QCOM) += sm6125-xiaomi-laurel-sprout.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += sm6350-sony-xperia-lena-pdx213.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += sm6375-sony-xperia-murray-pdx225.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += sm7125-xiaomi-joyeuse.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += sm7225-fairphone-fp4.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += sm8150-hdk.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += sm8150-microsoft-surface-duo.dtb
|
||||
|
|
|
|||
|
|
@ -0,0 +1,423 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/arm/qcom,ids.h>
|
||||
#include <dt-bindings/firmware/qcom,scm.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
|
||||
#include "sm7125.dtsi"
|
||||
#include "pm6150.dtsi"
|
||||
#include "pm6150l.dtsi"
|
||||
|
||||
/delete-node/ &ipa_fw_mem;
|
||||
/delete-node/ &rmtfs_mem;
|
||||
|
||||
/ {
|
||||
chassis-type = "handset";
|
||||
|
||||
qcom,msm-id = <QCOM_ID_SM7125 0>;
|
||||
|
||||
chosen {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
framebuffer@9c000000 {
|
||||
compatible = "simple-framebuffer";
|
||||
reg = <0x0 0x9c000000 0x0 (1080 * 2400 * 4)>;
|
||||
width = <1080>;
|
||||
height = <2400>;
|
||||
stride = <(1080 * 4)>;
|
||||
format = "a8r8g8b8";
|
||||
clocks = <&gcc GCC_DISP_HF_AXI_CLK>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio_keys: gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
key-vol-up {
|
||||
label = "Volume Up";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
gpios = <&pm6150l_gpios 2 GPIO_ACTIVE_LOW>;
|
||||
debounce-interval = <15>;
|
||||
linux,can-disable;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
mpss_mem: memory@86000000 {
|
||||
reg = <0x0 0x86000000 0x0 0x8400000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
venus_mem: memory@8ee00000 {
|
||||
reg = <0x0 0x8ee00000 0x0 0x500000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
cdsp_mem: memory@8f300000 {
|
||||
reg = <0x0 0x8f300000 0x0 0x1e00000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
adsp_mem: memory@91100000 {
|
||||
reg = <0x0 0x91100000 0x0 0x2800000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
wlan_mem: memory@93900000 {
|
||||
reg = <0x0 0x93900000 0x0 0x200000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
ipa_fw_mem: memory@93b00000 {
|
||||
reg = <0x0 0x93b00000 0x0 0x10000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
gpu_mem: memory@93b15000 {
|
||||
reg = <0x0 0x93b15000 0x0 0x2000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
cont_splash_mem: memory@9c000000 {
|
||||
reg = <0x0 0x9c000000 0x0 (1080 * 2400 * 4)>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
pstore_mem: ramoops@9d800000 {
|
||||
compatible = "ramoops";
|
||||
reg = <0x0 0x9d800000 0x0 0x400000>;
|
||||
record-size = <0x80000>;
|
||||
pmsg-size = <0x200000>;
|
||||
console-size = <0x100000>;
|
||||
};
|
||||
|
||||
rmtfs_mem: memory@fa601000 {
|
||||
compatible = "qcom,rmtfs-mem";
|
||||
reg = <0x0 0xfa601000 0x0 0x200000>;
|
||||
no-map;
|
||||
|
||||
qcom,client-id = <1>;
|
||||
qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&apps_rsc {
|
||||
regulators-0 {
|
||||
compatible = "qcom,pm6150-rpmh-regulators";
|
||||
qcom,pmic-id = "a";
|
||||
|
||||
vreg_s1a_1p1: smps1 {
|
||||
regulator-min-microvolt = <1128000>;
|
||||
regulator-max-microvolt = <1128000>;
|
||||
};
|
||||
|
||||
vreg_s4a_1p0: smps4 {
|
||||
regulator-min-microvolt = <824000>;
|
||||
regulator-max-microvolt = <1120000>;
|
||||
};
|
||||
|
||||
vreg_s5a_2p0: smps5 {
|
||||
regulator-min-microvolt = <1744000>;
|
||||
regulator-max-microvolt = <2040000>;
|
||||
};
|
||||
|
||||
vreg_l1a_1p2: ldo1 {
|
||||
regulator-min-microvolt = <1178000>;
|
||||
regulator-max-microvolt = <1256000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l2a_1p0: ldo2 {
|
||||
regulator-min-microvolt = <944000>;
|
||||
regulator-max-microvolt = <1056000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l3a_1p0: ldo3 {
|
||||
regulator-min-microvolt = <968000>;
|
||||
regulator-max-microvolt = <1064000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l4a_0p88: ldo4 {
|
||||
regulator-min-microvolt = <824000>;
|
||||
regulator-max-microvolt = <928000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l5a_2p7: ldo5 {
|
||||
regulator-min-microvolt = <2496000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l6a_0p6: ldo6 {
|
||||
regulator-min-microvolt = <568000>;
|
||||
regulator-max-microvolt = <648000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l9a_0p664: ldo9 {
|
||||
regulator-min-microvolt = <488000>;
|
||||
regulator-max-microvolt = <800000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l10a_1p8: ldo10 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1832000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l11a_1p8: ldo11 {
|
||||
regulator-min-microvolt = <1696000>;
|
||||
regulator-max-microvolt = <1904000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l12a_1p8: ldo12 {
|
||||
regulator-min-microvolt = <1696000>;
|
||||
regulator-max-microvolt = <1952000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l13a_1p8: ldo13 {
|
||||
regulator-min-microvolt = <1696000>;
|
||||
regulator-max-microvolt = <1904000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l14a_1p8: ldo14 {
|
||||
regulator-min-microvolt = <1728000>;
|
||||
regulator-max-microvolt = <1832000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l15a_1p8: ldo15 {
|
||||
regulator-min-microvolt = <1696000>;
|
||||
regulator-max-microvolt = <1904000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l16a_2p7: ldo16 {
|
||||
regulator-min-microvolt = <2496000>;
|
||||
regulator-max-microvolt = <3304000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l17a_3p1: ldo17 {
|
||||
regulator-min-microvolt = <2920000>;
|
||||
regulator-max-microvolt = <3232000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l18a_3p0: ldo18 {
|
||||
regulator-min-microvolt = <1696000>;
|
||||
regulator-max-microvolt = <1904000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l19a_3p0: ldo19 {
|
||||
regulator-min-microvolt = <2696000>;
|
||||
regulator-max-microvolt = <3304000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
};
|
||||
|
||||
regulators-1 {
|
||||
compatible = "qcom,pm6150l-rpmh-regulators";
|
||||
qcom,pmic-id = "c";
|
||||
|
||||
vreg_s8c_1p3: smps8 {
|
||||
regulator-min-microvolt = <1120000>;
|
||||
regulator-max-microvolt = <1408000>;
|
||||
};
|
||||
|
||||
vreg_l1c_1p8: ldo1 {
|
||||
regulator-min-microvolt = <1616000>;
|
||||
regulator-max-microvolt = <1984000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l2c_1p3: ldo2 {
|
||||
regulator-min-microvolt = <1168000>;
|
||||
regulator-max-microvolt = <1304000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l3c_1p23: ldo3 {
|
||||
regulator-min-microvolt = <1144000>;
|
||||
regulator-max-microvolt = <1304000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l4c_1p8: ldo4 {
|
||||
regulator-min-microvolt = <1648000>;
|
||||
regulator-max-microvolt = <3304000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l5c_1p8: ldo5 {
|
||||
regulator-min-microvolt = <1648000>;
|
||||
regulator-max-microvolt = <3304000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l6c_3p0: ldo6 {
|
||||
regulator-min-microvolt = <1648000>;
|
||||
regulator-max-microvolt = <3304000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l7c_3p0: ldo7 {
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3312000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l8c_1p8: ldo8 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1904000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l9c_2p9: ldo9 {
|
||||
regulator-min-microvolt = <2952000>;
|
||||
regulator-max-microvolt = <3304000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l10c_3p3: ldo10 {
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l11c_3p3: ldo11 {
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_bob: bob {
|
||||
regulator-min-microvolt = <3008000>;
|
||||
regulator-max-microvolt = <3960000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&dispcc {
|
||||
/* HACK: disable until a panel driver is ready to retain simplefb */
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&pm6150_resin {
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pm6150_rtc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhc_2 {
|
||||
cd-gpios = <&tlmm 69 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default","sleep";
|
||||
pinctrl-0 = <&sdc2_on>;
|
||||
pinctrl-1 = <&sdc2_off>;
|
||||
vmmc-supply = <&vreg_l9c_2p9>;
|
||||
vqmmc-supply = <&vreg_l6c_3p0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
gpio-reserved-ranges = <0 4>, <34 4>, <59 4>;
|
||||
|
||||
sdc2_on: sdc2-on-state {
|
||||
clk-pins {
|
||||
pins = "sdc2_clk";
|
||||
bias-disable;
|
||||
drive-strength = <16>;
|
||||
};
|
||||
|
||||
cmd-pins {
|
||||
pins = "sdc2_cmd";
|
||||
bias-pull-up;
|
||||
drive-strength = <10>;
|
||||
};
|
||||
|
||||
data-pins {
|
||||
pins = "sdc2_data";
|
||||
bias-pull-up;
|
||||
drive-strength = <10>;
|
||||
};
|
||||
|
||||
sd-cd-pins {
|
||||
pins = "gpio69";
|
||||
function = "gpio";
|
||||
bias-pull-up;
|
||||
drive-strength = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
sdc2_off: sdc2-off-state {
|
||||
clk-pins {
|
||||
pins = "sdc2_clk";
|
||||
bias-disable;
|
||||
drive-strength = <2>;
|
||||
};
|
||||
|
||||
cmd-pins {
|
||||
pins = "sdc2_cmd";
|
||||
bias-pull-up;
|
||||
drive-strength = <2>;
|
||||
};
|
||||
|
||||
data-pins {
|
||||
pins = "sdc2_data";
|
||||
bias-pull-up;
|
||||
drive-strength = <2>;
|
||||
};
|
||||
|
||||
sd-cd-pins {
|
||||
pins = "gpio69";
|
||||
function = "gpio";
|
||||
bias-pull-up;
|
||||
drive-strength = <2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&usb_1 {
|
||||
qcom,select-utmi-as-pipe-clk;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_1_dwc3 {
|
||||
dr_mode = "peripheral";
|
||||
maximum-speed = "high-speed";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_1_hsphy {
|
||||
vdd-supply = <&vreg_l4a_0p88>;
|
||||
vdda-phy-dpdm-supply = <&vreg_l17a_3p1>;
|
||||
vdda-pll-supply = <&vreg_l11a_1p8>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_1_qmpphy {
|
||||
vdda-phy-supply = <&vreg_l4a_0p88>;
|
||||
vdda-pll-supply = <&vreg_l3c_1p23>;
|
||||
status = "okay";
|
||||
};
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sm7125-xiaomi-common.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Xiaomi Redmi Note 9 Pro (Global)";
|
||||
compatible = "xiaomi,joyeuse", "qcom,sm7125";
|
||||
|
||||
/* required for bootloader to select correct board */
|
||||
qcom,board-id = <0x50022 1>;
|
||||
};
|
||||
Loading…
Reference in New Issue