1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-C 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/mfd/iqs62x. 4 $id: http://devicetree.org/schemas/mfd/iqs62x.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Azoteq IQS620A/621/622/624/625 Multi-Fu 7 title: Azoteq IQS620A/621/622/624/625 Multi-Function Sensors 8 8 9 maintainers: 9 maintainers: 10 - Jeff LaBundy <jeff@labundy.com> 10 - Jeff LaBundy <jeff@labundy.com> 11 11 12 description: | 12 description: | 13 The Azoteq IQS620A, IQS621, IQS622, IQS624 a 13 The Azoteq IQS620A, IQS621, IQS622, IQS624 and IQS625 multi-function sensors 14 integrate multiple sensing technologies in a 14 integrate multiple sensing technologies in a single package. 15 15 16 Link to datasheets: https://www.azoteq.com/ 16 Link to datasheets: https://www.azoteq.com/ 17 17 18 properties: 18 properties: 19 compatible: 19 compatible: 20 enum: 20 enum: 21 - azoteq,iqs620a 21 - azoteq,iqs620a 22 - azoteq,iqs621 22 - azoteq,iqs621 23 - azoteq,iqs622 23 - azoteq,iqs622 24 - azoteq,iqs624 24 - azoteq,iqs624 25 - azoteq,iqs625 25 - azoteq,iqs625 26 26 27 reg: 27 reg: 28 maxItems: 1 28 maxItems: 1 29 29 30 interrupts: 30 interrupts: 31 maxItems: 1 31 maxItems: 1 32 32 33 firmware-name: 33 firmware-name: 34 maxItems: 1 34 maxItems: 1 35 description: 35 description: 36 Specifies the name of the calibration an 36 Specifies the name of the calibration and configuration file selected by 37 the driver. If this property is omitted, 37 the driver. If this property is omitted, the name is chosen based on the 38 device name with ".bin" as the extension 38 device name with ".bin" as the extension (e.g. iqs620a.bin for IQS620A). 39 39 40 keys: 40 keys: 41 $ref: /schemas/input/iqs62x-keys.yaml 41 $ref: /schemas/input/iqs62x-keys.yaml 42 42 43 pwm: 43 pwm: 44 $ref: /schemas/pwm/iqs620a-pwm.yaml 44 $ref: /schemas/pwm/iqs620a-pwm.yaml 45 45 46 required: 46 required: 47 - compatible 47 - compatible 48 - reg 48 - reg 49 - interrupts 49 - interrupts 50 50 51 additionalProperties: false 51 additionalProperties: false 52 52 53 examples: 53 examples: 54 - | 54 - | 55 /* 55 /* 56 * Dual capacitive buttons with proximity- 56 * Dual capacitive buttons with proximity-activated function, unipolar lid 57 * switch and panel-mounted LED. 57 * switch and panel-mounted LED. 58 */ 58 */ 59 #include <dt-bindings/input/input.h> 59 #include <dt-bindings/input/input.h> 60 #include <dt-bindings/interrupt-controller 60 #include <dt-bindings/interrupt-controller/irq.h> 61 61 62 i2c { 62 i2c { 63 #address-cells = <1>; 63 #address-cells = <1>; 64 #size-cells = <0>; 64 #size-cells = <0>; 65 65 66 iqs620a@44 { 66 iqs620a@44 { 67 compatible = "azoteq,iqs62 67 compatible = "azoteq,iqs620a"; 68 reg = <0x44>; 68 reg = <0x44>; 69 interrupt-parent = <&gpio> 69 interrupt-parent = <&gpio>; 70 interrupts = <17 IRQ_TYPE_ 70 interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 71 71 72 keys { 72 keys { 73 compatible = "azot 73 compatible = "azoteq,iqs620a-keys"; 74 74 75 linux,keycodes = < 75 linux,keycodes = <KEY_SELECT>, 76 < 76 <KEY_MENU>, 77 < 77 <KEY_OK>, 78 < 78 <KEY_MENU>; 79 79 80 hall-switch-south 80 hall-switch-south { 81 linux,code 81 linux,code = <SW_LID>; 82 azoteq,use 82 azoteq,use-prox; 83 }; 83 }; 84 }; 84 }; 85 85 86 iqs620a_pwm: pwm { 86 iqs620a_pwm: pwm { 87 compatible = "azot 87 compatible = "azoteq,iqs620a-pwm"; 88 #pwm-cells = <2>; 88 #pwm-cells = <2>; 89 }; 89 }; 90 }; 90 }; 91 }; 91 }; 92 92 93 pwmleds { 93 pwmleds { 94 compatible = "pwm-leds"; 94 compatible = "pwm-leds"; 95 95 96 led-1 { 96 led-1 { 97 pwms = <&iqs620a_pwm 0 100 97 pwms = <&iqs620a_pwm 0 1000000>; 98 max-brightness = <255>; 98 max-brightness = <255>; 99 }; 99 }; 100 }; 100 }; 101 101 102 - | 102 - | 103 /* Single inductive button with bipolar do 103 /* Single inductive button with bipolar dock/tablet-mode switch. */ 104 #include <dt-bindings/input/input.h> 104 #include <dt-bindings/input/input.h> 105 #include <dt-bindings/interrupt-controller 105 #include <dt-bindings/interrupt-controller/irq.h> 106 106 107 i2c { 107 i2c { 108 #address-cells = <1>; 108 #address-cells = <1>; 109 #size-cells = <0>; 109 #size-cells = <0>; 110 110 111 iqs620a@44 { 111 iqs620a@44 { 112 compatible = "azoteq,iqs62 112 compatible = "azoteq,iqs620a"; 113 reg = <0x44>; 113 reg = <0x44>; 114 interrupt-parent = <&gpio> 114 interrupt-parent = <&gpio>; 115 interrupts = <17 IRQ_TYPE_ 115 interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 116 116 117 firmware-name = "iqs620a_c 117 firmware-name = "iqs620a_coil.bin"; 118 118 119 keys { 119 keys { 120 compatible = "azot 120 compatible = "azoteq,iqs620a-keys"; 121 121 122 linux,keycodes = < 122 linux,keycodes = <0>, 123 < 123 <0>, 124 < 124 <0>, 125 < 125 <0>, 126 < 126 <0>, 127 < 127 <0>, 128 < 128 <KEY_MUTE>; 129 129 130 hall-switch-north 130 hall-switch-north { 131 linux,code 131 linux,code = <SW_DOCK>; 132 }; 132 }; 133 133 134 hall-switch-south 134 hall-switch-south { 135 linux,code 135 linux,code = <SW_TABLET_MODE>; 136 }; 136 }; 137 }; 137 }; 138 }; 138 }; 139 }; 139 }; 140 140 141 - | 141 - | 142 /* Dual capacitive buttons with volume kno 142 /* Dual capacitive buttons with volume knob. */ 143 #include <dt-bindings/input/input.h> 143 #include <dt-bindings/input/input.h> 144 #include <dt-bindings/interrupt-controller 144 #include <dt-bindings/interrupt-controller/irq.h> 145 145 146 i2c { 146 i2c { 147 #address-cells = <1>; 147 #address-cells = <1>; 148 #size-cells = <0>; 148 #size-cells = <0>; 149 149 150 iqs624@44 { 150 iqs624@44 { 151 compatible = "azoteq,iqs62 151 compatible = "azoteq,iqs624"; 152 reg = <0x44>; 152 reg = <0x44>; 153 interrupt-parent = <&gpio> 153 interrupt-parent = <&gpio>; 154 interrupts = <17 IRQ_TYPE_ 154 interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 155 155 156 keys { 156 keys { 157 compatible = "azot 157 compatible = "azoteq,iqs624-keys"; 158 158 159 linux,keycodes = < 159 linux,keycodes = <BTN_0>, 160 < 160 <0>, 161 < 161 <BTN_1>, 162 < 162 <0>, 163 < 163 <0>, 164 < 164 <0>, 165 < 165 <0>, 166 < 166 <0>, 167 < 167 <0>, 168 < 168 <0>, 169 < 169 <0>, 170 < 170 <0>, 171 < 171 <0>, 172 < 172 <0>, 173 < 173 <KEY_VOLUMEUP>, 174 < 174 <KEY_VOLUMEDOWN>; 175 }; 175 }; 176 }; 176 }; 177 }; 177 }; 178 178 179 ... 179 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.