Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: arm: Convert CoreSight bindings to DT schema

Each CoreSight component has slightly different requirements and
nothing applies to every component, so each CoreSight component has its
own schema document.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20220603011933.3277315-3-robh@kernel.org
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

authored by

Rob Herring and committed by
Mathieu Poirier
3c15fddf 92c2b1c1

+1108 -408
+101
Documentation/devicetree/bindings/arm/arm,coresight-catu.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/arm,coresight-catu.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Arm Coresight Address Translation Unit (CATU) 8 + 9 + maintainers: 10 + - Mathieu Poirier <mathieu.poirier@linaro.org> 11 + - Mike Leach <mike.leach@linaro.org> 12 + - Leo Yan <leo.yan@linaro.org> 13 + - Suzuki K Poulose <suzuki.poulose@arm.com> 14 + 15 + description: | 16 + CoreSight components are compliant with the ARM CoreSight architecture 17 + specification and can be connected in various topologies to suit a particular 18 + SoCs tracing needs. These trace components can generally be classified as 19 + sinks, links and sources. Trace data produced by one or more sources flows 20 + through the intermediate links connecting the source to the currently selected 21 + sink. 22 + 23 + The CoreSight Address Translation Unit (CATU) translates addresses between an 24 + AXI master and system memory. The CATU is normally used along with the TMC to 25 + implement scattering of virtual trace buffers in physical memory. The CATU 26 + translates contiguous Virtual Addresses (VAs) from an AXI master into 27 + non-contiguous Physical Addresses (PAs) that are intended for system memory. 28 + 29 + # Need a custom select here or 'arm,primecell' will match on lots of nodes 30 + select: 31 + properties: 32 + compatible: 33 + contains: 34 + const: arm,coresight-catu 35 + required: 36 + - compatible 37 + 38 + allOf: 39 + - $ref: /schemas/arm/primecell.yaml# 40 + 41 + properties: 42 + compatible: 43 + items: 44 + - const: arm,coresight-catu 45 + - const: arm,primecell 46 + 47 + reg: 48 + maxItems: 1 49 + 50 + clocks: 51 + minItems: 1 52 + maxItems: 2 53 + 54 + clock-names: 55 + minItems: 1 56 + items: 57 + - const: apb_pclk 58 + - const: atclk 59 + 60 + interrupts: 61 + maxItems: 1 62 + description: Address translation error interrupt 63 + 64 + in-ports: 65 + $ref: /schemas/graph.yaml#/properties/ports 66 + additionalProperties: false 67 + 68 + properties: 69 + port: 70 + description: AXI Slave connected to another Coresight component 71 + $ref: /schemas/graph.yaml#/properties/port 72 + 73 + required: 74 + - compatible 75 + - reg 76 + - clocks 77 + - clock-names 78 + - in-ports 79 + 80 + unevaluatedProperties: false 81 + 82 + examples: 83 + - | 84 + #include <dt-bindings/interrupt-controller/arm-gic.h> 85 + catu@207e0000 { 86 + compatible = "arm,coresight-catu", "arm,primecell"; 87 + reg = <0x207e0000 0x1000>; 88 + 89 + clocks = <&oscclk6a>; 90 + clock-names = "apb_pclk"; 91 + 92 + interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 93 + in-ports { 94 + port { 95 + catu_in_port: endpoint { 96 + remote-endpoint = <&etr_out_port>; 97 + }; 98 + }; 99 + }; 100 + }; 101 + ...
+1 -2
Documentation/devicetree/bindings/arm/arm,coresight-cti.yaml
··· 12 12 to one or more CoreSight components and/or a CPU, with CTIs interconnected in 13 13 a star topology via the Cross Trigger Matrix (CTM), which is not programmable. 14 14 The ECT components are not part of the trace generation data path and are thus 15 - not part of the CoreSight graph described in the general CoreSight bindings 16 - file coresight.txt. 15 + not part of the CoreSight graph. 17 16 18 17 The CTI component properties define the connections between the individual 19 18 CTI and the components it is directly connected to, consisting of input and
+126
Documentation/devicetree/bindings/arm/arm,coresight-dynamic-funnel.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/arm,coresight-dynamic-funnel.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Arm CoreSight Programmable Trace Bus Funnel 8 + 9 + maintainers: 10 + - Mathieu Poirier <mathieu.poirier@linaro.org> 11 + - Mike Leach <mike.leach@linaro.org> 12 + - Leo Yan <leo.yan@linaro.org> 13 + - Suzuki K Poulose <suzuki.poulose@arm.com> 14 + 15 + description: | 16 + CoreSight components are compliant with the ARM CoreSight architecture 17 + specification and can be connected in various topologies to suit a particular 18 + SoCs tracing needs. These trace components can generally be classified as 19 + sinks, links and sources. Trace data produced by one or more sources flows 20 + through the intermediate links connecting the source to the currently selected 21 + sink. 22 + 23 + The Coresight funnel merges 2-8 trace sources into a single trace 24 + stream with programmable enable and priority of input ports. 25 + 26 + # Need a custom select here or 'arm,primecell' will match on lots of nodes 27 + select: 28 + properties: 29 + compatible: 30 + contains: 31 + const: arm,coresight-dynamic-funnel 32 + required: 33 + - compatible 34 + 35 + allOf: 36 + - $ref: /schemas/arm/primecell.yaml# 37 + 38 + properties: 39 + compatible: 40 + items: 41 + - const: arm,coresight-dynamic-funnel 42 + - const: arm,primecell 43 + 44 + reg: 45 + maxItems: 1 46 + 47 + clocks: 48 + minItems: 1 49 + maxItems: 2 50 + 51 + clock-names: 52 + minItems: 1 53 + items: 54 + - const: apb_pclk 55 + - const: atclk 56 + 57 + in-ports: 58 + $ref: /schemas/graph.yaml#/properties/ports 59 + 60 + patternProperties: 61 + '^port(@[0-7])?$': 62 + description: Input connections from CoreSight Trace bus 63 + $ref: /schemas/graph.yaml#/properties/port 64 + 65 + out-ports: 66 + $ref: /schemas/graph.yaml#/properties/ports 67 + additionalProperties: false 68 + 69 + properties: 70 + port: 71 + description: Output connection to CoreSight Trace bus 72 + $ref: /schemas/graph.yaml#/properties/port 73 + 74 + required: 75 + - compatible 76 + - reg 77 + - clocks 78 + - clock-names 79 + - in-ports 80 + - out-ports 81 + 82 + unevaluatedProperties: false 83 + 84 + examples: 85 + - | 86 + funnel@20040000 { 87 + compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 88 + reg = <0x20040000 0x1000>; 89 + 90 + clocks = <&oscclk6a>; 91 + clock-names = "apb_pclk"; 92 + out-ports { 93 + port { 94 + funnel_out_port0: endpoint { 95 + remote-endpoint = <&replicator_in_port0>; 96 + }; 97 + }; 98 + }; 99 + 100 + in-ports { 101 + #address-cells = <1>; 102 + #size-cells = <0>; 103 + 104 + port@0 { 105 + reg = <0>; 106 + funnel_in_port0: endpoint { 107 + remote-endpoint = <&ptm0_out_port>; 108 + }; 109 + }; 110 + 111 + port@1 { 112 + reg = <1>; 113 + funnel_in_port1: endpoint { 114 + remote-endpoint = <&ptm1_out_port>; 115 + }; 116 + }; 117 + 118 + port@2 { 119 + reg = <2>; 120 + funnel_in_port2: endpoint { 121 + remote-endpoint = <&etm0_out_port>; 122 + }; 123 + }; 124 + }; 125 + }; 126 + ...
+126
Documentation/devicetree/bindings/arm/arm,coresight-dynamic-replicator.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/arm,coresight-dynamic-replicator.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Arm Coresight Programmable Trace Bus Replicator 8 + 9 + maintainers: 10 + - Mathieu Poirier <mathieu.poirier@linaro.org> 11 + - Mike Leach <mike.leach@linaro.org> 12 + - Leo Yan <leo.yan@linaro.org> 13 + - Suzuki K Poulose <suzuki.poulose@arm.com> 14 + 15 + description: | 16 + CoreSight components are compliant with the ARM CoreSight architecture 17 + specification and can be connected in various topologies to suit a particular 18 + SoCs tracing needs. These trace components can generally be classified as 19 + sinks, links and sources. Trace data produced by one or more sources flows 20 + through the intermediate links connecting the source to the currently selected 21 + sink. 22 + 23 + The Coresight replicator splits a single trace stream into two trace streams 24 + for systems that have more than one trace sink component. 25 + 26 + # Need a custom select here or 'arm,primecell' will match on lots of nodes 27 + select: 28 + properties: 29 + compatible: 30 + contains: 31 + const: arm,coresight-dynamic-replicator 32 + required: 33 + - compatible 34 + 35 + allOf: 36 + - $ref: /schemas/arm/primecell.yaml# 37 + 38 + properties: 39 + compatible: 40 + items: 41 + - const: arm,coresight-dynamic-replicator 42 + - const: arm,primecell 43 + 44 + reg: 45 + maxItems: 1 46 + 47 + clocks: 48 + minItems: 1 49 + maxItems: 2 50 + 51 + clock-names: 52 + minItems: 1 53 + items: 54 + - const: apb_pclk 55 + - const: atclk 56 + 57 + qcom,replicator-loses-context: 58 + type: boolean 59 + description: 60 + Indicates that the replicator will lose register context when AMBA clock 61 + is removed which is observed in some replicator designs. 62 + 63 + in-ports: 64 + $ref: /schemas/graph.yaml#/properties/ports 65 + additionalProperties: false 66 + 67 + properties: 68 + port: 69 + description: Input connection from CoreSight Trace bus 70 + $ref: /schemas/graph.yaml#/properties/port 71 + 72 + out-ports: 73 + $ref: /schemas/graph.yaml#/properties/ports 74 + 75 + patternProperties: 76 + '^port(@[01])?$': 77 + description: Output connections to CoreSight Trace bus 78 + $ref: /schemas/graph.yaml#/properties/port 79 + 80 + required: 81 + - compatible 82 + - reg 83 + - clocks 84 + - clock-names 85 + - in-ports 86 + - out-ports 87 + 88 + unevaluatedProperties: false 89 + 90 + examples: 91 + - | 92 + replicator@20120000 { 93 + compatible = "arm,coresight-dynamic-replicator", "arm,primecell"; 94 + reg = <0x20120000 0x1000>; 95 + 96 + clocks = <&soc_smc50mhz>; 97 + clock-names = "apb_pclk"; 98 + 99 + out-ports { 100 + #address-cells = <1>; 101 + #size-cells = <0>; 102 + 103 + /* replicator output ports */ 104 + port@0 { 105 + reg = <0>; 106 + replicator_out_port0: endpoint { 107 + remote-endpoint = <&tpiu_in_port>; 108 + }; 109 + }; 110 + 111 + port@1 { 112 + reg = <1>; 113 + replicator_out_port1: endpoint { 114 + remote-endpoint = <&etr_in_port>; 115 + }; 116 + }; 117 + }; 118 + in-ports { 119 + port { 120 + replicator_in_port0: endpoint { 121 + remote-endpoint = <&csys2_funnel_out_port>; 122 + }; 123 + }; 124 + }; 125 + }; 126 + ...
+92
Documentation/devicetree/bindings/arm/arm,coresight-etb10.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/arm,coresight-etb10.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Arm CoreSight Embedded Trace Buffer 8 + 9 + maintainers: 10 + - Mathieu Poirier <mathieu.poirier@linaro.org> 11 + - Mike Leach <mike.leach@linaro.org> 12 + - Leo Yan <leo.yan@linaro.org> 13 + - Suzuki K Poulose <suzuki.poulose@arm.com> 14 + 15 + description: | 16 + CoreSight components are compliant with the ARM CoreSight architecture 17 + specification and can be connected in various topologies to suit a particular 18 + SoCs tracing needs. These trace components can generally be classified as 19 + sinks, links and sources. Trace data produced by one or more sources flows 20 + through the intermediate links connecting the source to the currently selected 21 + sink. 22 + 23 + The CoreSight Embedded Trace Buffer stores traces in a dedicated SRAM that is 24 + used as a circular buffer. 25 + 26 + # Need a custom select here or 'arm,primecell' will match on lots of nodes 27 + select: 28 + properties: 29 + compatible: 30 + contains: 31 + const: arm,coresight-etb10 32 + required: 33 + - compatible 34 + 35 + allOf: 36 + - $ref: /schemas/arm/primecell.yaml# 37 + 38 + properties: 39 + compatible: 40 + items: 41 + - const: arm,coresight-etb10 42 + - const: arm,primecell 43 + 44 + reg: 45 + maxItems: 1 46 + 47 + clocks: 48 + minItems: 1 49 + maxItems: 2 50 + 51 + clock-names: 52 + minItems: 1 53 + items: 54 + - const: apb_pclk 55 + - const: atclk 56 + 57 + in-ports: 58 + $ref: /schemas/graph.yaml#/properties/ports 59 + additionalProperties: false 60 + 61 + properties: 62 + port: 63 + description: Input connection from CoreSight Trace bus. 64 + $ref: /schemas/graph.yaml#/properties/port 65 + 66 + required: 67 + - compatible 68 + - reg 69 + - clocks 70 + - clock-names 71 + - in-ports 72 + 73 + unevaluatedProperties: false 74 + 75 + examples: 76 + - | 77 + etb@20010000 { 78 + compatible = "arm,coresight-etb10", "arm,primecell"; 79 + reg = <0x20010000 0x1000>; 80 + 81 + clocks = <&oscclk6a>; 82 + clock-names = "apb_pclk"; 83 + in-ports { 84 + port { 85 + etb_in_port: endpoint { 86 + remote-endpoint = <&replicator_out_port0>; 87 + }; 88 + }; 89 + }; 90 + }; 91 + 92 + ...
+156
Documentation/devicetree/bindings/arm/arm,coresight-etm.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/arm,coresight-etm.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Arm CoreSight Embedded Trace MacroCell 8 + 9 + maintainers: 10 + - Mathieu Poirier <mathieu.poirier@linaro.org> 11 + - Mike Leach <mike.leach@linaro.org> 12 + - Leo Yan <leo.yan@linaro.org> 13 + - Suzuki K Poulose <suzuki.poulose@arm.com> 14 + 15 + description: | 16 + CoreSight components are compliant with the ARM CoreSight architecture 17 + specification and can be connected in various topologies to suit a particular 18 + SoCs tracing needs. These trace components can generally be classified as 19 + sinks, links and sources. Trace data produced by one or more sources flows 20 + through the intermediate links connecting the source to the currently selected 21 + sink. 22 + 23 + The Embedded Trace Macrocell (ETM) is a real-time trace module providing 24 + instruction and data tracing of a processor. 25 + 26 + select: 27 + properties: 28 + compatible: 29 + contains: 30 + enum: 31 + - arm,coresight-etm3x 32 + - arm,coresight-etm4x 33 + - arm,coresight-etm4x-sysreg 34 + required: 35 + - compatible 36 + 37 + allOf: 38 + - if: 39 + not: 40 + properties: 41 + compatible: 42 + contains: 43 + const: arm,coresight-etm4x-sysreg 44 + then: 45 + $ref: /schemas/arm/primecell.yaml# 46 + required: 47 + - reg 48 + 49 + properties: 50 + compatible: 51 + oneOf: 52 + - description: 53 + Embedded Trace Macrocell with memory mapped access. 54 + items: 55 + - enum: 56 + - arm,coresight-etm3x 57 + - arm,coresight-etm4x 58 + - const: arm,primecell 59 + - description: 60 + Embedded Trace Macrocell (version 4.x), with system register access only 61 + const: arm,coresight-etm4x-sysreg 62 + 63 + reg: 64 + maxItems: 1 65 + 66 + clocks: 67 + minItems: 1 68 + maxItems: 2 69 + 70 + clock-names: 71 + minItems: 1 72 + items: 73 + - const: apb_pclk 74 + - const: atclk 75 + 76 + arm,coresight-loses-context-with-cpu: 77 + type: boolean 78 + description: 79 + Indicates that the hardware will lose register context on CPU power down 80 + (e.g. CPUIdle). An example of where this may be needed are systems which 81 + contain a coresight component and CPU in the same power domain. When the 82 + CPU powers down the coresight component also powers down and loses its 83 + context. 84 + 85 + arm,cp14: 86 + type: boolean 87 + description: 88 + Must be present if the system accesses ETM/PTM management registers via 89 + co-processor 14. 90 + 91 + qcom,skip-power-up: 92 + type: boolean 93 + description: 94 + Indicates that an implementation can skip powering up the trace unit. 95 + TRCPDCR.PU does not have to be set on Qualcomm Technologies Inc. systems 96 + since ETMs are in the same power domain as their CPU cores. This property 97 + is required to identify such systems with hardware errata where the CPU 98 + watchdog counter is stopped when TRCPDCR.PU is set. 99 + 100 + cpu: 101 + description: 102 + phandle to the cpu this ETM is bound to. 103 + $ref: /schemas/types.yaml#/definitions/phandle 104 + 105 + out-ports: 106 + $ref: /schemas/graph.yaml#/properties/ports 107 + additionalProperties: false 108 + 109 + properties: 110 + port: 111 + description: Output connection from the ETM to CoreSight Trace bus. 112 + $ref: /schemas/graph.yaml#/properties/port 113 + 114 + required: 115 + - compatible 116 + - clocks 117 + - clock-names 118 + - cpu 119 + - out-ports 120 + 121 + unevaluatedProperties: false 122 + 123 + examples: 124 + - | 125 + ptm@2201c000 { 126 + compatible = "arm,coresight-etm3x", "arm,primecell"; 127 + reg = <0x2201c000 0x1000>; 128 + 129 + cpu = <&cpu0>; 130 + clocks = <&oscclk6a>; 131 + clock-names = "apb_pclk"; 132 + out-ports { 133 + port { 134 + ptm0_out_port: endpoint { 135 + remote-endpoint = <&funnel_in_port0>; 136 + }; 137 + }; 138 + }; 139 + }; 140 + 141 + ptm@2201d000 { 142 + compatible = "arm,coresight-etm3x", "arm,primecell"; 143 + reg = <0x2201d000 0x1000>; 144 + 145 + cpu = <&cpu1>; 146 + clocks = <&oscclk6a>; 147 + clock-names = "apb_pclk"; 148 + out-ports { 149 + port { 150 + ptm1_out_port: endpoint { 151 + remote-endpoint = <&funnel_in_port1>; 152 + }; 153 + }; 154 + }; 155 + }; 156 + ...
+90
Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/arm,coresight-static-funnel.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Arm CoreSight Static Trace Bus Funnel 8 + 9 + maintainers: 10 + - Mathieu Poirier <mathieu.poirier@linaro.org> 11 + - Mike Leach <mike.leach@linaro.org> 12 + - Leo Yan <leo.yan@linaro.org> 13 + - Suzuki K Poulose <suzuki.poulose@arm.com> 14 + 15 + description: | 16 + CoreSight components are compliant with the ARM CoreSight architecture 17 + specification and can be connected in various topologies to suit a particular 18 + SoCs tracing needs. These trace components can generally be classified as 19 + sinks, links and sources. Trace data produced by one or more sources flows 20 + through the intermediate links connecting the source to the currently selected 21 + sink. 22 + 23 + The Coresight static funnel merges 2-8 trace sources into a single trace 24 + stream. 25 + 26 + properties: 27 + compatible: 28 + const: arm,coresight-static-funnel 29 + 30 + in-ports: 31 + $ref: /schemas/graph.yaml#/properties/ports 32 + 33 + patternProperties: 34 + '^port@[0-7]$': 35 + description: Input connections from CoreSight Trace bus 36 + $ref: /schemas/graph.yaml#/properties/port 37 + 38 + out-ports: 39 + $ref: /schemas/graph.yaml#/properties/ports 40 + additionalProperties: false 41 + 42 + properties: 43 + port: 44 + description: Output connection to CoreSight Trace bus 45 + $ref: /schemas/graph.yaml#/properties/port 46 + 47 + required: 48 + - compatible 49 + - in-ports 50 + - out-ports 51 + 52 + additionalProperties: false 53 + 54 + examples: 55 + - | 56 + funnel { 57 + /* 58 + * non-configurable replicators don't show up on the 59 + * AMBA bus. As such no need to add "arm,primecell". 60 + */ 61 + compatible = "arm,coresight-static-funnel"; 62 + 63 + out-ports { 64 + port { 65 + combo_funnel_out: endpoint { 66 + remote-endpoint = <&top_funnel_in>; 67 + }; 68 + }; 69 + }; 70 + 71 + in-ports { 72 + #address-cells = <1>; 73 + #size-cells = <0>; 74 + 75 + port@0 { 76 + reg = <0>; 77 + combo_funnel_in0: endpoint { 78 + remote-endpoint = <&cluster0_etf_out>; 79 + }; 80 + }; 81 + 82 + port@1 { 83 + reg = <1>; 84 + combo_funnel_in1: endpoint { 85 + remote-endpoint = <&cluster1_etf_out>; 86 + }; 87 + }; 88 + }; 89 + }; 90 + ...
+91
Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/arm,coresight-static-replicator.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Arm CoreSight Static Trace Bus Replicator 8 + 9 + maintainers: 10 + - Mathieu Poirier <mathieu.poirier@linaro.org> 11 + - Mike Leach <mike.leach@linaro.org> 12 + - Leo Yan <leo.yan@linaro.org> 13 + - Suzuki K Poulose <suzuki.poulose@arm.com> 14 + 15 + description: | 16 + CoreSight components are compliant with the ARM CoreSight architecture 17 + specification and can be connected in various topologies to suit a particular 18 + SoCs tracing needs. These trace components can generally be classified as 19 + sinks, links and sources. Trace data produced by one or more sources flows 20 + through the intermediate links connecting the source to the currently selected 21 + sink. 22 + 23 + The Coresight replicator splits a single trace stream into two trace streams 24 + for systems that have more than one trace sink component. 25 + 26 + properties: 27 + compatible: 28 + const: arm,coresight-static-replicator 29 + 30 + in-ports: 31 + $ref: /schemas/graph.yaml#/properties/ports 32 + additionalProperties: false 33 + 34 + properties: 35 + port: 36 + description: Input connection from CoreSight Trace bus 37 + $ref: /schemas/graph.yaml#/properties/port 38 + 39 + out-ports: 40 + $ref: /schemas/graph.yaml#/properties/ports 41 + 42 + patternProperties: 43 + '^port@[01]$': 44 + description: Output connections to CoreSight Trace bus 45 + $ref: /schemas/graph.yaml#/properties/port 46 + 47 + required: 48 + - compatible 49 + - in-ports 50 + - out-ports 51 + 52 + additionalProperties: false 53 + 54 + examples: 55 + - | 56 + replicator { 57 + /* 58 + * non-configurable replicators don't show up on the 59 + * AMBA bus. As such no need to add "arm,primecell". 60 + */ 61 + compatible = "arm,coresight-static-replicator"; 62 + 63 + out-ports { 64 + #address-cells = <1>; 65 + #size-cells = <0>; 66 + 67 + /* replicator output ports */ 68 + port@0 { 69 + reg = <0>; 70 + replicator_out_port0: endpoint { 71 + remote-endpoint = <&etb_in_port>; 72 + }; 73 + }; 74 + 75 + port@1 { 76 + reg = <1>; 77 + replicator_out_port1: endpoint { 78 + remote-endpoint = <&tpiu_in_port>; 79 + }; 80 + }; 81 + }; 82 + 83 + in-ports { 84 + port { 85 + replicator_in_port0: endpoint { 86 + remote-endpoint = <&funnel_out_port0>; 87 + }; 88 + }; 89 + }; 90 + }; 91 + ...
+101
Documentation/devicetree/bindings/arm/arm,coresight-stm.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/arm,coresight-stm.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Arm CoreSight System Trace MacroCell 8 + 9 + maintainers: 10 + - Mathieu Poirier <mathieu.poirier@linaro.org> 11 + - Mike Leach <mike.leach@linaro.org> 12 + - Leo Yan <leo.yan@linaro.org> 13 + - Suzuki K Poulose <suzuki.poulose@arm.com> 14 + 15 + description: | 16 + CoreSight components are compliant with the ARM CoreSight architecture 17 + specification and can be connected in various topologies to suit a particular 18 + SoCs tracing needs. These trace components can generally be classified as 19 + sinks, links and sources. Trace data produced by one or more sources flows 20 + through the intermediate links connecting the source to the currently selected 21 + sink. 22 + 23 + The STM is a trace source that is integrated into a CoreSight system, designed 24 + primarily for high-bandwidth trace of instrumentation embedded into software. 25 + This instrumentation is made up of memory-mapped writes to the STM Advanced 26 + eXtensible Interface (AXI) slave, which carry information about the behavior 27 + of the software. 28 + 29 + select: 30 + properties: 31 + compatible: 32 + contains: 33 + const: arm,coresight-stm 34 + required: 35 + - compatible 36 + 37 + allOf: 38 + - $ref: /schemas/arm/primecell.yaml# 39 + 40 + properties: 41 + compatible: 42 + items: 43 + - const: arm,coresight-stm 44 + - const: arm,primecell 45 + 46 + reg: 47 + maxItems: 2 48 + 49 + reg-names: 50 + items: 51 + - const: stm-base 52 + - const: stm-stimulus-base 53 + 54 + clocks: 55 + minItems: 1 56 + maxItems: 2 57 + 58 + clock-names: 59 + minItems: 1 60 + items: 61 + - const: apb_pclk 62 + - const: atclk 63 + 64 + out-ports: 65 + $ref: /schemas/graph.yaml#/properties/ports 66 + additionalProperties: false 67 + 68 + properties: 69 + port: 70 + description: Output connection to the CoreSight Trace bus. 71 + $ref: /schemas/graph.yaml#/properties/port 72 + 73 + required: 74 + - compatible 75 + - reg 76 + - reg-names 77 + - clocks 78 + - clock-names 79 + - out-ports 80 + 81 + unevaluatedProperties: false 82 + 83 + examples: 84 + - | 85 + stm@20100000 { 86 + compatible = "arm,coresight-stm", "arm,primecell"; 87 + reg = <0x20100000 0x1000>, 88 + <0x28000000 0x180000>; 89 + reg-names = "stm-base", "stm-stimulus-base"; 90 + 91 + clocks = <&soc_smc50mhz>; 92 + clock-names = "apb_pclk"; 93 + out-ports { 94 + port { 95 + stm_out_port: endpoint { 96 + remote-endpoint = <&main_funnel_in_port2>; 97 + }; 98 + }; 99 + }; 100 + }; 101 + ...
+131
Documentation/devicetree/bindings/arm/arm,coresight-tmc.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/arm,coresight-tmc.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Arm CoreSight Trace Memory Controller 8 + 9 + maintainers: 10 + - Mathieu Poirier <mathieu.poirier@linaro.org> 11 + - Mike Leach <mike.leach@linaro.org> 12 + - Leo Yan <leo.yan@linaro.org> 13 + - Suzuki K Poulose <suzuki.poulose@arm.com> 14 + 15 + description: | 16 + CoreSight components are compliant with the ARM CoreSight architecture 17 + specification and can be connected in various topologies to suit a particular 18 + SoCs tracing needs. These trace components can generally be classified as 19 + sinks, links and sources. Trace data produced by one or more sources flows 20 + through the intermediate links connecting the source to the currently selected 21 + sink. 22 + 23 + Trace Memory Controller is used for Embedded Trace Buffer(ETB), Embedded Trace 24 + FIFO(ETF) and Embedded Trace Router(ETR) configurations. The configuration 25 + mode (ETB, ETF, ETR) is discovered at boot time when the device is probed. 26 + 27 + # Need a custom select here or 'arm,primecell' will match on lots of nodes 28 + select: 29 + properties: 30 + compatible: 31 + contains: 32 + const: arm,coresight-tmc 33 + required: 34 + - compatible 35 + 36 + allOf: 37 + - $ref: /schemas/arm/primecell.yaml# 38 + 39 + properties: 40 + compatible: 41 + items: 42 + - const: arm,coresight-tmc 43 + - const: arm,primecell 44 + 45 + reg: 46 + maxItems: 1 47 + 48 + clocks: 49 + minItems: 1 50 + maxItems: 2 51 + 52 + clock-names: 53 + minItems: 1 54 + items: 55 + - const: apb_pclk 56 + - const: atclk 57 + 58 + arm,buffer-size: 59 + $ref: /schemas/types.yaml#/definitions/uint32 60 + deprecated: true 61 + description: 62 + Size of contiguous buffer space for TMC ETR (embedded trace router). The 63 + buffer size can be configured dynamically via buffer_size property in 64 + sysfs instead. 65 + 66 + arm,scatter-gather: 67 + type: boolean 68 + description: 69 + Indicates that the TMC-ETR can safely use the SG mode on this system. 70 + 71 + arm,max-burst-size: 72 + description: 73 + The maximum burst size initiated by TMC on the AXI master interface. The 74 + burst size can be in the range [0..15], the setting supports one data 75 + transfer per burst up to a maximum of 16 data transfers per burst. 76 + $ref: /schemas/types.yaml#/definitions/uint32 77 + maximum: 15 78 + 79 + in-ports: 80 + $ref: /schemas/graph.yaml#/properties/ports 81 + additionalProperties: false 82 + 83 + properties: 84 + port: 85 + description: Input connection from the CoreSight Trace bus. 86 + $ref: /schemas/graph.yaml#/properties/port 87 + 88 + out-ports: 89 + $ref: /schemas/graph.yaml#/properties/ports 90 + additionalProperties: false 91 + 92 + properties: 93 + port: 94 + description: AXI or ATB Master output connection. Used for ETR 95 + and ETF configurations. 96 + $ref: /schemas/graph.yaml#/properties/port 97 + 98 + required: 99 + - compatible 100 + - reg 101 + - clocks 102 + - clock-names 103 + - in-ports 104 + 105 + unevaluatedProperties: false 106 + 107 + examples: 108 + - | 109 + etr@20070000 { 110 + compatible = "arm,coresight-tmc", "arm,primecell"; 111 + reg = <0x20070000 0x1000>; 112 + 113 + clocks = <&oscclk6a>; 114 + clock-names = "apb_pclk"; 115 + in-ports { 116 + port { 117 + etr_in_port: endpoint { 118 + remote-endpoint = <&replicator2_out_port0>; 119 + }; 120 + }; 121 + }; 122 + 123 + out-ports { 124 + port { 125 + etr_out_port: endpoint { 126 + remote-endpoint = <&catu_in_port>; 127 + }; 128 + }; 129 + }; 130 + }; 131 + ...
+91
Documentation/devicetree/bindings/arm/arm,coresight-tpiu.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/arm,coresight-tpiu.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Arm CoreSight Trace Port Interface Unit 8 + 9 + maintainers: 10 + - Mathieu Poirier <mathieu.poirier@linaro.org> 11 + - Mike Leach <mike.leach@linaro.org> 12 + - Leo Yan <leo.yan@linaro.org> 13 + - Suzuki K Poulose <suzuki.poulose@arm.com> 14 + 15 + description: | 16 + CoreSight components are compliant with the ARM CoreSight architecture 17 + specification and can be connected in various topologies to suit a particular 18 + SoCs tracing needs. These trace components can generally be classified as 19 + sinks, links and sources. Trace data produced by one or more sources flows 20 + through the intermediate links connecting the source to the currently selected 21 + sink. 22 + 23 + The CoreSight Trace Port Interface Unit captures trace data from the trace bus 24 + and outputs it to an external trace port. 25 + 26 + # Need a custom select here or 'arm,primecell' will match on lots of nodes 27 + select: 28 + properties: 29 + compatible: 30 + contains: 31 + const: arm,coresight-tpiu 32 + required: 33 + - compatible 34 + 35 + allOf: 36 + - $ref: /schemas/arm/primecell.yaml# 37 + 38 + properties: 39 + compatible: 40 + items: 41 + - const: arm,coresight-tpiu 42 + - const: arm,primecell 43 + 44 + reg: 45 + maxItems: 1 46 + 47 + clocks: 48 + minItems: 1 49 + maxItems: 2 50 + 51 + clock-names: 52 + minItems: 1 53 + items: 54 + - const: apb_pclk 55 + - const: atclk 56 + 57 + in-ports: 58 + $ref: /schemas/graph.yaml#/properties/ports 59 + additionalProperties: false 60 + 61 + properties: 62 + port: 63 + description: Input connection from the CoreSight Trace bus. 64 + $ref: /schemas/graph.yaml#/properties/port 65 + 66 + required: 67 + - compatible 68 + - reg 69 + - clocks 70 + - clock-names 71 + - in-ports 72 + 73 + unevaluatedProperties: false 74 + 75 + examples: 76 + - | 77 + tpiu@e3c05000 { 78 + compatible = "arm,coresight-tpiu", "arm,primecell"; 79 + reg = <0xe3c05000 0x1000>; 80 + 81 + clocks = <&clk_375m>; 82 + clock-names = "apb_pclk"; 83 + in-ports { 84 + port { 85 + tpiu_in_port: endpoint { 86 + remote-endpoint = <&funnel4_out_port0>; 87 + }; 88 + }; 89 + }; 90 + }; 91 + ...
-1
Documentation/devicetree/bindings/arm/arm,embedded-trace-extension.yaml
··· 20 20 Arm Trace Buffer Extension (TRBE)). Since the ETE can be connected to 21 21 legacy CoreSight components, a node must be listed per instance, along 22 22 with any optional connection graph as per the coresight bindings. 23 - See bindings/arm/coresight.txt. 24 23 25 24 properties: 26 25 $nodename:
-402
Documentation/devicetree/bindings/arm/coresight.txt
··· 1 - * CoreSight Components: 2 - 3 - CoreSight components are compliant with the ARM CoreSight architecture 4 - specification and can be connected in various topologies to suit a particular 5 - SoCs tracing needs. These trace components can generally be classified as 6 - sinks, links and sources. Trace data produced by one or more sources flows 7 - through the intermediate links connecting the source to the currently selected 8 - sink. Each CoreSight component device should use these properties to describe 9 - its hardware characteristcs. 10 - 11 - * Required properties for all components *except* non-configurable replicators 12 - and non-configurable funnels: 13 - 14 - * compatible: These have to be supplemented with "arm,primecell" as 15 - drivers are using the AMBA bus interface. Possible values include: 16 - - Embedded Trace Buffer (version 1.0): 17 - "arm,coresight-etb10", "arm,primecell"; 18 - 19 - - Trace Port Interface Unit: 20 - "arm,coresight-tpiu", "arm,primecell"; 21 - 22 - - Trace Memory Controller, used for Embedded Trace Buffer(ETB), 23 - Embedded Trace FIFO(ETF) and Embedded Trace Router(ETR) 24 - configuration. The configuration mode (ETB, ETF, ETR) is 25 - discovered at boot time when the device is probed. 26 - "arm,coresight-tmc", "arm,primecell"; 27 - 28 - - Trace Programmable Funnel: 29 - "arm,coresight-dynamic-funnel", "arm,primecell"; 30 - "arm,coresight-funnel", "arm,primecell"; (OBSOLETE. For 31 - backward compatibility and will be removed) 32 - 33 - - Embedded Trace Macrocell (version 3.x) and 34 - Program Flow Trace Macrocell: 35 - "arm,coresight-etm3x", "arm,primecell"; 36 - 37 - - Embedded Trace Macrocell (version 4.x), with memory mapped access. 38 - "arm,coresight-etm4x", "arm,primecell"; 39 - 40 - - Embedded Trace Macrocell (version 4.x), with system register access only. 41 - "arm,coresight-etm4x-sysreg"; 42 - 43 - - Coresight programmable Replicator : 44 - "arm,coresight-dynamic-replicator", "arm,primecell"; 45 - 46 - - System Trace Macrocell: 47 - "arm,coresight-stm", "arm,primecell"; [1] 48 - - Coresight Address Translation Unit (CATU) 49 - "arm,coresight-catu", "arm,primecell"; 50 - 51 - - Coresight Cross Trigger Interface (CTI): 52 - "arm,coresight-cti", "arm,primecell"; 53 - See coresight-cti.yaml for full CTI definitions. 54 - 55 - * reg: physical base address and length of the register 56 - set(s) of the component. 57 - 58 - * clocks: the clocks associated to this component. 59 - 60 - * clock-names: the name of the clocks referenced by the code. 61 - Since we are using the AMBA framework, the name of the clock 62 - providing the interconnect should be "apb_pclk", and some 63 - coresight blocks also have an additional clock "atclk", which 64 - clocks the core of that coresight component. The latter clock 65 - is optional. 66 - 67 - * port or ports: see "Graph bindings for Coresight" below. 68 - 69 - * Additional required property for Embedded Trace Macrocell (version 3.x and 70 - version 4.x): 71 - * cpu: the cpu phandle this ETM/PTM is affined to. Do not 72 - assume it to default to CPU0 if omitted. 73 - 74 - * Additional required properties for System Trace Macrocells (STM): 75 - * reg: along with the physical base address and length of the register 76 - set as described above, another entry is required to describe the 77 - mapping of the extended stimulus port area. 78 - 79 - * reg-names: the only acceptable values are "stm-base" and 80 - "stm-stimulus-base", each corresponding to the areas defined in "reg". 81 - 82 - * Required properties for Coresight Cross Trigger Interface (CTI) 83 - See coresight-cti.yaml for full CTI definitions. 84 - 85 - * Required properties for devices that don't show up on the AMBA bus, such as 86 - non-configurable replicators and non-configurable funnels: 87 - 88 - * compatible: Currently supported value is (note the absence of the 89 - AMBA markee): 90 - - Coresight Non-configurable Replicator: 91 - "arm,coresight-static-replicator"; 92 - "arm,coresight-replicator"; (OBSOLETE. For backward 93 - compatibility and will be removed) 94 - 95 - - Coresight Non-configurable Funnel: 96 - "arm,coresight-static-funnel"; 97 - 98 - * port or ports: see "Graph bindings for Coresight" below. 99 - 100 - * Optional properties for all components: 101 - 102 - * arm,coresight-loses-context-with-cpu : boolean. Indicates that the 103 - hardware will lose register context on CPU power down (e.g. CPUIdle). 104 - An example of where this may be needed are systems which contain a 105 - coresight component and CPU in the same power domain. When the CPU 106 - powers down the coresight component also powers down and loses its 107 - context. This property is currently only used for the ETM 4.x driver. 108 - 109 - * Optional properties for ETM/PTMs: 110 - 111 - * arm,cp14: must be present if the system accesses ETM/PTM management 112 - registers via co-processor 14. 113 - 114 - * qcom,skip-power-up: boolean. Indicates that an implementation can 115 - skip powering up the trace unit. TRCPDCR.PU does not have to be set 116 - on Qualcomm Technologies Inc. systems since ETMs are in the same power 117 - domain as their CPU cores. This property is required to identify such 118 - systems with hardware errata where the CPU watchdog counter is stopped 119 - when TRCPDCR.PU is set. 120 - 121 - * Optional property for TMC: 122 - 123 - * arm,buffer-size: size of contiguous buffer space for TMC ETR 124 - (embedded trace router). This property is obsolete. The buffer size 125 - can be configured dynamically via buffer_size property in sysfs. 126 - 127 - * arm,scatter-gather: boolean. Indicates that the TMC-ETR can safely 128 - use the SG mode on this system. 129 - 130 - * arm,max-burst-size: The maximum burst size initiated by TMC on the 131 - AXI master interface. The burst size can be in the range [0..15], 132 - the setting supports one data transfer per burst up to a maximum of 133 - 16 data transfers per burst. 134 - 135 - * Optional property for CATU : 136 - * interrupts : Exactly one SPI may be listed for reporting the address 137 - error 138 - 139 - * Optional property for configurable replicators: 140 - 141 - * qcom,replicator-loses-context: boolean. Indicates that the replicator 142 - will lose register context when AMBA clock is removed which is observed 143 - in some replicator designs. 144 - 145 - Graph bindings for Coresight 146 - ------------------------------- 147 - 148 - Coresight components are interconnected to create a data path for the flow of 149 - trace data generated from the "sources" to their collection points "sink". 150 - Each coresight component must describe the "input" and "output" connections. 151 - The connections must be described via generic DT graph bindings as described 152 - by the "bindings/graph.txt", where each "port" along with an "endpoint" 153 - component represents a hardware port and the connection. 154 - 155 - * All output ports must be listed inside a child node named "out-ports" 156 - * All input ports must be listed inside a child node named "in-ports". 157 - * Port address must match the hardware port number. 158 - 159 - Example: 160 - 161 - 1. Sinks 162 - etb@20010000 { 163 - compatible = "arm,coresight-etb10", "arm,primecell"; 164 - reg = <0 0x20010000 0 0x1000>; 165 - 166 - clocks = <&oscclk6a>; 167 - clock-names = "apb_pclk"; 168 - in-ports { 169 - port { 170 - etb_in_port: endpoint@0 { 171 - remote-endpoint = <&replicator_out_port0>; 172 - }; 173 - }; 174 - }; 175 - }; 176 - 177 - tpiu@20030000 { 178 - compatible = "arm,coresight-tpiu", "arm,primecell"; 179 - reg = <0 0x20030000 0 0x1000>; 180 - 181 - clocks = <&oscclk6a>; 182 - clock-names = "apb_pclk"; 183 - in-ports { 184 - port { 185 - tpiu_in_port: endpoint@0 { 186 - remote-endpoint = <&replicator_out_port1>; 187 - }; 188 - }; 189 - }; 190 - }; 191 - 192 - etr@20070000 { 193 - compatible = "arm,coresight-tmc", "arm,primecell"; 194 - reg = <0 0x20070000 0 0x1000>; 195 - 196 - clocks = <&oscclk6a>; 197 - clock-names = "apb_pclk"; 198 - in-ports { 199 - port { 200 - etr_in_port: endpoint { 201 - remote-endpoint = <&replicator2_out_port0>; 202 - }; 203 - }; 204 - }; 205 - 206 - out-ports { 207 - port { 208 - etr_out_port: endpoint { 209 - remote-endpoint = <&catu_in_port>; 210 - }; 211 - }; 212 - }; 213 - }; 214 - 215 - 2. Links 216 - replicator { 217 - /* non-configurable replicators don't show up on the 218 - * AMBA bus. As such no need to add "arm,primecell". 219 - */ 220 - compatible = "arm,coresight-static-replicator"; 221 - 222 - out-ports { 223 - #address-cells = <1>; 224 - #size-cells = <0>; 225 - 226 - /* replicator output ports */ 227 - port@0 { 228 - reg = <0>; 229 - replicator_out_port0: endpoint { 230 - remote-endpoint = <&etb_in_port>; 231 - }; 232 - }; 233 - 234 - port@1 { 235 - reg = <1>; 236 - replicator_out_port1: endpoint { 237 - remote-endpoint = <&tpiu_in_port>; 238 - }; 239 - }; 240 - }; 241 - 242 - in-ports { 243 - port { 244 - replicator_in_port0: endpoint { 245 - remote-endpoint = <&funnel_out_port0>; 246 - }; 247 - }; 248 - }; 249 - }; 250 - 251 - funnel { 252 - /* 253 - * non-configurable funnel don't show up on the AMBA 254 - * bus. As such no need to add "arm,primecell". 255 - */ 256 - compatible = "arm,coresight-static-funnel"; 257 - clocks = <&crg_ctrl HI3660_PCLK>; 258 - clock-names = "apb_pclk"; 259 - 260 - out-ports { 261 - port { 262 - combo_funnel_out: endpoint { 263 - remote-endpoint = <&top_funnel_in>; 264 - }; 265 - }; 266 - }; 267 - 268 - in-ports { 269 - #address-cells = <1>; 270 - #size-cells = <0>; 271 - 272 - port@0 { 273 - reg = <0>; 274 - combo_funnel_in0: endpoint { 275 - remote-endpoint = <&cluster0_etf_out>; 276 - }; 277 - }; 278 - 279 - port@1 { 280 - reg = <1>; 281 - combo_funnel_in1: endpoint { 282 - remote-endpoint = <&cluster1_etf_out>; 283 - }; 284 - }; 285 - }; 286 - }; 287 - 288 - funnel@20040000 { 289 - compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 290 - reg = <0 0x20040000 0 0x1000>; 291 - 292 - clocks = <&oscclk6a>; 293 - clock-names = "apb_pclk"; 294 - out-ports { 295 - port { 296 - funnel_out_port0: endpoint { 297 - remote-endpoint = 298 - <&replicator_in_port0>; 299 - }; 300 - }; 301 - }; 302 - 303 - in-ports { 304 - #address-cells = <1>; 305 - #size-cells = <0>; 306 - 307 - port@0 { 308 - reg = <0>; 309 - funnel_in_port0: endpoint { 310 - remote-endpoint = <&ptm0_out_port>; 311 - }; 312 - }; 313 - 314 - port@1 { 315 - reg = <1>; 316 - funnel_in_port1: endpoint { 317 - remote-endpoint = <&ptm1_out_port>; 318 - }; 319 - }; 320 - 321 - port@2 { 322 - reg = <2>; 323 - funnel_in_port2: endpoint { 324 - remote-endpoint = <&etm0_out_port>; 325 - }; 326 - }; 327 - 328 - }; 329 - }; 330 - 331 - 3. Sources 332 - ptm@2201c000 { 333 - compatible = "arm,coresight-etm3x", "arm,primecell"; 334 - reg = <0 0x2201c000 0 0x1000>; 335 - 336 - cpu = <&cpu0>; 337 - clocks = <&oscclk6a>; 338 - clock-names = "apb_pclk"; 339 - out-ports { 340 - port { 341 - ptm0_out_port: endpoint { 342 - remote-endpoint = <&funnel_in_port0>; 343 - }; 344 - }; 345 - }; 346 - }; 347 - 348 - ptm@2201d000 { 349 - compatible = "arm,coresight-etm3x", "arm,primecell"; 350 - reg = <0 0x2201d000 0 0x1000>; 351 - 352 - cpu = <&cpu1>; 353 - clocks = <&oscclk6a>; 354 - clock-names = "apb_pclk"; 355 - out-ports { 356 - port { 357 - ptm1_out_port: endpoint { 358 - remote-endpoint = <&funnel_in_port1>; 359 - }; 360 - }; 361 - }; 362 - }; 363 - 364 - 4. STM 365 - stm@20100000 { 366 - compatible = "arm,coresight-stm", "arm,primecell"; 367 - reg = <0 0x20100000 0 0x1000>, 368 - <0 0x28000000 0 0x180000>; 369 - reg-names = "stm-base", "stm-stimulus-base"; 370 - 371 - clocks = <&soc_smc50mhz>; 372 - clock-names = "apb_pclk"; 373 - out-ports { 374 - port { 375 - stm_out_port: endpoint { 376 - remote-endpoint = <&main_funnel_in_port2>; 377 - }; 378 - }; 379 - }; 380 - }; 381 - 382 - 5. CATU 383 - 384 - catu@207e0000 { 385 - compatible = "arm,coresight-catu", "arm,primecell"; 386 - reg = <0 0x207e0000 0 0x1000>; 387 - 388 - clocks = <&oscclk6a>; 389 - clock-names = "apb_pclk"; 390 - 391 - interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 392 - in-ports { 393 - port { 394 - catu_in_port: endpoint { 395 - remote-endpoint = <&etr_out_port>; 396 - }; 397 - }; 398 - }; 399 - }; 400 - 401 - [1]. There is currently two version of STM: STM32 and STM500. Both 402 - have the same HW interface and as such don't need an explicit binding name.
+1 -1
Documentation/trace/coresight/coresight.rst
··· 130 130 Device Tree Bindings 131 131 -------------------- 132 132 133 - See Documentation/devicetree/bindings/arm/coresight.txt for details. 133 + See Documentation/devicetree/bindings/arm/arm,coresight-*.yaml for details. 134 134 135 135 As of this writing drivers for ITM, STMs and CTIs are not provided but are 136 136 expected to be added as the solution matures.
+1 -2
MAINTAINERS
··· 1982 1982 T: git git://git.kernel.org/pub/scm/linux/kernel/git/coresight/linux.git 1983 1983 F: Documentation/ABI/testing/sysfs-bus-coresight-devices-* 1984 1984 F: Documentation/devicetree/bindings/arm/coresight-cpu-debug.txt 1985 - F: Documentation/devicetree/bindings/arm/arm,coresight-cti.yaml 1986 - F: Documentation/devicetree/bindings/arm/coresight.txt 1985 + F: Documentation/devicetree/bindings/arm/arm,coresight-*.yaml 1987 1986 F: Documentation/devicetree/bindings/arm/arm,embedded-trace-extension.yaml 1988 1987 F: Documentation/devicetree/bindings/arm/arm,trace-buffer-extension.yaml 1989 1988 F: Documentation/trace/coresight/*