1*b97ee269SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*b97ee269SEmmanuel Vadot%YAML 1.2 3*b97ee269SEmmanuel Vadot--- 4*b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/arm/arm,coresight-cpu-debug.yaml# 5*b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*b97ee269SEmmanuel Vadot 7*b97ee269SEmmanuel Vadottitle: CoreSight CPU Debug Component 8*b97ee269SEmmanuel Vadot 9*b97ee269SEmmanuel Vadotmaintainers: 10*b97ee269SEmmanuel Vadot - Mathieu Poirier <mathieu.poirier@linaro.org> 11*b97ee269SEmmanuel Vadot - Mike Leach <mike.leach@linaro.org> 12*b97ee269SEmmanuel Vadot - Leo Yan <leo.yan@linaro.org> 13*b97ee269SEmmanuel Vadot - Suzuki K Poulose <suzuki.poulose@arm.com> 14*b97ee269SEmmanuel Vadot 15*b97ee269SEmmanuel Vadotdescription: | 16*b97ee269SEmmanuel Vadot CoreSight CPU debug component are compliant with the ARMv8 architecture 17*b97ee269SEmmanuel Vadot reference manual (ARM DDI 0487A.k) Chapter 'Part H: External debug'. The 18*b97ee269SEmmanuel Vadot external debug module is mainly used for two modes: self-hosted debug and 19*b97ee269SEmmanuel Vadot external debug, and it can be accessed from mmio region from Coresight and 20*b97ee269SEmmanuel Vadot eventually the debug module connects with CPU for debugging. And the debug 21*b97ee269SEmmanuel Vadot module provides sample-based profiling extension, which can be used to sample 22*b97ee269SEmmanuel Vadot CPU program counter, secure state and exception level, etc; usually every CPU 23*b97ee269SEmmanuel Vadot has one dedicated debug module to be connected. 24*b97ee269SEmmanuel Vadot 25*b97ee269SEmmanuel Vadotselect: 26*b97ee269SEmmanuel Vadot properties: 27*b97ee269SEmmanuel Vadot compatible: 28*b97ee269SEmmanuel Vadot contains: 29*b97ee269SEmmanuel Vadot const: arm,coresight-cpu-debug 30*b97ee269SEmmanuel Vadot required: 31*b97ee269SEmmanuel Vadot - compatible 32*b97ee269SEmmanuel Vadot 33*b97ee269SEmmanuel VadotallOf: 34*b97ee269SEmmanuel Vadot - $ref: /schemas/arm/primecell.yaml# 35*b97ee269SEmmanuel Vadot 36*b97ee269SEmmanuel Vadotproperties: 37*b97ee269SEmmanuel Vadot compatible: 38*b97ee269SEmmanuel Vadot items: 39*b97ee269SEmmanuel Vadot - const: arm,coresight-cpu-debug 40*b97ee269SEmmanuel Vadot - const: arm,primecell 41*b97ee269SEmmanuel Vadot 42*b97ee269SEmmanuel Vadot reg: 43*b97ee269SEmmanuel Vadot maxItems: 1 44*b97ee269SEmmanuel Vadot 45*b97ee269SEmmanuel Vadot clocks: 46*b97ee269SEmmanuel Vadot maxItems: 1 47*b97ee269SEmmanuel Vadot 48*b97ee269SEmmanuel Vadot clock-names: 49*b97ee269SEmmanuel Vadot maxItems: 1 50*b97ee269SEmmanuel Vadot 51*b97ee269SEmmanuel Vadot cpu: 52*b97ee269SEmmanuel Vadot description: 53*b97ee269SEmmanuel Vadot A phandle to the cpu this debug component is bound to. 54*b97ee269SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 55*b97ee269SEmmanuel Vadot 56*b97ee269SEmmanuel Vadot power-domains: 57*b97ee269SEmmanuel Vadot maxItems: 1 58*b97ee269SEmmanuel Vadot description: 59*b97ee269SEmmanuel Vadot A phandle to the debug power domain if the debug logic has its own 60*b97ee269SEmmanuel Vadot dedicated power domain. CPU idle states may also need to be separately 61*b97ee269SEmmanuel Vadot constrained to keep CPU cores powered. 62*b97ee269SEmmanuel Vadot 63*b97ee269SEmmanuel Vadotrequired: 64*b97ee269SEmmanuel Vadot - compatible 65*b97ee269SEmmanuel Vadot - reg 66*b97ee269SEmmanuel Vadot - clocks 67*b97ee269SEmmanuel Vadot - clock-names 68*b97ee269SEmmanuel Vadot - cpu 69*b97ee269SEmmanuel Vadot 70*b97ee269SEmmanuel VadotunevaluatedProperties: false 71*b97ee269SEmmanuel Vadot 72*b97ee269SEmmanuel Vadotexamples: 73*b97ee269SEmmanuel Vadot - | 74*b97ee269SEmmanuel Vadot debug@f6590000 { 75*b97ee269SEmmanuel Vadot compatible = "arm,coresight-cpu-debug", "arm,primecell"; 76*b97ee269SEmmanuel Vadot reg = <0xf6590000 0x1000>; 77*b97ee269SEmmanuel Vadot clocks = <&sys_ctrl 1>; 78*b97ee269SEmmanuel Vadot clock-names = "apb_pclk"; 79*b97ee269SEmmanuel Vadot cpu = <&cpu0>; 80*b97ee269SEmmanuel Vadot }; 81*b97ee269SEmmanuel Vadot... 82