Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/arm/arm,coresight-catu.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Arm Coresight Address Translation Unit (CATU)
0008 
0009 maintainers:
0010   - Mathieu Poirier <mathieu.poirier@linaro.org>
0011   - Mike Leach <mike.leach@linaro.org>
0012   - Leo Yan <leo.yan@linaro.org>
0013   - Suzuki K Poulose <suzuki.poulose@arm.com>
0014 
0015 description: |
0016   CoreSight components are compliant with the ARM CoreSight architecture
0017   specification and can be connected in various topologies to suit a particular
0018   SoCs tracing needs. These trace components can generally be classified as
0019   sinks, links and sources. Trace data produced by one or more sources flows
0020   through the intermediate links connecting the source to the currently selected
0021   sink.
0022 
0023   The CoreSight Address Translation Unit (CATU) translates addresses between an
0024   AXI master and system memory. The CATU is normally used along with the TMC to
0025   implement scattering of virtual trace buffers in physical memory. The CATU
0026   translates contiguous Virtual Addresses (VAs) from an AXI master into
0027   non-contiguous Physical Addresses (PAs) that are intended for system memory.
0028 
0029 # Need a custom select here or 'arm,primecell' will match on lots of nodes
0030 select:
0031   properties:
0032     compatible:
0033       contains:
0034         const: arm,coresight-catu
0035   required:
0036     - compatible
0037 
0038 allOf:
0039   - $ref: /schemas/arm/primecell.yaml#
0040 
0041 properties:
0042   compatible:
0043     items:
0044       - const: arm,coresight-catu
0045       - const: arm,primecell
0046 
0047   reg:
0048     maxItems: 1
0049 
0050   clocks:
0051     minItems: 1
0052     maxItems: 2
0053 
0054   clock-names:
0055     minItems: 1
0056     items:
0057       - const: apb_pclk
0058       - const: atclk
0059 
0060   interrupts:
0061     maxItems: 1
0062     description: Address translation error interrupt
0063 
0064   in-ports:
0065     $ref: /schemas/graph.yaml#/properties/ports
0066     additionalProperties: false
0067 
0068     properties:
0069       port:
0070         description: AXI Slave connected to another Coresight component
0071         $ref: /schemas/graph.yaml#/properties/port
0072 
0073 required:
0074   - compatible
0075   - reg
0076   - clocks
0077   - clock-names
0078   - in-ports
0079 
0080 unevaluatedProperties: false
0081 
0082 examples:
0083   - |
0084     #include <dt-bindings/interrupt-controller/arm-gic.h>
0085     catu@207e0000 {
0086         compatible = "arm,coresight-catu", "arm,primecell";
0087         reg = <0x207e0000 0x1000>;
0088 
0089         clocks = <&oscclk6a>;
0090         clock-names = "apb_pclk";
0091 
0092         interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
0093         in-ports {
0094             port {
0095                 catu_in_port: endpoint {
0096                     remote-endpoint = <&etr_out_port>;
0097                 };
0098             };
0099         };
0100     };
0101 ...