diff mbox

[RESEND:,1/2] mfd: tc3589x: Add device tree bindings

Message ID 1397028480-15413-1-git-send-email-linus.walleij@linaro.org
State Accepted, archived
Headers show

Commit Message

Linus Walleij April 9, 2014, 7:28 a.m. UTC
This defines the device tree bindings for the Toshiba TC3589x
series of multi-purpose expanders. Only the stuff I can test
is defined: GPIO and keypad. Others may implement more
subdevices further down the road.

This is to complement
commit a435ae1d51e2f18414f2a87219fdbe068231e692
"mfd: Enable the tc3589x for Device Tree" which left off
the definition of the device tree bindings.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
ChangeLog v2->v3:
- Fix the keys/rows bindings to be u32 rather than
  /bits/ 8, inconsistency noted by Mark Rutland.
ChangeLog v1->v2:
- Include a verbose example in the DT bindings.
- Explain why this is a stand-alone bindings patch.
---
 Documentation/devicetree/bindings/mfd/tc3589x.txt | 107 ++++++++++++++++++++++
 1 file changed, 107 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/tc3589x.txt

Comments

Linus Walleij June 9, 2014, 12:14 p.m. UTC | #1
On Wed, Apr 9, 2014 at 9:28 AM, Linus Walleij <linus.walleij@linaro.org> wrote:

> This defines the device tree bindings for the Toshiba TC3589x
> series of multi-purpose expanders. Only the stuff I can test
> is defined: GPIO and keypad. Others may implement more
> subdevices further down the road.
>
> This is to complement
> commit a435ae1d51e2f18414f2a87219fdbe068231e692
> "mfd: Enable the tc3589x for Device Tree" which left off
> the definition of the device tree bindings.
>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> ChangeLog v2->v3:
> - Fix the keys/rows bindings to be u32 rather than
>   /bits/ 8, inconsistency noted by Mark Rutland.
> ChangeLog v1->v2:
> - Include a verbose example in the DT bindings.
> - Explain why this is a stand-alone bindings patch.

Lee, ping on this - it seems to have fallen to the floor at some
point...

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lee Jones June 17, 2014, 8:23 p.m. UTC | #2
On Wed, 09 Apr 2014, Linus Walleij wrote:

> This defines the device tree bindings for the Toshiba TC3589x
> series of multi-purpose expanders. Only the stuff I can test
> is defined: GPIO and keypad. Others may implement more
> subdevices further down the road.
> 
> This is to complement
> commit a435ae1d51e2f18414f2a87219fdbe068231e692
> "mfd: Enable the tc3589x for Device Tree" which left off
> the definition of the device tree bindings.
> 
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> ChangeLog v2->v3:
> - Fix the keys/rows bindings to be u32 rather than
>   /bits/ 8, inconsistency noted by Mark Rutland.
> ChangeLog v1->v2:
> - Include a verbose example in the DT bindings.
> - Explain why this is a stand-alone bindings patch.
> ---
>  Documentation/devicetree/bindings/mfd/tc3589x.txt | 107 ++++++++++++++++++++++
>  1 file changed, 107 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mfd/tc3589x.txt

Looks about right, been on the list for ages and doesn't add any new
properties.  Applied, thanks.

> diff --git a/Documentation/devicetree/bindings/mfd/tc3589x.txt b/Documentation/devicetree/bindings/mfd/tc3589x.txt
> new file mode 100644
> index 000000000000..c6ac5bd2ce51
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/tc3589x.txt
> @@ -0,0 +1,107 @@
> +* Toshiba TC3589x multi-purpose expander
> +
> +The Toshiba TC3589x series are I2C-based MFD devices which may expose the
> +following built-in devices: gpio, keypad, rotator (vibrator), PWM (for
> +e.g. LEDs or vibrators) The included models are:
> +
> +- TC35890
> +- TC35892
> +- TC35893
> +- TC35894
> +- TC35895
> +- TC35896
> +
> +Required properties:
> + - compatible : must be "toshiba,tc35890", "toshiba,tc35892", "toshiba,tc35893",
> +   "toshiba,tc35894", "toshiba,tc35895" or "toshiba,tc35896"
> + - reg : I2C address of the device
> + - interrupt-parent : specifies which IRQ controller we're connected to
> + - interrupts : the interrupt on the parent the controller is connected to
> + - interrupt-controller : marks the device node as an interrupt controller
> + - #interrupt-cells : should be <1>, the first cell is the IRQ offset on this
> +   TC3589x interrupt controller.
> +
> +Optional nodes:
> +
> +- GPIO
> +  This GPIO module inside the TC3589x has 24 (TC35890, TC35892) or 20
> +  (other models) GPIO lines.
> + - compatible : must be "toshiba,tc3589x-gpio"
> + - interrupts : interrupt on the parent, which must be the tc3589x MFD device
> + - interrupt-controller : marks the device node as an interrupt controller
> + - #interrupt-cells : should be <2>, the first cell is the IRQ offset on this
> +   TC3589x GPIO interrupt controller, the second cell is the interrupt flags
> +   in accordance with <dt-bindings/interrupt-controller/irq.h>. The following
> +   flags are valid:
> +   - IRQ_TYPE_LEVEL_LOW
> +   - IRQ_TYPE_LEVEL_HIGH
> +   - IRQ_TYPE_EDGE_RISING
> +   - IRQ_TYPE_EDGE_FALLING
> +   - IRQ_TYPE_EDGE_BOTH
> + - gpio-controller : marks the device node as a GPIO controller
> + - #gpio-cells : should be <2>, the first cell is the GPIO offset on this
> +   GPIO controller, the second cell is the flags.
> +
> +- Keypad
> +  This keypad is the same on all variants, supporting up to 96 different
> +  keys. The linux-specific properties are modeled on those already existing
> +  in other input drivers.
> + - compatible : must be "toshiba,tc3589x-keypad"
> + - debounce-delay-ms : debounce interval in milliseconds
> + - keypad,num-rows : number of rows in the matrix, see
> +   bindings/input/matrix-keymap.txt
> + - keypad,num-columns : number of columns in the matrix, see
> +   bindings/input/matrix-keymap.txt
> + - linux,keymap: the definition can be found in
> +   bindings/input/matrix-keymap.txt
> + - linux,no-autorepeat: do no enable autorepeat feature.
> + - linux,wakeup: use any event on keypad as wakeup event.
> +
> +Example:
> +
> +tc35893@44 {
> +	compatible = "toshiba,tc35893";
> +	reg = <0x44>;
> +	interrupt-parent = <&gpio6>;
> +	interrupts = <26 IRQ_TYPE_EDGE_RISING>;
> +
> +	interrupt-controller;
> +	#interrupt-cells = <1>;
> +
> +	tc3589x_gpio {
> +		compatible = "toshiba,tc3589x-gpio";
> +		interrupts = <0>;
> +
> +		interrupt-controller;
> +		#interrupt-cells = <2>;
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +	};
> +	tc3589x_keypad {
> +		compatible = "toshiba,tc3589x-keypad";
> +		interrupts = <6>;
> +		debounce-delay-ms = <4>;
> +		keypad,num-columns = <8>;
> +		keypad,num-rows = <8>;
> +		linux,no-autorepeat;
> +		linux,wakeup;
> +		linux,keymap = <0x0301006b
> +			        0x04010066
> +				0x06040072
> +				0x040200d7
> +				0x0303006a
> +				0x0205000e
> +				0x0607008b
> +				0x0500001c
> +				0x0403000b
> +				0x03040034
> +				0x05020067
> +				0x0305006c
> +				0x040500e7
> +				0x0005009e
> +				0x06020073
> +				0x01030039
> +				0x07060069
> +				0x050500d9>;
> +	};
> +};
Linus Walleij Aug. 12, 2014, 6:02 p.m. UTC | #3
On Tue, Jun 17, 2014 at 10:23 PM, Lee Jones <lee.jones@linaro.org> wrote:
> On Wed, 09 Apr 2014, Linus Walleij wrote:
>
>> This defines the device tree bindings for the Toshiba TC3589x
>> series of multi-purpose expanders. Only the stuff I can test
>> is defined: GPIO and keypad. Others may implement more
>> subdevices further down the road.
>>
>> This is to complement
>> commit a435ae1d51e2f18414f2a87219fdbe068231e692
>> "mfd: Enable the tc3589x for Device Tree" which left off
>> the definition of the device tree bindings.
>>
>> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
>> ---
>> ChangeLog v2->v3:
>> - Fix the keys/rows bindings to be u32 rather than
>>   /bits/ 8, inconsistency noted by Mark Rutland.
>> ChangeLog v1->v2:
>> - Include a verbose example in the DT bindings.
>> - Explain why this is a stand-alone bindings patch.
>> ---
>>  Documentation/devicetree/bindings/mfd/tc3589x.txt | 107 ++++++++++++++++++++++
>>  1 file changed, 107 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/mfd/tc3589x.txt
>
> Looks about right, been on the list for ages and doesn't add any new
> properties.  Applied, thanks.

This wasn't in the v3.17 pull request AFAICT :-(

Did it get dropped to the floor accidentally?

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lee Jones Aug. 13, 2014, 8:03 a.m. UTC | #4
On Tue, 12 Aug 2014, Linus Walleij wrote:

> On Tue, Jun 17, 2014 at 10:23 PM, Lee Jones <lee.jones@linaro.org> wrote:
> > On Wed, 09 Apr 2014, Linus Walleij wrote:
> >
> >> This defines the device tree bindings for the Toshiba TC3589x
> >> series of multi-purpose expanders. Only the stuff I can test
> >> is defined: GPIO and keypad. Others may implement more
> >> subdevices further down the road.
> >>
> >> This is to complement
> >> commit a435ae1d51e2f18414f2a87219fdbe068231e692
> >> "mfd: Enable the tc3589x for Device Tree" which left off
> >> the definition of the device tree bindings.
> >>
> >> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> >> ---
> >> ChangeLog v2->v3:
> >> - Fix the keys/rows bindings to be u32 rather than
> >>   /bits/ 8, inconsistency noted by Mark Rutland.
> >> ChangeLog v1->v2:
> >> - Include a verbose example in the DT bindings.
> >> - Explain why this is a stand-alone bindings patch.
> >> ---
> >>  Documentation/devicetree/bindings/mfd/tc3589x.txt | 107 ++++++++++++++++++++++
> >>  1 file changed, 107 insertions(+)
> >>  create mode 100644 Documentation/devicetree/bindings/mfd/tc3589x.txt
> >
> > Looks about right, been on the list for ages and doesn't add any new
> > properties.  Applied, thanks.
> 
> This wasn't in the v3.17 pull request AFAICT :-(
> 
> Did it get dropped to the floor accidentally?

It doesn't look like this was ever actually applied to the MFD tree
i.e I can't find it in my git history (reflog), sorry Linus.  I have a
-fixes branch and will attempt to send this patch as a part of that.
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/mfd/tc3589x.txt b/Documentation/devicetree/bindings/mfd/tc3589x.txt
new file mode 100644
index 000000000000..c6ac5bd2ce51
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/tc3589x.txt
@@ -0,0 +1,107 @@ 
+* Toshiba TC3589x multi-purpose expander
+
+The Toshiba TC3589x series are I2C-based MFD devices which may expose the
+following built-in devices: gpio, keypad, rotator (vibrator), PWM (for
+e.g. LEDs or vibrators) The included models are:
+
+- TC35890
+- TC35892
+- TC35893
+- TC35894
+- TC35895
+- TC35896
+
+Required properties:
+ - compatible : must be "toshiba,tc35890", "toshiba,tc35892", "toshiba,tc35893",
+   "toshiba,tc35894", "toshiba,tc35895" or "toshiba,tc35896"
+ - reg : I2C address of the device
+ - interrupt-parent : specifies which IRQ controller we're connected to
+ - interrupts : the interrupt on the parent the controller is connected to
+ - interrupt-controller : marks the device node as an interrupt controller
+ - #interrupt-cells : should be <1>, the first cell is the IRQ offset on this
+   TC3589x interrupt controller.
+
+Optional nodes:
+
+- GPIO
+  This GPIO module inside the TC3589x has 24 (TC35890, TC35892) or 20
+  (other models) GPIO lines.
+ - compatible : must be "toshiba,tc3589x-gpio"
+ - interrupts : interrupt on the parent, which must be the tc3589x MFD device
+ - interrupt-controller : marks the device node as an interrupt controller
+ - #interrupt-cells : should be <2>, the first cell is the IRQ offset on this
+   TC3589x GPIO interrupt controller, the second cell is the interrupt flags
+   in accordance with <dt-bindings/interrupt-controller/irq.h>. The following
+   flags are valid:
+   - IRQ_TYPE_LEVEL_LOW
+   - IRQ_TYPE_LEVEL_HIGH
+   - IRQ_TYPE_EDGE_RISING
+   - IRQ_TYPE_EDGE_FALLING
+   - IRQ_TYPE_EDGE_BOTH
+ - gpio-controller : marks the device node as a GPIO controller
+ - #gpio-cells : should be <2>, the first cell is the GPIO offset on this
+   GPIO controller, the second cell is the flags.
+
+- Keypad
+  This keypad is the same on all variants, supporting up to 96 different
+  keys. The linux-specific properties are modeled on those already existing
+  in other input drivers.
+ - compatible : must be "toshiba,tc3589x-keypad"
+ - debounce-delay-ms : debounce interval in milliseconds
+ - keypad,num-rows : number of rows in the matrix, see
+   bindings/input/matrix-keymap.txt
+ - keypad,num-columns : number of columns in the matrix, see
+   bindings/input/matrix-keymap.txt
+ - linux,keymap: the definition can be found in
+   bindings/input/matrix-keymap.txt
+ - linux,no-autorepeat: do no enable autorepeat feature.
+ - linux,wakeup: use any event on keypad as wakeup event.
+
+Example:
+
+tc35893@44 {
+	compatible = "toshiba,tc35893";
+	reg = <0x44>;
+	interrupt-parent = <&gpio6>;
+	interrupts = <26 IRQ_TYPE_EDGE_RISING>;
+
+	interrupt-controller;
+	#interrupt-cells = <1>;
+
+	tc3589x_gpio {
+		compatible = "toshiba,tc3589x-gpio";
+		interrupts = <0>;
+
+		interrupt-controller;
+		#interrupt-cells = <2>;
+		gpio-controller;
+		#gpio-cells = <2>;
+	};
+	tc3589x_keypad {
+		compatible = "toshiba,tc3589x-keypad";
+		interrupts = <6>;
+		debounce-delay-ms = <4>;
+		keypad,num-columns = <8>;
+		keypad,num-rows = <8>;
+		linux,no-autorepeat;
+		linux,wakeup;
+		linux,keymap = <0x0301006b
+			        0x04010066
+				0x06040072
+				0x040200d7
+				0x0303006a
+				0x0205000e
+				0x0607008b
+				0x0500001c
+				0x0403000b
+				0x03040034
+				0x05020067
+				0x0305006c
+				0x040500e7
+				0x0005009e
+				0x06020073
+				0x01030039
+				0x07060069
+				0x050500d9>;
+	};
+};