[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <336ce7b0-45f6-85e1-14a3-9e8c94a2f6fd@quicinc.com>
Date: Fri, 28 Apr 2023 15:09:43 +0800
From: Hao Zhang <quic_hazha@...cinc.com>
To: Rob Herring <robh@...nel.org>
CC: Suzuki K Poulose <suzuki.poulose@....com>,
Mike Leach <mike.leach@...aro.org>,
Leo Yan <leo.yan@...aro.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Mathieu Poirier <mathieu.poirier@...aro.org>,
Konrad Dybcio <konradybcio@...il.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Andy Gross <agross@...nel.org>,
Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>,
Jonathan Corbet <corbet@....net>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
<coresight@...ts.linaro.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>, <devicetree@...r.kernel.org>,
Tingwei Zhang <quic_tingweiz@...cinc.com>,
Jinlong Mao <quic_jinlmao@...cinc.com>,
"Yuanfang Zhang" <quic_yuanfang@...cinc.com>,
Tao Zhang <quic_taozha@...cinc.com>,
Trilok Soni <quic_tsoni@...cinc.com>,
<linux-arm-msm@...r.kernel.org>,
"Bjorn Andersson" <andersson@...nel.org>,
<linux-doc@...r.kernel.org>
Subject: Re: [PATCH v3 2/3] dt-bindings: arm: Add Coresight Dummy Trace
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@...cinc.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@...cinc.com>
>> + - Tao Zhang <quic_taozha@...cinc.com>
>> + - Hao Zhang <quic_hazha@...cinc.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
Powered by blists - more mailing lists