Message ID | 20231122185235.2017642-1-a.fatoum@pengutronix.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] dt-bindings: arm: stm32: don't mix SCMI and non-SCMI board compatibles | expand |
On Wed, 22 Nov 2023 19:52:33 +0100, Ahmad Fatoum wrote: > SCMI-enabled boards may restrict access to resources like clocks, resets > and regulators to the secure world. > > A normal world bootloader or kernel compatible with the non-SCMI-enabled > board is thus not guaranteed to be able to deal with the SCMI variant. > > It follows, that the SCMI-enabled board is not compatible with the > non-SCMI enabled board, so drop that compatible. > > This change is motivated by the barebox' bootloader's use of bootloader > specification files[1][2]: barebox for non-SCMI DK2 will compare its > own top-level "stm32mp157c-dk2" compatible with all compatibles > listed in the device tree referenced by each bootloader spec file. > If the boot medium contains a configuration with > compatible = "st,stm32mp157c-dk2-scmi", "st,stm32mp157c-dk2", "st,stm32mp157"; > it will match, because of the second compatible and boot a kernel with > SCMI enabled, although no SCMI may exist on the platform. > > [1]: https://uapi-group.org/specifications/specs/boot_loader_specification/ > [2]: https://www.barebox.org/doc/latest/user/booting-linux.html#boot-loader-specification > > Fixes: 8e14ebb1f08f ("dt-bindings: arm: stm32: Add SCMI version of STM32 boards (DK1/DK2/ED1/EV1)") > Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> > --- > .../devicetree/bindings/arm/stm32/stm32.yaml | 16 +++------------- > 1 file changed, 3 insertions(+), 13 deletions(-) > Acked-by: Rob Herring <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/arm/stm32/stm32.yaml b/Documentation/devicetree/bindings/arm/stm32/stm32.yaml index df087c81c69e..bc2f43330ae4 100644 --- a/Documentation/devicetree/bindings/arm/stm32/stm32.yaml +++ b/Documentation/devicetree/bindings/arm/stm32/stm32.yaml @@ -82,29 +82,19 @@ properties: - shiratech,stm32mp157a-iot-box # IoT Box - shiratech,stm32mp157a-stinger96 # Stinger96 - st,stm32mp157c-ed1 + - st,stm32mp157c-ed1-scmi - st,stm32mp157a-dk1 + - st,stm32mp157a-dk1-scmi - st,stm32mp157c-dk2 + - st,stm32mp157c-dk2-scmi - const: st,stm32mp157 - - items: - - const: st,stm32mp157a-dk1-scmi - - const: st,stm32mp157a-dk1 - - const: st,stm32mp157 - - items: - - const: st,stm32mp157c-dk2-scmi - - const: st,stm32mp157c-dk2 - - const: st,stm32mp157 - - items: - - const: st,stm32mp157c-ed1-scmi - - const: st,stm32mp157c-ed1 - - const: st,stm32mp157 - items: - const: st,stm32mp157c-ev1 - const: st,stm32mp157c-ed1 - const: st,stm32mp157 - items: - const: st,stm32mp157c-ev1-scmi - - const: st,stm32mp157c-ev1 - const: st,stm32mp157c-ed1 - const: st,stm32mp157
SCMI-enabled boards may restrict access to resources like clocks, resets and regulators to the secure world. A normal world bootloader or kernel compatible with the non-SCMI-enabled board is thus not guaranteed to be able to deal with the SCMI variant. It follows, that the SCMI-enabled board is not compatible with the non-SCMI enabled board, so drop that compatible. This change is motivated by the barebox' bootloader's use of bootloader specification files[1][2]: barebox for non-SCMI DK2 will compare its own top-level "stm32mp157c-dk2" compatible with all compatibles listed in the device tree referenced by each bootloader spec file. If the boot medium contains a configuration with compatible = "st,stm32mp157c-dk2-scmi", "st,stm32mp157c-dk2", "st,stm32mp157"; it will match, because of the second compatible and boot a kernel with SCMI enabled, although no SCMI may exist on the platform. [1]: https://uapi-group.org/specifications/specs/boot_loader_specification/ [2]: https://www.barebox.org/doc/latest/user/booting-linux.html#boot-loader-specification Fixes: 8e14ebb1f08f ("dt-bindings: arm: stm32: Add SCMI version of STM32 boards (DK1/DK2/ED1/EV1)") Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> --- .../devicetree/bindings/arm/stm32/stm32.yaml | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-)