Re: [PATCH v2 02/10] dt-bindings: mfd: Add binding for Netronix's embedded controller

From: Rob Herring
Date: Mon Sep 14 2020 - 20:50:53 EST


On Sat, Sep 05, 2020 at 03:32:22PM +0200, Jonathan Neuschäfer wrote:
> This EC is found in e-book readers of multiple brands (e.g. Kobo,
> Tolino), and is typically implemented as a TI MSP430 microcontroller.
>
> It controls different functions of the system, such as power on/off,
> RTC, PWM for the backlight. The exact functionality provided can vary
> between boards.
>
> Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@xxxxxxx>
> ---
> v2:
> - Add the plaintext DT binding for comparison
>
>
> For reference, here is the binding in text form:
>
> Netronix Embedded Controller
>
> This EC is found in e-book readers of multiple brands (e.g. Kobo, Tolino), and
> is typically implemented as a TI MSP430 microcontroller.
>
>
> Required properties:
> - compatible: should be "netronix,ntxec"
> - reg: The I2C address of the EC
>
> Optional properties:
> - system-power-controller:
> See Documentation/devicetree/bindings/power/power-controller.txt
> - interrupts or interrupts-extended
> - interrupt-controller
> - #interrupt-cells: Should be 1
>
> Optional subnodes:
>
> Sub-nodes are identified by their compatible string.
>
> compatible string | description
> --------------------------------|--------------------------------------
> netronix,ntxec-pwm | PWM (used for backlight)
> netronix,ntxec-rtc | real time clock
>
>
> Example:
>
> &i2c3 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c3>;
> status = "okay";
>
> ec: embedded-controller@43 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_ntxec>;
>
> compatible = "netronix,ntxec";
> reg = <0x43>;
> system-power-controller;
> interrupt-parent = <&gpio4>;
> interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
> interrupt-controller;
> #interrupt-cells = <1>;
>
> pwm {
> compatible = "netronix,ntxec-pwm";
> #pwm-cells = <2>;
> };
>
> rtc {
> compatible = "netronix,ntxec-rtc";
> interrupts-extended = <&ec 15>;
> interrupt-names = "alarm";
> };
> };
> };
> ---
> .../bindings/mfd/netronix,ntxec.yaml | 57 +++++++++++++++++++
> 1 file changed, 57 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mfd/netronix,ntxec.yaml
>
> diff --git a/Documentation/devicetree/bindings/mfd/netronix,ntxec.yaml b/Documentation/devicetree/bindings/mfd/netronix,ntxec.yaml
> new file mode 100644
> index 0000000000000..596df460f98eb
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/netronix,ntxec.yaml
> @@ -0,0 +1,57 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/netronix,ntxec.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Netronix Embedded Controller
> +
> +maintainers:
> + - Jonathan Neuschäfer <j.neuschaefer@xxxxxxx>
> +
> +description: |
> + This EC is found in e-book readers of multiple brands (e.g. Kobo, Tolino), and
> + is typically implemented as a TI MSP430 microcontroller.
> +
> +
> +properties:
> + compatible:
> + const: netronix,ntxec
> +
> + reg:
> + items:
> + - description: The I2C address of the EC
> +
> + system-power-controller:
> + type: boolean
> + description: See Documentation/devicetree/bindings/power/power-controller.txt
> +
> + interrupts:
> + minItems: 1
> + description:
> + The EC can signal interrupts via a GPIO line
> +
> +required:
> + - compatible
> + - reg

additionalProperties: false

> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + ec: embedded-controller@43 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_ntxec>;
> +
> + compatible = "netronix,ntxec";
> + reg = <0x43>;
> + system-power-controller;
> + interrupt-parent = <&gpio4>;
> + interrupts = <11 IRQ_TYPE_EDGE_FALLING>;

> + interrupt-controller;
> + #interrupt-cells = <1>;

These need to be documented too.

> + };
> + };
> --
> 2.28.0
>