[lkml]   [2011]   [Aug]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRE: [RFC PATCH v2 00/13] arm/tegra: Initialize GPIO & pinmux from DT
    Arnd Bergmann wrote at Wednesday, August 17, 2011 5:24 AM:
    > On Tuesday 16 August 2011, Stephen Warren wrote:
    > > One issue here: There isn't always a single gpio/pinmux parent; as a
    > > concrete example, the ALSA/ASoC driver for Tegra+WM8903 uses GPIOs both
    > > from Tegra itself, and from the WM8903 audio codec.
    > >
    > > I could imagine the same being true in basically any case where one
    > > device uses N GPIOs (e.g. SD controller with power, change-detect,
    > > and read-only GPIOs; some could easily come from the SoC and some
    > > from a GPIO expander).
    > >
    > > I'm not quite so sure that multiple parents would be useful for pinmux,
    > > but I wouldn't say that it was impossible...
    > Hmm, how common do you think the example is?
    > It it's just a very rare case, we can still special-case it by
    > introducing fake subdevices for the Tegra+WM8903 driver, each of
    > which has only one gpio-parent. This is ugly but keeps the special
    > case to the rare devices.
    > If we can expect more than a handful of these, we probably need
    > a better design for the binding, which will cause a burden for
    > all drivers.

    It looks like DT already supports the generic case for GPIO; each GPIO
    reference is of the form:

    <&gpio 69 0>

    and so each GPIO has a "parent" specified, and hence can come from a
    different controller.

    For drivers, this is all completely hidden by of_get_gpio().

    I imagine we'd just use the same pattern for pinmux. This would both
    support the general case, and end up being consistent with how GPIOs
    already work, so this seems like a win both ways.


     \ /
      Last update: 2011-08-18 08:25    [W:0.022 / U:1.424 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site