[PATCH v7 02/12] riscv: dts: jh7110: Make u-boot device trees adapting to upstream DT
Hal Feng
hal.feng at starfivetech.com
Fri Dec 6 03:16:07 CET 2024
> On 05.12.24 03:07, E Shattow wrote:
> 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.
OK. Actually these properties are unused in U-Boot.
>
> > &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".
OK. Drop it.
>
> 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.
I prefer to send a clean-up patch after some changes like qspi and eeprom are
synced to upstream Linux. Because the clean-up work is not the purpose of
this series and I will note all properties this series changes in the cover letter.
Best regards,
Hal
More information about the U-Boot
mailing list