1*7d0873ebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*7d0873ebSEmmanuel Vadot%YAML 1.2 3*7d0873ebSEmmanuel Vadot--- 4*7d0873ebSEmmanuel Vadot$id: http://devicetree.org/schemas/bus/st,stm32-etzpc.yaml# 5*7d0873ebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*7d0873ebSEmmanuel Vadot 7*7d0873ebSEmmanuel Vadottitle: STM32 Extended TrustZone protection controller 8*7d0873ebSEmmanuel Vadot 9*7d0873ebSEmmanuel Vadotdescription: | 10*7d0873ebSEmmanuel Vadot The ETZPC configures TrustZone security in a SoC having bus masters and 11*7d0873ebSEmmanuel Vadot devices with programmable-security attributes (securable resources). 12*7d0873ebSEmmanuel Vadot 13*7d0873ebSEmmanuel Vadotmaintainers: 14*7d0873ebSEmmanuel Vadot - Gatien Chevallier <gatien.chevallier@foss.st.com> 15*7d0873ebSEmmanuel Vadot 16*7d0873ebSEmmanuel Vadotselect: 17*7d0873ebSEmmanuel Vadot properties: 18*7d0873ebSEmmanuel Vadot compatible: 19*7d0873ebSEmmanuel Vadot contains: 20*7d0873ebSEmmanuel Vadot const: st,stm32-etzpc 21*7d0873ebSEmmanuel Vadot required: 22*7d0873ebSEmmanuel Vadot - compatible 23*7d0873ebSEmmanuel Vadot 24*7d0873ebSEmmanuel Vadotproperties: 25*7d0873ebSEmmanuel Vadot compatible: 26*7d0873ebSEmmanuel Vadot items: 27*7d0873ebSEmmanuel Vadot - const: st,stm32-etzpc 28*7d0873ebSEmmanuel Vadot - const: simple-bus 29*7d0873ebSEmmanuel Vadot 30*7d0873ebSEmmanuel Vadot reg: 31*7d0873ebSEmmanuel Vadot maxItems: 1 32*7d0873ebSEmmanuel Vadot 33*7d0873ebSEmmanuel Vadot "#address-cells": 34*7d0873ebSEmmanuel Vadot const: 1 35*7d0873ebSEmmanuel Vadot 36*7d0873ebSEmmanuel Vadot "#size-cells": 37*7d0873ebSEmmanuel Vadot const: 1 38*7d0873ebSEmmanuel Vadot 39*7d0873ebSEmmanuel Vadot ranges: true 40*7d0873ebSEmmanuel Vadot 41*7d0873ebSEmmanuel Vadot "#access-controller-cells": 42*7d0873ebSEmmanuel Vadot const: 1 43*7d0873ebSEmmanuel Vadot description: 44*7d0873ebSEmmanuel Vadot Contains the firewall ID associated to the peripheral. 45*7d0873ebSEmmanuel Vadot 46*7d0873ebSEmmanuel VadotpatternProperties: 47*7d0873ebSEmmanuel Vadot "^.*@[0-9a-f]+$": 48*7d0873ebSEmmanuel Vadot description: Peripherals 49*7d0873ebSEmmanuel Vadot type: object 50*7d0873ebSEmmanuel Vadot 51*7d0873ebSEmmanuel Vadot additionalProperties: true 52*7d0873ebSEmmanuel Vadot 53*7d0873ebSEmmanuel Vadot required: 54*7d0873ebSEmmanuel Vadot - access-controllers 55*7d0873ebSEmmanuel Vadot 56*7d0873ebSEmmanuel Vadotrequired: 57*7d0873ebSEmmanuel Vadot - compatible 58*7d0873ebSEmmanuel Vadot - reg 59*7d0873ebSEmmanuel Vadot - "#address-cells" 60*7d0873ebSEmmanuel Vadot - "#size-cells" 61*7d0873ebSEmmanuel Vadot - "#access-controller-cells" 62*7d0873ebSEmmanuel Vadot - ranges 63*7d0873ebSEmmanuel Vadot 64*7d0873ebSEmmanuel VadotadditionalProperties: false 65*7d0873ebSEmmanuel Vadot 66*7d0873ebSEmmanuel Vadotexamples: 67*7d0873ebSEmmanuel Vadot - | 68*7d0873ebSEmmanuel Vadot // In this example, the usart2 device refers to rifsc as its access 69*7d0873ebSEmmanuel Vadot // controller. 70*7d0873ebSEmmanuel Vadot // Access rights are verified before creating devices. 71*7d0873ebSEmmanuel Vadot 72*7d0873ebSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 73*7d0873ebSEmmanuel Vadot #include <dt-bindings/clock/stm32mp13-clks.h> 74*7d0873ebSEmmanuel Vadot #include <dt-bindings/reset/stm32mp13-resets.h> 75*7d0873ebSEmmanuel Vadot 76*7d0873ebSEmmanuel Vadot etzpc: bus@5c007000 { 77*7d0873ebSEmmanuel Vadot compatible = "st,stm32-etzpc", "simple-bus"; 78*7d0873ebSEmmanuel Vadot reg = <0x5c007000 0x400>; 79*7d0873ebSEmmanuel Vadot #address-cells = <1>; 80*7d0873ebSEmmanuel Vadot #size-cells = <1>; 81*7d0873ebSEmmanuel Vadot #access-controller-cells = <1>; 82*7d0873ebSEmmanuel Vadot ranges; 83*7d0873ebSEmmanuel Vadot 84*7d0873ebSEmmanuel Vadot usart2: serial@4c001000 { 85*7d0873ebSEmmanuel Vadot compatible = "st,stm32h7-uart"; 86*7d0873ebSEmmanuel Vadot reg = <0x4c001000 0x400>; 87*7d0873ebSEmmanuel Vadot interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>; 88*7d0873ebSEmmanuel Vadot clocks = <&rcc USART2_K>; 89*7d0873ebSEmmanuel Vadot resets = <&rcc USART2_R>; 90*7d0873ebSEmmanuel Vadot wakeup-source; 91*7d0873ebSEmmanuel Vadot dmas = <&dmamux1 43 0x400 0x5>, 92*7d0873ebSEmmanuel Vadot <&dmamux1 44 0x400 0x1>; 93*7d0873ebSEmmanuel Vadot dma-names = "rx", "tx"; 94*7d0873ebSEmmanuel Vadot access-controllers = <&etzpc 17>; 95*7d0873ebSEmmanuel Vadot }; 96*7d0873ebSEmmanuel Vadot }; 97