diff --git a/bindings/arm/coresight.txt b/bindings/arm/coresight.txt index ed4d6de2..e5fa0c36 100644 --- a/bindings/arm/coresight.txt +++ b/bindings/arm/coresight.txt @@ -85,8 +85,41 @@ its hardware characteristcs. - Coresight Non-configurable Funnel: "arm,coresight-static-funnel"; + - Coresight Trace, Profiling & Diagnostic module: + "qcom,coresight-tpda" + "qcom,coresight-tpdm" + + - Coresight control register: + "qcom,coresight-csr" + + - Coresight Hardware Event + "qcom,coresight-hwevent" + + - Coresight dummy device: + "qcom,coresight-dummy" + + - Coresight remote ETM: + "qcom,coresight-remote-etm" + * port or ports: see "Graph bindings for Coresight" below. +* Additional required property for coresight-tgu devices: + * tgu-steps: must be present. Indicates number of steps supported + by the TGU. + * tgu-conditions: must be present. Indicates the number of conditions + supported by the TGU. + * tgu-regs: must be present. Indicates the number of regs supported + by the TGU. + * tgu-timer-counters: must be present. Indicates the number of timers and + counters available in the TGU to do a comparision. + +* Optional properties for all components: + * reg-names: names corresponding to each reg property value. + + * qcom,proxy-regs: List of regulators required. + + * qcom,proxy-clks: List of additional clocks required. + * Optional properties for ETM/PTMs: * arm,cp14: must be present if the system accesses ETM/PTM management @@ -108,6 +141,77 @@ its hardware characteristcs. * interrupts : Exactly one SPI may be listed for reporting the address error +* Required property for TPDAs: + + * qcom,tpda-atid: must be present. Specifies the ATID for TPDA. + +* Optional properties for TPDAs: + + * qcom,bc-elem-size: specifies the BC element size supported by each + monitor connected to the aggregator on each port. Should be specified + in pairs (port, bc element size). + + * qcom,tc-elem-size: specifies the TC element size supported by each + monitor connected to the aggregator on each port. Should be specified + in pairs (port, tc element size). + + * qcom,dsb-elem-size: specifies the DSB element size supported by each + monitor connected to the aggregator on each port. Should be specified + in pairs (port, dsb element size). + + * qcom,cmb-elem-size: specifies the CMB element size supported by each + monitor connected to the aggregator on each port. Should be specified + in pairs (port, cmb element size). + +* Optional properties for TPDM: + + * qcom,clk-enable: specifies whether additional clock bit needs to be + set for M4M TPDM. + + * qcom,msr-fix-req: boolean, indicating if MSRs need to be programmed + after enabling the subunit. + + * qcom,hw-enable-check: Check if the tpdm need to be probed as some tpdms + are not enabled in secure device. + +* Optional properties for CSRs: + + * qcom,usb-bam-support: boolean, indicates CSR has the ability to operate on + usb bam, include enable,disable and flush. + + * qcom,hwctrl-set-support: boolean, indicates CSR has the ability to operate on + to "HWCTRL" register. + + * qcom,set-byte-cntr-support:boolean, indicates CSR has the ability to operate on + to "BYTECNT" register. + + * qcom,timestamp-support:boolean, indicates CSR support sys interface to read + timestamp value. + +* Required property for Remote ETMs: + + * qcom,inst-id: must be present. QMI instance id for remote ETMs. + +* Optional properties for funnels: + + * source: specifies the source that binds to this output port. Only + trace from that source routes to this output port. + + * qcom,duplicate-funnel: boolean, indicates its a duplicate of an + existing funnel. Funnel devices are now capable of supporting + multiple-input and multiple-output configuration with in built + hardware filtering for TPDM devices. Each set of input-output + combination is treated as independent funnel device. + funnel-base-dummy and funnel-base-real reg-names must be specified + when this property is enabled. + + * reg-names: funnel-base-dummy: dummy register space used by a + duplicate funnel. Should be a valid register address space that + no other device is using. + + * reg-names: funnel-base-real: actual register space for the + duplicate funnel. + Graph bindings for Coresight ------------------------------- @@ -364,5 +468,21 @@ Example: }; }; +6. TGUs + ipcb_tgu: tgu@6b0c000 { + compatible = "arm,primecell"; + arm,primecell-periphid = <0x0003b999>; + reg = <0x06B0C000 0x1000>; + reg-names = "tgu-base"; + tgu-steps = <3>; + tgu-conditions = <4>; + tgu-regs = <4>; + tgu-timer-counters = <8>; + + coresight-name = "coresight-tgu-ipcb"; + + clocks = <&clock_aop QDSS_CLK>; + clock-names = "apb_pclk"; + }; [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.