ARM: dts: stm32: put ETZPC as an access controller for STM32MP15x boards
authorGatien Chevallier <gatien.chevallier@foss.st.com>
Fri, 5 Jan 2024 13:04:02 +0000 (14:04 +0100)
committerAlexandre Torgue <alexandre.torgue@foss.st.com>
Thu, 25 Apr 2024 13:00:29 +0000 (15:00 +0200)
Reference ETZPC as an access-control-provider.

For more information on which peripheral is securable or supports MCU
isolation, please read the STM32MP15 reference manual

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
arch/arm/boot/dts/st/stm32mp151.dtsi
arch/arm/boot/dts/st/stm32mp153.dtsi
arch/arm/boot/dts/st/stm32mp15xc.dtsi

index b508423936bf0af6054c9f460ebec8365ad957f4..16bd6eee32b4e24d5b2f1ce99cab743c0b69e2ba 100644 (file)
                };
 
                etzpc: bus@5c007000 {
-                       compatible = "simple-bus";
+                       compatible = "st,stm32-etzpc", "simple-bus";
                        reg = <0x5c007000 0x400>;
                        #address-cells = <1>;
                        #size-cells = <1>;
+                       #access-controller-cells = <1>;
                        ranges;
 
                        timers2: timer@40000000 {
                                       <&dmamux1 21 0x400 0x1>,
                                       <&dmamux1 22 0x400 0x1>;
                                dma-names = "ch1", "ch2", "ch3", "ch4", "up";
+                               access-controllers = <&etzpc 16>;
                                status = "disabled";
 
                                pwm {
                                       <&dmamux1 27 0x400 0x1>,
                                       <&dmamux1 28 0x400 0x1>;
                                dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
+                               access-controllers = <&etzpc 17>;
                                status = "disabled";
 
                                pwm {
                                       <&dmamux1 31 0x400 0x1>,
                                       <&dmamux1 32 0x400 0x1>;
                                dma-names = "ch1", "ch2", "ch3", "ch4";
+                               access-controllers = <&etzpc 18>;
                                status = "disabled";
 
                                pwm {
                                       <&dmamux1 59 0x400 0x1>,
                                       <&dmamux1 60 0x400 0x1>;
                                dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
+                               access-controllers = <&etzpc 19>;
                                status = "disabled";
 
                                pwm {
                                clock-names = "int";
                                dmas = <&dmamux1 69 0x400 0x1>;
                                dma-names = "up";
+                               access-controllers = <&etzpc 20>;
                                status = "disabled";
 
                                timer@5 {
                                clock-names = "int";
                                dmas = <&dmamux1 70 0x400 0x1>;
                                dma-names = "up";
+                               access-controllers = <&etzpc 21>;
                                status = "disabled";
 
                                timer@6 {
                                interrupt-names = "global";
                                clocks = <&rcc TIM12_K>;
                                clock-names = "int";
+                               access-controllers = <&etzpc 22>;
                                status = "disabled";
 
                                pwm {
                                interrupt-names = "global";
                                clocks = <&rcc TIM13_K>;
                                clock-names = "int";
+                               access-controllers = <&etzpc 23>;
                                status = "disabled";
 
                                pwm {
                                interrupt-names = "global";
                                clocks = <&rcc TIM14_K>;
                                clock-names = "int";
+                               access-controllers = <&etzpc 24>;
                                status = "disabled";
 
                                pwm {
                                clocks = <&rcc LPTIM1_K>;
                                clock-names = "mux";
                                wakeup-source;
+                               access-controllers = <&etzpc 25>;
                                status = "disabled";
 
                                pwm {
                                dmas = <&dmamux1 39 0x400 0x01>,
                                       <&dmamux1 40 0x400 0x01>;
                                dma-names = "rx", "tx";
+                               access-controllers = <&etzpc 27>;
                                status = "disabled";
                        };
 
                                dmas = <&dmamux1 39 0x400 0x05>,
                                       <&dmamux1 40 0x400 0x05>;
                                dma-names = "rx", "tx";
+                               access-controllers = <&etzpc 27>;
                                status = "disabled";
                        };
 
                                dmas = <&dmamux1 61 0x400 0x01>,
                                       <&dmamux1 62 0x400 0x01>;
                                dma-names = "rx", "tx";
+                               access-controllers = <&etzpc 28>;
                                status = "disabled";
                        };
 
                                dmas = <&dmamux1 61 0x400 0x05>,
                                       <&dmamux1 62 0x400 0x05>;
                                dma-names = "rx", "tx";
+                               access-controllers = <&etzpc 28>;
                                status = "disabled";
                        };
 
                                dmas = <&dmamux1 93 0x400 0x01>,
                                       <&dmamux1 94 0x400 0x01>;
                                dma-names = "rx", "rx-ctrl";
+                               access-controllers = <&etzpc 29>;
                                status = "disabled";
                        };
 
                                dmas = <&dmamux1 43 0x400 0x15>,
                                       <&dmamux1 44 0x400 0x11>;
                                dma-names = "rx", "tx";
+                               access-controllers = <&etzpc 30>;
                                status = "disabled";
                        };
 
                                dmas = <&dmamux1 45 0x400 0x15>,
                                       <&dmamux1 46 0x400 0x11>;
                                dma-names = "rx", "tx";
+                               access-controllers = <&etzpc 31>;
                                status = "disabled";
                        };
 
                                dmas = <&dmamux1 63 0x400 0x15>,
                                       <&dmamux1 64 0x400 0x11>;
                                dma-names = "rx", "tx";
+                               access-controllers = <&etzpc 32>;
                                status = "disabled";
                        };
 
                                dmas = <&dmamux1 65 0x400 0x15>,
                                       <&dmamux1 66 0x400 0x11>;
                                dma-names = "rx", "tx";
+                               access-controllers = <&etzpc 33>;
                                status = "disabled";
                        };
 
                                st,syscfg-fmp = <&syscfg 0x4 0x1>;
                                wakeup-source;
                                i2c-analog-filter;
+                               access-controllers = <&etzpc 34>;
                                status = "disabled";
                        };
 
                                st,syscfg-fmp = <&syscfg 0x4 0x2>;
                                wakeup-source;
                                i2c-analog-filter;
+                               access-controllers = <&etzpc 35>;
                                status = "disabled";
                        };
 
                                st,syscfg-fmp = <&syscfg 0x4 0x4>;
                                wakeup-source;
                                i2c-analog-filter;
+                               access-controllers = <&etzpc 36>;
                                status = "disabled";
                        };
 
                                st,syscfg-fmp = <&syscfg 0x4 0x10>;
                                wakeup-source;
                                i2c-analog-filter;
+                               access-controllers = <&etzpc 37>;
                                status = "disabled";
                        };
 
                                interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&rcc CEC_K>, <&rcc CEC>;
                                clock-names = "cec", "hdmi-cec";
+                               access-controllers = <&etzpc 38>;
                                status = "disabled";
                        };
 
                                clock-names = "pclk";
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               access-controllers = <&etzpc 39>;
                                status = "disabled";
 
                                dac1: dac@1 {
                                dmas = <&dmamux1 79 0x400 0x15>,
                                       <&dmamux1 80 0x400 0x11>;
                                dma-names = "rx", "tx";
+                               access-controllers = <&etzpc 40>;
                                status = "disabled";
                        };
 
                                dmas = <&dmamux1 81 0x400 0x15>,
                                       <&dmamux1 82 0x400 0x11>;
                                dma-names = "rx", "tx";
+                               access-controllers = <&etzpc 41>;
                                status = "disabled";
                        };
 
                                       <&dmamux1 17 0x400 0x1>;
                                dma-names = "ch1", "ch2", "ch3", "ch4",
                                            "up", "trig", "com";
+                               access-controllers = <&etzpc 48>;
                                status = "disabled";
 
                                pwm {
                                       <&dmamux1 53 0x400 0x1>;
                                dma-names = "ch1", "ch2", "ch3", "ch4",
                                            "up", "trig", "com";
+                               access-controllers = <&etzpc 49>;
                                status = "disabled";
 
                                pwm {
                                dmas = <&dmamux1 71 0x400 0x15>,
                                <&dmamux1 72 0x400 0x11>;
                                dma-names = "rx", "tx";
+                               access-controllers = <&etzpc 51>;
                                status = "disabled";
                        };
 
                                dmas = <&dmamux1 37 0x400 0x01>,
                                <&dmamux1 38 0x400 0x01>;
                                dma-names = "rx", "tx";
+                               access-controllers = <&etzpc 52>;
                                status = "disabled";
                        };
 
                                dmas = <&dmamux1 37 0x400 0x05>,
                                <&dmamux1 38 0x400 0x05>;
                                dma-names = "rx", "tx";
+                               access-controllers = <&etzpc 52>;
                                status = "disabled";
                        };
 
                                dmas = <&dmamux1 83 0x400 0x05>,
                                <&dmamux1 84 0x400 0x05>;
                                dma-names = "rx", "tx";
+                               access-controllers = <&etzpc 53>;
                                status = "disabled";
                        };
 
                                       <&dmamux1 107 0x400 0x1>,
                                       <&dmamux1 108 0x400 0x1>;
                                dma-names = "ch1", "up", "trig", "com";
+                               access-controllers = <&etzpc 54>;
                                status = "disabled";
 
                                pwm {
                                dmas = <&dmamux1 109 0x400 0x1>,
                                <&dmamux1 110 0x400 0x1>;
                                dma-names = "ch1", "up";
+                               access-controllers = <&etzpc 55>;
                                status = "disabled";
 
                                pwm {
                                dmas = <&dmamux1 111 0x400 0x1>,
                                <&dmamux1 112 0x400 0x1>;
                                dma-names = "ch1", "up";
+                               access-controllers = <&etzpc 56>;
                                status = "disabled";
 
                                pwm {
                                dmas = <&dmamux1 85 0x400 0x05>,
                                <&dmamux1 86 0x400 0x05>;
                                dma-names = "rx", "tx";
+                               access-controllers = <&etzpc 57>;
                                status = "disabled";
                        };
 
                                reg = <0x4400a000 0x4>, <0x4400a3f0 0x10>;
                                interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
                                resets = <&rcc SAI1_R>;
+                               access-controllers = <&etzpc 58>;
                                status = "disabled";
 
                                sai1a: audio-controller@4400a004 {
                                reg = <0x4400b000 0x4>, <0x4400b3f0 0x10>;
                                interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
                                resets = <&rcc SAI2_R>;
+                               access-controllers = <&etzpc 59>;
                                status = "disabled";
 
                                sai2a: audio-controller@4400b004 {
                                reg = <0x4400c000 0x4>, <0x4400c3f0 0x10>;
                                interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
                                resets = <&rcc SAI3_R>;
+                               access-controllers = <&etzpc 60>;
                                status = "disabled";
 
                                sai3a: audio-controller@4400c004 {
                                clock-names = "dfsdm";
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               access-controllers = <&etzpc 61>;
                                status = "disabled";
 
                                dfsdm0: filter@0 {
                                #dma-cells = <4>;
                                st,mem2mem;
                                dma-requests = <8>;
+                               access-controllers = <&etzpc 88>;
                        };
 
                        dma2: dma-controller@48001000 {
                                #dma-cells = <4>;
                                st,mem2mem;
                                dma-requests = <8>;
+                               access-controllers = <&etzpc 89>;
                        };
 
                        dmamux1: dma-router@48002000 {
                                dma-channels = <16>;
                                clocks = <&rcc DMAMUX>;
                                resets = <&rcc DMAMUX_R>;
+                               access-controllers = <&etzpc 90>;
                        };
 
                        adc: adc@48003000 {
                                #interrupt-cells = <1>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               access-controllers = <&etzpc 72>;
                                status = "disabled";
 
                                adc1: adc@0 {
                                cap-sd-highspeed;
                                cap-mmc-highspeed;
                                max-frequency = <120000000>;
+                               access-controllers = <&etzpc 86>;
                                status = "disabled";
                        };
 
                                dr_mode = "otg";
                                otg-rev = <0x200>;
                                usb33d-supply = <&usb33>;
+                               access-controllers = <&etzpc 85>;
                                status = "disabled";
                        };
 
                                clock-names = "mclk";
                                dmas = <&dmamux1 75 0x400 0x01>;
                                dma-names = "tx";
+                               access-controllers = <&etzpc 70>;
                                status = "disabled";
                        };
 
                                clocks = <&rcc LPTIM2_K>;
                                clock-names = "mux";
                                wakeup-source;
+                               access-controllers = <&etzpc 64>;
                                status = "disabled";
 
                                pwm {
                                clocks = <&rcc LPTIM3_K>;
                                clock-names = "mux";
                                wakeup-source;
+                               access-controllers = <&etzpc 65>;
                                status = "disabled";
 
                                pwm {
                                clocks = <&rcc LPTIM4_K>;
                                clock-names = "mux";
                                wakeup-source;
+                               access-controllers = <&etzpc 66>;
                                status = "disabled";
 
                                pwm {
                                clocks = <&rcc LPTIM5_K>;
                                clock-names = "mux";
                                wakeup-source;
+                               access-controllers = <&etzpc 67>;
                                status = "disabled";
 
                                pwm {
                                regulator-min-microvolt = <1500000>;
                                regulator-max-microvolt = <2500000>;
                                clocks = <&rcc VREF>;
+                               access-controllers = <&etzpc 69>;
                                status = "disabled";
                        };
 
                                reg = <0x50027000 0x4>, <0x500273f0 0x10>;
                                interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
                                resets = <&rcc SAI4_R>;
+                               access-controllers = <&etzpc 68>;
                                status = "disabled";
 
                                sai4a: audio-controller@50027004 {
                                dmas = <&mdma1 31 0x2 0x1000A02 0x0 0x0>;
                                dma-names = "in";
                                dma-maxburst = <2>;
+                               access-controllers = <&etzpc 8>;
                                status = "disabled";
                        };
 
                                reg = <0x54003000 0x400>;
                                clocks = <&rcc RNG1_K>;
                                resets = <&rcc RNG1_R>;
+                               access-controllers = <&etzpc 7>;
                                status = "disabled";
                        };
 
                                reg = <0x58002000 0x1000>;
                                clocks = <&rcc FMC_K>;
                                resets = <&rcc FMC_R>;
+                               access-controllers = <&etzpc 91>;
                                status = "disabled";
 
                                ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */
                                resets = <&rcc QSPI_R>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               access-controllers = <&etzpc 92>;
                                status = "disabled";
                        };
 
                                snps,en-tx-lpi-clockgating;
                                snps,axi-config = <&stmmac_axi_config_0>;
                                snps,tso;
+                               access-controllers = <&etzpc 94>;
                                status = "disabled";
 
                                stmmac_axi_config_0: stmmac-axi-config {
                                interrupts-extended = <&exti 26 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&rcc USART1_K>;
                                wakeup-source;
+                               access-controllers = <&etzpc 3>;
                                status = "disabled";
                        };
 
                                resets = <&rcc SPI6_R>;
                                dmas = <&mdma1 34 0x0 0x40008 0x0 0x0>,
                                       <&mdma1 35 0x0 0x40002 0x0 0x0>;
+                               access-controllers = <&etzpc 4>;
                                dma-names = "rx", "tx";
                                status = "disabled";
                        };
                                st,syscfg-fmp = <&syscfg 0x4 0x8>;
                                wakeup-source;
                                i2c-analog-filter;
+                               access-controllers = <&etzpc 5>;
                                status = "disabled";
                        };
 
                                st,syscfg-fmp = <&syscfg 0x4 0x20>;
                                wakeup-source;
                                i2c-analog-filter;
+                               access-controllers = <&etzpc 12>;
                                status = "disabled";
                        };
                };
index 36e17ea0b179bb2890958032a1666de13cc4c938..4640dafb1598c2701b6db1903530636a78e60369 100644 (file)
@@ -41,6 +41,7 @@
                clocks = <&rcc CK_HSE>, <&rcc FDCAN_K>;
                clock-names = "hclk", "cclk";
                bosch,mram-cfg = <0x0 0 0 32 0 0 2 2>;
+               access-controllers = <&etzpc 62>;
                status = "disabled";
        };
 
@@ -54,6 +55,7 @@
                clocks = <&rcc CK_HSE>, <&rcc FDCAN_K>;
                clock-names = "hclk", "cclk";
                bosch,mram-cfg = <0x1400 0 0 32 0 0 2 2>;
+               access-controllers = <&etzpc 62>;
                status = "disabled";
        };
 };
index d36c3457451a070cd8df8b9084903e34cdc1efc6..97465717f932fc223647af76e88a6182cf3c870f 100644 (file)
@@ -11,6 +11,7 @@
                interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&rcc CRYP1>;
                resets = <&rcc CRYP1_R>;
+               access-controllers = <&etzpc 9>;
                status = "disabled";
        };
 };