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

Jonathan Neuschäfer j.neuschaefer at gmx.net
Sat Sep 5 09:32:22 EDT 2020


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 at gmx.net>
---
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 at 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 at gmx.net>
+
+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
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    i2c {
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            ec: embedded-controller at 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>;
+            };
+    };
--
2.28.0




More information about the linux-arm-kernel mailing list