1*4882a593SmuzhiyunWhat: /sys/class/rc/ 2*4882a593SmuzhiyunDate: Apr 2010 3*4882a593SmuzhiyunKernelVersion: 2.6.35 4*4882a593SmuzhiyunContact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 5*4882a593SmuzhiyunDescription: 6*4882a593Smuzhiyun The rc/ class sub-directory belongs to the Remote Controller 7*4882a593Smuzhiyun core and provides a sysfs interface for configuring infrared 8*4882a593Smuzhiyun remote controller receivers. 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunWhat: /sys/class/rc/rcN/ 11*4882a593SmuzhiyunDate: Apr 2010 12*4882a593SmuzhiyunKernelVersion: 2.6.35 13*4882a593SmuzhiyunContact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 14*4882a593SmuzhiyunDescription: 15*4882a593Smuzhiyun A /sys/class/rc/rcN directory is created for each remote 16*4882a593Smuzhiyun control receiver device where N is the number of the receiver. 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunWhat: /sys/class/rc/rcN/protocols 19*4882a593SmuzhiyunDate: Jun 2010 20*4882a593SmuzhiyunKernelVersion: 2.6.36 21*4882a593SmuzhiyunContact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 22*4882a593SmuzhiyunDescription: 23*4882a593Smuzhiyun Reading this file returns a list of available protocols, 24*4882a593Smuzhiyun something like:: 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun "rc5 [rc6] nec jvc [sony]" 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun Enabled protocols are shown in [] brackets. 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun Writing "+proto" will add a protocol to the list of enabled 31*4882a593Smuzhiyun protocols. 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun Writing "-proto" will remove a protocol from the list of enabled 34*4882a593Smuzhiyun protocols. 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun Writing "proto" will enable only "proto". 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun Writing "none" will disable all protocols. 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun Write fails with EINVAL if an invalid protocol combination or 41*4882a593Smuzhiyun unknown protocol name is used. 42*4882a593Smuzhiyun 43*4882a593SmuzhiyunWhat: /sys/class/rc/rcN/filter 44*4882a593SmuzhiyunDate: Jan 2014 45*4882a593SmuzhiyunKernelVersion: 3.15 46*4882a593SmuzhiyunContact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 47*4882a593SmuzhiyunDescription: 48*4882a593Smuzhiyun Sets the scancode filter expected value. 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun Use in combination with /sys/class/rc/rcN/filter_mask to set the 51*4882a593Smuzhiyun expected value of the bits set in the filter mask. 52*4882a593Smuzhiyun If the hardware supports it then scancodes which do not match 53*4882a593Smuzhiyun the filter will be ignored. Otherwise the write will fail with 54*4882a593Smuzhiyun an error. 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun This value may be reset to 0 if the current protocol is altered. 57*4882a593Smuzhiyun 58*4882a593SmuzhiyunWhat: /sys/class/rc/rcN/filter_mask 59*4882a593SmuzhiyunDate: Jan 2014 60*4882a593SmuzhiyunKernelVersion: 3.15 61*4882a593SmuzhiyunContact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 62*4882a593SmuzhiyunDescription: 63*4882a593Smuzhiyun Sets the scancode filter mask of bits to compare. 64*4882a593Smuzhiyun Use in combination with /sys/class/rc/rcN/filter to set the bits 65*4882a593Smuzhiyun of the scancode which should be compared against the expected 66*4882a593Smuzhiyun value. A value of 0 disables the filter to allow all valid 67*4882a593Smuzhiyun scancodes to be processed. 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun If the hardware supports it then scancodes which do not match 70*4882a593Smuzhiyun the filter will be ignored. Otherwise the write will fail with 71*4882a593Smuzhiyun an error. 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun This value may be reset to 0 if the current protocol is altered. 74*4882a593Smuzhiyun 75*4882a593SmuzhiyunWhat: /sys/class/rc/rcN/wakeup_protocols 76*4882a593SmuzhiyunDate: Feb 2017 77*4882a593SmuzhiyunKernelVersion: 4.11 78*4882a593SmuzhiyunContact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 79*4882a593SmuzhiyunDescription: 80*4882a593Smuzhiyun Reading this file returns a list of available protocols to use 81*4882a593Smuzhiyun for the wakeup filter, something like:: 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun "rc-5 nec nec-x rc-6-0 rc-6-6a-24 [rc-6-6a-32] rc-6-mce" 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun Note that protocol variants are listed, so "nec", "sony", 86*4882a593Smuzhiyun "rc-5", "rc-6" have their different bit length encodings 87*4882a593Smuzhiyun listed if available. 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun The enabled wakeup protocol is shown in [] brackets. 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun Only one protocol can be selected at a time. 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun Writing "proto" will use "proto" for wakeup events. 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun Writing "none" will disable wakeup. 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun Write fails with EINVAL if an invalid protocol combination or 98*4882a593Smuzhiyun unknown protocol name is used, or if wakeup is not supported by 99*4882a593Smuzhiyun the hardware. 100*4882a593Smuzhiyun 101*4882a593SmuzhiyunWhat: /sys/class/rc/rcN/wakeup_filter 102*4882a593SmuzhiyunDate: Jan 2014 103*4882a593SmuzhiyunKernelVersion: 3.15 104*4882a593SmuzhiyunContact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 105*4882a593SmuzhiyunDescription: 106*4882a593Smuzhiyun Sets the scancode wakeup filter expected value. 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun Use in combination with /sys/class/rc/rcN/wakeup_filter_mask to 109*4882a593Smuzhiyun set the expected value of the bits set in the wakeup filter mask 110*4882a593Smuzhiyun to trigger a system wake event. 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun If the hardware supports it and wakeup_filter_mask is not 0 then 113*4882a593Smuzhiyun scancodes which match the filter will wake the system from e.g. 114*4882a593Smuzhiyun suspend to RAM or power off. 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun Otherwise the write will fail with an error. 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun This value may be reset to 0 if the wakeup protocol is altered. 119*4882a593Smuzhiyun 120*4882a593SmuzhiyunWhat: /sys/class/rc/rcN/wakeup_filter_mask 121*4882a593SmuzhiyunDate: Jan 2014 122*4882a593SmuzhiyunKernelVersion: 3.15 123*4882a593SmuzhiyunContact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 124*4882a593SmuzhiyunDescription: 125*4882a593Smuzhiyun Sets the scancode wakeup filter mask of bits to compare. 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun Use in combination with /sys/class/rc/rcN/wakeup_filter to set 128*4882a593Smuzhiyun the bits of the scancode which should be compared against the 129*4882a593Smuzhiyun expected value to trigger a system wake event. 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun If the hardware supports it and wakeup_filter_mask is not 0 then 132*4882a593Smuzhiyun scancodes which match the filter will wake the system from e.g. 133*4882a593Smuzhiyun suspend to RAM or power off. 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun Otherwise the write will fail with an error. 136*4882a593Smuzhiyun 137*4882a593Smuzhiyun This value may be reset to 0 if the wakeup protocol is altered. 138