[PATCH 3/3] ARM: dts: at91: sam9x60: Add spi0 node (flexcom 0)
Alexander Dahl
ada at thorsis.com
Tue Nov 11 14:17:04 CET 2025
Hello Eugen,
Am Tue, Nov 11, 2025 at 02:33:31PM +0200 schrieb Eugen Hristev:
>
>
> On 11/11/25 14:15, Alexander Dahl wrote:
> > Hello Eugen,
> >
> > Am Tue, Nov 11, 2025 at 01:34:35PM +0200 schrieb Eugen Hristev:
> >>
> >>
> >> On 11/11/25 13:26, Alexander Dahl wrote:
> >>> Copied from linux kernel v6.18-rc4. Stripped attributes not supported
> >>> by U-Boot drivers (dma, interrupt, fifo-size).
> >>
> >> Hello Alexander,
> >>
> >> Have you tried to configure the build to use upstream DTS ? this should
> >> be available in the U-boot dir. CONFIG_OF_UPSTREAM I believe.
> >
> > Quick try with _just_ enabling CONFIG_OF_UPSTREAM and adding the
> > obligatory folder to CONFIG_DEFAULT_DEVICE_TREE leads to the expected
> > build errors:
> >
> > DTC dts/upstream/src/arm/microchip/at91-sam9x60_curiosity.dtb
> > Error: …/u-boot/arch/arm/dts/at91-sam9x60_curiosity-u-boot.dtsi:43.1-7 Label or path clk32 not found
> > Error: …/u-boot/arch/arm/dts/at91-sam9x60_curiosity-u-boot.dtsi:51.1-9 Label or path main_rc not found
> > Error: …/u-boot/arch/arm/dts/at91-sam9x60_curiosity-u-boot.dtsi:67.1-16 Label or path pinctrl_sdhci0 not found
> > Error: …/u-boot/arch/arm/dts/at91-sam9x60_curiosity-u-boot.dtsi:79.1-9 Label or path pit64b0 not found
> > Error: …/u-boot/arch/arm/dts/at91-sam9x60_curiosity-u-boot.dtsi:87.1-8 Label or path sdhci0 not found
> > Error: …/u-boot/arch/arm/dts/at91-sam9x60_curiosity-u-boot.dtsi:91.1-13 Label or path slow_rc_osc not found
> > FATAL ERROR: Syntax error parsing input tree
> >
> > Not bad for the first shot, but I guess at least the clock related
> > issues might get challenging. However I need to put this aside for later.
> >
> > One question though, while we are at it: Would it be possible to
> > define a custom dts in U-Boot and include an upstream .dtsi?
>
> There is a custom dts in U-boot, in your case sam9x60-u-boot.dtsi, and
> this should be automatically included by the build tool.
> This applies on top of the upstream dts if you select it, or, the
> in-tree DTS.
> You want to do some combo of both or something ? I didn't fully
> understand it.
Sorry, was not clear enough. For the sam9x60_curiosity case of course
at91-sam9x60_curiosity.dts _and_ sam9x60.dtsi should come from
UPSTREAM, with u-boot specific quirks coming from in-tree
…-u-boot.dtsi files as usual, for both parts.
A custom board dts missing in upstream, would be added to (downstream)
U-Boot in-tree, but it should pick up upstream sam9x60.dtsi,
especially if U-Boot in-tree dtsi gets removed eventually. Wonder if
that's possible? Alas, one could simply try, later. ;-)
> In the case of the above errors, it appears the *-u-boot.dtsi is at
> fault for referencing non-upstream nodes
Probably.
Greets
Alex
>
> >
> > Greets
> > Alex
> >
> >>
> >> Also, if you really want to update this u-boot DT, you would have to
> >> copy it as-is, no stripping. Even if the props are unused. The only real
> >> issue would be if Uboot stops working or gets confused by these extra props
> >>
> >> Eugen>
> >>> Signed-off-by: Alexander Dahl <ada at thorsis.com>
> >>> ---
> >>> arch/arm/dts/sam9x60.dtsi | 10 ++++++++++
> >>> 1 file changed, 10 insertions(+)
> >>>
> >>> diff --git a/arch/arm/dts/sam9x60.dtsi b/arch/arm/dts/sam9x60.dtsi
> >>> index a33c0d57398..1ee30422518 100644
> >>> --- a/arch/arm/dts/sam9x60.dtsi
> >>> +++ b/arch/arm/dts/sam9x60.dtsi
> >>> @@ -182,6 +182,16 @@
> >>> ranges = <0x0 0xf801c000 0x800>;
> >>> status = "disabled";
> >>>
> >>> + spi0: spi at 400 {
> >>> + compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> >>> + reg = <0x400 0x200>;
> >>> + #address-cells = <1>;
> >>> + #size-cells = <0>;
> >>> + clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
> >>> + clock-names = "spi_clk";
> >>> + status = "disabled";
> >>> + };
> >>> +
> >>> i2c0: i2c at 600 {
> >>> compatible = "microchip,sam9x60-i2c";
> >>> reg = <0x600 0x200>;
> >>
> >
>
More information about the U-Boot
mailing list