Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

coresight: stm: Bindings for System Trace Macrocell

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>

authored by

Mathieu Poirier and committed by
Greg Kroah-Hartman
9eb93313 a685d683

+28
+28
Documentation/devicetree/bindings/arm/coresight.txt
··· 19 19 - "arm,coresight-etm3x", "arm,primecell"; 20 20 - "arm,coresight-etm4x", "arm,primecell"; 21 21 - "qcom,coresight-replicator1x", "arm,primecell"; 22 + - "arm,coresight-stm", "arm,primecell"; [1] 22 23 23 24 * reg: physical base address and length of the register 24 25 set(s) of the component. ··· 36 35 * port or ports: The representation of the component's port 37 36 layout using the generic DT graph presentation found in 38 37 "bindings/graph.txt". 38 + 39 + * Additional required properties for System Trace Macrocells (STM): 40 + * reg: along with the physical base address and length of the register 41 + set as described above, another entry is required to describe the 42 + mapping of the extended stimulus port area. 43 + 44 + * reg-names: the only acceptable values are "stm-base" and 45 + "stm-stimulus-base", each corresponding to the areas defined in "reg". 39 46 40 47 * Required properties for devices that don't show up on the AMBA bus, such as 41 48 non-configurable replicators: ··· 211 202 }; 212 203 }; 213 204 }; 205 + 206 + 4. STM 207 + stm@20100000 { 208 + compatible = "arm,coresight-stm", "arm,primecell"; 209 + reg = <0 0x20100000 0 0x1000>, 210 + <0 0x28000000 0 0x180000>; 211 + reg-names = "stm-base", "stm-stimulus-base"; 212 + 213 + clocks = <&soc_smc50mhz>; 214 + clock-names = "apb_pclk"; 215 + port { 216 + stm_out_port: endpoint { 217 + remote-endpoint = <&main_funnel_in_port2>; 218 + }; 219 + }; 220 + }; 221 + 222 + [1]. There is currently two version of STM: STM32 and STM500. Both 223 + have the same HW interface and as such don't need an explicit binding name.