DCC(Data Capture and Compare) is a DMA engine designed for debugging purposes. 
In case of a system
crash or manual software triggers by the user the DCC hardware stores the value 
at the register
addresses which can be used for debugging purposes. The DCC driver provides the 
user with sysfs
interface to configure the register addresses. The options that the DCC 
hardware provides include
reading from registers, writing to registers, first reading and then writing to 
registers and looping
through the values of the same register.

In certain cases a register write needs to be executed for accessing the rest 
of the registers, also
the user might want to record the changing values of a particular register with 
time for which he has
the option to use the loop feature. The options mentioned above are exposed to 
the user by sysfs files
once the driver is probed. The details and usage of this sysfs files are 
documented in
Documentation/ABI/testing/sysfs-driver-dcc. As an example if a user wants to 
configure to store 100 words
starting from address 0x80000050 he should give inputs as following to the 
sysfs config file:-

echo  0x80000050 100 > /sys/bus/platform/devices/.../config

Similarly if the user wants to write to a register using DCC hardware he should 
give following input to
config_write sysfs file:-
echo 0x80000000 0xFF > /sys/bus/platform/devices/10a2000.dcc/config_write
All this read and write occurs at crash time or if the user manually invokes a 
software trigger.

Souradeep Chowdhury (6):
  dt-bindings: Added the yaml bindings for DCC
  soc: qcom: dcc: Add driver support for Data Capture and Compare
    unit(DCC)
  soc: qcom: dcc: Add the sysfs variables to the Data Capture and
    Compare driver(DCC)
  DCC: Added the sysfs entries for DCC(Data Capture and Compare) driver
  MAINTAINERS: Add the entry for DCC(Data Capture and Compare) driver
    support
  arm64: dts: qcom: sm8150: Add Data Capture and Compare(DCC) support
    node

 Documentation/ABI/testing/sysfs-driver-dcc         |   74 +
 .../devicetree/bindings/arm/msm/qcom,dcc.yaml      |   49 +
 MAINTAINERS                                        |    8 +
 arch/arm64/boot/dts/qcom/sm8150.dtsi               |    7 +
 drivers/soc/qcom/Kconfig                           |    8 +
 drivers/soc/qcom/Makefile                          |    1 +
 drivers/soc/qcom/dcc.c                             | 1551 ++++++++++++++++++++
 7 files changed, 1698 insertions(+)
 create mode 100644 Documentation/ABI/testing/sysfs-driver-dcc
 create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,dcc.yaml
 create mode 100644 drivers/soc/qcom/dcc.c

--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

Reply via email to