20 Dec, 2011

2 commits

  • Currently, the Tegra pinmux is initialized at different times when booting
    with and without device tree:

    Without device tree:

    1) Pinmux and GPIO drivers are registered.
    2) Pinmux is configured.
    3) All other drivers are registered.

    With device tree:

    1) All drivers are registered and probed, including pinmux and GPIO.
    2) Pinmux is configured.

    This change modifies board-pinmux.c to detect pinmux and GPIO driver
    registration using bus notifiers. This allows pinmux configuration to
    happen immediately after the pinmux driver is probed, irrespective of
    whether the pinmux driver is manually registered by board-pinmux.c, or
    if it's instantiated during device tree parsing.

    To support this with device tree, the pinmux init functions must be
    called prior to instantiating devices from device tree, so that the
    notifiers are set up before-hand.

    Signed-off-by: Stephen Warren
    Signed-off-by: Olof Johansson

    Stephen Warren
     
  • This moves the implementation of *_pinmux_init() into a single location.
    The board-specific pinmux data is left in each board's own file. This
    will allow future changes that set up the pinmux in a more complex
    fashion to do so without duplicating that code in each board's pinmux
    file.

    Signed-off-by: Stephen Warren
    Signed-off-by: Olof Johansson

    Stephen Warren