Re: [PATCH v5 10/13] arm: u8500: Switch Stemmy to upstream Janice device tree

Stephan Gerhold <[email protected]>
Newsgroups org.u-boot-project.lists.u-boot
Message-ID <[email protected]>
On Sun, Aug 23, 2026 at 10:39:29PM +0200, Linus Walleij wrote:
> Use the upstream Samsung Janice device tree as the initial target for
> the Stemmy configuration. This also prepares the board to share the
> upstream Ux500 Samsung device trees with Linux.
> 
> U-Boot does not yet implement the U8500 clock providers used by the
> upstream device tree. Add a U-Boot-specific overlay with the known MTU
> clock rate and fixed input clocks for the external SD and internal eMMC
> controllers. Remove the superseded downstream Stemmy and DBx500 device
> tree files, and disable the unused WLAN SDIO controller for U-Boot.
> 
> Signed-off-by: Linus Walleij <[email protected]>
> ---
>  arch/arm/dts/Makefile                     |    1 -
>  arch/arm/dts/ste-dbx5x0-u-boot.dtsi       |   38 -
>  arch/arm/dts/ste-dbx5x0.dtsi              | 1144 -----------------------------
>  arch/arm/dts/ste-ux500-samsung-stemmy.dts |   36 -
>  arch/arm/dts/u8500-u-boot.dtsi            |   30 +
>  configs/stemmy_defconfig                  |    3 +-
>  6 files changed, 32 insertions(+), 1220 deletions(-)
> 
> [...]
> diff --git a/arch/arm/dts/ste-ux500-samsung-stemmy.dts b/arch/arm/dts/ste-ux500-samsung-stemmy.dts
> deleted file mode 100644
> index 14be86086b22..000000000000
> --- a/arch/arm/dts/ste-ux500-samsung-stemmy.dts
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-or-later
> -/dts-v1/;
> -
> -#include "ste-dbx5x0-u-boot.dtsi"
> -#include "ste-ab8500.dtsi"
> -
> -/ {
> -	compatible = "samsung,stemmy", "st-ericsson,u8500";
> -
> -	chosen {
> -		stdout-path = &serial2;
> -	};
> -
> -	soc {
> -		/* eMMC */
> -		mmc@80005000 {
> -			status = "okay";
> -
> -			arm,primecell-periphid = <0x10480180>;
> -			max-frequency = <100000000>;
> -			bus-width = <8>;
> -
> -			non-removable;
> -			cap-mmc-highspeed;
> -		};
> -
> -		/* Debugging console UART */
> -		uart@80007000 {
> -			status = "okay";
> -		};
> -
> -		mcde@a0350000 {
> -			status = "okay";
> -		};
> -	};
> -};
> diff --git a/arch/arm/dts/u8500-u-boot.dtsi b/arch/arm/dts/u8500-u-boot.dtsi
> new file mode 100644
> index 000000000000..9b69b4fd257e
> --- /dev/null
> +++ b/arch/arm/dts/u8500-u-boot.dtsi
> @@ -0,0 +1,30 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +
> +/ {
> +	/* FIXME: Remove this when the U8500 clock driver is implemented */
> +	sdmmcclk: sdmmcclk {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <100000000>;
> +	};
> +
> +	soc {
> +		mtu@a03c6000 {
> +			clock-frequency = <133000000>;
> +		};
> +
> +		mmc@80126000 {
> +			clocks = <&sdmmcclk>;
> +		};
> +
> +		mmc@80118000 {
> +			status = "disabled";
> +		};

Nitpick: Maybe you can add a comment here to explain this

			/* Typically SDIO, unneeded in U-Boot */

Although long-term I think we should try to drop all of these overrides
and handle workarounds in the board code or drivers if necessary. With
EFI, some people may try to boot generic distro images that don't
override the DTB, in that case Linux will boot with the original U-Boot
DTB. E.g. arch/arm/mach-snapdragon/of_fixup.c has some DTB workarounds
that are applied only to U-Boot and then discarded when booting Linux
with the U-Boot DTB.

But that's something for a future patch series, not this one. :-)

Thanks,
Stephan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.