Re: [PATCH v4 8/8] riscv: dts: microchip: add the sundance polarberry

Conor.Dooley
2022-05-09T11:24:24Z

On 09/05/2022 12:10, Heiko Stübner wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> Am Mittwoch, 4. Mai 2022, 22:30:52 CEST schrieb Conor Dooley:
>> From: Conor Dooley <conor.dooley@microchip.com>
>>
>> Add a minimal device tree for the PolarFire SoC based Sundance
>> PolarBerry.
>>
>> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
>> ---
>> arch/riscv/boot/dts/microchip/Makefile | 1 +
>> .../dts/microchip/mpfs-polarberry-fabric.dtsi | 16 +++
>> .../boot/dts/microchip/mpfs-polarberry.dts | 97 +++++++++++++++++++
>> 3 files changed, 114 insertions(+)
>> create mode 100644 arch/riscv/boot/dts/microchip/mpfs-polarberry-fabric.dtsi
>> create mode 100644 arch/riscv/boot/dts/microchip/mpfs-polarberry.dts
>>
>> diff --git a/arch/riscv/boot/dts/microchip/Makefile b/arch/riscv/boot/dts/microchip/Makefile
>> index af3a5059b350..39aae7b04f1c 100644
>> --- a/arch/riscv/boot/dts/microchip/Makefile
>> +++ b/arch/riscv/boot/dts/microchip/Makefile
>> @@ -1,3 +1,4 @@
>> # SPDX-License-Identifier: GPL-2.0
>> dtb-$(CONFIG_SOC_MICROCHIP_POLARFIRE) += mpfs-icicle-kit.dtb
>> +dtb-$(CONFIG_SOC_MICROCHIP_POLARFIRE) += mpfs-polarberry.dtb
>> obj-$(CONFIG_BUILTIN_DTB) += $(addsuffix .o, $(dtb-y))
>> diff --git a/arch/riscv/boot/dts/microchip/mpfs-polarberry-fabric.dtsi b/arch/riscv/boot/dts/microchip/mpfs-polarberry-fabric.dtsi
>> new file mode 100644
>> index 000000000000..49380c428ec9
>> --- /dev/null
>> +++ b/arch/riscv/boot/dts/microchip/mpfs-polarberry-fabric.dtsi
>> @@ -0,0 +1,16 @@
>> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
>> +/* Copyright (c) 2020-2022 Microchip Technology Inc */
>> +
>> +/ {
>> + fabric_clk3: fabric-clk3 {
>> + compatible = "fixed-clock";
>> + #clock-cells = <0>;
>> + clock-frequency = <62500000>;
>> + };
>> +
>> + fabric_clk1: fabric-clk1 {
>> + compatible = "fixed-clock";
>> + #clock-cells = <0>;
>> + clock-frequency = <125000000>;
>> + };
>> +};
>> diff --git a/arch/riscv/boot/dts/microchip/mpfs-polarberry.dts b/arch/riscv/boot/dts/microchip/mpfs-polarberry.dts
>> new file mode 100644
>> index 000000000000..1cad5b0d42e1
>> --- /dev/null
>> +++ b/arch/riscv/boot/dts/microchip/mpfs-polarberry.dts
>> @@ -0,0 +1,97 @@
>> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
>> +/* Copyright (c) 2020-2022 Microchip Technology Inc */
>> +
>> +/dts-v1/;
>> +
>> +#include "mpfs.dtsi"
>> +#include "mpfs-polarberry-fabric.dtsi"
>> +
>> +/* Clock frequency (in Hz) of the rtcclk */
>> +#define MTIMER_FREQ 1000000
>> +
>> +/ {
>> + model = "Sundance PolarBerry";
>> + compatible = "sundance,polarberry", "microchip,mpfs";
>> +
>> + aliases {
>> + ethernet0 = &mac1;
>> + serial0 = &mmuart0;
>> + };
>> +
>> + chosen {
>> + stdout-path = "serial0:115200n8";
>> + };
>> +
>> + cpus {
>> + timebase-frequency = <MTIMER_FREQ>;
>> + };
>> +
>> + ddrc_cache_lo: memory@80000000 {
>> + device_type = "memory";
>> + reg = <0x0 0x80000000 0x0 0x2e000000>;
>> + };
>> +
>> + ddrc_cache_hi: memory@1000000000 {
>> + device_type = "memory";
>> + reg = <0x10 0x00000000 0x0 0xC0000000>;
>> + };
>> +};
>> +
>> +/*
>> + * phy0 is connected to mac0, but the port itself is on the (optional) carrier
>> + * board.
>> + */
>> +&mac0 {
>> + status = "disabled";
>> + phy-mode = "sgmii";
>> + phy-handle = <&phy0>;
>
> nit: it makes it was easier recognizing the status if it's in the
> same place all the time (for example as the last property)
> like in &mmc below.
>
> Though that may just be my preference ;-) .
> The other option would be to adhere to stricter sorting
> because right now status is neither in one place nor sorted.

My I had it in my head (and correct me if I am wrong please), that it is
okay to sort the phys after the status. It doesn't matter either way to
me, but there are plenty of dts that do it this way.

I don't care either way, so I am happy to change if those are bad examples
to follow!

>
>
>> +};
>> +
>> +&mac1 {
>> + status = "okay";
>> + phy-mode = "sgmii";
>> + phy-handle = <&phy1>;
>
> nit (1): same as above
> nit (2): blank line between properties and subnodes makes
> everything more readable.

Aye, not wrong. I'll fix this regardless of what happens with
the status ordering.
Thanks,
Conor.

>
>> + phy1: ethernet-phy@5 {
>> + reg = <5>;
>> + ti,fifo-depth = <0x01>;
>> + };
>
> nit: blank line?
>
> Otherwise:
> Reviewed-by: Heiko Stuebner <heiko@sntech.de>
>
>> + phy0: ethernet-phy@4 {
>> + reg = <4>;
>> + ti,fifo-depth = <0x01>;
>> + };
>> +};
>> +
>> +&mbox {
>> + status = "okay";
>> +};
>> +
>> +&mmc {
>> + bus-width = <4>;
>> + disable-wp;
>> + cap-sd-highspeed;
>> + cap-mmc-highspeed;
>> + card-detect-delay = <200>;
>> + mmc-ddr-1_8v;
>> + mmc-hs200-1_8v;
>> + sd-uhs-sdr12;
>> + sd-uhs-sdr25;
>> + sd-uhs-sdr50;
>> + sd-uhs-sdr104;
>> + status = "okay";
>> +};
>> +
>> +&mmuart0 {
>> + status = "okay";
>> +};
>> +
>> +&refclk {
>> + clock-frequency = <125000000>;
>> +};
>> +
>> +&rtc {
>> + status = "okay";
>> +};
>> +
>> +&syscontroller {
>> + status = "okay";
>> +};
>>
>
>
>
>