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

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

Convert the CoreSight CPU debug binding to DT schema format.

Reviewed-by: Leo Yan <leo.yan@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
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-4-robh@kernel.org
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

authored by

Rob Herring and committed by
Mathieu Poirier
66d05204 3c15fddf

+81 -50
+81
Documentation/devicetree/bindings/arm/arm,coresight-cpu-debug.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-cpu-debug.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: CoreSight CPU Debug Component 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 CPU debug component are compliant with the ARMv8 architecture 17 + reference manual (ARM DDI 0487A.k) Chapter 'Part H: External debug'. The 18 + external debug module is mainly used for two modes: self-hosted debug and 19 + external debug, and it can be accessed from mmio region from Coresight and 20 + eventually the debug module connects with CPU for debugging. And the debug 21 + module provides sample-based profiling extension, which can be used to sample 22 + CPU program counter, secure state and exception level, etc; usually every CPU 23 + has one dedicated debug module to be connected. 24 + 25 + select: 26 + properties: 27 + compatible: 28 + contains: 29 + const: arm,coresight-cpu-debug 30 + required: 31 + - compatible 32 + 33 + allOf: 34 + - $ref: /schemas/arm/primecell.yaml# 35 + 36 + properties: 37 + compatible: 38 + items: 39 + - const: arm,coresight-cpu-debug 40 + - const: arm,primecell 41 + 42 + reg: 43 + maxItems: 1 44 + 45 + clocks: 46 + maxItems: 1 47 + 48 + clock-names: 49 + maxItems: 1 50 + 51 + cpu: 52 + description: 53 + A phandle to the cpu this debug component is bound to. 54 + $ref: /schemas/types.yaml#/definitions/phandle 55 + 56 + power-domains: 57 + maxItems: 1 58 + description: 59 + A phandle to the debug power domain if the debug logic has its own 60 + dedicated power domain. CPU idle states may also need to be separately 61 + constrained to keep CPU cores powered. 62 + 63 + required: 64 + - compatible 65 + - reg 66 + - clocks 67 + - clock-names 68 + - cpu 69 + 70 + unevaluatedProperties: false 71 + 72 + examples: 73 + - | 74 + debug@f6590000 { 75 + compatible = "arm,coresight-cpu-debug", "arm,primecell"; 76 + reg = <0xf6590000 0x1000>; 77 + clocks = <&sys_ctrl 1>; 78 + clock-names = "apb_pclk"; 79 + cpu = <&cpu0>; 80 + }; 81 + ...
-49
Documentation/devicetree/bindings/arm/coresight-cpu-debug.txt
··· 1 - * CoreSight CPU Debug Component: 2 - 3 - CoreSight CPU debug component are compliant with the ARMv8 architecture 4 - reference manual (ARM DDI 0487A.k) Chapter 'Part H: External debug'. The 5 - external debug module is mainly used for two modes: self-hosted debug and 6 - external debug, and it can be accessed from mmio region from Coresight 7 - and eventually the debug module connects with CPU for debugging. And the 8 - debug module provides sample-based profiling extension, which can be used 9 - to sample CPU program counter, secure state and exception level, etc; 10 - usually every CPU has one dedicated debug module to be connected. 11 - 12 - Required properties: 13 - 14 - - compatible : should be "arm,coresight-cpu-debug"; supplemented with 15 - "arm,primecell" since this driver is using the AMBA bus 16 - interface. 17 - 18 - - reg : physical base address and length of the register set. 19 - 20 - - clocks : the clock associated to this component. 21 - 22 - - clock-names : the name of the clock referenced by the code. Since we are 23 - using the AMBA framework, the name of the clock providing 24 - the interconnect should be "apb_pclk" and the clock is 25 - mandatory. The interface between the debug logic and the 26 - processor core is clocked by the internal CPU clock, so it 27 - is enabled with CPU clock by default. 28 - 29 - - cpu : the CPU phandle the debug module is affined to. Do not assume it 30 - to default to CPU0 if omitted. 31 - 32 - Optional properties: 33 - 34 - - power-domains: a phandle to the debug power domain. We use "power-domains" 35 - binding to turn on the debug logic if it has own dedicated 36 - power domain and if necessary to use "cpuidle.off=1" or 37 - "nohlt" in the kernel command line or sysfs node to 38 - constrain idle states to ensure registers in the CPU power 39 - domain are accessible. 40 - 41 - Example: 42 - 43 - debug@f6590000 { 44 - compatible = "arm,coresight-cpu-debug","arm,primecell"; 45 - reg = <0 0xf6590000 0 0x1000>; 46 - clocks = <&sys_ctrl HI6220_DAPB_CLK>; 47 - clock-names = "apb_pclk"; 48 - cpu = <&cpu0>; 49 - };
-1
MAINTAINERS
··· 1981 1981 S: Maintained 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 - F: Documentation/devicetree/bindings/arm/coresight-cpu-debug.txt 1985 1984 F: Documentation/devicetree/bindings/arm/arm,coresight-*.yaml 1986 1985 F: Documentation/devicetree/bindings/arm/arm,embedded-trace-extension.yaml 1987 1986 F: Documentation/devicetree/bindings/arm/arm,trace-buffer-extension.yaml