* Data Capture and Compare (DCC) DCC (Data Capture and Compare) is a DMA engine, which is used to save configuration data or system memory contents during catastrophic failure or SW trigger. It can also perform CRC over the same configuration or memory space. Required properties: - compatible : name of the component used for driver matching, should be "qcom,dcc" or "qcom,dcc-v2" - reg : physical base address and length of the register set(s), SRAM and XPU of the component. - reg-names : names corresponding to each reg property value. dcc-base: Base address for DCC configuration reg dcc-ram-base: Start of HLOS address space in SRAM dcc-xpu-base: Base address for XPU configuration reg - dcc-ram-offset: Address offset from the start of the SRAM address space. Optional properties: - clocks: phandle reference to the parent clock. - clock-names: Name of the clock that needs to be enabled for the HW to run. Turned off when the subsystem is disabled. - qcom,save-reg: boolean, To save dcc registers state in memory after dcc enable and disable - link-list subnode: Each link-list subnode represents a link-list configured by default. It supports configure multiple link-list nodes. link-list subnode properties: - qcom,data-sink: string, To specify default data sink for dcc, should be one of the following: "atb" : To send captured data over ATB to a trace sink "sram" : To save captured data in dcc internal SRAM. - qcom,curr-link-list: int, To specify the link list to use for the default list. - qcom,link-list: The values to be programmed into the default link list. The enum values for DCC operations is defined in dt-bindings/soc/qcom,dcc_v2.h The following gives basic structure to be used for each operation: val is to be interpreted based on what operation is to be performed. Example: dcc: dcc@4b3000 { compatible = "qcom,dcc"; reg = <0x4b3000 0x1000>, <0x4b4000 0x2000>, <0x4b0000 0x1>; reg-names = "dcc-base", "dcc-ram-base", "dcc-xpu-base"; clocks = <&clock_gcc clk_gcc_dcc_ahb_clk>; clock-names = "dcc_clk"; qcom,save-reg; link_list_0 { qcom,curr-link-list = <2>; qcom,data-sink = "sram"; qcom,link-list = , , , , , ; }; link_list_2 { qcom,curr-link-list = <3>; qcom,data-sink = "atb"; qcom,link-list = , , , , , ; }; };