linux-imx/Documentation/ABI/testing/debugfs-driver-dcc
Bagas Sanjaya 13763fb955 soc: qcom: dcc: rewrite description of dcc sysfs files
The description of dcc sysfs files is somewhat confusing and not effective.
Rewrite it to be clear.

While at it, also use literal code block for config sysfs examples and
remove redundant examples that are obvious.

Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Acked-by: Souradeep Chowdhury <quic_schowdhu@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221230135030.17002-3-bagasdotme@gmail.com
2023-01-06 17:51:42 -06:00

3.5 KiB

What: /sys/kernel/debug/dcc/.../ready Date: December 2022 Contact: Souradeep Chowdhury quic_schowdhu@quicinc.com Description: This file is used to check the status of the dcc hardware if it's ready to receive user configurations. A 'Y' here indicates dcc is ready.

What: /sys/kernel/debug/dcc/.../trigger Date: December 2022 Contact: Souradeep Chowdhury quic_schowdhu@quicinc.com Description: This is the debugfs interface for manual software triggers. The trigger can be invoked by writing '1' to the file.

What: /sys/kernel/debug/dcc/.../config_reset Date: December 2022 Contact: Souradeep Chowdhury quic_schowdhu@quicinc.com Description: This file is used to reset the configuration of a dcc driver to the default configuration. When '1' is written to the file, all the previous addresses stored in the driver gets removed and users need to reconfigure addresses again.

What: /sys/kernel/debug/dcc/.../[list-number]/config Date: December 2022 Contact: Souradeep Chowdhury quic_schowdhu@quicinc.com Description: This stores the addresses of the registers which can be read in case of a hardware crash or manual software triggers. The input addresses type can be one of following dcc instructions: read, write, read-write, and loop type. The lists need to be configured sequentially and not in a overlapping manner; e.g. users can jump to list x only after list y is configured and enabled. The input format for each type is as follows:

        i) Read instruction

	   ::

	     echo R <addr> <n> <bus> >/sys/kernel/debug/dcc/../[list-number]/config

	   where:

	   <addr>
		The address to be read.

	   <n>
		The addresses word count, starting from address <1>.
		Each word is 32 bits (4 bytes). If omitted, defaulted
		to 1.

	   <bus type>
		The bus type, which can be either 'apb' or 'ahb'.
		The default is 'ahb' if leaved out.

	ii) Write instruction

	    ::

	      echo W <addr> <n> <bus type> > /sys/kernel/debug/dcc/../[list-number]/config

	    where:

	    <addr>
		The address to be written.

	    <n>
		The value to be written at <addr>.

	    <bus type>
		The bus type, which can be either 'apb' or 'ahb'.

        iii) Read-write instruction

	     ::

	       echo RW <addr> <n> <mask> > /sys/kernel/debug/dcc/../[list-number]/config

	     where:

	     <addr>
		The address to be read and written.

	     <n>
	        The value to be written at <addr>.

	     <mask>
		The value mask.

	iv) Loop instruction

	    ::

	      echo L <loop count> <address count> <address>... > /sys/kernel/debug/dcc/../[list-number]/config

	    where:

	    <loop count>
		Number of iterations

	    <address count>
		total number of addresses to be written

	    <address>
		Space-separated list of addresses.

What: /sys/kernel/debug/dcc/.../[list-number]/enable Date: December 2022 Contact: Souradeep Chowdhury quic_schowdhu@quicinc.com Description: This debugfs interface is used for enabling the the dcc hardware. A file named "enable" is in the directory list number where users can enable/disable the specific list by writing boolean (1 or 0) to the file.

	On enabling the dcc, all the addresses specified
	by the user for the corresponding list is written
	into dcc sram which is read by the dcc hardware
	on manual or crash induced triggers. Lists must
	be configured and enabled sequentially, e.g. list
	2 can only be enabled when list 1 have so.