Unverified Commit 0988e6c2 authored by Maxime Ripard's avatar Maxime Ripard
Browse files

dt-bindings: mfd: Convert Allwinner GPADC bindings to a schema



The Allwinner SoCs have an embedded GPADC that is doing thermal reading as
well, supported in Linux, with a matching Device Tree binding.

Now that we have the DT validation in place, let's convert the device tree
bindings for that controller over to a YAML schemas.

Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarMaxime Ripard <maxime.ripard@bootlin.com>
parent 652a458e
Loading
Loading
Loading
Loading
+43 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/adc/allwinner,sun8i-a33-ths.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A33 Thermal Sensor Device Tree Bindings

maintainers:
  - Chen-Yu Tsai <wens@csie.org>
  - Maxime Ripard <maxime.ripard@bootlin.com>

properties:
  "#io-channel-cells":
    const: 0

  "#thermal-sensor-cells":
    const: 0

  compatible:
    const: allwinner,sun8i-a33-ths

  reg:
    maxItems: 1

required:
  - "#io-channel-cells"
  - "#thermal-sensor-cells"
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    ths: ths@1c25000 {
        compatible = "allwinner,sun8i-a33-ths";
        reg = <0x01c25000 0x100>;
        #thermal-sensor-cells = <0>;
        #io-channel-cells = <0>;
    };

...
+76 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/allwinner,sun4i-a10-ts.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A10 Resistive Touchscreen Controller Device Tree Bindings

maintainers:
  - Chen-Yu Tsai <wens@csie.org>
  - Maxime Ripard <maxime.ripard@bootlin.com>

properties:
  "#thermal-sensor-cells":
    const: 0

  compatible:
    enum:
      - allwinner,sun4i-a10-ts
      - allwinner,sun5i-a13-ts
      - allwinner,sun6i-a31-ts

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  allwinner,ts-attached:
    $ref: /schemas/types.yaml#/definitions/flag
    description: A touchscreen is attached to the controller

  allwinner,tp-sensitive-adjust:
    allOf:
      - $ref: /schemas/types.yaml#/definitions/uint32
      - minimum: 0
        maximum: 15
        default: 15
    description: Sensitivity of pen down detection

  allwinner,filter-type:
    allOf:
      - $ref: /schemas/types.yaml#/definitions/uint32
      - minimum: 0
        maximum: 3
        default: 1
    description: |
      Select median and averaging filter. Sample used for median /
      averaging filter:
        0: 4/2
        1: 5/3
        2: 8/4
        3: 16/8

required:
  - "#thermal-sensor-cells"
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    rtp: rtp@1c25000 {
        compatible = "allwinner,sun4i-a10-ts";
        reg = <0x01c25000 0x100>;
        interrupts = <29>;
        allwinner,ts-attached;
        #thermal-sensor-cells = <0>;
        /* sensitive/noisy touch panel */
        allwinner,tp-sensitive-adjust = <0>;
        allwinner,filter-type = <3>;
    };

...
+0 −59
Original line number Diff line number Diff line
Allwinner SoCs' GPADC Device Tree bindings
------------------------------------------
The Allwinner SoCs all have an ADC that can also act as a thermal sensor
and sometimes as a touchscreen controller.

Required properties:
  - compatible: "allwinner,sun8i-a33-ths",
  - reg: mmio address range of the chip,
  - #thermal-sensor-cells: shall be 0,
  - #io-channel-cells: shall be 0,

Example:
	ths: ths@1c25000 {
		compatible = "allwinner,sun8i-a33-ths";
		reg = <0x01c25000 0x100>;
		#thermal-sensor-cells = <0>;
		#io-channel-cells = <0>;
	};

sun4i, sun5i and sun6i SoCs are also supported via the older binding:

sun4i resistive touchscreen controller
--------------------------------------

Required properties:
 - compatible: "allwinner,sun4i-a10-ts", "allwinner,sun5i-a13-ts" or
   "allwinner,sun6i-a31-ts"
 - reg: mmio address range of the chip
 - interrupts: interrupt to which the chip is connected
 - #thermal-sensor-cells: shall be 0

Optional properties:
 - allwinner,ts-attached	 : boolean indicating that an actual touchscreen
				   is attached to the controller
 - allwinner,tp-sensitive-adjust : integer (4 bits)
				   adjust sensitivity of pen down detection
				   between 0 (least sensitive) and 15
				   (defaults to 15)
 - allwinner,filter-type	 : integer (2 bits)
				   select median and averaging filter
				   samples used for median / averaging filter
				   0: 4/2
				   1: 5/3
				   2: 8/4
				   3: 16/8
				   (defaults to 1)

Example:

	rtp: rtp@1c25000 {
		compatible = "allwinner,sun4i-a10-ts";
		reg = <0x01c25000 0x100>;
		interrupts = <29>;
		allwinner,ts-attached;
		#thermal-sensor-cells = <0>;
		/* sensitive/noisy touch panel */
		allwinner,tp-sensitive-adjust = <0>;
		allwinner,filter-type = <3>;
	};