[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <10660989-4f1d-0107-f595-bcfd1ca5ea95@linaro.org>
Date: Tue, 4 Jul 2023 20:10:11 +0200
From: Konrad Dybcio <konrad.dybcio@...aro.org>
To: David Wronek <davidwronek@...il.com>,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Taniya Das <tdas@...eaurora.org>
Cc: linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-clk@...r.kernel.org,
~postmarketos/upstreaming@...ts.sr.ht, phone-devel@...r.kernel.org
Subject: Re: [PATCH 7/7] arm64: dts: qcom: Add support for the Xiaomi SM7125
platform
On 4.07.2023 18:32, David Wronek wrote:
> 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@...il.com>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 1 +
> .../boot/dts/qcom/sm7125-xiaomi-joyeuse.dts | 16 +
> .../boot/dts/qcom/sm7125-xiaomi-miatoll.dtsi | 420 ++++++++++++++++++
> 3 files changed, 437 insertions(+)
> create mode 100644 arch/arm64/boot/dts/qcom/sm7125-xiaomi-joyeuse.dts
> create mode 100644 arch/arm64/boot/dts/qcom/sm7125-xiaomi-miatoll.dtsi
>
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 337abc4ceb17..7ef9e7d43904 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -192,6 +192,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
> diff --git a/arch/arm64/boot/dts/qcom/sm7125-xiaomi-joyeuse.dts b/arch/arm64/boot/dts/qcom/sm7125-xiaomi-joyeuse.dts
> new file mode 100644
> index 000000000000..670fd63f3416
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sm7125-xiaomi-joyeuse.dts
> @@ -0,0 +1,16 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2023, David Wronek <davidwronek@...il.com>
> + */
> +
> +/dts-v1/;
> +
> +#include "sm7125-xiaomi-miatoll.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>;
I think you need to amend some list in bindings to allow qcom,abcd-id properties
[...]
> + rmtfs_mem: memory@...01000 {
> + compatible = "qcom,rmtfs-mem";
> + reg = <0x0 0xfa601000 0x0 0x200000>;
> + no-map;
> +
> + qcom,client-id = <1>;
> + qcom,vmid = <15>;
QCOM_SCM_VMID_MSS_MSA
from
include/dt-bindings/firmware/qcom,scm.h
> + };
> + };
> +};
> +
> +&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_LPM>;
You want HPM, LPM is not guaranteed to give you the desired voltages.
[...]
> +&sdhc_2 {
> + status = "okay";
Status last, everywhere
Konrad
> +
> + pinctrl-names = "default","sleep";
> + pinctrl-0 = <&sdc2_on>;
> + pinctrl-1 = <&sdc2_off>;
> + vmmc-supply = <&vreg_l9c_2p9>;
> + vqmmc-supply = <&vreg_l6c_3p0>;
> +
> + cd-gpios = <&tlmm 69 GPIO_ACTIVE_HIGH>;
> +};
> +
> +&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 {
> + maximum-speed = "high-speed";
> + dr_mode = "peripheral";
> + status = "okay";
> +};
> +
> +&usb_1_hsphy {
> + vdd-supply = <&vreg_l4a_0p88>;
> + vdda-pll-supply = <&vreg_l11a_1p8>;
> + vdda-phy-dpdm-supply = <&vreg_l17a_3p1>;
> + status = "okay";
> +};
> +
> +&usb_1_qmpphy {
> + status = "okay";
> + vdda-phy-supply = <&vreg_l4a_0p88>;
> + vdda-pll-supply = <&vreg_l3c_1p23>;
> +};
Powered by blists - more mailing lists