cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

adc-keys.txt (2077B)


      1ADC attached resistor ladder buttons
      2------------------------------------
      3
      4Required properties:
      5 - compatible: "adc-keys"
      6 - io-channels: Phandle to an ADC channel
      7 - io-channel-names = "buttons";
      8 - keyup-threshold-microvolt: Voltage above or equal to which all the keys are
      9			      considered up.
     10
     11Optional properties:
     12	- poll-interval: Poll interval time in milliseconds
     13	- autorepeat: Boolean, Enable auto repeat feature of Linux input
     14	  subsystem.
     15
     16Each button (key) is represented as a sub-node of "adc-keys":
     17
     18Required subnode-properties:
     19	- label: Descriptive name of the key.
     20	- linux,code: Keycode to emit.
     21	- press-threshold-microvolt: voltage above or equal to which this key is
     22				     considered pressed.
     23
     24No two values of press-threshold-microvolt may be the same.
     25All values of press-threshold-microvolt must be less than
     26keyup-threshold-microvolt.
     27
     28Example:
     29
     30#include <dt-bindings/input/input.h>
     31
     32	adc-keys {
     33		compatible = "adc-keys";
     34		io-channels = <&lradc 0>;
     35		io-channel-names = "buttons";
     36		keyup-threshold-microvolt = <2000000>;
     37
     38		button-up {
     39			label = "Volume Up";
     40			linux,code = <KEY_VOLUMEUP>;
     41			press-threshold-microvolt = <1500000>;
     42		};
     43
     44		button-down {
     45			label = "Volume Down";
     46			linux,code = <KEY_VOLUMEDOWN>;
     47			press-threshold-microvolt = <1000000>;
     48		};
     49
     50		button-enter {
     51			label = "Enter";
     52			linux,code = <KEY_ENTER>;
     53			press-threshold-microvolt = <500000>;
     54		};
     55	};
     56
     57+--------------------------------+------------------------+
     58| 2.000.000 <= value             | no key pressed         |
     59+--------------------------------+------------------------+
     60| 1.500.000 <= value < 2.000.000 | KEY_VOLUMEUP pressed   |
     61+--------------------------------+------------------------+
     62| 1.000.000 <= value < 1.500.000 | KEY_VOLUMEDOWN pressed |
     63+--------------------------------+------------------------+
     64|   500.000 <= value < 1.000.000 | KEY_ENTER pressed      |
     65+--------------------------------+------------------------+
     66|              value <   500.000 | no key pressed         |
     67+--------------------------------+------------------------+