Commit a8bc0707 authored by David Heidelberg's avatar David Heidelberg Committed by Rob Herring
Browse files

dt-bindings: input: microchip,cap11xx: Convert txt bindings to yaml



Convert binding for the Microchip CAP11xx series HW to the YAML syntax.

Signed-off-by: default avatarDavid Heidelberg <david@ixit.cz>
Link: https://lore.kernel.org/r/20211019234816.32060-1-david@ixit.cz


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 14d9f6b0
Loading
Loading
Loading
Loading
+0 −78
Original line number Diff line number Diff line
Device tree bindings for Microchip CAP11xx based capacitive touch sensors

The node for this device must be a child of a I2C controller node, as the
device communication via I2C only.

Required properties:

	compatible:		Must contain one of:
					"microchip,cap1106"
					"microchip,cap1126"
					"microchip,cap1188"

	reg:			The I2C slave address of the device.

	interrupts:		Property describing the interrupt line the
				device's ALERT#/CM_IRQ# pin is connected to.
				The device only has one interrupt source.

Optional properties:

	autorepeat:		Enables the Linux input system's autorepeat
				feature on the input device.

	microchip,sensor-gain:	Defines the gain of the sensor circuitry. This
				effectively controls the sensitivity, as a
				smaller delta capacitance is required to
				generate the same delta count values.
				Valid values are 1, 2, 4, and 8.
				By default, a gain of 1 is set.

	microchip,irq-active-high:	By default the interrupt pin is active low
				open drain. This property allows using the active
				high push-pull output.

	linux,keycodes:		Specifies an array of numeric keycode values to
				be used for the channels. If this property is
				omitted, KEY_A, KEY_B, etc are used as
				defaults. The array must have exactly six
				entries.

Example:

i2c_controller {
	cap1106@28 {
		compatible = "microchip,cap1106";
		interrupt-parent = <&gpio1>;
		interrupts = <0 0>;
		reg = <0x28>;
		autorepeat;
		microchip,sensor-gain = <2>;

		linux,keycodes = <103>,		/* KEY_UP */
				 <106>,		/* KEY_RIGHT */
				 <108>,		/* KEY_DOWN */
				 <105>,		/* KEY_LEFT */
				 <109>,		/* KEY_PAGEDOWN */
				 <104>;		/* KEY_PAGEUP */

		#address-cells = <1>;
		#size-cells = <0>;

		usr@0 {
			label = "cap11xx:green:usr0";
			reg = <0>;
		};

		usr@1 {
			label = "cap11xx:green:usr1";
			reg = <1>;
		};

		alive@2 {
			label = "cap11xx:green:alive";
			reg = <2>;
			linux,default_trigger = "heartbeat";
		};
	};
}
+148 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/input/microchip,cap11xx.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Device tree bindings for Microchip CAP11xx based capacitive touch sensors

description: |
  The Microchip CAP1xxx Family of RightTouchTM multiple-channel capacitive
  touch controllers and LED drivers. The device communication via I2C only.

maintainers:
  - Rob Herring <robh@kernel.org>

properties:
  compatible:
    enum:
      - microchip,cap1106
      - microchip,cap1126
      - microchip,cap1188

  reg:
    maxItems: 1

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

  interrupts:
    maxItems: 1
    description: |
      Property describing the interrupt line the
      device's ALERT#/CM_IRQ# pin is connected to.
      The device only has one interrupt source.

  autorepeat:
    description: |
      Enables the Linux input system's autorepeat feature on the input device.

  linux,keycodes:
    minItems: 6
    maxItems: 6
    description: |
      Specifies an array of numeric keycode values to
      be used for the channels. If this property is
      omitted, KEY_A, KEY_B, etc are used as defaults.
      The array must have exactly six entries.

  microchip,sensor-gain:
    $ref: /schemas/types.yaml#/definitions/uint32
    default: 1
    enum: [1, 2, 4, 8]
    description: |
      Defines the gain of the sensor circuitry. This
      effectively controls the sensitivity, as a
      smaller delta capacitance is required to
      generate the same delta count values.

  microchip,irq-active-high:
    type: boolean
    description: |
      By default the interrupt pin is active low
      open drain. This property allows using the active
      high push-pull output.

patternProperties:
  "^led@[0-7]$":
    type: object
    description: CAP11xx LEDs
    $ref: /schemas/leds/common.yaml#

    properties:
      reg:
        enum: [0, 1, 2, 3, 4, 5, 6, 7]

      label: true

      linux,default-trigger: true

      default-state: true

    required:
      - reg

    additionalProperties: false

allOf:
  - $ref: input.yaml
  - if:
      properties:
        compatible:
          contains:
            enum:
              - microchip,cap1106
    then:
      patternProperties:
        "^led@[0-7]$": false

required:
  - compatible
  - interrupts

additionalProperties: false

examples:
  - |
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      cap1188@28 {
        compatible = "microchip,cap1188";
        interrupt-parent = <&gpio1>;
        interrupts = <0 0>;
        reg = <0x28>;
        autorepeat;
        microchip,sensor-gain = <2>;

        linux,keycodes = <103>,	/* KEY_UP */
                         <106>,	/* KEY_RIGHT */
                         <108>,	/* KEY_DOWN */
                         <105>,	/* KEY_LEFT */
                         <109>,	/* KEY_PAGEDOWN */
                         <104>;	/* KEY_PAGEUP */

        #address-cells = <1>;
        #size-cells = <0>;

        led@0 {
                label = "cap11xx:green:usr0";
                reg = <0>;
        };

        led@1 {
                label = "cap11xx:green:usr1";
                reg = <1>;
        };

        led@2 {
                label = "cap11xx:green:alive";
                reg = <2>;
                linux,default-trigger = "heartbeat";
        };
      };
    };