1*4cbe60cfSSouradeep ChowdhuryWhat: /sys/kernel/debug/dcc/.../ready 2*4cbe60cfSSouradeep ChowdhuryDate: December 2022 3*4cbe60cfSSouradeep ChowdhuryContact: Souradeep Chowdhury <quic_schowdhu@quicinc.com> 4*4cbe60cfSSouradeep ChowdhuryDescription: 5*4cbe60cfSSouradeep Chowdhury This file is used to check the status of the dcc 6*4cbe60cfSSouradeep Chowdhury hardware if it's ready to take the inputs. A 'Y' 7*4cbe60cfSSouradeep Chowdhury here indicates dcc is in a ready condition. 8*4cbe60cfSSouradeep Chowdhury Example: 9*4cbe60cfSSouradeep Chowdhury cat /sys/kernel/debug/dcc/.../ready 10*4cbe60cfSSouradeep Chowdhury 11*4cbe60cfSSouradeep ChowdhuryWhat: /sys/kernel/debug/dcc/.../trigger 12*4cbe60cfSSouradeep ChowdhuryDate: December 2022 13*4cbe60cfSSouradeep ChowdhuryContact: Souradeep Chowdhury <quic_schowdhu@quicinc.com> 14*4cbe60cfSSouradeep ChowdhuryDescription: 15*4cbe60cfSSouradeep Chowdhury This is the debugfs interface for manual software 16*4cbe60cfSSouradeep Chowdhury triggers. The user can simply enter a 1 against 17*4cbe60cfSSouradeep Chowdhury the debugfs file and enable a manual trigger. 18*4cbe60cfSSouradeep Chowdhury Example: 19*4cbe60cfSSouradeep Chowdhury echo 1 > /sys/kernel/debug/dcc/.../trigger 20*4cbe60cfSSouradeep Chowdhury 21*4cbe60cfSSouradeep ChowdhuryWhat: /sys/kernel/debug/dcc/.../config_reset 22*4cbe60cfSSouradeep ChowdhuryDate: December 2022 23*4cbe60cfSSouradeep ChowdhuryContact: Souradeep Chowdhury <quic_schowdhu@quicinc.com> 24*4cbe60cfSSouradeep ChowdhuryDescription: 25*4cbe60cfSSouradeep Chowdhury This file is used to reset the configuration of 26*4cbe60cfSSouradeep Chowdhury a dcc driver to the default configuration. This 27*4cbe60cfSSouradeep Chowdhury means that all the previous addresses stored in 28*4cbe60cfSSouradeep Chowdhury the driver gets removed and user needs to enter 29*4cbe60cfSSouradeep Chowdhury the address values from the start. 30*4cbe60cfSSouradeep Chowdhury Example: 31*4cbe60cfSSouradeep Chowdhury echo 1 > /sys/kernel/debug/dcc/../config_reset 32*4cbe60cfSSouradeep Chowdhury 33*4cbe60cfSSouradeep ChowdhuryWhat: /sys/kernel/debug/dcc/.../[list-number]/config 34*4cbe60cfSSouradeep ChowdhuryDate: December 2022 35*4cbe60cfSSouradeep ChowdhuryContact: Souradeep Chowdhury <quic_schowdhu@quicinc.com> 36*4cbe60cfSSouradeep ChowdhuryDescription: 37*4cbe60cfSSouradeep Chowdhury This stores the addresses of the registers which 38*4cbe60cfSSouradeep Chowdhury should be read in case of a hardware crash or 39*4cbe60cfSSouradeep Chowdhury manual software triggers. The addresses entered here 40*4cbe60cfSSouradeep Chowdhury are considered under all the 4 types of dcc 41*4cbe60cfSSouradeep Chowdhury instructions Read type, Write type, Read Modify Write 42*4cbe60cfSSouradeep Chowdhury type and Loop type. The lists need to be configured 43*4cbe60cfSSouradeep Chowdhury sequentially and not in a overlapping manner. As an 44*4cbe60cfSSouradeep Chowdhury example user can jump to list x only after list y is 45*4cbe60cfSSouradeep Chowdhury configured and enabled. The format for entering all 46*4cbe60cfSSouradeep Chowdhury types of instructions are explained in examples as 47*4cbe60cfSSouradeep Chowdhury follows. 48*4cbe60cfSSouradeep Chowdhury Example: 49*4cbe60cfSSouradeep Chowdhury i)Read Type Instruction 50*4cbe60cfSSouradeep Chowdhury echo R <1> <2> <3> >/sys/kernel/debug/dcc/../[list-number]/config 51*4cbe60cfSSouradeep Chowdhury 1->Address to be considered for reading the value. 52*4cbe60cfSSouradeep Chowdhury 2->The word count of the addresses, read n words 53*4cbe60cfSSouradeep Chowdhury starting from address <1>. Each word is of 32 bits. 54*4cbe60cfSSouradeep Chowdhury If not entered 1 is considered. 55*4cbe60cfSSouradeep Chowdhury 3->Can be 'apb' or 'ahb' which indicates if it is apb or ahb 56*4cbe60cfSSouradeep Chowdhury bus respectively. If not entered ahb is considered. 57*4cbe60cfSSouradeep Chowdhury ii)Write Type Instruction 58*4cbe60cfSSouradeep Chowdhury echo W <1> <2> <3> > /sys/kernel/debug/dcc/../[list-number]/config 59*4cbe60cfSSouradeep Chowdhury 1->Address to be considered for writing the value. 60*4cbe60cfSSouradeep Chowdhury 2->The value that needs to be written at the location. 61*4cbe60cfSSouradeep Chowdhury 3->Can be a 'apb' or 'ahb' which indicates if it is apb or ahb 62*4cbe60cfSSouradeep Chowdhury but respectively. 63*4cbe60cfSSouradeep Chowdhury iii)Read Modify Write type instruction 64*4cbe60cfSSouradeep Chowdhury echo RW <1> <2> <3> > /sys/kernel/debug/dcc/../[list-number]/config 65*4cbe60cfSSouradeep Chowdhury 1->The address which needs to be considered for read then write. 66*4cbe60cfSSouradeep Chowdhury 2->The value that needs to be written on the address. 67*4cbe60cfSSouradeep Chowdhury 3->The mask of the value to be written. 68*4cbe60cfSSouradeep Chowdhury iv)Loop Type Instruction 69*4cbe60cfSSouradeep Chowdhury echo L <1> <2> <3> > /sys/kernel/debug/dcc/../[list-number]/config 70*4cbe60cfSSouradeep Chowdhury 1->The loop count, the number of times the value of the addresses will be 71*4cbe60cfSSouradeep Chowdhury captured. 72*4cbe60cfSSouradeep Chowdhury 2->The address count, total number of addresses to be entered in this 73*4cbe60cfSSouradeep Chowdhury instruction. 74*4cbe60cfSSouradeep Chowdhury 3->The series of addresses to be entered separated by a space like <addr1> 75*4cbe60cfSSouradeep Chowdhury <addr2>... and so on. 76*4cbe60cfSSouradeep Chowdhury 77*4cbe60cfSSouradeep ChowdhuryWhat: /sys/kernel/debug/dcc/.../[list-number]/enable 78*4cbe60cfSSouradeep ChowdhuryDate: December 2022 79*4cbe60cfSSouradeep ChowdhuryContact: Souradeep Chowdhury <quic_schowdhu@quicinc.com> 80*4cbe60cfSSouradeep ChowdhuryDescription: 81*4cbe60cfSSouradeep Chowdhury This debugfs interface is used for enabling the 82*4cbe60cfSSouradeep Chowdhury the dcc hardware. Enable file is kept under the 83*4cbe60cfSSouradeep Chowdhury directory list number for which the user wants 84*4cbe60cfSSouradeep Chowdhury to enable it. For example if the user wants to 85*4cbe60cfSSouradeep Chowdhury enable list 1, then he should go for 86*4cbe60cfSSouradeep Chowdhury echo 1 > /sys/kernel/debug/dcc/.../1/enable. 87*4cbe60cfSSouradeep Chowdhury On enabling the dcc, all the addresses entered 88*4cbe60cfSSouradeep Chowdhury by the user for the corresponding list is written 89*4cbe60cfSSouradeep Chowdhury into dcc sram which is read by the dcc hardware 90*4cbe60cfSSouradeep Chowdhury on manual or crash induced triggers. Lists should 91*4cbe60cfSSouradeep Chowdhury be enabled sequentially.For example after configuring 92*4cbe60cfSSouradeep Chowdhury addresses for list 1 and enabling it, a user can 93*4cbe60cfSSouradeep Chowdhury proceed to enable list 2 or vice versa. 94*4cbe60cfSSouradeep Chowdhury Example: 95*4cbe60cfSSouradeep Chowdhury echo 0 > /sys/kernel/debug/dcc/.../[list-number]/enable 96*4cbe60cfSSouradeep Chowdhury (disable dcc for the corresponding list number) 97*4cbe60cfSSouradeep Chowdhury echo 1 > /sys/kernel/debug/dcc/.../[list-number]/enable 98*4cbe60cfSSouradeep Chowdhury (enable dcc for the corresponding list number) 99