~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/mfd/tc3589x.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 * Toshiba TC3589x multi-purpose expander
  2 
  3 The Toshiba TC3589x series are I2C-based MFD devices which may expose the
  4 following built-in devices: gpio, keypad, rotator (vibrator), PWM (for
  5 e.g. LEDs or vibrators) The included models are:
  6 
  7 - TC35890
  8 - TC35892
  9 - TC35893
 10 - TC35894
 11 - TC35895
 12 - TC35896
 13 
 14 Required 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 
 23 Optional 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 
 60 Example:
 61 
 62 tc35893@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 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php