• Alexandre Torgue's avatar
    ARM: dts: stm32: move SCMI related nodes in a dedicated file for stm32mp15 · 89931cb4
    Alexandre Torgue authored
    Adding a "secure" version of STM32 boards (DK1/DK2/ED1/EV1), SCMI (clock/
    reset) protocol and OP-TEE node have been added in SoC dtsi file
    (stm32mp151.dtsi). They have been added with a status disabled in order to
    keep our legacy unchanged. It is actually not enough to keep our legacy
    unchanged.
    
    First, just a reminder about our use case: TF-A (BL2) loads and starts
    OP-TEE, then loads and runs U-Boot. U-Boot code checks if an OP-TEE is
    running, if yes it searches in Kernel device tree if an OP-TEE node is
    present:
    
    -If the OP-TEE node is not present then U-Boot copies OP-TEE node and its
    reserved memory region from U-Boot device tree to the kernel device tree.
    
    -If the OP-TEE node is present then it does nothing (this OP-TEE node will
    be used by Linux). So U-Boot lets the kernel device tree unchanged thinking
    it is correct for an OP-TEE usage. It is the case for our legacy boards,
    the OP-TEE node is present (although disabled) but the reserved memory
    region is not declared. As no memory region has been reserved for OP-TEE,
    the end of DDR is seen by the kernel as free and then used for CMA. But as
    OP-TEE is running, this end of DDR is already used by OP-TEE. So as soon as
    kernel tries to access to the CMA region OP-TEE raises an error.
    
    To fix it, all OP-TEE node and SCMI is moved in a dedicated file.
    
    Fixes: 40b4157d ("ARM: dts: stm32: enable optee firmware and SCMI support on STM32MP15")
    Signed-off-by: default avatarAlexandre Torgue <alexandre.torgue@foss.st.com>
    Link: https://lore.kernel.org/r/20220613071920.5463-1-alexandre.torgue@foss.st.com'
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    89931cb4
stm32mp157c-ev1-scmi.dts 1.67 KB