Commit d3b18ad6 authored by Leo Yan's avatar Leo Yan Committed by Greg Kroah-Hartman

dt-bindings: arm: coresight: Unify funnel DT binding

Following the same fashion with replicator DT binding, this patch is to
unify the DT binding for funnel to support static and dynamic modes;
finally we get the funnel DT binding as below:

Before patch:

  Static funnel, aka. non-configurable funnel:
    Not supported;

  Dynamic funnel, aka. configurable funnel:
    "arm,coresight-funnel", "arm,primecell";

After patch:

  Static funnel:
    "arm,coresight-static-funnel";

  Dynamic funnel:
    "arm,coresight-dynamic-funnel", "arm,primecell";
    "arm,coresight-funnel", "arm,primecell"; (obsolete)

At the end of this patch, it gives an example for static funnel DT
binding, and updates the dynamic funnel example.

Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Wanglai Shi <shiwanglai@hisilicon.com>
Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
Reviewed-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 5c84b87b
...@@ -8,7 +8,8 @@ through the intermediate links connecting the source to the currently selected ...@@ -8,7 +8,8 @@ through the intermediate links connecting the source to the currently selected
sink. Each CoreSight component device should use these properties to describe sink. Each CoreSight component device should use these properties to describe
its hardware characteristcs. its hardware characteristcs.
* Required properties for all components *except* non-configurable replicators: * Required properties for all components *except* non-configurable replicators
and non-configurable funnels:
* compatible: These have to be supplemented with "arm,primecell" as * compatible: These have to be supplemented with "arm,primecell" as
drivers are using the AMBA bus interface. Possible values include: drivers are using the AMBA bus interface. Possible values include:
...@@ -24,8 +25,10 @@ its hardware characteristcs. ...@@ -24,8 +25,10 @@ its hardware characteristcs.
discovered at boot time when the device is probed. discovered at boot time when the device is probed.
"arm,coresight-tmc", "arm,primecell"; "arm,coresight-tmc", "arm,primecell";
- Trace Funnel: - Trace Programmable Funnel:
"arm,coresight-funnel", "arm,primecell"; "arm,coresight-dynamic-funnel", "arm,primecell";
"arm,coresight-funnel", "arm,primecell"; (OBSOLETE. For
backward compatibility and will be removed)
- Embedded Trace Macrocell (version 3.x) and - Embedded Trace Macrocell (version 3.x) and
Program Flow Trace Macrocell: Program Flow Trace Macrocell:
...@@ -65,7 +68,7 @@ its hardware characteristcs. ...@@ -65,7 +68,7 @@ its hardware characteristcs.
"stm-stimulus-base", each corresponding to the areas defined in "reg". "stm-stimulus-base", each corresponding to the areas defined in "reg".
* Required properties for devices that don't show up on the AMBA bus, such as * Required properties for devices that don't show up on the AMBA bus, such as
non-configurable replicators: non-configurable replicators and non-configurable funnels:
* compatible: Currently supported value is (note the absence of the * compatible: Currently supported value is (note the absence of the
AMBA markee): AMBA markee):
...@@ -74,6 +77,9 @@ its hardware characteristcs. ...@@ -74,6 +77,9 @@ its hardware characteristcs.
"arm,coresight-replicator"; (OBSOLETE. For backward "arm,coresight-replicator"; (OBSOLETE. For backward
compatibility and will be removed) compatibility and will be removed)
- Coresight Non-configurable Funnel:
"arm,coresight-static-funnel";
* port or ports: see "Graph bindings for Coresight" below. * port or ports: see "Graph bindings for Coresight" below.
* Optional properties for ETM/PTMs: * Optional properties for ETM/PTMs:
...@@ -203,8 +209,45 @@ Example: ...@@ -203,8 +209,45 @@ Example:
}; };
}; };
funnel {
/*
* non-configurable funnel don't show up on the AMBA
* bus. As such no need to add "arm,primecell".
*/
compatible = "arm,coresight-static-funnel";
clocks = <&crg_ctrl HI3660_PCLK>;
clock-names = "apb_pclk";
out-ports {
port {
combo_funnel_out: endpoint {
remote-endpoint = <&top_funnel_in>;
};
};
};
in-ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
combo_funnel_in0: endpoint {
remote-endpoint = <&cluster0_etf_out>;
};
};
port@1 {
reg = <1>;
combo_funnel_in1: endpoint {
remote-endpoint = <&cluster1_etf_out>;
};
};
};
};
funnel@20040000 { funnel@20040000 {
compatible = "arm,coresight-funnel", "arm,primecell"; compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
reg = <0 0x20040000 0 0x1000>; reg = <0 0x20040000 0 0x1000>;
clocks = <&oscclk6a>; clocks = <&oscclk6a>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment