Re: [PATCH v4 02/14] dt/bindings: Document gpio-ingenic

Rob Herring
2017-04-04T14:52:40Z

On Sun, Apr 02, 2017 at 10:42:32PM +0200, Paul Cercueil wrote:
> This commit adds documentation for the devicetree bindings of the
> gpio-ingenic driver, which handles GPIOs of the Ingenic SoCs
> currently supported by the Linux kernel.
>
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> ---
> .../devicetree/bindings/gpio/ingenic,gpio.txt | 48 ++++++++++++++++++++++
> 1 file changed, 48 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/gpio/ingenic,gpio.txt
>
> v2: New patch
> v3: No changes
> v4: Update for the v4 version of the gpio-ingenic driver
>
> diff --git a/Documentation/devicetree/bindings/gpio/ingenic,gpio.txt b/Documentation/devicetree/bindings/gpio/ingenic,gpio.txt
> new file mode 100644
> index 000000000000..f54af444f7c3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpio/ingenic,gpio.txt
> @@ -0,0 +1,48 @@
> +Ingenic jz47xx GPIO controller
> +
> +That the Ingenic GPIO driver node must be a sub-node of the Ingenic pinctrl
> +driver node.
> +
> +Required properties:
> +--------------------
> +
> + - compatible: Must contain one of:
> + - "ingenic,jz4740-gpio"
> + - "ingenic,jz4770-gpio"
> + - "ingenic,jz4780-gpio"
> + And one of:
> + - "ingenic,gpio-bank-a"
> + - "ingenic,gpio-bank-b"
> + - "ingenic,gpio-bank-c"
> + - "ingenic,gpio-bank-d"
> + - "ingenic,gpio-bank-e" (for SoC version > jz4740)
> + - "ingenic,gpio-bank-f" (for SoC version > jz4740)

This is quite strange. Why do you need the bank? Doesn't gpio-ranges
give you that info? Maybe use reg property here instead.

> + - interrupt-controller: Marks the device node as an interrupt controller.
> + - interrupts: Interrupt specifier for the controllers interrupt.
> + - #interrupt-cells: Should be 2. Refer to
> + ../interrupt-controller/interrupts.txt for more details.
> + - gpio-controller: Marks the device node as a GPIO controller.
> + - #gpio-cells: Should be 2. The first cell is the GPIO number and the second
> + cell specifies GPIO flags, as defined in <dt-bindings/gpio/gpio.h>. Only the
> + GPIO_ACTIVE_HIGH and GPIO_ACTIVE_LOW flags are supported.
> + - gpio-ranges: Range of pins managed by the GPIO controller. Refer to
> + 'gpio.txt' in this directory for more details.
> +
> +Example:
> +--------
> +
> +&pinctrl {
> + gpa: gpio-controller@0 {

gpio@...

> + compatible = "ingenic,gpio-bank-a", "ingenic,jz4740-gpio";
> +
> + gpio-controller;
> + gpio-ranges = <&pinctrl 0 0 32>;
> + #gpio-cells = <2>;
> +
> + interrupt-controller;
> + #interrupt-cells = <2>;
> +
> + interrupt-parent = <&intc>;
> + interrupts = <28>;
> + };
> +};
> --
> 2.11.0
>