coresight: stm: Bindings for System Trace Macrocell
authorMathieu Poirier <mathieu.poirier@linaro.org>
Tue, 3 May 2016 17:33:39 +0000 (11:33 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 3 May 2016 21:59:30 +0000 (14:59 -0700)
The System Trace Macrocell (STM) is an IP block falling under the
CoreSight umbrella.  It's main purpose it so expose stimulus channels
to any system component for the purpose of information logging.

Bindings for this IP block adds a couple of items to the current
mandatory definition for CoreSight components.

Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/devicetree/bindings/arm/coresight.txt

index 62938eb9697f120425a4a0b8c7183a32ce449b72..93147c0c8a0e2f14f5bec30ab5b5e711adc1c9d4 100644 (file)
@@ -19,6 +19,7 @@ its hardware characteristcs.
                - "arm,coresight-etm3x", "arm,primecell";
                - "arm,coresight-etm4x", "arm,primecell";
                - "qcom,coresight-replicator1x", "arm,primecell";
+               - "arm,coresight-stm", "arm,primecell"; [1]
 
        * reg: physical base address and length of the register
          set(s) of the component.
@@ -36,6 +37,14 @@ its hardware characteristcs.
          layout using the generic DT graph presentation found in
          "bindings/graph.txt".
 
+* Additional required properties for System Trace Macrocells (STM):
+       * reg: along with the physical base address and length of the register
+         set as described above, another entry is required to describe the
+         mapping of the extended stimulus port area.
+
+       * reg-names: the only acceptable values are "stm-base" and
+         "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
   non-configurable replicators:
 
@@ -202,3 +211,22 @@ Example:
                        };
                };
        };
+
+4. STM
+       stm@20100000 {
+               compatible = "arm,coresight-stm", "arm,primecell";
+               reg = <0 0x20100000 0 0x1000>,
+                     <0 0x28000000 0 0x180000>;
+               reg-names = "stm-base", "stm-stimulus-base";
+
+               clocks = <&soc_smc50mhz>;
+               clock-names = "apb_pclk";
+               port {
+                       stm_out_port: endpoint {
+                               remote-endpoint = <&main_funnel_in_port2>;
+                       };
+               };
+       };
+
+[1]. There is currently two version of STM: STM32 and STM500.  Both
+have the same HW interface and as such don't need an explicit binding name.