| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | 
 | %YAML 1.2 | 
 | --- | 
 | $id: http://devicetree.org/schemas/bus/st,stm32-etzpc.yaml# | 
 | $schema: http://devicetree.org/meta-schemas/core.yaml# | 
 |  | 
 | title: STM32 Extended TrustZone protection controller | 
 |  | 
 | description: | | 
 |   The ETZPC configures TrustZone security in a SoC having bus masters and | 
 |   devices with programmable-security attributes (securable resources). | 
 |  | 
 | maintainers: | 
 |   - Gatien Chevallier <gatien.chevallier@foss.st.com> | 
 |  | 
 | select: | 
 |   properties: | 
 |     compatible: | 
 |       contains: | 
 |         const: st,stm32-etzpc | 
 |   required: | 
 |     - compatible | 
 |  | 
 | properties: | 
 |   compatible: | 
 |     items: | 
 |       - const: st,stm32-etzpc | 
 |       - const: simple-bus | 
 |  | 
 |   reg: | 
 |     maxItems: 1 | 
 |  | 
 |   "#address-cells": | 
 |     const: 1 | 
 |  | 
 |   "#size-cells": | 
 |     const: 1 | 
 |  | 
 |   ranges: true | 
 |  | 
 |   "#access-controller-cells": | 
 |     const: 1 | 
 |     description: | 
 |       Contains the firewall ID associated to the peripheral. | 
 |  | 
 | patternProperties: | 
 |   "^.*@[0-9a-f]+$": | 
 |     description: Peripherals | 
 |     type: object | 
 |  | 
 |     additionalProperties: true | 
 |  | 
 |     required: | 
 |       - access-controllers | 
 |  | 
 | required: | 
 |   - compatible | 
 |   - reg | 
 |   - "#address-cells" | 
 |   - "#size-cells" | 
 |   - "#access-controller-cells" | 
 |   - ranges | 
 |  | 
 | additionalProperties: false | 
 |  | 
 | examples: | 
 |   - | | 
 |     // In this example, the usart2 device refers to rifsc as its access | 
 |     // controller. | 
 |     // Access rights are verified before creating devices. | 
 |  | 
 |     #include <dt-bindings/interrupt-controller/arm-gic.h> | 
 |     #include <dt-bindings/clock/stm32mp13-clks.h> | 
 |     #include <dt-bindings/reset/stm32mp13-resets.h> | 
 |  | 
 |     etzpc: bus@5c007000 { | 
 |         compatible = "st,stm32-etzpc", "simple-bus"; | 
 |         reg = <0x5c007000 0x400>; | 
 |         #address-cells = <1>; | 
 |         #size-cells = <1>; | 
 |         #access-controller-cells = <1>; | 
 |         ranges; | 
 |  | 
 |         usart2: serial@4c001000 { | 
 |             compatible = "st,stm32h7-uart"; | 
 |             reg = <0x4c001000 0x400>; | 
 |             interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>; | 
 |             clocks = <&rcc USART2_K>; | 
 |             resets = <&rcc USART2_R>; | 
 |             wakeup-source; | 
 |             dmas = <&dmamux1 43 0x400 0x5>, | 
 |                     <&dmamux1 44 0x400 0x1>; | 
 |             dma-names = "rx", "tx"; | 
 |             access-controllers = <&etzpc 17>; | 
 |         }; | 
 |     }; |