stm32mp: handle SYSRESET
Add support of sysreset with generic driver "syscon-reboot"
provided by RCC, for U-boot and for SPL.
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 777b2f0..190f883 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1166,6 +1166,7 @@
select REGMAP
select SUPPORT_SPL
select SYSCON
+ select SYSRESET
select SYS_THUMB_BUILD
help
Support for STM32MP SoC family developed by STMicroelectronics,
diff --git a/arch/arm/dts/stm32mp157-u-boot.dtsi b/arch/arm/dts/stm32mp157-u-boot.dtsi
index 7a9a4ce..1eca802 100644
--- a/arch/arm/dts/stm32mp157-u-boot.dtsi
+++ b/arch/arm/dts/stm32mp157-u-boot.dtsi
@@ -72,6 +72,10 @@
u-boot,dm-pre-reloc;
};
+&rcc_reboot {
+ u-boot,dm-pre-reloc;
+};
+
&pinctrl {
u-boot,dm-pre-reloc;
};
diff --git a/arch/arm/dts/stm32mp157.dtsi b/arch/arm/dts/stm32mp157.dtsi
index 77953c8..b84899a 100644
--- a/arch/arm/dts/stm32mp157.dtsi
+++ b/arch/arm/dts/stm32mp157.dtsi
@@ -114,6 +114,13 @@
#reset-cells = <1>;
compatible = "st,stm32mp1-rcc-rst";
};
+
+ rcc_reboot: rcc-reboot@50000000 {
+ compatible = "syscon-reboot";
+ regmap = <&rcc>;
+ offset = <0x404>;
+ mask = <0x1>;
+ };
};
pinctrl: pin-controller {
diff --git a/arch/arm/mach-stm32mp/Kconfig b/arch/arm/mach-stm32mp/Kconfig
index 9771af9..8ca97bf 100644
--- a/arch/arm/mach-stm32mp/Kconfig
+++ b/arch/arm/mach-stm32mp/Kconfig
@@ -16,6 +16,7 @@
select SPL_RESET_SUPPORT
select SPL_SERIAL_SUPPORT
select SPL_SYSCON
+ select SPL_DRIVERS_MISC_SUPPORT
imply SPL_LIBDISK_SUPPORT
config SYS_SOC
@@ -26,6 +27,7 @@
select CPU_V7
select PINCTRL_STM32
select STM32_RESET
+ select SYSRESET_SYSCON
help
target STMicroelectronics SOC STM32MP1 family
STMicroelectronics MPU with core ARMv7
diff --git a/arch/arm/mach-stm32mp/cpu.c b/arch/arm/mach-stm32mp/cpu.c
index 4ba2aec..f9f3bf9 100644
--- a/arch/arm/mach-stm32mp/cpu.c
+++ b/arch/arm/mach-stm32mp/cpu.c
@@ -269,7 +269,3 @@
return 0;
}
-
-void reset_cpu(ulong addr)
-{
-}