2023-03-15 21:03:27

by Bhupesh Sharma

[permalink] [raw]
Subject: [PATCH v2 0/2] arm64: dts: qcom: Add Qualcomm RB2 board dts

Changes since v1:
-----------------
- v1 can be viewed here: https://lore.kernel.org/linux-arm-msm/[email protected]/
- Addressed review comments from Konrad and fixed the board dts and also
added a new 'qcom,qrb4210' compatible.
- Although Krzysztof provided an Ack for [PATCH 1/2] from the v1 series,
since this series introduces the new 'qcom,qrb4210' compatible, so I
have dropped the same for now.

Add an initial device tree for Qualcomm RB2 board (see [1]).
It is based on the Robotics version of the Snapdragon SM4250
Soc, i.e. QRB4210.

Currently it enables:
- eMMC via SDHC1,
- uSD card via SDHC2,
- RPM regulators,
- Debug UART (via micro USB port).

Subsequent patchset(s) will add more peripherals like USB, etc.

This patchset is dependent on the QRB4210 SocInfo patchset sent out
earlier (see [2]).

To get a successful boot run:

$ cat arch/arm64/boot/Image.gz arch/arm64/boot/dts/qcom/\
qrb4210-rb2.dtb > ./Image-adp.gz+dtb

$ mkbootimg --kernel ./Image-adp.gz+dtb \
--ramdisk ./some-initramfs-image.rootfs.img \
--output ./rb2-boot.img --pagesize 4096 \
--base 0x80000000 --cmdline 'SOME_CMDLINE'

$ fastboot boot ./rb2-boot.img

[1]. https://www.qualcomm.com/products/internet-of-things/industrial/industrial-automation/qualcomm-robotics-rb2-platform#Overview
[2]. https://lore.kernel.org/linux-arm-msm/[email protected]/

Bhupesh Sharma (2):
dt-bindings: arm: qcom: Document the Qualcomm qrb4210-rb2 board
arm64: dts: qcom: Add base qrb4210-rb2 board dts

.../devicetree/bindings/arm/qcom.yaml | 8 +
arch/arm64/boot/dts/qcom/Makefile | 1 +
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 224 ++++++++++++++++++
3 files changed, 233 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/qrb4210-rb2.dts

--
2.38.1



2023-03-15 21:03:30

by Bhupesh Sharma

[permalink] [raw]
Subject: [PATCH v2 1/2] dt-bindings: arm: qcom: Document the Qualcomm qrb4210-rb2 board

Document the Qualcomm qrb4210-rb2 board based on Robotics version
of the Snapdragon SM4250 Soc, i.e. QRB4210.

Signed-off-by: Bhupesh Sharma <[email protected]>
---
Documentation/devicetree/bindings/arm/qcom.yaml | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 23c9c9ba5d52..5490593dc8f1 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -46,6 +46,7 @@ description: |
msm8998
qcs404
qdu1000
+ qrb4210
qru1000
sa8155p
sa8540p
@@ -90,6 +91,7 @@ description: |
liquid
mtp
qrd
+ rb2
ride
sbc
x100
@@ -848,6 +850,12 @@ properties:
- oneplus,billie2
- const: qcom,sm4250

+ - items:
+ - enum:
+ - qcom,qrb4210-rb2
+ - const: qcom,qrb4210
+ - const: qcom,sm4250
+
- items:
- enum:
- lenovo,j606f
--
2.38.1


2023-03-15 21:03:41

by Bhupesh Sharma

[permalink] [raw]
Subject: [PATCH v2 2/2] arm64: dts: qcom: Add base qrb4210-rb2 board dts

Add DTS for Qualcomm qrb4210-rb2 board which uses SM4250 SoC.

This adds debug uart, emmc, uSD and tlmm support along with
regulators found on this board.

Also defines the 'xo_board' and 'sleep_clk' frequencies for
this board.

Signed-off-by: Bhupesh Sharma <[email protected]>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 224 +++++++++++++++++++++++
2 files changed, 225 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/qrb4210-rb2.dts

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 89e23a74bc7f..101ac733422c 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -69,6 +69,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8998-xiaomi-sagit.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb
dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb
+dtb-$(CONFIG_ARCH_QCOM) += qrb4210-rb2.dtb
dtb-$(CONFIG_ARCH_QCOM) += qrb5165-rb5.dtb
dtb-$(CONFIG_ARCH_QCOM) += qrb5165-rb5-vision-mezzanine.dtb
dtb-$(CONFIG_ARCH_QCOM) += qru1000-idp.dtb
diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
new file mode 100644
index 000000000000..c70c532ba721
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
@@ -0,0 +1,224 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2023, Linaro Limited
+ */
+
+/dts-v1/;
+
+#include "sm4250.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. QRB4210 RB2";
+ compatible = "qcom,qrb4210-rb2", "qcom,qrb4210", "qcom,sm4250";
+
+ aliases {
+ serial0 = &uart4;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ vph_pwr: vph-pwr-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "vph_pwr";
+ regulator-min-microvolt = <3700000>;
+ regulator-max-microvolt = <3700000>;
+
+ regulator-always-on;
+ regulator-boot-on;
+ };
+};
+
+&qupv3_id_0 {
+ status = "okay";
+};
+
+&rpm_requests {
+ regulators {
+ compatible = "qcom,rpm-pm6125-regulators";
+
+ vdd-s1-supply = <&vph_pwr>;
+ vdd-s2-supply = <&vph_pwr>;
+ vdd-s3-supply = <&vph_pwr>;
+ vdd-s4-supply = <&vph_pwr>;
+ vdd-s5-supply = <&vph_pwr>;
+ vdd-s6-supply = <&vph_pwr>;
+ vdd-s7-supply = <&vph_pwr>;
+ vdd-s8-supply = <&vph_pwr>;
+ vdd-s9-supply = <&vph_pwr>;
+ vdd-s10-supply = <&vph_pwr>;
+
+ vdd-l1-l7-l17-l18-supply = <&vreg_s6a_1p352>;
+ vdd-l2-l3-l4-supply = <&vreg_s6a_1p352>;
+ vdd-l5-l15-l19-l20-l21-l22-supply = <&vph_pwr>;
+ vdd-l6-l8-supply = <&vreg_s5a_0p848>;
+ vdd-l9-l11-supply = <&vreg_s7a_2p04>;
+ vdd-l10-l13-l14-supply = <&vreg_s7a_2p04>;
+ vdd-l12-l16-supply = <&vreg_s7a_2p04>;
+ vdd-l23-l24-supply = <&vph_pwr>;
+
+ vreg_s5a_0p848: s5 {
+ regulator-min-microvolt = <920000>;
+ regulator-max-microvolt = <1128000>;
+ };
+
+ vreg_s6a_1p352: s6 {
+ regulator-min-microvolt = <304000>;
+ regulator-max-microvolt = <1456000>;
+ };
+
+ vreg_s7a_2p04: s7 {
+ regulator-min-microvolt = <1280000>;
+ regulator-max-microvolt = <2080000>;
+ };
+
+ vreg_l1a_1p0: l1 {
+ regulator-min-microvolt = <952000>;
+ regulator-max-microvolt = <1152000>;
+ };
+
+ vreg_l4a_0p9: l4 {
+ regulator-min-microvolt = <488000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ vreg_l5a_2p96: l5 {
+ regulator-min-microvolt = <1648000>;
+ regulator-max-microvolt = <3056000>;
+ };
+
+ vreg_l6a_0p6: l6 {
+ regulator-min-microvolt = <576000>;
+ regulator-max-microvolt = <656000>;
+ };
+
+ vreg_l7a_1p256: l7 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1304000>;
+ };
+
+ vreg_l8a_0p664: l8 {
+ regulator-min-microvolt = <400000>;
+ regulator-max-microvolt = <728000>;
+ };
+
+ vreg_l9a_1p8: l9 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2000000>;
+ };
+
+ vreg_l10a_1p8: l10 {
+ regulator-min-microvolt = <1704000>;
+ regulator-max-microvolt = <1904000>;
+ };
+
+ vreg_l11a_1p8: l11 {
+ regulator-min-microvolt = <1704000>;
+ regulator-max-microvolt = <1952000>;
+ };
+
+ vreg_l12a_1p8: l12 {
+ regulator-min-microvolt = <1624000>;
+ regulator-max-microvolt = <1984000>;
+ };
+
+ vreg_l13a_1p8: l13 {
+ regulator-min-microvolt = <1504000>;
+ regulator-max-microvolt = <1952000>;
+ };
+
+ vreg_l14a_1p8: l14 {
+ regulator-min-microvolt = <1704000>;
+ regulator-max-microvolt = <1904000>;
+ };
+
+ vreg_l15a_3p128: l15 {
+ regulator-min-microvolt = <2920000>;
+ regulator-max-microvolt = <3232000>;
+ };
+
+ vreg_l16a_1p3: l16 {
+ regulator-min-microvolt = <1704000>;
+ regulator-max-microvolt = <1904000>;
+ };
+
+ vreg_l17a_1p3: l17 {
+ regulator-min-microvolt = <1152000>;
+ regulator-max-microvolt = <1384000>;
+ };
+
+ vreg_l18a_1p232: l18 {
+ regulator-min-microvolt = <1104000>;
+ regulator-max-microvolt = <1312000>;
+ };
+
+ vreg_l19a_1p8: l19 {
+ regulator-min-microvolt = <1624000>;
+ regulator-max-microvolt = <3304000>;
+ };
+
+ vreg_l20a_1p8: l20 {
+ regulator-min-microvolt = <2504000>;
+ regulator-max-microvolt = <2960000>;
+ };
+
+ vreg_l21a_2p704: l21 {
+ regulator-min-microvolt = <2504000>;
+ regulator-max-microvolt = <2960000>;
+ };
+
+ vreg_l22a_2p96: l22 {
+ regulator-min-microvolt = <2504000>;
+ regulator-max-microvolt = <2960000>;
+ };
+
+ vreg_l23a_3p3: l23 {
+ regulator-min-microvolt = <2504000>;
+ regulator-max-microvolt = <2960000>;
+ };
+
+ vreg_l24a_2p96: l24 {
+ regulator-min-microvolt = <2504000>;
+ regulator-max-microvolt = <2960000>;
+ };
+ };
+};
+
+&sdhc_1 {
+ status = "okay";
+
+ vmmc-supply = <&vreg_l24a_2p96>;
+ vqmmc-supply = <&vreg_l11a_1p8>;
+ no-sdio;
+ non-removable;
+};
+
+&sdhc_2 {
+ status = "okay";
+
+ cd-gpios = <&tlmm 88 GPIO_ACTIVE_HIGH>; /* card detect gpio */
+ vmmc-supply = <&vreg_l22a_2p96>;
+ vqmmc-supply = <&vreg_l5a_2p96>;
+ no-sdio;
+};
+
+&sleep_clk {
+ clock-frequency = <32000>;
+};
+
+&tlmm {
+ gpio-reserved-ranges = <37 5>, <43 2>, <47 1>,
+ <49 1>, <52 1>, <54 1>,
+ <56 3>, <61 2>, <64 1>,
+ <68 1>, <72 8>, <96 1>;
+};
+
+&uart4 {
+ status = "okay";
+};
+
+&xo_board {
+ clock-frequency = <19200000>;
+};
--
2.38.1


2023-03-15 22:33:11

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] arm64: dts: qcom: Add base qrb4210-rb2 board dts

On Thu, Mar 16, 2023 at 02:31:45AM +0530, Bhupesh Sharma wrote:
> Add DTS for Qualcomm qrb4210-rb2 board which uses SM4250 SoC.
>
> This adds debug uart, emmc, uSD and tlmm support along with
> regulators found on this board.
>
> Also defines the 'xo_board' and 'sleep_clk' frequencies for
> this board.
>
> Signed-off-by: Bhupesh Sharma <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 1 +
> arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 224 +++++++++++++++++++++++
> 2 files changed, 225 insertions(+)
> create mode 100644 arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
>
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 89e23a74bc7f..101ac733422c 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -69,6 +69,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8998-xiaomi-sagit.dtb
> dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb
> dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb
> dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb
> +dtb-$(CONFIG_ARCH_QCOM) += qrb4210-rb2.dtb
> dtb-$(CONFIG_ARCH_QCOM) += qrb5165-rb5.dtb
> dtb-$(CONFIG_ARCH_QCOM) += qrb5165-rb5-vision-mezzanine.dtb
> dtb-$(CONFIG_ARCH_QCOM) += qru1000-idp.dtb
> diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> new file mode 100644
> index 000000000000..c70c532ba721
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> @@ -0,0 +1,224 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2023, Linaro Limited
> + */
> +
> +/dts-v1/;
> +
> +#include "sm4250.dtsi"
> +
> +/ {
> + model = "Qualcomm Technologies, Inc. QRB4210 RB2";
> + compatible = "qcom,qrb4210-rb2", "qcom,qrb4210", "qcom,sm4250";
> +
> + aliases {
> + serial0 = &uart4;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + vph_pwr: vph-pwr-regulator {
> + compatible = "regulator-fixed";
> + regulator-name = "vph_pwr";
> + regulator-min-microvolt = <3700000>;
> + regulator-max-microvolt = <3700000>;
> +
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +};
> +
> +&qupv3_id_0 {
> + status = "okay";
> +};
> +
> +&rpm_requests {
> + regulators {
> + compatible = "qcom,rpm-pm6125-regulators";
> +
> + vdd-s1-supply = <&vph_pwr>;
> + vdd-s2-supply = <&vph_pwr>;
> + vdd-s3-supply = <&vph_pwr>;
> + vdd-s4-supply = <&vph_pwr>;
> + vdd-s5-supply = <&vph_pwr>;
> + vdd-s6-supply = <&vph_pwr>;
> + vdd-s7-supply = <&vph_pwr>;
> + vdd-s8-supply = <&vph_pwr>;
> + vdd-s9-supply = <&vph_pwr>;
> + vdd-s10-supply = <&vph_pwr>;
> +
> + vdd-l1-l7-l17-l18-supply = <&vreg_s6a_1p352>;
> + vdd-l2-l3-l4-supply = <&vreg_s6a_1p352>;
> + vdd-l5-l15-l19-l20-l21-l22-supply = <&vph_pwr>;
> + vdd-l6-l8-supply = <&vreg_s5a_0p848>;
> + vdd-l9-l11-supply = <&vreg_s7a_2p04>;
> + vdd-l10-l13-l14-supply = <&vreg_s7a_2p04>;
> + vdd-l12-l16-supply = <&vreg_s7a_2p04>;
> + vdd-l23-l24-supply = <&vph_pwr>;
> +
> + vreg_s5a_0p848: s5 {
> + regulator-min-microvolt = <920000>;
> + regulator-max-microvolt = <1128000>;
> + };
> +
> + vreg_s6a_1p352: s6 {
> + regulator-min-microvolt = <304000>;
> + regulator-max-microvolt = <1456000>;
> + };
> +
> + vreg_s7a_2p04: s7 {
> + regulator-min-microvolt = <1280000>;
> + regulator-max-microvolt = <2080000>;
> + };
> +
> + vreg_l1a_1p0: l1 {
> + regulator-min-microvolt = <952000>;
> + regulator-max-microvolt = <1152000>;
> + };
> +
> + vreg_l4a_0p9: l4 {
> + regulator-min-microvolt = <488000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + vreg_l5a_2p96: l5 {
> + regulator-min-microvolt = <1648000>;
> + regulator-max-microvolt = <3056000>;
> + };
> +
> + vreg_l6a_0p6: l6 {
> + regulator-min-microvolt = <576000>;
> + regulator-max-microvolt = <656000>;
> + };
> +
> + vreg_l7a_1p256: l7 {
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1304000>;
> + };
> +
> + vreg_l8a_0p664: l8 {
> + regulator-min-microvolt = <400000>;
> + regulator-max-microvolt = <728000>;
> + };
> +
> + vreg_l9a_1p8: l9 {
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <2000000>;
> + };
> +
> + vreg_l10a_1p8: l10 {
> + regulator-min-microvolt = <1704000>;
> + regulator-max-microvolt = <1904000>;
> + };
> +
> + vreg_l11a_1p8: l11 {
> + regulator-min-microvolt = <1704000>;
> + regulator-max-microvolt = <1952000>;
> + };
> +
> + vreg_l12a_1p8: l12 {
> + regulator-min-microvolt = <1624000>;
> + regulator-max-microvolt = <1984000>;
> + };
> +
> + vreg_l13a_1p8: l13 {
> + regulator-min-microvolt = <1504000>;
> + regulator-max-microvolt = <1952000>;
> + };
> +
> + vreg_l14a_1p8: l14 {
> + regulator-min-microvolt = <1704000>;
> + regulator-max-microvolt = <1904000>;
> + };
> +
> + vreg_l15a_3p128: l15 {
> + regulator-min-microvolt = <2920000>;
> + regulator-max-microvolt = <3232000>;
> + };
> +
> + vreg_l16a_1p3: l16 {
> + regulator-min-microvolt = <1704000>;
> + regulator-max-microvolt = <1904000>;
> + };
> +
> + vreg_l17a_1p3: l17 {
> + regulator-min-microvolt = <1152000>;
> + regulator-max-microvolt = <1384000>;
> + };
> +
> + vreg_l18a_1p232: l18 {
> + regulator-min-microvolt = <1104000>;
> + regulator-max-microvolt = <1312000>;
> + };
> +
> + vreg_l19a_1p8: l19 {
> + regulator-min-microvolt = <1624000>;
> + regulator-max-microvolt = <3304000>;
> + };
> +
> + vreg_l20a_1p8: l20 {
> + regulator-min-microvolt = <2504000>;
> + regulator-max-microvolt = <2960000>;
> + };
> +
> + vreg_l21a_2p704: l21 {
> + regulator-min-microvolt = <2504000>;
> + regulator-max-microvolt = <2960000>;
> + };
> +
> + vreg_l22a_2p96: l22 {
> + regulator-min-microvolt = <2504000>;
> + regulator-max-microvolt = <2960000>;
> + };
> +
> + vreg_l23a_3p3: l23 {
> + regulator-min-microvolt = <2504000>;
> + regulator-max-microvolt = <2960000>;
> + };
> +
> + vreg_l24a_2p96: l24 {
> + regulator-min-microvolt = <2504000>;
> + regulator-max-microvolt = <2960000>;
> + };
> + };
> +};
> +
> +&sdhc_1 {
> + status = "okay";

Please keep status as the last property.

> +
> + vmmc-supply = <&vreg_l24a_2p96>;

Is there any reason why this platform doesn't require the vmmc supply to
be driven to HPM? This has traditionally been coming back biting us
through some stability issues later.

Regards,
Bjorn

> + vqmmc-supply = <&vreg_l11a_1p8>;
> + no-sdio;
> + non-removable;
> +};
> +
> +&sdhc_2 {
> + status = "okay";
> +
> + cd-gpios = <&tlmm 88 GPIO_ACTIVE_HIGH>; /* card detect gpio */
> + vmmc-supply = <&vreg_l22a_2p96>;
> + vqmmc-supply = <&vreg_l5a_2p96>;
> + no-sdio;
> +};
> +
> +&sleep_clk {
> + clock-frequency = <32000>;
> +};
> +
> +&tlmm {
> + gpio-reserved-ranges = <37 5>, <43 2>, <47 1>,
> + <49 1>, <52 1>, <54 1>,
> + <56 3>, <61 2>, <64 1>,
> + <68 1>, <72 8>, <96 1>;
> +};
> +
> +&uart4 {
> + status = "okay";
> +};
> +
> +&xo_board {
> + clock-frequency = <19200000>;
> +};
> --
> 2.38.1
>

2023-03-15 23:52:23

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] arm64: dts: qcom: Add base qrb4210-rb2 board dts



On 15.03.2023 23:36, Bjorn Andersson wrote:
> On Thu, Mar 16, 2023 at 02:31:45AM +0530, Bhupesh Sharma wrote:
>> Add DTS for Qualcomm qrb4210-rb2 board which uses SM4250 SoC.
>>
>> This adds debug uart, emmc, uSD and tlmm support along with
>> regulators found on this board.
>>
>> Also defines the 'xo_board' and 'sleep_clk' frequencies for
>> this board.
>>
>> Signed-off-by: Bhupesh Sharma <[email protected]>
>> ---
[...]

>> + vmmc-supply = <&vreg_l24a_2p96>;
>
> Is there any reason why this platform doesn't require the vmmc supply to
> be driven to HPM? This has traditionally been coming back biting us
> through some stability issues later.
Do we even support HPM/LPM on SMD RPM?

Konrad
>
> Regards,
> Bjorn
>
>> + vqmmc-supply = <&vreg_l11a_1p8>;
>> + no-sdio;
>> + non-removable;
>> +};
>> +
>> +&sdhc_2 {
>> + status = "okay";
>> +
>> + cd-gpios = <&tlmm 88 GPIO_ACTIVE_HIGH>; /* card detect gpio */
>> + vmmc-supply = <&vreg_l22a_2p96>;
>> + vqmmc-supply = <&vreg_l5a_2p96>;
>> + no-sdio;
>> +};
>> +
>> +&sleep_clk {
>> + clock-frequency = <32000>;
>> +};
>> +
>> +&tlmm {
>> + gpio-reserved-ranges = <37 5>, <43 2>, <47 1>,
>> + <49 1>, <52 1>, <54 1>,
>> + <56 3>, <61 2>, <64 1>,
>> + <68 1>, <72 8>, <96 1>;
>> +};
>> +
>> +&uart4 {
>> + status = "okay";
>> +};
>> +
>> +&xo_board {
>> + clock-frequency = <19200000>;
>> +};
>> --
>> 2.38.1
>>

2023-03-16 07:29:41

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] dt-bindings: arm: qcom: Document the Qualcomm qrb4210-rb2 board

On 15/03/2023 22:01, Bhupesh Sharma wrote:
> Document the Qualcomm qrb4210-rb2 board based on Robotics version
> of the Snapdragon SM4250 Soc, i.e. QRB4210.
>
> Signed-off-by: Bhupesh Sharma <[email protected]>
> ---

Acked-by: Krzysztof Kozlowski <[email protected]>

Best regards,
Krzysztof


2023-04-10 17:01:46

by Bhupesh Sharma

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] arm64: dts: qcom: Add base qrb4210-rb2 board dts



On 3/16/23 5:22 AM, Konrad Dybcio wrote:
>
>
> On 15.03.2023 23:36, Bjorn Andersson wrote:
>> On Thu, Mar 16, 2023 at 02:31:45AM +0530, Bhupesh Sharma wrote:
>>> Add DTS for Qualcomm qrb4210-rb2 board which uses SM4250 SoC.
>>>
>>> This adds debug uart, emmc, uSD and tlmm support along with
>>> regulators found on this board.
>>>
>>> Also defines the 'xo_board' and 'sleep_clk' frequencies for
>>> this board.
>>>
>>> Signed-off-by: Bhupesh Sharma <[email protected]>
>>> ---
> [...]
>
>>> + vmmc-supply = <&vreg_l24a_2p96>;
>>
>> Is there any reason why this platform doesn't require the vmmc supply to
>> be driven to HPM? This has traditionally been coming back biting us
>> through some stability issues later.
> Do we even support HPM/LPM on SMD RPM?

I couldn't find any relevant documentation to say the same (HPM/LPM
support on SMD RPM?).
So, I would suggest that we stick to the approach used in this patch for
now.

@Bjorn, please let me know in case of any concerns.

Thanks,
Bhupesh

2023-04-10 17:10:46

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] arm64: dts: qcom: Add base qrb4210-rb2 board dts

On Thu, Mar 16, 2023 at 12:52:10AM +0100, Konrad Dybcio wrote:
>
>
> On 15.03.2023 23:36, Bjorn Andersson wrote:
> > On Thu, Mar 16, 2023 at 02:31:45AM +0530, Bhupesh Sharma wrote:
> >> Add DTS for Qualcomm qrb4210-rb2 board which uses SM4250 SoC.
> >>
> >> This adds debug uart, emmc, uSD and tlmm support along with
> >> regulators found on this board.
> >>
> >> Also defines the 'xo_board' and 'sleep_clk' frequencies for
> >> this board.
> >>
> >> Signed-off-by: Bhupesh Sharma <[email protected]>
> >> ---
> [...]
>
> >> + vmmc-supply = <&vreg_l24a_2p96>;
> >
> > Is there any reason why this platform doesn't require the vmmc supply to
> > be driven to HPM? This has traditionally been coming back biting us
> > through some stability issues later.
> Do we even support HPM/LPM on SMD RPM?
>

We support specifying the load, which will trickle down to have the
HPM/LPM effect. You can find an example of this, with motivation in [1].

PS. While looking for an example I found [2]. regulator-system-load
doesn't do anything unless regulator-allow-set-load is defined...

[1] e38161bd325e ("arm64: dts: apq8096-db820c: Increase load on l21 for SDCARD")
[2] 1d99fee382a6 ("arm64: dts: qcom: sdm845-tama: Add regulator-system-load to l14a/l28a")

Regards,
Bjorn