Quoting Souradeep Chowdhury (2021-03-25 01:02:34) > The DCC is a DMA engine designed to store register values either in > case of a system crash or in case of software triggers manually done > by the user.Using DCC hardware and the sysfs interface of the driver > the user can exploit various functionalities of DCC.The user can specify > the register addresses,the values of which is stored by DCC in it's > dedicated SRAM.The register addresses can be used either to read from, > write to,first read and store value and then write or to loop.All these > options can be exploited using the sysfs interface given to the user. > Following are the sysfs interfaces exposed in DCC driver which are > documented > 1)trigger > 2)config > 3)config_write > 4)config_reset > 5)enable > 6)rd_mod_wr > 7)loop > > Signed-off-by: Souradeep Chowdhury <schowdhu@xxxxxxxxxxxxxx> > --- > Documentation/ABI/testing/sysfs-driver-dcc | 114 +++++++++++++++++++++++++++++ Please combine this with the driver patch. > 1 file changed, 114 insertions(+) > create mode 100644 Documentation/ABI/testing/sysfs-driver-dcc Perhaps this should be an ioctl interface instead of a sysfs interface? > > diff --git a/Documentation/ABI/testing/sysfs-driver-dcc b/Documentation/ABI/testing/sysfs-driver-dcc > new file mode 100644 > index 0000000..05d24f0 > --- /dev/null > +++ b/Documentation/ABI/testing/sysfs-driver-dcc > @@ -0,0 +1,114 @@ > +What: /sys/bus/platform/devices/.../trigger > +Date: March 2021 > +Contact: Souradeep Chowdhury <schowdhu@xxxxxxxxxxxxxx> > +Description: > + This is the sysfs interface for manual software > + triggers.The user can simply enter a 1 against > + the sysfs file and enable a manual trigger. > + Example: > + echo 1 > /sys/bus/platform/devices/.../trigger > + > +What: /sys/bus/platform/devices/.../enable > +Date: March 2021 > +Contact: Souradeep Chowdhury <schowdhu@xxxxxxxxxxxxxx> > +Description: > + This sysfs interface is used for enabling the > + the dcc hardware.Without this being set to 1, Space after period please. > + the dcc hardware ceases to function. > + Example: > + echo 0 > /sys/bus/platform/devices/.../enable > + (disable interface) > + echo 1 > /sys/bus/platform/devices/.../enable > + (enable interface) > + > +What: /sys/bus/platform/devices/.../config > +Date: March 2021 > +Contact: Souradeep Chowdhury <schowdhu@xxxxxxxxxxxxxx> > +Description: > + This is the most commonly used sysfs interface > + file and this basically stores the addresses of > + the registers which needs to be read in case of > + a hardware crash or manual software triggers. > + Example: > + echo 0x80000010 10 > /sys/bus/platform/devices/../config > + This specifies that 10 words starting from address > + 0x80000010 is to be read.In case there are no words to be > + specified we can simply enter the address. > + > +What: /sys/bus/platform/devices/.../config_write > +Date: March 2021 > +Contact: Souradeep Chowdhury <schowdhu@xxxxxxxxxxxxxx> > +Description: > + This file allows user to write a value to the register > + address given as argument.The values are entered in the > + form of <register_address> <value>.The reason for this > + feature of dcc is that for accessing certain registers > + it is necessary to set some bits of soe other register. s/soe/some/? > + That is achievable by giving DCC this privelege. s/privelege/privilege/ > + Example: > + echo 0x80000000 0xFF > /sys/bus/platform/devices/.../config_write > + > +What: /sys/bus/platform/devices/.../config_reset > +Date: March 2021 > +Contact: Souradeep Chowdhury <schowdhu@xxxxxxxxxxxxxx> > +Description: > + This file is used to reset the configuration of > + a dcc driver to the default configuration. > + Example: > + echo 1 > /sys/bus/platform/devices/.../config_reset > +