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