On Mon, May 14 2018, Sergio Paracuellos wrote: > This commit add missing dt bindings documentation for mt7621-gpio > driver. After this checkpatch script complain about this > issue dissapears. > > Signed-off-by: Sergio Paracuellos <[email protected]> > --- > .../devicetree/bindings/gpio/mtk,mt7621-gpio.txt | 51 > ++++++++++++++++++++++ > 1 file changed, 51 insertions(+) > create mode 100644 Documentation/devicetree/bindings/gpio/mtk,mt7621-gpio.txt > > diff --git a/Documentation/devicetree/bindings/gpio/mtk,mt7621-gpio.txt > b/Documentation/devicetree/bindings/gpio/mtk,mt7621-gpio.txt > new file mode 100644 > index 0000000..5fe4bb5 > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpio/mtk,mt7621-gpio.txt > @@ -0,0 +1,51 @@ > +Mediatek SoC GPIO controller bindings > + > +The IP core used inside these SoCs has 3 banks of 32 GPIOs each. > +The registers of all the banks are interwoven inside one single IO range. > +We load one GPIO controller instance per bank. To make this possible > +we support 2 types of nodes. The parent node defines the memory I/O range and > +has 3 children each describing a single bank. > + > +Required properties for the top level node: > +- compatible: > + - "mtk,mt7621-gpio" for Mediatek controllers > +- reg : Physical base address and length of the controller's registers > + > +Required properties for the GPIO bank node: > +- compatible: > + - "mtk,mt7621-gpio-bank" for Mediatek banks > +- #gpio-cells : Should be two. > + - first cell is the pin number > + - second cell is used to specify optional parameters (unused) > +- gpio-controller : Marks the device node as a GPIO controller > +- reg : The id of the bank that the node describes.
This is really good, but not quite complete.
Searching for "of_" in gpio-mt7621.c I find code handling everything
you've described, but also:
mediatek_gpio_irq = irq_of_parse_and_map(np, 0);
if (mediatek_gpio_irq) {
mediatek_gpio_irq_domain = irq_domain_add_linear(np,
The GPIO controller can receive interrupts on any of the GPIOs,
either edge or level. It then interrupts the CPU using GIC INT12.
so
interrupt-parent = <&gic>;
interrupts = <GIC_SHARED 12 IRQ_TYPE_LEVEL_HIGH>
(I think).
Then you need whatever irq_domain_add_linear() expects.
I don't know what that is... I tried following through
code and got lost in little twisty mazes.
So if you change this patch to add the file to
drivers/staging/mt7621-gpio
then I can give it
Reviewed-by: NeilBrown <[email protected]>
and then we can fix it when an understanding of the interrupts is
available.
But I cannot approve it for Documentation/devicetree/bindings yet.
Thanks a lot,
NeilBrown
> +
> +Example:
> + gpio@600 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + compatible = "mtk,mt7621-gpio";
> + reg = <0x600 0x100>;
> +
> + gpio0: bank@0 {
> + reg = <0>;
> + compatible = "mtk,mt7621-gpio-bank";
> + gpio-controller;
> + #gpio-cells = <2>;
> + };
> +
> + gpio1: bank@1 {
> + reg = <1>;
> + compatible = "mtk,mt7621-gpio-bank";
> + gpio-controller;
> + #gpio-cells = <2>;
> + };
> +
> + gpio2: bank@2 {
> + reg = <2>;
> + compatible = "mtk,mt7621-gpio-bank";
> + gpio-controller;
> + #gpio-cells = <2>;
> + };
> + };
> --
> 2.7.4
signature.asc
Description: PGP signature
_______________________________________________ devel mailing list [email protected] http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
