[PATCH v2 00/14] Introduce STM32MP1 RCC in secured mode
Alexandre TORGUE
alexandre.torgue at st.com
Thu Mar 11 08:08:29 GMT 2021
Hi ALex
> -----Original Message-----
> From: Alex G. <mr.nuke.me at gmail.com>
> Sent: mardi 9 mars 2021 22:50
> To: Gabriel FERNANDEZ - foss <gabriel.fernandez at foss.st.com>; Michael
> Turquette <mturquette at baylibre.com>; Stephen Boyd
> <sboyd at kernel.org>; Rob Herring <robh+dt at kernel.org>; Maxime Coquelin
> <mcoquelin.stm32 at gmail.com>; Alexandre TORGUE
> <alexandre.torgue at st.com>; Philipp Zabel <p.zabel at pengutronix.de>;
> Etienne CARRIERE <etienne.carriere at st.com>; marex at denx.de; Marek
> Vasut <marex at denx.de>
> Cc: devicetree at vger.kernel.org; linux-kernel at vger.kernel.org; linux-
> clk at vger.kernel.org; linux-arm-kernel at lists.infradead.org; linux-stm32 at st-
> md-mailman.stormreply.com
> Subject: Re: [PATCH v2 00/14] Introduce STM32MP1 RCC in secured mode
>
> On 1/26/21 3:01 AM, gabriel.fernandez at foss.st.com wrote:
> > From: Gabriel Fernandez <gabriel.fernandez at foss.st.com>
> >
> > Platform STM32MP1 can be used in configuration where some clocks and
> > IP resets can relate as secure resources.
> > These resources are moved from a RCC clock/reset handle to a SCMI
> > clock/reset_domain handle.
> >
> > The RCC clock driver is now dependent of the SCMI driver, then we have
> > to manage now the probe defering.
> >
> > v1 -> v2:
> > - fix yamllint warnings.
>
> Hi Gabriel,
>
> I don't have much clout with the maintainers, but I have to NAK this series
> after finding major breakage.
>
> The problem with series is that it breaks pretty much every board it touches.
> I have a DK2 here that I'm using for development, which no longer boots with
> this series applied.
>
> The crux of the matter is that this series assumes all boards will boot with an
> FSBL that implements a very specific SCMI clock tree. This is major ABI
> breakage for anyone not using TF-A as the first stage bootloader. Anyone
> using u-boot SPL is screwed.
>
> This series imposes a SOC-wide change via the dtsi files. So even boards that
> you don't intend to convert to SCMI will get broken this way.
> Adding a -no-scmi file that isn't used anywhere doesn't help things.
You are right. We mainly take care about NO ST (DH/...) boards, but not really about current usage
Of our stm32 boards. Several options exist:
1- Break the current ABI: as soon as those patches are merged, stm32mp157c-dk2.dtb will impose to use
A tf-a for scmi clocks. For people using u-boot spl, the will have to create their own "no-secure" devicetree.
2-As you suggest, create a new "secure" dtb per boards (Not my wish for maintenance perspectives).
3- Keep kernel device tree as they are and applied this secure layer (scmi clocks phandle) thanks to dtbo in
U-boot.
The third could be the less costly.
Thanks
Alex
> Here's what I suggest:
>
> Generate new dtb files for those boards that you want to convert. So you
> would get:
> - stm32mp157c-dk2.dtb # Good old hardware clocks
> - stm32mp157c-dk2-secure-rcc.dtb # Clocks accessible by scmi.
>
> A lot of users use a larger build system where they extract the relevant files.
> With the scheme I'm proposing you don't break their builds, and you allow
> SCMI users to have upstream support.
>
> This means that you'll have to rethink the DTS and DTSI changes to
> accomodate both use cases.
>
> Thanks,
> Alex
>
>
>
>
> >
> > Gabriel Fernandez (14):
> > clk: stm32mp1: merge 'clk-hsi-div' and 'ck_hsi' into one clock
> > clk: stm32mp1: merge 'ck_hse_rtc' and 'ck_rtc' into one clock
> > clk: stm32mp1: remove intermediate pll clocks
> > clk: stm32mp1: convert to module driver
> > clk: stm32mp1: move RCC reset controller into RCC clock driver
> > reset: stm32mp1: remove stm32mp1 reset
> > dt-bindings: clock: add IDs for SCMI clocks on stm32mp15
> > dt-bindings: reset: add IDs for SCMI reset domains on stm32mp15
> > dt-bindings: reset: add MCU HOLD BOOT ID for SCMI reset domains on
> > stm32mp15
> > clk: stm32mp1: new compatible for secure RCC support
> > ARM: dts: stm32: define SCMI resources on stm32mp15
> > ARM: dts: stm32: move clocks/resets to SCMI resources for stm32mp15
> > dt-bindings: clock: stm32mp1 new compatible for secure rcc
> > ARM: dts: stm32: introduce basic boot include on stm32mp15x board
> >
> > .../bindings/clock/st,stm32mp1-rcc.yaml | 6 +-
> > arch/arm/boot/dts/stm32mp15-no-scmi.dtsi | 158 ++++++
> > arch/arm/boot/dts/stm32mp151.dtsi | 127 +++--
> > arch/arm/boot/dts/stm32mp153.dtsi | 4 +-
> > arch/arm/boot/dts/stm32mp157.dtsi | 2 +-
> > arch/arm/boot/dts/stm32mp15xc.dtsi | 4 +-
> > drivers/clk/Kconfig | 10 +
> > drivers/clk/clk-stm32mp1.c | 495 +++++++++++++++---
> > drivers/reset/Kconfig | 6 -
> > drivers/reset/Makefile | 1 -
> > drivers/reset/reset-stm32mp1.c | 115 ----
> > include/dt-bindings/clock/stm32mp1-clks.h | 27 +
> > include/dt-bindings/reset/stm32mp1-resets.h | 15 +
> > 13 files changed, 704 insertions(+), 266 deletions(-)
> > create mode 100644 arch/arm/boot/dts/stm32mp15-no-scmi.dtsi
> > delete mode 100644 drivers/reset/reset-stm32mp1.c
> >
More information about the linux-arm-kernel
mailing list