Message ID | 20240131082628.6288-3-quic_jinlmao@quicinc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | coresight: core: Add device name support | expand |
On Wed, Jan 31, 2024 at 12:26:26AM -0800, Mao Jinlong wrote: > Current name of coresight component's folder consists of prefix of > the device and the id in the device list. When run 'ls' command, > we can get the register address of the device. Take CTI for example, > if we want to set the config for modem CTI, but we can't know which > CTI is modem CTI from all current information. > > cti_sys0 -> ../../../devices/platform/soc@0/138f0000.cti/cti_sys0 > cti_sys1 -> ../../../devices/platform/soc@0/13900000.cti/cti_sys1 > > Add device-name in device tree which can provide a better description > of the coresight device. It can provide the info like the system or > HW it belongs to. > > Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com> > --- > .../devicetree/bindings/arm/arm,coresight-catu.yaml | 6 ++++++ > .../devicetree/bindings/arm/arm,coresight-cpu-debug.yaml | 6 ++++++ > .../devicetree/bindings/arm/arm,coresight-cti.yaml | 6 ++++++ > .../devicetree/bindings/arm/arm,coresight-dummy-sink.yaml | 6 ++++++ > .../devicetree/bindings/arm/arm,coresight-dummy-source.yaml | 6 ++++++ > .../bindings/arm/arm,coresight-dynamic-funnel.yaml | 6 ++++++ > .../bindings/arm/arm,coresight-dynamic-replicator.yaml | 6 ++++++ > .../devicetree/bindings/arm/arm,coresight-etb10.yaml | 6 ++++++ > .../devicetree/bindings/arm/arm,coresight-etm.yaml | 6 ++++++ > .../bindings/arm/arm,coresight-static-funnel.yaml | 6 ++++++ > .../bindings/arm/arm,coresight-static-replicator.yaml | 6 ++++++ > .../devicetree/bindings/arm/arm,coresight-stm.yaml | 6 ++++++ > .../devicetree/bindings/arm/arm,coresight-tmc.yaml | 6 ++++++ > .../devicetree/bindings/arm/arm,coresight-tpiu.yaml | 6 ++++++ > .../devicetree/bindings/arm/qcom,coresight-tpda.yaml | 6 ++++++ > .../devicetree/bindings/arm/qcom,coresight-tpdm.yaml | 6 ++++++ Why do you need a name on everything? Funnels and replicators, for example, aren't a source of data, but just connected to things that are. ETM is tightly coupled to a CPU and you have a link to it. You have graph links to show connections. Limit this to where you actually need it. > 16 files changed, 96 insertions(+) > > diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-catu.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-catu.yaml > index 2bae06eed693..a4d20aad0c70 100644 > --- a/Documentation/devicetree/bindings/arm/arm,coresight-catu.yaml > +++ b/Documentation/devicetree/bindings/arm/arm,coresight-catu.yaml > @@ -44,6 +44,12 @@ properties: > - const: arm,coresight-catu > - const: arm,primecell > > + device-name: This is too generic of a name. Make is something closer to how it is used or what it is for. Naming sysfs devices is not how it is used. That's just an intermediate step. > + $ref: /schemas/types.yaml#/definitions/string > + description: > + Define the name which can describe what kind of HW or system the > + device is for. > + > reg: > maxItems: 1 > > diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-cpu-debug.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-cpu-debug.yaml > index 0a6bc03ebe00..6094cc9cb834 100644 > --- a/Documentation/devicetree/bindings/arm/arm,coresight-cpu-debug.yaml > +++ b/Documentation/devicetree/bindings/arm/arm,coresight-cpu-debug.yaml > @@ -39,6 +39,12 @@ properties: > - const: arm,coresight-cpu-debug > - const: arm,primecell > > + device-name: > + $ref: /schemas/types.yaml#/definitions/string If you are redefining the type multiple times, there's a problem in the structure of the schemas. Really, that's true for anything duplicated in the kernel. Rob
diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-catu.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-catu.yaml index 2bae06eed693..a4d20aad0c70 100644 --- a/Documentation/devicetree/bindings/arm/arm,coresight-catu.yaml +++ b/Documentation/devicetree/bindings/arm/arm,coresight-catu.yaml @@ -44,6 +44,12 @@ properties: - const: arm,coresight-catu - const: arm,primecell + device-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Define the name which can describe what kind of HW or system the + device is for. + reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-cpu-debug.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-cpu-debug.yaml index 0a6bc03ebe00..6094cc9cb834 100644 --- a/Documentation/devicetree/bindings/arm/arm,coresight-cpu-debug.yaml +++ b/Documentation/devicetree/bindings/arm/arm,coresight-cpu-debug.yaml @@ -39,6 +39,12 @@ properties: - const: arm,coresight-cpu-debug - const: arm,primecell + device-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Define the name which can describe what kind of HW or system the + device is for. + reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-cti.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-cti.yaml index 2d5545a2b49c..21c3c4fb71a6 100644 --- a/Documentation/devicetree/bindings/arm/arm,coresight-cti.yaml +++ b/Documentation/devicetree/bindings/arm/arm,coresight-cti.yaml @@ -88,6 +88,12 @@ properties: - const: arm,coresight-cti - const: arm,primecell + device-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Define the name which can describe what kind of HW or system the + device is for. + reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-dummy-sink.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-dummy-sink.yaml index c960c8e0a9a5..c2c3f4a743f2 100644 --- a/Documentation/devicetree/bindings/arm/arm,coresight-dummy-sink.yaml +++ b/Documentation/devicetree/bindings/arm/arm,coresight-dummy-sink.yaml @@ -39,6 +39,12 @@ properties: enum: - arm,coresight-dummy-sink + device-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Define the name which can describe what kind of HW or system the + device is for. + in-ports: $ref: /schemas/graph.yaml#/properties/ports diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-dummy-source.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-dummy-source.yaml index 6745b4cc8f1c..6b3ba3c0cedb 100644 --- a/Documentation/devicetree/bindings/arm/arm,coresight-dummy-source.yaml +++ b/Documentation/devicetree/bindings/arm/arm,coresight-dummy-source.yaml @@ -38,6 +38,12 @@ properties: enum: - arm,coresight-dummy-source + device-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Define the name which can describe what kind of HW or system the + device is for. + out-ports: $ref: /schemas/graph.yaml#/properties/ports diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-dynamic-funnel.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-dynamic-funnel.yaml index 44a1041cb0fc..a47c30e6da97 100644 --- a/Documentation/devicetree/bindings/arm/arm,coresight-dynamic-funnel.yaml +++ b/Documentation/devicetree/bindings/arm/arm,coresight-dynamic-funnel.yaml @@ -41,6 +41,12 @@ properties: - const: arm,coresight-dynamic-funnel - const: arm,primecell + device-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Define the name which can describe what kind of HW or system the + device is for. + reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-dynamic-replicator.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-dynamic-replicator.yaml index 03792e9bd97a..feb800a95ee5 100644 --- a/Documentation/devicetree/bindings/arm/arm,coresight-dynamic-replicator.yaml +++ b/Documentation/devicetree/bindings/arm/arm,coresight-dynamic-replicator.yaml @@ -41,6 +41,12 @@ properties: - const: arm,coresight-dynamic-replicator - const: arm,primecell + device-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Define the name which can describe what kind of HW or system the + device is for. + reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-etb10.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-etb10.yaml index 90679788e0bf..5bf173982019 100644 --- a/Documentation/devicetree/bindings/arm/arm,coresight-etb10.yaml +++ b/Documentation/devicetree/bindings/arm/arm,coresight-etb10.yaml @@ -41,6 +41,12 @@ properties: - const: arm,coresight-etb10 - const: arm,primecell + device-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Define the name which can describe what kind of HW or system the + device is for. + reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-etm.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-etm.yaml index 01200f67504a..20c0e5394ea0 100644 --- a/Documentation/devicetree/bindings/arm/arm,coresight-etm.yaml +++ b/Documentation/devicetree/bindings/arm/arm,coresight-etm.yaml @@ -60,6 +60,12 @@ properties: Embedded Trace Macrocell (version 4.x), with system register access only const: arm,coresight-etm4x-sysreg + device-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Define the name which can describe what kind of HW or system the + device is for. + reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml index cc8c3baa79b4..ddecf2a9cbc6 100644 --- a/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml +++ b/Documentation/devicetree/bindings/arm/arm,coresight-static-funnel.yaml @@ -27,6 +27,12 @@ properties: compatible: const: arm,coresight-static-funnel + device-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Define the name which can describe what kind of HW or system the + device is for. + power-domains: maxItems: 1 diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml index 1892a091ac35..d10f2fbcab68 100644 --- a/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml +++ b/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml @@ -27,6 +27,12 @@ properties: compatible: const: arm,coresight-static-replicator + device-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Define the name which can describe what kind of HW or system the + device is for. + power-domains: maxItems: 1 diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-stm.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-stm.yaml index 378380c3f5aa..c964a01c5bd6 100644 --- a/Documentation/devicetree/bindings/arm/arm,coresight-stm.yaml +++ b/Documentation/devicetree/bindings/arm/arm,coresight-stm.yaml @@ -43,6 +43,12 @@ properties: - const: arm,coresight-stm - const: arm,primecell + device-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Define the name which can describe what kind of HW or system the + device is for. + reg: maxItems: 2 diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-tmc.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-tmc.yaml index cb8dceaca70e..825d24c1c263 100644 --- a/Documentation/devicetree/bindings/arm/arm,coresight-tmc.yaml +++ b/Documentation/devicetree/bindings/arm/arm,coresight-tmc.yaml @@ -42,6 +42,12 @@ properties: - const: arm,coresight-tmc - const: arm,primecell + device-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Define the name which can describe what kind of HW or system the + device is for. + reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-tpiu.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-tpiu.yaml index 61a0cdc27745..3959c3ae6244 100644 --- a/Documentation/devicetree/bindings/arm/arm,coresight-tpiu.yaml +++ b/Documentation/devicetree/bindings/arm/arm,coresight-tpiu.yaml @@ -41,6 +41,12 @@ properties: - const: arm,coresight-tpiu - const: arm,primecell + device-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Define the name which can describe what kind of HW or system the + device is for. + reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-tpda.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-tpda.yaml index ea3c5db6b52d..6c94c47a05d4 100644 --- a/Documentation/devicetree/bindings/arm/qcom,coresight-tpda.yaml +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-tpda.yaml @@ -54,6 +54,12 @@ properties: - const: qcom,coresight-tpda - const: arm,primecell + device-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Define the name which can describe what kind of HW or system the + device is for. + reg: minItems: 1 maxItems: 2 diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-tpdm.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-tpdm.yaml index 61ddc3b5b247..f9c73c26daa8 100644 --- a/Documentation/devicetree/bindings/arm/qcom,coresight-tpdm.yaml +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-tpdm.yaml @@ -40,6 +40,12 @@ properties: - const: qcom,coresight-tpdm - const: arm,primecell + device-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Define the name which can describe what kind of HW or system the + device is for. + reg: minItems: 1 maxItems: 2
Current name of coresight component's folder consists of prefix of the device and the id in the device list. When run 'ls' command, we can get the register address of the device. Take CTI for example, if we want to set the config for modem CTI, but we can't know which CTI is modem CTI from all current information. cti_sys0 -> ../../../devices/platform/soc@0/138f0000.cti/cti_sys0 cti_sys1 -> ../../../devices/platform/soc@0/13900000.cti/cti_sys1 Add device-name in device tree which can provide a better description of the coresight device. It can provide the info like the system or HW it belongs to. Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com> --- .../devicetree/bindings/arm/arm,coresight-catu.yaml | 6 ++++++ .../devicetree/bindings/arm/arm,coresight-cpu-debug.yaml | 6 ++++++ .../devicetree/bindings/arm/arm,coresight-cti.yaml | 6 ++++++ .../devicetree/bindings/arm/arm,coresight-dummy-sink.yaml | 6 ++++++ .../devicetree/bindings/arm/arm,coresight-dummy-source.yaml | 6 ++++++ .../bindings/arm/arm,coresight-dynamic-funnel.yaml | 6 ++++++ .../bindings/arm/arm,coresight-dynamic-replicator.yaml | 6 ++++++ .../devicetree/bindings/arm/arm,coresight-etb10.yaml | 6 ++++++ .../devicetree/bindings/arm/arm,coresight-etm.yaml | 6 ++++++ .../bindings/arm/arm,coresight-static-funnel.yaml | 6 ++++++ .../bindings/arm/arm,coresight-static-replicator.yaml | 6 ++++++ .../devicetree/bindings/arm/arm,coresight-stm.yaml | 6 ++++++ .../devicetree/bindings/arm/arm,coresight-tmc.yaml | 6 ++++++ .../devicetree/bindings/arm/arm,coresight-tpiu.yaml | 6 ++++++ .../devicetree/bindings/arm/qcom,coresight-tpda.yaml | 6 ++++++ .../devicetree/bindings/arm/qcom,coresight-tpdm.yaml | 6 ++++++ 16 files changed, 96 insertions(+)