1b97ee269SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2b97ee269SEmmanuel Vadot%YAML 1.2 3b97ee269SEmmanuel Vadot--- 4b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/arm/arm,coresight-catu.yaml# 5b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6b97ee269SEmmanuel Vadot 7b97ee269SEmmanuel Vadottitle: Arm Coresight Address Translation Unit (CATU) 8b97ee269SEmmanuel Vadot 9b97ee269SEmmanuel Vadotmaintainers: 10b97ee269SEmmanuel Vadot - Mathieu Poirier <mathieu.poirier@linaro.org> 11b97ee269SEmmanuel Vadot - Mike Leach <mike.leach@linaro.org> 12b97ee269SEmmanuel Vadot - Leo Yan <leo.yan@linaro.org> 13b97ee269SEmmanuel Vadot - Suzuki K Poulose <suzuki.poulose@arm.com> 14b97ee269SEmmanuel Vadot 15b97ee269SEmmanuel Vadotdescription: | 16b97ee269SEmmanuel Vadot CoreSight components are compliant with the ARM CoreSight architecture 17b97ee269SEmmanuel Vadot specification and can be connected in various topologies to suit a particular 18b97ee269SEmmanuel Vadot SoCs tracing needs. These trace components can generally be classified as 19b97ee269SEmmanuel Vadot sinks, links and sources. Trace data produced by one or more sources flows 20b97ee269SEmmanuel Vadot through the intermediate links connecting the source to the currently selected 21b97ee269SEmmanuel Vadot sink. 22b97ee269SEmmanuel Vadot 23b97ee269SEmmanuel Vadot The CoreSight Address Translation Unit (CATU) translates addresses between an 24b97ee269SEmmanuel Vadot AXI master and system memory. The CATU is normally used along with the TMC to 25b97ee269SEmmanuel Vadot implement scattering of virtual trace buffers in physical memory. The CATU 26b97ee269SEmmanuel Vadot translates contiguous Virtual Addresses (VAs) from an AXI master into 27b97ee269SEmmanuel Vadot non-contiguous Physical Addresses (PAs) that are intended for system memory. 28b97ee269SEmmanuel Vadot 29b97ee269SEmmanuel Vadot# Need a custom select here or 'arm,primecell' will match on lots of nodes 30b97ee269SEmmanuel Vadotselect: 31b97ee269SEmmanuel Vadot properties: 32b97ee269SEmmanuel Vadot compatible: 33b97ee269SEmmanuel Vadot contains: 34b97ee269SEmmanuel Vadot const: arm,coresight-catu 35b97ee269SEmmanuel Vadot required: 36b97ee269SEmmanuel Vadot - compatible 37b97ee269SEmmanuel Vadot 38b97ee269SEmmanuel VadotallOf: 39b97ee269SEmmanuel Vadot - $ref: /schemas/arm/primecell.yaml# 40b97ee269SEmmanuel Vadot 41b97ee269SEmmanuel Vadotproperties: 42b97ee269SEmmanuel Vadot compatible: 43b97ee269SEmmanuel Vadot items: 44b97ee269SEmmanuel Vadot - const: arm,coresight-catu 45b97ee269SEmmanuel Vadot - const: arm,primecell 46b97ee269SEmmanuel Vadot 47b97ee269SEmmanuel Vadot reg: 48b97ee269SEmmanuel Vadot maxItems: 1 49b97ee269SEmmanuel Vadot 50b97ee269SEmmanuel Vadot clocks: 51b97ee269SEmmanuel Vadot minItems: 1 52b97ee269SEmmanuel Vadot maxItems: 2 53b97ee269SEmmanuel Vadot 54b97ee269SEmmanuel Vadot clock-names: 55b97ee269SEmmanuel Vadot minItems: 1 56b97ee269SEmmanuel Vadot items: 57b97ee269SEmmanuel Vadot - const: apb_pclk 58b97ee269SEmmanuel Vadot - const: atclk 59b97ee269SEmmanuel Vadot 60b97ee269SEmmanuel Vadot interrupts: 61b97ee269SEmmanuel Vadot maxItems: 1 62b97ee269SEmmanuel Vadot description: Address translation error interrupt 63b97ee269SEmmanuel Vadot 64*7ef62cebSEmmanuel Vadot power-domains: 65*7ef62cebSEmmanuel Vadot maxItems: 1 66*7ef62cebSEmmanuel Vadot 67b97ee269SEmmanuel Vadot in-ports: 68b97ee269SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 69b97ee269SEmmanuel Vadot additionalProperties: false 70b97ee269SEmmanuel Vadot 71b97ee269SEmmanuel Vadot properties: 72b97ee269SEmmanuel Vadot port: 73b97ee269SEmmanuel Vadot description: AXI Slave connected to another Coresight component 74b97ee269SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 75b97ee269SEmmanuel Vadot 76b97ee269SEmmanuel Vadotrequired: 77b97ee269SEmmanuel Vadot - compatible 78b97ee269SEmmanuel Vadot - reg 79b97ee269SEmmanuel Vadot - clocks 80b97ee269SEmmanuel Vadot - clock-names 81b97ee269SEmmanuel Vadot - in-ports 82b97ee269SEmmanuel Vadot 83b97ee269SEmmanuel VadotunevaluatedProperties: false 84b97ee269SEmmanuel Vadot 85b97ee269SEmmanuel Vadotexamples: 86b97ee269SEmmanuel Vadot - | 87b97ee269SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 88b97ee269SEmmanuel Vadot catu@207e0000 { 89b97ee269SEmmanuel Vadot compatible = "arm,coresight-catu", "arm,primecell"; 90b97ee269SEmmanuel Vadot reg = <0x207e0000 0x1000>; 91b97ee269SEmmanuel Vadot 92b97ee269SEmmanuel Vadot clocks = <&oscclk6a>; 93b97ee269SEmmanuel Vadot clock-names = "apb_pclk"; 94b97ee269SEmmanuel Vadot 95b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 96b97ee269SEmmanuel Vadot in-ports { 97b97ee269SEmmanuel Vadot port { 98b97ee269SEmmanuel Vadot catu_in_port: endpoint { 99b97ee269SEmmanuel Vadot remote-endpoint = <&etr_out_port>; 100b97ee269SEmmanuel Vadot }; 101b97ee269SEmmanuel Vadot }; 102b97ee269SEmmanuel Vadot }; 103b97ee269SEmmanuel Vadot }; 104b97ee269SEmmanuel Vadot... 105