xref: /rk3399_ARM-atf/docs/resources/diagrams/plantuml/el3_spm_dfd.puml (revision 77a53b8fe48a7c1d7c6927b30c21b6b467684661)
1*20155112SShruti Gupta/'
2*20155112SShruti Gupta ' Copyright (c) 2022, Arm Limited. All rights reserved.
3*20155112SShruti Gupta '
4*20155112SShruti Gupta ' SPDX-License-Identifier: BSD-3-Clause
5*20155112SShruti Gupta '/
6*20155112SShruti Gupta
7*20155112SShruti Gupta/'
8*20155112SShruti GuptaTF-A EL3 SPMC Data Flow Diagram
9*20155112SShruti Gupta'/
10*20155112SShruti Gupta
11*20155112SShruti Gupta@startuml
12*20155112SShruti Guptadigraph tfa_el3_dfd {
13*20155112SShruti Gupta
14*20155112SShruti Gupta    # Allow arrows to end on cluster boundaries
15*20155112SShruti Gupta    compound=true
16*20155112SShruti Gupta    concentrate=false
17*20155112SShruti Gupta    newrank=true
18*20155112SShruti Gupta
19*20155112SShruti Gupta    # Default settings for edges and nodes
20*20155112SShruti Gupta    edge [minlen=2 color="#8c1b07"]
21*20155112SShruti Gupta    node [fillcolor="#ffb866" style=filled shape=box fixedsize=true width=1.6 height=0.7]
22*20155112SShruti Gupta
23*20155112SShruti Gupta    # Nodes outside of the trust boundary
24*20155112SShruti Gupta    nsec [label="NS Client"]
25*20155112SShruti Gupta    ddr  [label="External memory (DDR)"]
26*20155112SShruti Gupta
27*20155112SShruti Gupta    {rank="same" smmu, spmd}
28*20155112SShruti Gupta    # Trust boundary cluster
29*20155112SShruti Gupta    subgraph cluster_trusted {
30*20155112SShruti Gupta        graph [style=dashed color="#f22430"]
31*20155112SShruti Gupta        concentrate=false
32*20155112SShruti Gupta
33*20155112SShruti Gupta        # HW IPs cluster
34*20155112SShruti Gupta        subgraph cluster_ip {
35*20155112SShruti Gupta            label ="Hardware IPs";
36*20155112SShruti Gupta            graph [style=filled color="#000000" fillcolor="#ffd29e"]
37*20155112SShruti Gupta
38*20155112SShruti Gupta            rank="same"
39*20155112SShruti Gupta            gic [label="GIC" width=1.2 height=0.5]
40*20155112SShruti Gupta            smmu [label="SMMU" width=1.2 height=0.5]
41*20155112SShruti Gupta            uart [label="UART" width=1.2 height=0.5]
42*20155112SShruti Gupta            pe [label="PE" width=1.2 height=0.5]
43*20155112SShruti Gupta        }
44*20155112SShruti Gupta
45*20155112SShruti Gupta        # TF-A cluster
46*20155112SShruti Gupta        subgraph cluster_tfa {
47*20155112SShruti Gupta            label ="EL3 monitor";
48*20155112SShruti Gupta            graph [style=filled color="#000000" fillcolor="#faf9cd"]
49*20155112SShruti Gupta            {rank="same" spmc, bl31}
50*20155112SShruti Gupta            {rank="same" spmd, lsp}
51*20155112SShruti Gupta            spmc [label="SPMC" fillcolor="#ddffb3"]
52*20155112SShruti Gupta            bl31 [label="BL31" fillcolor="#ddffb3"];
53*20155112SShruti Gupta            spmd [label="SPMD" fillcolor="#ddffb3"]
54*20155112SShruti Gupta            lsp[label="LSP1" fillcolor="#ddffb3"]
55*20155112SShruti Gupta        }
56*20155112SShruti Gupta        bl2 [label="BL2" width=1.2 height=0.5]
57*20155112SShruti Gupta    }
58*20155112SShruti Gupta
59*20155112SShruti Gupta    # Secure Partitions cluster
60*20155112SShruti Gupta    subgraph cluster_sp {
61*20155112SShruti Gupta        label ="Secure Partitions";
62*20155112SShruti Gupta        graph [style=filled color="#000000" fillcolor="#faf9cd"]
63*20155112SShruti Gupta
64*20155112SShruti Gupta        sp1 [label="SP1" fillcolor="#ddffb3"]
65*20155112SShruti Gupta    }
66*20155112SShruti Gupta
67*20155112SShruti Gupta    sp1 -> spmc [dir="both" label="DF1"]
68*20155112SShruti Gupta    lsp -> spmc [dir="both" label="DF4"]
69*20155112SShruti Gupta    spmc -> spmd [dir="both" label="DF2"]
70*20155112SShruti Gupta    spmd -> nsec [dir="both" label="DF3"]
71*20155112SShruti Gupta    spmc -> smmu [lhead=cluster_spmc label="DF5"]
72*20155112SShruti Gupta    bl2 -> spmc [lhead=cluster_spmc label="DF6"]
73*20155112SShruti Gupta    bl2 -> sp1 [lhead=cluster_spmc label="DF6"]
74*20155112SShruti Gupta    sp1 -> ddr [dir="both"  label="DF7"]
75*20155112SShruti Gupta    spmc -> ddr [dir="both"  label="DF7"]
76*20155112SShruti Gupta}
77*20155112SShruti Gupta
78*20155112SShruti Gupta@enduml
79