Path: blob/master/Documentation/devicetree/bindings/arm/arm,cci-400.yaml
26308 views
# SPDX-License-Identifier: GPL-2.01%YAML 1.22---3$id: http://devicetree.org/schemas/arm/arm,cci-400.yaml#4$schema: http://devicetree.org/meta-schemas/core.yaml#56title: ARM CCI Cache Coherent Interconnect78maintainers:9- Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>1011description: >12ARM multi-cluster systems maintain intra-cluster coherency through a cache13coherent interconnect (CCI) that is capable of monitoring bus transactions14and manage coherency, TLB invalidations and memory barriers.1516It allows snooping and distributed virtual memory message broadcast across17clusters, through memory mapped interface, with a global control register18space and multiple sets of interface control registers, one per slave19interface.2021properties:22$nodename:23pattern: "^cci(@[0-9a-f]+)?$"2425compatible:26enum:27- arm,cci-40028- arm,cci-50029- arm,cci-5503031reg:32maxItems: 133description: >34Specifies base physical address of CCI control registers common to all35interfaces.3637"#address-cells": true38"#size-cells": true39ranges: true4041patternProperties:42"^slave-if@[0-9a-f]+$":43type: object4445properties:46compatible:47const: arm,cci-400-ctrl-if4849interface-type:50enum:51- ace52- ace-lite5354reg:55maxItems: 15657required:58- compatible59- interface-type60- reg6162additionalProperties: false6364"^pmu@[0-9a-f]+$":65type: object6667properties:68compatible:69oneOf:70- const: arm,cci-400-pmu,r071- const: arm,cci-400-pmu,r172- const: arm,cci-400-pmu73deprecated: true74description: >75Permitted only where OS has secure access to CCI registers76- const: arm,cci-500-pmu,r077- const: arm,cci-550-pmu,r07879interrupts:80minItems: 181maxItems: 882description: >83List of counter overflow interrupts, one per counter. The interrupts84must be specified starting with the cycle counter overflow interrupt,85followed by counter0 overflow interrupt, counter1 overflow86interrupt,... ,counterN overflow interrupt.8788The CCI PMU has an interrupt signal for each counter. The number of89interrupts must be equal to the number of counters.9091reg:92maxItems: 19394required:95- compatible96- interrupts97- reg9899additionalProperties: false100101required:102- "#address-cells"103- "#size-cells"104- compatible105- ranges106- reg107108additionalProperties: false109110examples:111- |112/ {113#address-cells = <2>;114#size-cells = <2>;115116compatible = "arm,vexpress,v2p-ca15_a7", "arm,vexpress";117model = "V2P-CA15_CA7";118arm,hbi = <0x249>;119interrupt-parent = <&gic>;120121gic: interrupt-controller {122interrupt-controller;123#interrupt-cells = <3>;124};125126/*127* This CCI node corresponds to a CCI component whose control128* registers sits at address 0x000000002c090000.129*130* CCI slave interface @0x000000002c091000 is connected to dma131* controller dma0.132*133* CCI slave interface @0x000000002c094000 is connected to CPUs134* {CPU0, CPU1};135*136* CCI slave interface @0x000000002c095000 is connected to CPUs137* {CPU2, CPU3};138*/139140cpus {141#size-cells = <0>;142#address-cells = <1>;143144CPU0: cpu@0 {145device_type = "cpu";146compatible = "arm,cortex-a15";147cci-control-port = <&cci_control1>;148reg = <0x0>;149};150151CPU1: cpu@1 {152device_type = "cpu";153compatible = "arm,cortex-a15";154cci-control-port = <&cci_control1>;155reg = <0x1>;156};157158CPU2: cpu@100 {159device_type = "cpu";160compatible = "arm,cortex-a7";161cci-control-port = <&cci_control2>;162reg = <0x100>;163};164165CPU3: cpu@101 {166device_type = "cpu";167compatible = "arm,cortex-a7";168cci-control-port = <&cci_control2>;169reg = <0x101>;170};171};172173cci@2c090000 {174compatible = "arm,cci-400";175#address-cells = <1>;176#size-cells = <1>;177reg = <0x0 0x2c090000 0 0x1000>;178ranges = <0x0 0x0 0x2c090000 0x10000>;179180cci_control0: slave-if@1000 {181compatible = "arm,cci-400-ctrl-if";182interface-type = "ace-lite";183reg = <0x1000 0x1000>;184};185186cci_control1: slave-if@4000 {187compatible = "arm,cci-400-ctrl-if";188interface-type = "ace";189reg = <0x4000 0x1000>;190};191192cci_control2: slave-if@5000 {193compatible = "arm,cci-400-ctrl-if";194interface-type = "ace";195reg = <0x5000 0x1000>;196};197198pmu@9000 {199compatible = "arm,cci-400-pmu";200reg = <0x9000 0x5000>;201interrupts = <0 101 4>,202<0 102 4>,203<0 103 4>,204<0 104 4>,205<0 105 4>;206};207};208};209210...211212213