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

tc3589x.txt (3230B)


      1* Toshiba TC3589x multi-purpose expander
      2
      3The Toshiba TC3589x series are I2C-based MFD devices which may expose the
      4following built-in devices: gpio, keypad, rotator (vibrator), PWM (for
      5e.g. LEDs or vibrators) The included models are:
      6
      7- TC35890
      8- TC35892
      9- TC35893
     10- TC35894
     11- TC35895
     12- TC35896
     13
     14Required properties:
     15 - compatible : must be "toshiba,tc35890", "toshiba,tc35892", "toshiba,tc35893",
     16   "toshiba,tc35894", "toshiba,tc35895" or "toshiba,tc35896"
     17 - reg : I2C address of the device
     18 - interrupts : the interrupt on the parent the controller is connected to
     19 - interrupt-controller : marks the device node as an interrupt controller
     20 - #interrupt-cells : should be <1>, the first cell is the IRQ offset on this
     21   TC3589x interrupt controller.
     22
     23Optional nodes:
     24
     25- GPIO
     26  This GPIO module inside the TC3589x has 24 (TC35890, TC35892) or 20
     27  (other models) GPIO lines.
     28 - compatible : must be "toshiba,tc3589x-gpio"
     29 - interrupts : interrupt on the parent, which must be the tc3589x MFD device
     30 - interrupt-controller : marks the device node as an interrupt controller
     31 - #interrupt-cells : should be <2>, the first cell is the IRQ offset on this
     32   TC3589x GPIO interrupt controller, the second cell is the interrupt flags
     33   in accordance with <dt-bindings/interrupt-controller/irq.h>. The following
     34   flags are valid:
     35   - IRQ_TYPE_LEVEL_LOW
     36   - IRQ_TYPE_LEVEL_HIGH
     37   - IRQ_TYPE_EDGE_RISING
     38   - IRQ_TYPE_EDGE_FALLING
     39   - IRQ_TYPE_EDGE_BOTH
     40 - gpio-controller : marks the device node as a GPIO controller
     41 - #gpio-cells : should be <2>, the first cell is the GPIO offset on this
     42   GPIO controller, the second cell is the flags.
     43
     44- Keypad
     45  This keypad is the same on all variants, supporting up to 96 different
     46  keys. The linux-specific properties are modeled on those already existing
     47  in other input drivers.
     48 - compatible : must be "toshiba,tc3589x-keypad"
     49 - debounce-delay-ms : debounce interval in milliseconds
     50 - keypad,num-rows : number of rows in the matrix, see
     51   bindings/input/matrix-keymap.txt
     52 - keypad,num-columns : number of columns in the matrix, see
     53   bindings/input/matrix-keymap.txt
     54 - linux,keymap: the definition can be found in
     55   bindings/input/matrix-keymap.txt
     56 - linux,no-autorepeat: do no enable autorepeat feature.
     57 - wakeup-source: use any event on keypad as wakeup event.
     58		  (Legacy property supported: "linux,wakeup")
     59
     60Example:
     61
     62tc35893@44 {
     63	compatible = "toshiba,tc35893";
     64	reg = <0x44>;
     65	interrupt-parent = <&gpio6>;
     66	interrupts = <26 IRQ_TYPE_EDGE_RISING>;
     67
     68	interrupt-controller;
     69	#interrupt-cells = <1>;
     70
     71	tc3589x_gpio {
     72		compatible = "toshiba,tc3589x-gpio";
     73		interrupts = <0>;
     74
     75		interrupt-controller;
     76		#interrupt-cells = <2>;
     77		gpio-controller;
     78		#gpio-cells = <2>;
     79	};
     80	tc3589x_keypad {
     81		compatible = "toshiba,tc3589x-keypad";
     82		interrupts = <6>;
     83		debounce-delay-ms = <4>;
     84		keypad,num-columns = <8>;
     85		keypad,num-rows = <8>;
     86		linux,no-autorepeat;
     87		linux,keymap = <0x0301006b
     88				0x04010066
     89				0x06040072
     90				0x040200d7
     91				0x0303006a
     92				0x0205000e
     93				0x0607008b
     94				0x0500001c
     95				0x0403000b
     96				0x03040034
     97				0x05020067
     98				0x0305006c
     99				0x040500e7
    100				0x0005009e
    101				0x06020073
    102				0x01030039
    103				0x07060069
    104				0x050500d9>;
    105		wakeup-source;
    106	};
    107};