brintos

brintos / linux-shallow public Read only

0
0
Text · 3.2 KiB · 4f22b2b Raw
108 lines · plain
1* Toshiba TC3589x multi-purpose expander2 3The Toshiba TC3589x series are I2C-based MFD devices which may expose the4following built-in devices: gpio, keypad, rotator (vibrator), PWM (for5e.g. LEDs or vibrators) The included models are:6 7- TC358908- TC358929- TC3589310- TC3589411- TC3589512- TC3589613 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 device18 - interrupts : the interrupt on the parent the controller is connected to19 - interrupt-controller : marks the device node as an interrupt controller20 - #interrupt-cells : should be <1>, the first cell is the IRQ offset on this21   TC3589x interrupt controller.22 23Optional nodes:24 25- GPIO26  This GPIO module inside the TC3589x has 24 (TC35890, TC35892) or 2027  (other models) GPIO lines.28 - compatible : must be "toshiba,tc3589x-gpio"29 - interrupts : interrupt on the parent, which must be the tc3589x MFD device30 - interrupt-controller : marks the device node as an interrupt controller31 - #interrupt-cells : should be <2>, the first cell is the IRQ offset on this32   TC3589x GPIO interrupt controller, the second cell is the interrupt flags33   in accordance with <dt-bindings/interrupt-controller/irq.h>. The following34   flags are valid:35   - IRQ_TYPE_LEVEL_LOW36   - IRQ_TYPE_LEVEL_HIGH37   - IRQ_TYPE_EDGE_RISING38   - IRQ_TYPE_EDGE_FALLING39   - IRQ_TYPE_EDGE_BOTH40 - gpio-controller : marks the device node as a GPIO controller41 - #gpio-cells : should be <2>, the first cell is the GPIO offset on this42   GPIO controller, the second cell is the flags.43 44- Keypad45  This keypad is the same on all variants, supporting up to 96 different46  keys. The linux-specific properties are modeled on those already existing47  in other input drivers.48 - compatible : must be "toshiba,tc3589x-keypad"49 - debounce-delay-ms : debounce interval in milliseconds50 - keypad,num-rows : number of rows in the matrix, see51   bindings/input/matrix-keymap.txt52 - keypad,num-columns : number of columns in the matrix, see53   bindings/input/matrix-keymap.txt54 - linux,keymap: the definition can be found in55   bindings/input/matrix-keymap.txt56 - 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 = <0x0301006b88				0x0401006689				0x0604007290				0x040200d791				0x0303006a92				0x0205000e93				0x0607008b94				0x0500001c95				0x0403000b96				0x0304003497				0x0502006798				0x0305006c99				0x040500e7100				0x0005009e101				0x06020073102				0x01030039103				0x07060069104				0x050500d9>;105		wakeup-source;106	};107};108