On 5/12/25 19:21, Marek Vasut wrote:
> Add DT additions required by U-Boot SPL to bring up the hardware.
> This includes binman node to generate STM32 Image v2.0 which can be
> booted by the BootROM, clock entries used by the SPL clock driver
> during clock tree initialization, and syscon-reboot node so U-Boot
> can reset the system without having to rely on PSCI call.
>
> Signed-off-by: Marek Vasut <marek.va...@mailbox.org>
> ---
> Cc: Cheick Traore <cheick.tra...@foss.st.com>
> Cc: Fabrice Gasnier <fabrice.gasn...@foss.st.com>
> Cc: Gatien Chevallier <gatien.chevall...@foss.st.com>
> Cc: Lionel Debieve <lionel.debi...@foss.st.com>
> Cc: Pascal Zimmermann <pzimmerm...@dh-electronics.com>
> Cc: Patrice Chotard <patrice.chot...@foss.st.com>
> Cc: Patrick Delaunay <patrick.delau...@foss.st.com>
> Cc: Simon Glass <s...@chromium.org>
> Cc: Sughosh Ganu <sughosh.g...@linaro.org>
> Cc: Tom Rini <tr...@konsulko.com>
> Cc: u-b...@dh-electronics.com
> Cc: u-boot@lists.denx.de
> Cc: uboot-st...@st-md-mailman.stormreply.com
> ---
> arch/arm/dts/stm32mp13-u-boot.dtsi | 89 ++++++++++++++++++++++++++++++
> 1 file changed, 89 insertions(+)
>
> diff --git a/arch/arm/dts/stm32mp13-u-boot.dtsi
> b/arch/arm/dts/stm32mp13-u-boot.dtsi
> index 1fe6966781c..ad63d5027b2 100644
> --- a/arch/arm/dts/stm32mp13-u-boot.dtsi
> +++ b/arch/arm/dts/stm32mp13-u-boot.dtsi
> @@ -17,6 +17,7 @@
> pinctrl0 = &pinctrl;
> };
>
> +#if defined(CONFIG_TFABOOT)
> firmware {
> optee {
> bootph-all;
> @@ -27,6 +28,86 @@
> psci {
> bootph-some-ram;
> };
> +#else
> + binman: binman {
> + multiple-images;
> +
> + spl-stm32 {
> + filename = "u-boot-spl.stm32";
> + mkimage {
> + args = "-T stm32imagev2 -a 0x2ffe0000 -e
> 0x2ffe0000";
> + u-boot-spl {
> + no-write-symbols;
> + };
> + };
> + };
> + };
> +
> + clocks {
> + bootph-all;
> +
> + clk_hse: ck_hse {
> + bootph-all;
> + #clock-cells = <0>;
> + compatible = "fixed-clock";
> + clock-frequency = <24000000>;
> + };
> +
> + clk_hsi: ck_hsi {
> + bootph-all;
> + #clock-cells = <0>;
> + compatible = "fixed-clock";
> + clock-frequency = <64000000>;
> + };
> +
> + clk_lse: ck_lse {
> + bootph-all;
> + #clock-cells = <0>;
> + compatible = "fixed-clock";
> + clock-frequency = <32768>;
> + };
> +
> + clk_lsi: ck_lsi {
> + bootph-all;
> + #clock-cells = <0>;
> + compatible = "fixed-clock";
> + clock-frequency = <32000>;
> + };
> +
> + clk_csi: ck_csi {
> + bootph-all;
> + #clock-cells = <0>;
> + compatible = "fixed-clock";
> + clock-frequency = <4000000>;
> + };
> + };
> +
> + cpu0_opp_table: cpu0-opp-table {
> + compatible = "operating-points-v2";
> + opp-shared;
> + bootph-pre-ram;
> + opp-650000000 {
> + bootph-pre-ram;
> + opp-hz = /bits/ 64 <650000000>;
> + opp-microvolt = <1200000>;
> + opp-supported-hw = <0x1>;
> + };
> + opp-1000000000 {
> + bootph-pre-ram;
> + opp-hz = /bits/ 64 <1000000000>;
> + opp-microvolt = <1350000>;
> + opp-supported-hw = <0x2>;
> + };
> + };
> +
> + reboot {
> + bootph-all;
> + compatible = "syscon-reboot";
> + regmap = <&rcc>;
> + offset = <0x114>;
> + mask = <0x1>;
> + };
> +#endif
>
> soc {
> bootph-all;
> @@ -52,6 +133,14 @@
> bootph-all;
> };
>
> +#if !defined(CONFIG_TFABOOT)
> +&cpu0 {
> + nvmem-cells = <&part_number_otp>;
> + nvmem-cell-names = "part_number";
> + operating-points-v2 = <&cpu0_opp_table>;
> +};
> +#endif
> +
> &gpioa {
> bootph-all;
> };
Reviewed-by: Patrice Chotard <patrice.chot...@foss.st.com>
Thanks
Patrice