lkml.org 
[lkml]   [2020]   [Aug]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 1/3] dt-bindings: Add support for Broadcom USB pin map driver
    On Wed, Aug 12, 2020 at 10:20 PM Al Cooper <alcooperx@gmail.com> wrote:

    > Add DT bindings for the Broadcom USB pin map driver. This driver allows
    > some USB input and output signals to be mapped to any GPIO instead
    > of the normal dedicated pins to/from the XHCI controller.
    >
    > Signed-off-by: Al Cooper <alcooperx@gmail.com>
    (...)
    > +title: Broadcom USB pin map Controller Device Tree Bindings
    > +
    > +maintainers:
    > + - Al Cooper <alcooperx@gmail.com>
    > +
    > +properties:
    > + compatible:
    > + items:
    > + - const: brcm,usb-pinmap
    > +
    > + reg:
    > + maxItems: 1
    > +
    > + interrupts:
    > + maxItems: 1
    > + description: Must be defined if any out-gpios are specified.
    > +
    > + in-gpios:
    > + description: Array of one or more GPIO pins used for input signals.
    > +
    > + in-names:
    > + description: Array of input signal names, one per gpio in in-gpios.
    > +
    > + in-masks:
    > + description: Array of enable and mask pairs, one per gpio in-gpios.
    > +
    > + out-gpios:
    > + description: Array of one or more GPIO pins used for output signals.
    > +
    > + out-names:
    > + description: Array of output signal names, one per gpio in out-gpios.
    > +
    > + out-masks:
    > + description: Array of enable, value, changed and clear masks, one
    > + per gpio in out-gpios.
    > +
    > +required:
    > + - compatible
    > + - reg
    > +
    > +additionalProperties: false
    > +
    > +examples:
    > + - |
    > + usb_pinmap: usb-pinmap@22000d0 {
    > + compatible = "brcm,usb-pinmap";
    > + reg = <0x22000d0 0x4>;
    > + in-gpios = <&gpio 18 0>, <&gpio 19 0>;
    > + in-names = "VBUS", "PWRFLT";
    > + in-masks = <0x8000 0x40000 0x10000 0x80000>;
    > + out-gpios = <&gpio 20 0>;
    > + out-names = "PWRON";
    > + out-masks = <0x20000 0x800000 0x400000 0x200000>;
    > + interrupts = <0x0 0xb2 0x4>;
    > + };

    Wow look at that.

    This looks very much like Geert's just invented GPIO aggregator.
    But in hardware!

    See:
    drivers/gpio/gpio-aggregator.c

    I think Geert is intending to add bindings to the aggregator, and
    while I do think this should be its own driver (in drivers/usb) these
    bindings and whatever Geert want to use for the aggregator
    should certainly be the same.

    Geert what do you think?

    Here is the actual driver:
    https://lore.kernel.org/linux-usb/20200812202018.49046-3-alcooperx@gmail.com/

    Yours,
    Linus Walleij

    \
     
     \ /
      Last update: 2020-08-28 16:03    [W:5.537 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site