Skip to content

Commit c1c6765

Browse files
GseoCAlexandre Torgue
authored andcommitted
dt-bindings: bus: document ETZPC
Document ETZPC (Extended TrustZone protection controller). ETZPC is a firewall controller. Signed-off-by: Gatien Chevallier <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
1 parent eac9fba commit c1c6765

File tree

1 file changed

+96
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)