[PATCH v7 02/12] riscv: dts: jh7110: Make u-boot device trees adapting to upstream DT

E Shattow lucent at gmail.com
Wed Dec 4 20:07:03 CET 2024


On Mon, Dec 2, 2024 at 7:05 PM Hal Feng <hal.feng at starfivetech.com> wrote:
>
> Add u-boot features to the U-Boot device tree.
>
> Tested-by: Anand Moon <linux.amoon at gmail.com>
> Tested-by: E Shattow <lucent at gmail.com>
> Reviewed-by: E Shattow <lucent at gmail.com>
> Acked-by: Sumit Garg <sumit.garg at linaro.org>
> Signed-off-by: Hal Feng <hal.feng at starfivetech.com>
> ---
>  ...10-starfive-visionfive-2-v1.3b-u-boot.dtsi | 33 +++++++++++++++---
>  arch/riscv/dts/jh7110-u-boot.dtsi             | 34 +++++++++++++++++++
>  2 files changed, 63 insertions(+), 4 deletions(-)
>
> diff --git a/arch/riscv/dts/jh7110-starfive-visionfive-2-v1.3b-u-boot.dtsi b/arch/riscv/dts/jh7110-starfive-visionfive-2-v1.3b-u-boot.dtsi
> index 3012466b30..7953459e67 100644
> --- a/arch/riscv/dts/jh7110-starfive-visionfive-2-v1.3b-u-boot.dtsi
> +++ b/arch/riscv/dts/jh7110-starfive-visionfive-2-v1.3b-u-boot.dtsi
> @@ -6,6 +6,10 @@
>  #include "binman.dtsi"
>  #include "jh7110-u-boot.dtsi"
>  / {
> +       aliases {
> +               spi0 = &qspi;
> +       };
> +
>         chosen {
>                 bootph-pre-ram;
>         };
> @@ -27,6 +31,9 @@
>
>  &uart0 {
>         bootph-pre-ram;
> +       reg-offset = <0>;
> +       current-speed = <115200>;
> +       clock-frequency = <24000000>;
>  };
>
>  &mmc0 {
> @@ -39,30 +46,45 @@
>
>  &qspi {
>         bootph-pre-ram;
> +       spi-max-frequency = <250000000>;
>
> -       nor-flash at 0 {
> +       flash at 0 {
>                 bootph-pre-ram;
> +               /delete-property/ cdns,read-delay;
> +               spi-max-frequency = <100000000>;
>         };
>  };
>
> +&syscrg {
> +       assigned-clocks = <&syscrg JH7110_SYSCLK_CPU_ROOT>,
> +                         <&syscrg JH7110_SYSCLK_BUS_ROOT>,
> +                         <&syscrg JH7110_SYSCLK_PERH_ROOT>,
> +                         <&syscrg JH7110_SYSCLK_QSPI_REF>;
> +       assigned-clock-parents = <&pllclk JH7110_PLLCLK_PLL0_OUT>,
> +                                <&pllclk JH7110_PLLCLK_PLL2_OUT>,
> +                                <&pllclk JH7110_PLLCLK_PLL2_OUT>,
> +                                <&syscrg JH7110_SYSCLK_QSPI_REF_SRC>;
> +       assigned-clock-rates = <0>, <0>, <0>, <0>;
> +};
> +
>  &sysgpio {
>         bootph-pre-ram;
>  };
>
>  &mmc0_pins {
>         bootph-pre-ram;
> -       mmc0-pins-rest {
> +       rst-pins {
>                 bootph-pre-ram;
>         };
>  };
>
>  &mmc1_pins {
>         bootph-pre-ram;
> -       mmc1-pins0 {
> +       clk-pins {
>                 bootph-pre-ram;
>         };
>
> -       mmc1-pins1 {
> +       mmc-pins {
>                 bootph-pre-ram;
>         };
>  };
> @@ -78,6 +100,9 @@
>         bootph-pre-ram;
>         eeprom at 50 {
>                 bootph-pre-ram;
> +               compatible = "atmel,24c04";
> +               reg = <0x50>;
> +               pagesize = <16>;
>         };
>  };
>
> diff --git a/arch/riscv/dts/jh7110-u-boot.dtsi b/arch/riscv/dts/jh7110-u-boot.dtsi
> index 52c1d60859..21a2ab1789 100644
> --- a/arch/riscv/dts/jh7110-u-boot.dtsi
> +++ b/arch/riscv/dts/jh7110-u-boot.dtsi
> @@ -46,6 +46,15 @@
>                 };
>         };
>
> +       timer {
> +               compatible = "riscv,timer";
> +               interrupts-extended = <&cpu0_intc 5>,
> +                                     <&cpu1_intc 5>,
> +                                     <&cpu2_intc 5>,
> +                                     <&cpu3_intc 5>,
> +                                     <&cpu4_intc 5>;
> +       };
> +
>         soc {
>                 bootph-pre-ram;
>
> @@ -73,10 +82,35 @@
>         bootph-pre-ram;
>  };
>
> +&gmac0_rgmii_rxin {
> +       bootph-pre-ram;
> +};
> +
>  &gmac0_rmii_refin {
>         bootph-pre-ram;
>  };
>
> +&gmac1_rgmii_rxin {
> +       bootph-pre-ram;
> +};
> +
> +&gmac1_rmii_refin {
> +       bootph-pre-ram;
> +};
> +

> +&stmmac_axi_setup {
> +       snps,wr_osr_lmt = <4>;
> +       snps,rd_osr_lmt = <4>;
> +};
> +
> +&gmac0 {
> +       snps,perfect-filter-entries = <8>;
> +};
> +
> +&gmac1 {
> +       snps,perfect-filter-entries = <8>;
> +};
> +

Redundant &stmmac_axi_setup &gmac0 &gmac1 property overrides (upstream
has all these). Drop.

>  &aoncrg {
>         bootph-pre-ram;
>  };
> --
> 2.43.2
>

There's also a redundant &S7_0 { status = "okay"; }; which can be
dropped, it is no-op since that alias is already set to be
status="okay".

I tested on Star64 network function and cold boot, is fine. What
remains are the liberal use of bootph-pre-ram properties, the DRAM
Memory Controller dmc which does not appear yet in Linux, the timer {}
node; elsewhere the eeprom and uart of which the eeprom and
bootph-pre-ram properties can probably get upstream easily enough
later on.

Your choice if you want to trim these redundant properties here or if
it should be done as a later clean-up patch, as upstream does not have
the same values for these properties all.

-E


More information about the U-Boot mailing list