[PATCH u-boot v2019.04-aspeed-openbmc v2] ARM: dts: aspeed: add Qualcomm DC-SCM V1

Cédric Le Goater clg at kaod.org
Tue Jun 7 17:43:14 AEST 2022


On 6/7/22 03:05, Joel Stanley wrote:
> On Mon, 6 Jun 2022 at 13:56, Jae Hyun Yoo <quic_jaehyoo at quicinc.com> wrote:
>>
>> Ping
>>
>> On 5/19/2022 11:53 AM, Jae Hyun Yoo wrote:
>>> From: Graeme Gregory <quic_ggregory at quicinc.com>
>>>
>>> Add initial version of device tree for Qualcomm DC-SCM V1 BMC which is
>>> equipped with Aspeed AST2600 BMC SoC.
>>>
>>> Signed-off-by: Graeme Gregory <quic_ggregory at quicinc.com>
>>> Signed-off-by: Jae Hyun Yoo <quic_jaehyoo at quicinc.com>
>>> ---
>>> Changes in v2:
>>> * Changed vendor name from Nuvia to Qualcomm.
>>>
>>>    arch/arm/dts/Makefile                   |   1 +
>>>    arch/arm/dts/ast2600-qcom-dc-scm-v1.dts | 208 ++++++++++++++++++++++++
>>>    2 files changed, 209 insertions(+)
>>>    create mode 100644 arch/arm/dts/ast2600-qcom-dc-scm-v1.dts
>>>
>>> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
>>> index 3515100c65ce..e86a6c0ed609 100755
>>> --- a/arch/arm/dts/Makefile
>>> +++ b/arch/arm/dts/Makefile
>>> @@ -686,6 +686,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
>>>        ast2600-intel.dtb \
>>>        ast2600-ncsi.dtb \
>>>        ast2600-pfr.dtb \
>>> +     ast2600-qcom-dc-scm-v1.dts \
>>>        ast2600-rainier.dtb \
>>>        ast2600-s6q.dtb \
>>>        ast2600-slt.dtb \
>>> diff --git a/arch/arm/dts/ast2600-qcom-dc-scm-v1.dts b/arch/arm/dts/ast2600-qcom-dc-scm-v1.dts
>>> new file mode 100644
>>> index 000000000000..e966f739b708
>>> --- /dev/null
>>> +++ b/arch/arm/dts/ast2600-qcom-dc-scm-v1.dts
>>> @@ -0,0 +1,208 @@
>>> +// SPDX-License-Identifier: GPL-2.0-or-later
>>> +// Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
>>> +/dts-v1/;
>>> +
>>> +#include "ast2600-u-boot.dtsi"
>>> +
>>> +/ {
>>> +     model = "Qualcomm DC-SCM V1 BMC";
>>> +     compatible = "qcom,dc-scm-v1-bmc", "aspeed,ast2600";
>>> +
>>> +     memory {
>>> +             device_type = "memory";
>>> +             reg = <0x80000000 0x40000000>;
>>> +     };
>>> +
>>> +     chosen {
>>> +             stdout-path = &uart5;
>>> +     };
>>> +
>>> +     aliases {
>>> +             spi0 = &fmc;
>>> +             spi1 = &spi1;
>>> +             spi2 = &spi2;
>>> +     };
>>> +
>>> +     cpus {
>>> +             cpu at 0 {
>>> +                     clock-frequency = <800000000>;
>>> +             };
>>> +             cpu at 1 {
>>> +                     clock-frequency = <800000000>;
>>> +             };
>>> +     };
>>> +};
>>> +
>>> +&uart5 {
>>> +     u-boot,dm-pre-reloc;
>>> +     status = "okay";
>>> +};
>>> +
>>> +&sdrammc {
>>> +     clock-frequency = <400000000>;
>>> +};
>>> +
>>> +&wdt1 {
>>> +     status = "okay";
>>> +};
>>> +
>>> +&wdt2 {
>>> +     status = "okay";
>>> +};
>>> +
>>> +&wdt3 {
>>> +     status = "okay";
>>> +};
>>> +
>>> +&mdio {
>>> +     status = "okay";
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <&pinctrl_mdio4_default>;
>>> +     #address-cells = <1>;
>>> +     #size-cells = <0>;
>>> +
>>> +     ethphy3: ethernet-phy at 1 {
>>> +             reg = <1>;
>>> +     };
>>> +};
>>> +
>>> +&mac2 {
>>> +     status = "okay";
>>> +     reg = <0x1e670000 0x180>, <0x1e650018 0x4>;
>>> +     phy-mode = "rgmii";
>>> +     phy-handle = <&ethphy3>;
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <&pinctrl_rgmii3_default>;
>>> +};
>>> +
>>> +&fmc {
>>> +     status = "okay";
>>> +
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <&pinctrl_fmcquad_default>;
>>> +
>>> +     flash at 0 {
>>> +             compatible = "spi-flash", "sst,w25q256";
> 
> Compatible strings should go from the most general to the most
> specific, so these are around the wrong way. I see you've probably
> just copied the ast2600-evb which makes the same mistake.
> 
> In the dtsi we have jedec,spi-nor which you overwrite here.
> 
> u-boot has spi-flash but Linux uses jedec,spi-nor. I wonder if we
> should update the aspeed driver to use that?
> 
> Cédric, do you have thoughts here?

Yes. The closer we are to the Linux DT the better.

The "spi-flash" and "jedec,spi-nor" compatibles are equivalent for
the SF driver in U-Boot. I think we can remove all the :

    compatible = "spi-flash", "sst,w25q256";

from the Aspeed dts files.

This fits what the latest U-Boot does.

Cheers,

C.

> 
>>> +             status = "okay";
>>> +             spi-max-frequency = <133000000>;
>>> +             spi-tx-bus-width = <4>;
>>> +             spi-rx-bus-width = <4>;
>>> +     };
>>> +
>>> +     flash at 1 {
>>> +             compatible = "spi-flash", "sst,w25q256";
>>> +             status = "okay";
>>> +             spi-max-frequency = <133000000>;
>>> +             spi-tx-bus-width = <4>;
>>> +             spi-rx-bus-width = <4>;
>>> +     };
>>> +};
>>> +
>>> +&spi1 {
>>> +     status = "okay";
>>> +
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <&pinctrl_spi1_default &pinctrl_spi1abr_default
>>> +                     &pinctrl_spi1cs1_default &pinctrl_spi1wp_default
>>> +                     &pinctrl_spi1wp_default &pinctrl_spi1quad_default>;
>>> +
>>> +     flash at 0 {
>>> +             compatible = "spi-flash", "sst,w25q256";
>>> +             status = "okay";
>>> +             spi-max-frequency = <133000000>;
>>> +             spi-tx-bus-width = <4>;
>>> +             spi-rx-bus-width = <4>;
>>> +     };
>>> +};
>>> +
>>> +&i2c4 {
>>> +     status = "okay";
>>> +
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <&pinctrl_i2c5_default>;
> 
> All of the pinctrl properties are set in the dtsi as of f2b82fa4ba17
> ("arm: dts: ast2600: Add I2C pinctrl"), so you can drop these.
> 
> 
>>> +};
>>> +
>>> +&i2c5 {
>>> +     status = "okay";
>>> +
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <&pinctrl_i2c6_default>;
>>> +};
>>> +
>>> +&i2c6 {
>>> +     status = "okay";
>>> +
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <&pinctrl_i2c7_default>;
>>> +};
>>> +
>>> +&i2c7 {
>>> +     status = "okay";
>>> +
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <&pinctrl_i2c8_default>;
>>> +};
>>> +
>>> +&i2c8 {
>>> +     status = "okay";
>>> +
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <&pinctrl_i2c9_default>;
>>> +};
>>> +
>>> +&i2c9 {
>>> +     status = "okay";
>>> +
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <&pinctrl_i2c10_default>;
>>> +};
>>> +
>>> +&i2c10 {
>>> +     status = "okay";
>>> +
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <&pinctrl_i2c11_default>;
>>> +};
>>> +
>>> +&i2c12 {
>>> +     status = "okay";
>>> +
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <&pinctrl_i2c13_default>;
>>> +};
>>> +
>>> +&i2c13 {
>>> +     status = "okay";
>>> +
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <&pinctrl_i2c14_default>;
>>> +};
>>> +
>>> +&i2c14 {
>>> +     status = "okay";
>>> +
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <&pinctrl_i2c15_default>;
>>> +};
>>> +
>>> +&i2c15 {
>>> +     status = "okay";
>>> +
>>> +     pinctrl-names = "default";
>>> +     pinctrl-0 = <&pinctrl_i2c16_default>;
>>> +};
>>> +
>>> +&scu {
>>> +     mac0-clk-delay = <0x1d 0x1c
>>> +                       0x10 0x17
>>> +                       0x10 0x17>;
>>> +     mac1-clk-delay = <0x1d 0x10
>>> +                       0x10 0x10
>>> +                       0x10 0x10>;
>>> +     mac2-clk-delay = <0x0a 0x04
>>> +                       0x08 0x04
>>> +                       0x08 0x04>;
>>> +     mac3-clk-delay = <0x0a 0x04
>>> +                       0x08 0x04
>>> +                       0x08 0x04>;
>>> +};



More information about the openbmc mailing list