STM32 ETZPC bus controller
From: | Benjamin Gaignard <benjamin.gaignard-AT-st.com> | |
To: | <robh+dt-AT-kernel.org>, <mcoquelin.stm32-AT-gmail.com>, <alexandre.torgue-AT-st.com>, <gregkh-AT-linuxfoundation.org>, <loic.pallardy-AT-st.com>, <linus.walleij-AT-linaro.org> | |
Subject: | [PATCH v3 0/5] STM32 ETZPC bus controller | |
Date: | Tue, 5 May 2020 09:33:03 +0200 | |
Message-ID: | <20200505073308.22914-1-benjamin.gaignard@st.com> | |
Cc: | <devicetree-AT-vger.kernel.org>, <linux-stm32-AT-st-md-mailman.stormreply.com>, <linux-arm-kernel-AT-lists.infradead.org>, <linux-kernel-AT-vger.kernel.org>, Benjamin Gaignard <benjamin.gaignard-AT-st.com> | |
Archive-link: | Article |
STM32 Extended TrustZone Protection controller act like a firewall on the platform bus. Depending of its configuration devices could be accessible by the TrustZone, the co-processor or the non-secure world. ETZPC configuration could evolve at runtime for example to switch a device from non-secure world to co-processor. The series introduce 'firewall' helpers to handle the new devices-tree properties. These properties are not dedicated to ETZPC and will be reused for STM32 next generation of bus controller. version 3: - add description in firewall consumer bindings - add Linus reviewed-by tag version 2: - fix unit name into st,stm32-etzpc.yaml example and DT Benjamin Gaignard (5): dt-bindings: bus: Add firewall bindings bus: stm32: Introduce firewall controller helpers dt-bindings: bus: Add STM32 ETZPC firewall controller bus: stm32: Add stm32 ETZPC firewall bus controller ARM: dts: stm32: Use ETZPC firewall bus .../bindings/bus/stm32/firewall-consumer.yaml | 36 +++ .../bindings/bus/stm32/firewall-provider.yaml | 18 ++ .../bindings/bus/stm32/st,stm32-etzpc.yaml | 46 ++++ arch/arm/boot/dts/stm32mp151.dtsi | 7 +- drivers/bus/Kconfig | 2 + drivers/bus/Makefile | 2 + drivers/bus/stm32/Kconfig | 11 + drivers/bus/stm32/Makefile | 2 + drivers/bus/stm32/firewall.c | 266 +++++++++++++++++++++ drivers/bus/stm32/firewall.h | 75 ++++++ drivers/bus/stm32/stm32-etzpc.c | 160 +++++++++++++ include/dt-bindings/bus/stm32/stm32-etzpc.h | 90 +++++++ 12 files changed, 713 insertions(+), 2 deletions(-) create mode 100644 Documentation/devicetree/bindings/bus/stm32/firewall-consumer.yaml create mode 100644 Documentation/devicetree/bindings/bus/stm32/firewall-provider.yaml create mode 100644 Documentation/devicetree/bindings/bus/stm32/st,stm32-etzpc.yaml create mode 100644 drivers/bus/stm32/Kconfig create mode 100644 drivers/bus/stm32/Makefile create mode 100644 drivers/bus/stm32/firewall.c create mode 100644 drivers/bus/stm32/firewall.h create mode 100644 drivers/bus/stm32/stm32-etzpc.c create mode 100644 include/dt-bindings/bus/stm32/stm32-etzpc.h -- 2.15.0