* [PATCH 0/4] stm32mp: add minimal RCC support for STM32MP13
@ 2022-05-10 7:51 Patrick Delaunay
2022-05-10 7:51 ` [PATCH 1/4] clk: Add directory for STM32 clock drivers Patrick Delaunay
` (4 more replies)
0 siblings, 5 replies; 10+ messages in thread
From: Patrick Delaunay @ 2022-05-10 7:51 UTC (permalink / raw)
To: u-boot
Cc: Gabriel FERNANDEZ, Patrick Delaunay, Lukasz Majewski,
Patrice Chotard, Sean Anderson, Tom Rini, U-Boot STM32
Add a minimal support for STM32MP13 RCC, the reset and clock controller
- update of the RCC MISC driver to bind the correct clock and reset driver
- reset driver, same than STM32MP15x = drivers/reset/stm32-reset.c
- clock driver, add a empty driver for STM32MP13x =
drivers/clk/stm32/clk-stm32mp13.c
- Add RCC node in SOC device tree with u-boot,dm-pre-reloc property
This serie is only a preliminary step for STM32MP13 clock and reset support
in U-Boot, based on Linux kernel binding introduced by [1] and it prepares
the next device tree alignment with Linux kernel.
The functional STMP13 clock driver based on CCF and on SCMI clocks
provided by OP-TEE and the clock and reset references in SOC device tree
will be pushed when the associated patches in [1] will be accepted.
[1] Introduction of STM32MP13 RCC driver (Reset Clock Controller)
https://lore.kernel.org/linux-arm-kernel/20220316131000.9874-1-gabriel.fernandez@foss.st.com/
Patrick Delaunay (4):
clk: Add directory for STM32 clock drivers
clk: stm32mp13: add a STM32MP13 RCC clock driver
misc: stm32mp13: introduce STM32MP13 RCC driver
ARM: dts: stm32: add rcc node for STM32MP13
MAINTAINERS | 2 +-
arch/arm/dts/stm32mp13-u-boot.dtsi | 4 ++++
arch/arm/dts/stm32mp131.dtsi | 7 ++++++
drivers/clk/Kconfig | 17 +-------------
drivers/clk/Makefile | 5 ++---
drivers/clk/stm32/Kconfig | 31 ++++++++++++++++++++++++++
drivers/clk/stm32/Makefile | 8 +++++++
drivers/clk/stm32/clk-stm32mp13.c | 21 +++++++++++++++++
drivers/clk/{ => stm32}/clk_stm32f.c | 0
drivers/clk/{ => stm32}/clk_stm32h7.c | 0
drivers/clk/{ => stm32}/clk_stm32mp1.c | 0
drivers/misc/stm32_rcc.c | 6 +++++
12 files changed, 81 insertions(+), 20 deletions(-)
create mode 100644 drivers/clk/stm32/Kconfig
create mode 100644 drivers/clk/stm32/Makefile
create mode 100644 drivers/clk/stm32/clk-stm32mp13.c
rename drivers/clk/{ => stm32}/clk_stm32f.c (100%)
rename drivers/clk/{ => stm32}/clk_stm32h7.c (100%)
rename drivers/clk/{ => stm32}/clk_stm32mp1.c (100%)
--
2.25.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/4] clk: Add directory for STM32 clock drivers
2022-05-10 7:51 [PATCH 0/4] stm32mp: add minimal RCC support for STM32MP13 Patrick Delaunay
@ 2022-05-10 7:51 ` Patrick Delaunay
2022-05-11 16:40 ` Sean Anderson
2022-05-10 7:51 ` [PATCH 2/4] clk: stm32mp13: add a STM32MP13 RCC clock driver Patrick Delaunay
` (3 subsequent siblings)
4 siblings, 1 reply; 10+ messages in thread
From: Patrick Delaunay @ 2022-05-10 7:51 UTC (permalink / raw)
To: u-boot
Cc: Gabriel FERNANDEZ, Patrick Delaunay, Lukasz Majewski,
Patrice Chotard, Sean Anderson, uboot-stm32
Add a directory in drivers/clk to regroup the clock drivers for all
STM32 Soc with CONFIG_ARCH_STM32 (MCUs with cortex M) or
CONFIG_ARCH_STM32MP (MPUs with cortex A).
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
---
MAINTAINERS | 2 +-
drivers/clk/Kconfig | 17 +----------------
drivers/clk/Makefile | 5 ++---
drivers/clk/stm32/Kconfig | 23 +++++++++++++++++++++++
drivers/clk/stm32/Makefile | 7 +++++++
drivers/clk/{ => stm32}/clk_stm32f.c | 0
drivers/clk/{ => stm32}/clk_stm32h7.c | 0
drivers/clk/{ => stm32}/clk_stm32mp1.c | 0
8 files changed, 34 insertions(+), 20 deletions(-)
create mode 100644 drivers/clk/stm32/Kconfig
create mode 100644 drivers/clk/stm32/Makefile
rename drivers/clk/{ => stm32}/clk_stm32f.c (100%)
rename drivers/clk/{ => stm32}/clk_stm32h7.c (100%)
rename drivers/clk/{ => stm32}/clk_stm32mp1.c (100%)
diff --git a/MAINTAINERS b/MAINTAINERS
index 56be0bfad0..3f37edd716 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -469,7 +469,7 @@ S: Maintained
F: arch/arm/mach-stm32mp/
F: doc/board/st/
F: drivers/adc/stm32-adc*
-F: drivers/clk/clk_stm32mp1.c
+F: drivers/clk/stm32/
F: drivers/gpio/stm32_gpio.c
F: drivers/hwspinlock/stm32_hwspinlock.c
F: drivers/i2c/stm32f7_i2c.c
diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
index 6dc271f71b..98ad481d9e 100644
--- a/drivers/clk/Kconfig
+++ b/drivers/clk/Kconfig
@@ -140,22 +140,6 @@ config CLK_SCMI
by a SCMI agent based on SCMI clock protocol communication
with a SCMI server.
-config CLK_STM32F
- bool "Enable clock driver support for STM32F family"
- depends on CLK && (STM32F7 || STM32F4)
- default y
- help
- This clock driver adds support for RCC clock management
- for STM32F4 and STM32F7 SoCs.
-
-config CLK_STM32MP1
- bool "Enable RCC clock driver for STM32MP1"
- depends on ARCH_STM32MP && CLK
- default y
- help
- Enable the STM32 clock (RCC) driver. Enable support for
- manipulating STM32MP1's on-SoC clocks.
-
config CLK_HSDK
bool "Enable cgu clock driver for HSDK boards"
depends on CLK && TARGET_HSDK
@@ -225,6 +209,7 @@ source "drivers/clk/owl/Kconfig"
source "drivers/clk/renesas/Kconfig"
source "drivers/clk/sunxi/Kconfig"
source "drivers/clk/sifive/Kconfig"
+source "drivers/clk/stm32/Kconfig"
source "drivers/clk/tegra/Kconfig"
source "drivers/clk/ti/Kconfig"
source "drivers/clk/uniphier/Kconfig"
diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile
index bb4eee5d99..09fbaf6233 100644
--- a/drivers/clk/Makefile
+++ b/drivers/clk/Makefile
@@ -22,6 +22,8 @@ obj-$(CONFIG_ARCH_MESON) += meson/
obj-$(CONFIG_ARCH_MTMIPS) += mtmips/
obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/
obj-$(CONFIG_ARCH_SOCFPGA) += altera/
+obj-$(CONFIG_ARCH_STM32) += stm32/
+obj-$(CONFIG_ARCH_STM32MP) += stm32/
obj-$(CONFIG_ARCH_SUNXI) += sunxi/
obj-$(CONFIG_CLK_AT91) += at91/
obj-$(CONFIG_CLK_BCM6345) += clk_bcm6345.o
@@ -38,8 +40,6 @@ obj-$(CONFIG_CLK_OWL) += owl/
obj-$(CONFIG_CLK_RENESAS) += renesas/
obj-$(CONFIG_CLK_SCMI) += clk_scmi.o
obj-$(CONFIG_CLK_SIFIVE) += sifive/
-obj-$(CONFIG_CLK_STM32F) += clk_stm32f.o
-obj-$(CONFIG_CLK_STM32MP1) += clk_stm32mp1.o
obj-$(CONFIG_CLK_UNIPHIER) += uniphier/
obj-$(CONFIG_CLK_VERSACLOCK) += clk_versaclock.o
obj-$(CONFIG_CLK_VERSAL) += clk_versal.o
@@ -52,4 +52,3 @@ obj-$(CONFIG_MACH_PIC32) += clk_pic32.o
obj-$(CONFIG_SANDBOX_CLK_CCF) += clk_sandbox_ccf.o
obj-$(CONFIG_SANDBOX) += clk_sandbox.o
obj-$(CONFIG_SANDBOX) += clk_sandbox_test.o
-obj-$(CONFIG_STM32H7) += clk_stm32h7.o
diff --git a/drivers/clk/stm32/Kconfig b/drivers/clk/stm32/Kconfig
new file mode 100644
index 0000000000..eac3fc1e9d
--- /dev/null
+++ b/drivers/clk/stm32/Kconfig
@@ -0,0 +1,23 @@
+config CLK_STM32F
+ bool "Enable clock driver support for STM32F family"
+ depends on CLK && (STM32F7 || STM32F4)
+ default y
+ help
+ This clock driver adds support for RCC clock management
+ for STM32F4 and STM32F7 SoCs.
+
+config CLK_STM32H7
+ bool "Enable clock driver support for STM32H7 family"
+ depends on CLK && STM32H7
+ default y
+ help
+ This clock driver adds support for RCC clock management
+ for STM32H7 SoCs.
+
+config CLK_STM32MP1
+ bool "Enable RCC clock driver for STM32MP15"
+ depends on ARCH_STM32MP && CLK
+ default y if STM32MP15x
+ help
+ Enable the STM32 clock (RCC) driver. Enable support for
+ manipulating STM32MP15's on-SoC clocks.
diff --git a/drivers/clk/stm32/Makefile b/drivers/clk/stm32/Makefile
new file mode 100644
index 0000000000..b420eeaa4e
--- /dev/null
+++ b/drivers/clk/stm32/Makefile
@@ -0,0 +1,7 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# Copyright (C) 2022, STMicroelectronics - All Rights Reserved
+
+obj-$(CONFIG_CLK_STM32F) += clk_stm32f.o
+obj-$(CONFIG_CLK_STM32H7) += clk_stm32h7.o
+obj-$(CONFIG_CLK_STM32MP1) += clk_stm32mp1.o
diff --git a/drivers/clk/clk_stm32f.c b/drivers/clk/stm32/clk_stm32f.c
similarity index 100%
rename from drivers/clk/clk_stm32f.c
rename to drivers/clk/stm32/clk_stm32f.c
diff --git a/drivers/clk/clk_stm32h7.c b/drivers/clk/stm32/clk_stm32h7.c
similarity index 100%
rename from drivers/clk/clk_stm32h7.c
rename to drivers/clk/stm32/clk_stm32h7.c
diff --git a/drivers/clk/clk_stm32mp1.c b/drivers/clk/stm32/clk_stm32mp1.c
similarity index 100%
rename from drivers/clk/clk_stm32mp1.c
rename to drivers/clk/stm32/clk_stm32mp1.c
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/4] clk: stm32mp13: add a STM32MP13 RCC clock driver
2022-05-10 7:51 [PATCH 0/4] stm32mp: add minimal RCC support for STM32MP13 Patrick Delaunay
2022-05-10 7:51 ` [PATCH 1/4] clk: Add directory for STM32 clock drivers Patrick Delaunay
@ 2022-05-10 7:51 ` Patrick Delaunay
2022-05-10 12:18 ` [Uboot-stm32] " Grzegorz Szymaszek
2022-05-10 7:51 ` [PATCH 3/4] misc: stm32mp13: introduce STM32MP13 RCC driver Patrick Delaunay
` (2 subsequent siblings)
4 siblings, 1 reply; 10+ messages in thread
From: Patrick Delaunay @ 2022-05-10 7:51 UTC (permalink / raw)
To: u-boot
Cc: Gabriel FERNANDEZ, Patrick Delaunay, Lukasz Majewski,
Patrice Chotard, Sean Anderson, uboot-stm32
Introduce a minimal STM32MP13 RCC driver only to allow bind of RCC MISC
driver.
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
---
drivers/clk/stm32/Kconfig | 8 ++++++++
drivers/clk/stm32/Makefile | 1 +
drivers/clk/stm32/clk-stm32mp13.c | 21 +++++++++++++++++++++
3 files changed, 30 insertions(+)
create mode 100644 drivers/clk/stm32/clk-stm32mp13.c
diff --git a/drivers/clk/stm32/Kconfig b/drivers/clk/stm32/Kconfig
index eac3fc1e9d..7444164b81 100644
--- a/drivers/clk/stm32/Kconfig
+++ b/drivers/clk/stm32/Kconfig
@@ -21,3 +21,11 @@ config CLK_STM32MP1
help
Enable the STM32 clock (RCC) driver. Enable support for
manipulating STM32MP15's on-SoC clocks.
+
+config CLK_STM32MP13
+ bool "Enable RCC clock driver for STM32MP13"
+ depends on ARCH_STM32MP && CLK
+ default y if STM32MP13x
+ help
+ Enable the STM32 clock (RCC) driver. Enable support for
+ manipulating STM32MP13's on-SoC clocks.
diff --git a/drivers/clk/stm32/Makefile b/drivers/clk/stm32/Makefile
index b420eeaa4e..feeb796f76 100644
--- a/drivers/clk/stm32/Makefile
+++ b/drivers/clk/stm32/Makefile
@@ -5,3 +5,4 @@
obj-$(CONFIG_CLK_STM32F) += clk_stm32f.o
obj-$(CONFIG_CLK_STM32H7) += clk_stm32h7.o
obj-$(CONFIG_CLK_STM32MP1) += clk_stm32mp1.o
+obj-$(CONFIG_CLK_STM32MP13) += clk-stm32mp13.o
\ No newline at end of file
diff --git a/drivers/clk/stm32/clk-stm32mp13.c b/drivers/clk/stm32/clk-stm32mp13.c
new file mode 100644
index 0000000000..afd116361b
--- /dev/null
+++ b/drivers/clk/stm32/clk-stm32mp13.c
@@ -0,0 +1,21 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR BSD-3-Clause
+/*
+ * Copyright (C) 2022, STMicroelectronics - All Rights Reserved
+ * Author: Gabriel Fernandez <gabriel.fernandez@st.com> for STMicroelectronics.
+ */
+
+#define LOG_CATEGORY UCLASS_CLK
+
+#include <common.h>
+#include <dm.h>
+
+static int stm32mp1_clk_probe(struct udevice *dev)
+{
+ return -EINVAL;
+}
+
+U_BOOT_DRIVER(stm32mp1_clock) = {
+ .name = "stm32mp13_clk",
+ .id = UCLASS_CLK,
+ .probe = stm32mp1_clk_probe,
+};
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/4] misc: stm32mp13: introduce STM32MP13 RCC driver
2022-05-10 7:51 [PATCH 0/4] stm32mp: add minimal RCC support for STM32MP13 Patrick Delaunay
2022-05-10 7:51 ` [PATCH 1/4] clk: Add directory for STM32 clock drivers Patrick Delaunay
2022-05-10 7:51 ` [PATCH 2/4] clk: stm32mp13: add a STM32MP13 RCC clock driver Patrick Delaunay
@ 2022-05-10 7:51 ` Patrick Delaunay
2022-05-10 7:51 ` [PATCH 4/4] ARM: dts: stm32: add rcc node for STM32MP13 Patrick Delaunay
2022-05-11 16:44 ` [PATCH 0/4] stm32mp: add minimal RCC support " Sean Anderson
4 siblings, 0 replies; 10+ messages in thread
From: Patrick Delaunay @ 2022-05-10 7:51 UTC (permalink / raw)
To: u-boot; +Cc: Gabriel FERNANDEZ, Patrick Delaunay, Patrice Chotard, uboot-stm32
Add the MISC RCC driver for STM32MP13, and bind it to the RCC reset
driver, required for initial support.
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
---
drivers/misc/stm32_rcc.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/misc/stm32_rcc.c b/drivers/misc/stm32_rcc.c
index f14d6e26d9..b816503bfa 100644
--- a/drivers/misc/stm32_rcc.c
+++ b/drivers/misc/stm32_rcc.c
@@ -39,6 +39,11 @@ struct stm32_rcc_clk stm32_rcc_clk_mp1 = {
.soc = STM32MP1,
};
+struct stm32_rcc_clk stm32_rcc_clk_mp13 = {
+ .drv_name = "stm32mp13_clk",
+ .soc = STM32MP1,
+};
+
static int stm32_rcc_bind(struct udevice *dev)
{
struct udevice *child;
@@ -79,6 +84,7 @@ static const struct udevice_id stm32_rcc_ids[] = {
{.compatible = "st,stm32f746-rcc", .data = (ulong)&stm32_rcc_clk_f7 },
{.compatible = "st,stm32h743-rcc", .data = (ulong)&stm32_rcc_clk_h7 },
{.compatible = "st,stm32mp1-rcc", .data = (ulong)&stm32_rcc_clk_mp1 },
+ {.compatible = "st,stm32mp13-rcc", .data = (ulong)&stm32_rcc_clk_mp13 },
{ }
};
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/4] ARM: dts: stm32: add rcc node for STM32MP13
2022-05-10 7:51 [PATCH 0/4] stm32mp: add minimal RCC support for STM32MP13 Patrick Delaunay
` (2 preceding siblings ...)
2022-05-10 7:51 ` [PATCH 3/4] misc: stm32mp13: introduce STM32MP13 RCC driver Patrick Delaunay
@ 2022-05-10 7:51 ` Patrick Delaunay
2022-05-11 16:44 ` [PATCH 0/4] stm32mp: add minimal RCC support " Sean Anderson
4 siblings, 0 replies; 10+ messages in thread
From: Patrick Delaunay @ 2022-05-10 7:51 UTC (permalink / raw)
To: u-boot
Cc: Gabriel FERNANDEZ, Patrick Delaunay, Patrice Chotard, Tom Rini,
U-Boot STM32
Add the RCC node, not yet in Linux kernel device tree
to handle the U-Boot RCC drivers.
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
---
arch/arm/dts/stm32mp13-u-boot.dtsi | 4 ++++
arch/arm/dts/stm32mp131.dtsi | 7 +++++++
2 files changed, 11 insertions(+)
diff --git a/arch/arm/dts/stm32mp13-u-boot.dtsi b/arch/arm/dts/stm32mp13-u-boot.dtsi
index 1b5b358690..126f282816 100644
--- a/arch/arm/dts/stm32mp13-u-boot.dtsi
+++ b/arch/arm/dts/stm32mp13-u-boot.dtsi
@@ -86,6 +86,10 @@
u-boot,dm-pre-reloc;
};
+&rcc {
+ u-boot,dm-pre-reloc;
+};
+
&syscfg {
u-boot,dm-pre-reloc;
};
diff --git a/arch/arm/dts/stm32mp131.dtsi b/arch/arm/dts/stm32mp131.dtsi
index 950e172e45..fcb0af09b5 100644
--- a/arch/arm/dts/stm32mp131.dtsi
+++ b/arch/arm/dts/stm32mp131.dtsi
@@ -159,6 +159,13 @@
dma-channels = <16>;
};
+ rcc: rcc@50000000 {
+ compatible = "st,stm32mp13-rcc", "syscon";
+ reg = <0x50000000 0x1000>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ };
+
exti: interrupt-controller@5000d000 {
compatible = "st,stm32mp13-exti", "syscon";
interrupt-controller;
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Uboot-stm32] [PATCH 2/4] clk: stm32mp13: add a STM32MP13 RCC clock driver
2022-05-10 7:51 ` [PATCH 2/4] clk: stm32mp13: add a STM32MP13 RCC clock driver Patrick Delaunay
@ 2022-05-10 12:18 ` Grzegorz Szymaszek
0 siblings, 0 replies; 10+ messages in thread
From: Grzegorz Szymaszek @ 2022-05-10 12:18 UTC (permalink / raw)
To: Patrick Delaunay
Cc: u-boot, Gabriel Fernandez, Sean Anderson, uboot-stm32,
Lukasz Majewski, Grzegorz Szymaszek
[-- Attachment #1: Type: text/plain, Size: 629 bytes --]
Hi,
On Tue, May 10, 2022 at 09:51:11AM +0200, Patrick Delaunay wrote:
> Introduce a minimal STM32MP13 RCC driver only to allow bind of RCC MISC
> driver.
Consider s/only/just/ and s/bind of/binding of the/.
> diff --git a/drivers/clk/stm32/Makefile b/drivers/clk/stm32/Makefile
> -%<-
> obj-$(CONFIG_CLK_STM32MP1) += clk_stm32mp1.o
> +obj-$(CONFIG_CLK_STM32MP13) += clk-stm32mp13.o
> \ No newline at end of file
Could you add a newline here? I think it was there in the previous
patch. Also, note that the new file name seems to break the convention
of using underscores.
All the best
--
Grzegorz
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/4] clk: Add directory for STM32 clock drivers
2022-05-10 7:51 ` [PATCH 1/4] clk: Add directory for STM32 clock drivers Patrick Delaunay
@ 2022-05-11 16:40 ` Sean Anderson
0 siblings, 0 replies; 10+ messages in thread
From: Sean Anderson @ 2022-05-11 16:40 UTC (permalink / raw)
To: Patrick Delaunay, u-boot
Cc: Gabriel FERNANDEZ, Lukasz Majewski, Patrice Chotard, uboot-stm32
On 5/10/22 3:51 AM, Patrick Delaunay wrote:
> Add a directory in drivers/clk to regroup the clock drivers for all
> STM32 Soc with CONFIG_ARCH_STM32 (MCUs with cortex M) or
> CONFIG_ARCH_STM32MP (MPUs with cortex A).
>
> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
> ---
>
> MAINTAINERS | 2 +-
> drivers/clk/Kconfig | 17 +----------------
> drivers/clk/Makefile | 5 ++---
> drivers/clk/stm32/Kconfig | 23 +++++++++++++++++++++++
> drivers/clk/stm32/Makefile | 7 +++++++
> drivers/clk/{ => stm32}/clk_stm32f.c | 0
> drivers/clk/{ => stm32}/clk_stm32h7.c | 0
> drivers/clk/{ => stm32}/clk_stm32mp1.c | 0
> 8 files changed, 34 insertions(+), 20 deletions(-)
> create mode 100644 drivers/clk/stm32/Kconfig
> create mode 100644 drivers/clk/stm32/Makefile
> rename drivers/clk/{ => stm32}/clk_stm32f.c (100%)
> rename drivers/clk/{ => stm32}/clk_stm32h7.c (100%)
> rename drivers/clk/{ => stm32}/clk_stm32mp1.c (100%)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 56be0bfad0..3f37edd716 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -469,7 +469,7 @@ S: Maintained
> F: arch/arm/mach-stm32mp/
> F: doc/board/st/
> F: drivers/adc/stm32-adc*
> -F: drivers/clk/clk_stm32mp1.c
> +F: drivers/clk/stm32/
> F: drivers/gpio/stm32_gpio.c
> F: drivers/hwspinlock/stm32_hwspinlock.c
> F: drivers/i2c/stm32f7_i2c.c
> diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
> index 6dc271f71b..98ad481d9e 100644
> --- a/drivers/clk/Kconfig
> +++ b/drivers/clk/Kconfig
> @@ -140,22 +140,6 @@ config CLK_SCMI
> by a SCMI agent based on SCMI clock protocol communication
> with a SCMI server.
>
> -config CLK_STM32F
> - bool "Enable clock driver support for STM32F family"
> - depends on CLK && (STM32F7 || STM32F4)
> - default y
> - help
> - This clock driver adds support for RCC clock management
> - for STM32F4 and STM32F7 SoCs.
> -
> -config CLK_STM32MP1
> - bool "Enable RCC clock driver for STM32MP1"
> - depends on ARCH_STM32MP && CLK
> - default y
> - help
> - Enable the STM32 clock (RCC) driver. Enable support for
> - manipulating STM32MP1's on-SoC clocks.
> -
> config CLK_HSDK
> bool "Enable cgu clock driver for HSDK boards"
> depends on CLK && TARGET_HSDK
> @@ -225,6 +209,7 @@ source "drivers/clk/owl/Kconfig"
> source "drivers/clk/renesas/Kconfig"
> source "drivers/clk/sunxi/Kconfig"
> source "drivers/clk/sifive/Kconfig"
> +source "drivers/clk/stm32/Kconfig"
> source "drivers/clk/tegra/Kconfig"
> source "drivers/clk/ti/Kconfig"
> source "drivers/clk/uniphier/Kconfig"
> diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile
> index bb4eee5d99..09fbaf6233 100644
> --- a/drivers/clk/Makefile
> +++ b/drivers/clk/Makefile
> @@ -22,6 +22,8 @@ obj-$(CONFIG_ARCH_MESON) += meson/
> obj-$(CONFIG_ARCH_MTMIPS) += mtmips/
> obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/
> obj-$(CONFIG_ARCH_SOCFPGA) += altera/
> +obj-$(CONFIG_ARCH_STM32) += stm32/
> +obj-$(CONFIG_ARCH_STM32MP) += stm32/
> obj-$(CONFIG_ARCH_SUNXI) += sunxi/
> obj-$(CONFIG_CLK_AT91) += at91/
> obj-$(CONFIG_CLK_BCM6345) += clk_bcm6345.o
> @@ -38,8 +40,6 @@ obj-$(CONFIG_CLK_OWL) += owl/
> obj-$(CONFIG_CLK_RENESAS) += renesas/
> obj-$(CONFIG_CLK_SCMI) += clk_scmi.o
> obj-$(CONFIG_CLK_SIFIVE) += sifive/
> -obj-$(CONFIG_CLK_STM32F) += clk_stm32f.o
> -obj-$(CONFIG_CLK_STM32MP1) += clk_stm32mp1.o
> obj-$(CONFIG_CLK_UNIPHIER) += uniphier/
> obj-$(CONFIG_CLK_VERSACLOCK) += clk_versaclock.o
> obj-$(CONFIG_CLK_VERSAL) += clk_versal.o
> @@ -52,4 +52,3 @@ obj-$(CONFIG_MACH_PIC32) += clk_pic32.o
> obj-$(CONFIG_SANDBOX_CLK_CCF) += clk_sandbox_ccf.o
> obj-$(CONFIG_SANDBOX) += clk_sandbox.o
> obj-$(CONFIG_SANDBOX) += clk_sandbox_test.o
> -obj-$(CONFIG_STM32H7) += clk_stm32h7.o
> diff --git a/drivers/clk/stm32/Kconfig b/drivers/clk/stm32/Kconfig
> new file mode 100644
> index 0000000000..eac3fc1e9d
> --- /dev/null
> +++ b/drivers/clk/stm32/Kconfig
> @@ -0,0 +1,23 @@
> +config CLK_STM32F
> + bool "Enable clock driver support for STM32F family"
> + depends on CLK && (STM32F7 || STM32F4)
> + default y
> + help
> + This clock driver adds support for RCC clock management
> + for STM32F4 and STM32F7 SoCs.
> +
> +config CLK_STM32H7
> + bool "Enable clock driver support for STM32H7 family"
> + depends on CLK && STM32H7
> + default y
> + help
> + This clock driver adds support for RCC clock management
> + for STM32H7 SoCs.
> +
> +config CLK_STM32MP1
> + bool "Enable RCC clock driver for STM32MP15"
> + depends on ARCH_STM32MP && CLK
> + default y if STM32MP15x
> + help
> + Enable the STM32 clock (RCC) driver. Enable support for
> + manipulating STM32MP15's on-SoC clocks.
> diff --git a/drivers/clk/stm32/Makefile b/drivers/clk/stm32/Makefile
> new file mode 100644
> index 0000000000..b420eeaa4e
> --- /dev/null
> +++ b/drivers/clk/stm32/Makefile
> @@ -0,0 +1,7 @@
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +#
> +# Copyright (C) 2022, STMicroelectronics - All Rights Reserved
> +
> +obj-$(CONFIG_CLK_STM32F) += clk_stm32f.o
> +obj-$(CONFIG_CLK_STM32H7) += clk_stm32h7.o
> +obj-$(CONFIG_CLK_STM32MP1) += clk_stm32mp1.o
> diff --git a/drivers/clk/clk_stm32f.c b/drivers/clk/stm32/clk_stm32f.c
> similarity index 100%
> rename from drivers/clk/clk_stm32f.c
> rename to drivers/clk/stm32/clk_stm32f.c
> diff --git a/drivers/clk/clk_stm32h7.c b/drivers/clk/stm32/clk_stm32h7.c
> similarity index 100%
> rename from drivers/clk/clk_stm32h7.c
> rename to drivers/clk/stm32/clk_stm32h7.c
> diff --git a/drivers/clk/clk_stm32mp1.c b/drivers/clk/stm32/clk_stm32mp1.c
> similarity index 100%
> rename from drivers/clk/clk_stm32mp1.c
> rename to drivers/clk/stm32/clk_stm32mp1.c
>
Reviewed-by: Sean Anderson <seanga2@gmail.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/4] stm32mp: add minimal RCC support for STM32MP13
2022-05-10 7:51 [PATCH 0/4] stm32mp: add minimal RCC support for STM32MP13 Patrick Delaunay
` (3 preceding siblings ...)
2022-05-10 7:51 ` [PATCH 4/4] ARM: dts: stm32: add rcc node for STM32MP13 Patrick Delaunay
@ 2022-05-11 16:44 ` Sean Anderson
2022-05-17 8:12 ` Patrick DELAUNAY
4 siblings, 1 reply; 10+ messages in thread
From: Sean Anderson @ 2022-05-11 16:44 UTC (permalink / raw)
To: Patrick Delaunay, u-boot
Cc: Gabriel FERNANDEZ, Lukasz Majewski, Patrice Chotard, Tom Rini,
U-Boot STM32
Hi Patrick,
On 5/10/22 3:51 AM, Patrick Delaunay wrote:
>
> Add a minimal support for STM32MP13 RCC, the reset and clock controller
> - update of the RCC MISC driver to bind the correct clock and reset driver
> - reset driver, same than STM32MP15x = drivers/reset/stm32-reset.c
> - clock driver, add a empty driver for STM32MP13x =
> drivers/clk/stm32/clk-stm32mp13.c
> - Add RCC node in SOC device tree with u-boot,dm-pre-reloc property
>
> This serie is only a preliminary step for STM32MP13 clock and reset support
> in U-Boot, based on Linux kernel binding introduced by [1] and it prepares
> the next device tree alignment with Linux kernel.
>
> The functional STMP13 clock driver based on CCF and on SCMI clocks
> provided by OP-TEE and the clock and reset references in SOC device tree
> will be pushed when the associated patches in [1] will be accepted.
>
> [1] Introduction of STM32MP13 RCC driver (Reset Clock Controller)
> https://lore.kernel.org/linux-arm-kernel/20220316131000.9874-1-gabriel.fernandez@foss.st.com/
I'm not really sure what the purpose of this series is. Can you
elaborate a bit on why we need a dummy clock driver? Why don't
you just add the binding to the device tree without the associated
driver?
--Sean
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/4] stm32mp: add minimal RCC support for STM32MP13
2022-05-11 16:44 ` [PATCH 0/4] stm32mp: add minimal RCC support " Sean Anderson
@ 2022-05-17 8:12 ` Patrick DELAUNAY
2022-05-19 13:42 ` Sean Anderson
0 siblings, 1 reply; 10+ messages in thread
From: Patrick DELAUNAY @ 2022-05-17 8:12 UTC (permalink / raw)
To: Sean Anderson, u-boot
Cc: Gabriel FERNANDEZ, Lukasz Majewski, Patrice Chotard, Tom Rini,
U-Boot STM32
Hi,
On 5/11/22 18:44, Sean Anderson wrote:
> Hi Patrick,
>
> On 5/10/22 3:51 AM, Patrick Delaunay wrote:
>>
>> Add a minimal support for STM32MP13 RCC, the reset and clock controller
>> - update of the RCC MISC driver to bind the correct clock and reset
>> driver
>> - reset driver, same than STM32MP15x = drivers/reset/stm32-reset.c
>> - clock driver, add a empty driver for STM32MP13x =
>> drivers/clk/stm32/clk-stm32mp13.c
>> - Add RCC node in SOC device tree with u-boot,dm-pre-reloc property
>>
>> This serie is only a preliminary step for STM32MP13 clock and reset
>> support
>> in U-Boot, based on Linux kernel binding introduced by [1] and it
>> prepares
>> the next device tree alignment with Linux kernel.
>>
>> The functional STMP13 clock driver based on CCF and on SCMI clocks
>> provided by OP-TEE and the clock and reset references in SOC device tree
>> will be pushed when the associated patches in [1] will be accepted.
>>
>> [1] Introduction of STM32MP13 RCC driver (Reset Clock Controller)
>> https://lore.kernel.org/linux-arm-kernel/20220316131000.9874-1-gabriel.fernandez@foss.st.com/
>
> I'm not really sure what the purpose of this series is. Can you
> elaborate a bit on why we need a dummy clock driver? Why don't
> you just add the binding to the device tree without the associated
> driver?
After this serie, the RCC reset part is functional on STM32MP13 (probe
and ops)
even if the associated binding is not present in device tree.
tested with:
------------------------- arch/arm/dts/stm32mp131.dtsi
-------------------------
index fcb0af09b5..d9c6185bcf 100644
@@ -197,6 +197,7 @@
interrupt-names = "cmd_irq";
clocks = <&clk_pll4_p>;
clock-names = "apb_pclk";
+ resets = <&rcc 14224>;
cap-sd-highspeed;
cap-mmc-highspeed;
max-frequency = <130000000>;
A dummy STM32MP13 clock driver is requested to allow RCC MISC and RCC RESET
binding and probe without issue.
This reset support was requested by SDMCC driver and SD-Card boot,
before the patch:
http://patchwork.ozlabs.org/project/uboot/patch/20220506160540.13.I39b69e8dc7b43b8e265e77388fb53f7c1fa2a007@changeid/
As we solve the SDMCC dependency issue (reset become optionnal), so this
serie is no more mandatory.
This serie is a just a cleanup / preliminary step, but I can drop this
dummy RCC driver if it is disturbing.
>
> --Sean
Patrick
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/4] stm32mp: add minimal RCC support for STM32MP13
2022-05-17 8:12 ` Patrick DELAUNAY
@ 2022-05-19 13:42 ` Sean Anderson
0 siblings, 0 replies; 10+ messages in thread
From: Sean Anderson @ 2022-05-19 13:42 UTC (permalink / raw)
To: Patrick DELAUNAY, u-boot
Cc: Gabriel FERNANDEZ, Lukasz Majewski, Patrice Chotard, Tom Rini,
U-Boot STM32
Hi Patrick,
On 5/17/22 4:12 AM, Patrick DELAUNAY wrote:
> Hi,
>
> On 5/11/22 18:44, Sean Anderson wrote:
>> Hi Patrick,
>>
>> On 5/10/22 3:51 AM, Patrick Delaunay wrote:
>>>
>>> Add a minimal support for STM32MP13 RCC, the reset and clock controller
>>> - update of the RCC MISC driver to bind the correct clock and reset driver
>>> - reset driver, same than STM32MP15x = drivers/reset/stm32-reset.c
>>> - clock driver, add a empty driver for STM32MP13x =
>>> drivers/clk/stm32/clk-stm32mp13.c
>>> - Add RCC node in SOC device tree with u-boot,dm-pre-reloc property
>>>
>>> This serie is only a preliminary step for STM32MP13 clock and reset support
>>> in U-Boot, based on Linux kernel binding introduced by [1] and it prepares
>>> the next device tree alignment with Linux kernel.
>>>
>>> The functional STMP13 clock driver based on CCF and on SCMI clocks
>>> provided by OP-TEE and the clock and reset references in SOC device tree
>>> will be pushed when the associated patches in [1] will be accepted.
>>>
>>> [1] Introduction of STM32MP13 RCC driver (Reset Clock Controller)
>>> https://lore.kernel.org/linux-arm-kernel/20220316131000.9874-1-gabriel.fernandez@foss.st.com/
>>
>> I'm not really sure what the purpose of this series is. Can you
>> elaborate a bit on why we need a dummy clock driver? Why don't
>> you just add the binding to the device tree without the associated
>> driver?
>
>
> After this serie, the RCC reset part is functional on STM32MP13 (probe and ops)
>
> even if the associated binding is not present in device tree.
>
> tested with:
>
> ------------------------- arch/arm/dts/stm32mp131.dtsi -------------------------
> index fcb0af09b5..d9c6185bcf 100644
> @@ -197,6 +197,7 @@
> interrupt-names = "cmd_irq";
> clocks = <&clk_pll4_p>;
> clock-names = "apb_pclk";
> + resets = <&rcc 14224>;
> cap-sd-highspeed;
> cap-mmc-highspeed;
> max-frequency = <130000000>;
>
>
> A dummy STM32MP13 clock driver is requested to allow RCC MISC and RCC RESET
>
> binding and probe without issue.
Shouldn't the solution be to make the clock optional in the user?
> This reset support was requested by SDMCC driver and SD-Card boot, before the patch:
>
> http://patchwork.ozlabs.org/project/uboot/patch/20220506160540.13.I39b69e8dc7b43b8e265e77388fb53f7c1fa2a007@changeid/
>
>
> As we solve the SDMCC dependency issue (reset become optionnal), so this serie is no more mandatory.
>
>
> This serie is a just a cleanup / preliminary step, but I can drop this dummy RCC driver if it is disturbing.
I would like that, since this is not mandatory.
--Sean
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2022-05-19 13:43 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-10 7:51 [PATCH 0/4] stm32mp: add minimal RCC support for STM32MP13 Patrick Delaunay
2022-05-10 7:51 ` [PATCH 1/4] clk: Add directory for STM32 clock drivers Patrick Delaunay
2022-05-11 16:40 ` Sean Anderson
2022-05-10 7:51 ` [PATCH 2/4] clk: stm32mp13: add a STM32MP13 RCC clock driver Patrick Delaunay
2022-05-10 12:18 ` [Uboot-stm32] " Grzegorz Szymaszek
2022-05-10 7:51 ` [PATCH 3/4] misc: stm32mp13: introduce STM32MP13 RCC driver Patrick Delaunay
2022-05-10 7:51 ` [PATCH 4/4] ARM: dts: stm32: add rcc node for STM32MP13 Patrick Delaunay
2022-05-11 16:44 ` [PATCH 0/4] stm32mp: add minimal RCC support " Sean Anderson
2022-05-17 8:12 ` Patrick DELAUNAY
2022-05-19 13:42 ` Sean Anderson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.