Messages in this thread | | | Date | Fri, 28 Apr 2023 15:09:43 +0800 | Subject | Re: [PATCH v3 2/3] dt-bindings: arm: Add Coresight Dummy Trace | From | Hao Zhang <> |
| |
Hi Rob,
On 4/26/2023 2:46 AM, Rob Herring wrote: > On Sat, Apr 22, 2023 at 03:37:13PM +0800, Hao Zhang wrote: >> Add new coresight-dummy.yaml file describing the bindings required >> to define coresight dummy trace in the device trees. >> >> Signed-off-by: Hao Zhang <quic_hazha@quicinc.com> >> --- >> .../bindings/arm/arm,coresight-dummy.yaml | 101 ++++++++++++++++++ >> 1 file changed, 101 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/arm/arm,coresight-dummy.yaml >> >> diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-dummy.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-dummy.yaml >> new file mode 100644 >> index 000000000000..48d864aefaaa >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/arm/arm,coresight-dummy.yaml >> @@ -0,0 +1,101 @@ >> +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/arm/arm,coresight-dummy.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: ARM Coresight Dummy component >> + >> +description: | >> + Coresight Dummy Trace Module is for the specific devices that kernel >> + don't have permission to access or configure, e.g., CoreSight TPDMs >> + on Qualcomm platforms. So there need driver to register dummy devices >> + as Coresight devices. It may also be used to define components that >> + may not have any programming interfaces (e.g, static links), so that >> + paths can be established in the driver. Provide Coresight API for >> + dummy device operations, such as enabling and disabling dummy devices. >> + Build the Coresight path for dummy sink or dummy source for debugging. >> + >> + The primary use case of the coresight dummy is to build path in kernel >> + side for dummy sink and dummy source. > > I could imagine the OS wanting to know more information than just > 'dummy'. Is data from an unknown source useful? Likewise, don't you want > to know where you are sending data too? > The necessary information for Coresight is connection between different components, so there is in-port for dummy sink and out-port for dummy source. We can get the whole path from the source to sink in device tree.
>> + >> +maintainers: >> + - Mao Jinlong <quic_jinlmao@quicinc.com> >> + - Tao Zhang <quic_taozha@quicinc.com> >> + - Hao Zhang <quic_hazha@quicinc.com> >> + >> +properties: >> + compatible: >> + oneOf: >> + - enum: > > Don't need oneOf as there is only one entry. > OK, I will remove it in the next version of patch. >> + - arm,coresight-dummy-sink >> + - arm,coresight-dummy-source >> + >> + out-ports: >> + $ref: /schemas/graph.yaml#/properties/ports >> + >> + properties: >> + port: >> + description: Output connection from the source to Coresight >> + Trace bus. >> + $ref: /schemas/graph.yaml#/properties/port >> + >> + in-ports: >> + $ref: /schemas/graph.yaml#/properties/ports >> + >> + properties: >> + port: >> + description: Input connection from the Coresight Trace bus to >> + dummy sink, such as Embedded USB debugger(EUD). >> + $ref: /schemas/graph.yaml#/properties/port >> + >> +required: >> + - compatible >> + >> +if: >> + # If the compatible contains the below value >> + properties: >> + compatible: >> + contains: >> + const: arm,coresight-dummy-sink >> + >> +then: >> + required: >> + - in-ports >> + >> +else: >> + required: >> + - out-ports > > This still allows the nodes when they don't make sense. I think this > needs to be 2 schema files. The only common part is 'compatible' and > that's not even shared. > > Rob Dummy driver is very simple, the only goal of it is to build a path in kernel for subsystem, so we want to handle dummy source and sink in a generic framework.
Thanks, Hao
| |