[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 = <ðphy3>;
>>> + 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