| 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. |