The Display Port Auxiliary (DPAUX) channel pads can be shared with an internal I2C controller. Add pinctrl support for these pads so that the I2C controller can request and use these pads. This series has been tested with Thierry's patches for correcting the parent clock for the DPAUX devices [0]. Please note that I have kept the patch that adds the pinctrl function, pinconf_generic_dt_free_map(), in this series for completeness, although Linus W has already picked this up (as it is not in -next AFAICT yet). Changes from initial RFC: - Dropped patches for adding sor-safe clocks to DPAUX in favour of the patches from Thierry [0]. - Split the DPAUX function to enable the DPAUX pads into two functions: one for turning on and one for turning off the pads. - Updated the description for the 'i2c-bus' node based upon Mark R's feedback. - Dropped the second test if the i2c-core when checking for the presence of the 'i2c-bus' node based upon Thierry's feedback. - Removed depedency on CONFIG_PINCTRL in the DPAUX driver in favour of using #ifdef's per Thierry's feedback (note by removing the dependency on CONFIG_PINCTRL I had to use #ifdefs as all the structures, function tables, and functions may not be defined). - Updated SOR power partition device-tree node to include all clocks and resets as described in the Tegra210 TRM. [0] http://marc.info/?l=linux-tegra&m=146667915802019&w=2 Jon Hunter (12): soc/tegra: pmc: Initialise resets associated with a power partition drm/tegra: Clean-up if probing DPAUX fails drm/tegra: Add helper functions for setting up DPAUX pads dt-bindings: display: Update Tegra DPAUX documentation drm/tegra: Prepare DPAUX for supporting generic PM domains pinctrl: pinconf: Add generic helper function for freeing mappings dt-bindings: i2c: Add support for 'i2c-bus' subnode i2c: core: Add support for 'i2c-bus' subnode dt-bindings: Add bindings for Tegra DPAUX pinctrl driver drm/tegra: Add pinctrl support for DPAUX arm64: tegra: Add SOR power-domain node arm64: tegra: Add DPAUX pinctrl bindings .../display/tegra/nvidia,tegra20-host1x.txt | 12 +- Documentation/devicetree/bindings/i2c/i2c.txt | 8 + .../pinctrl/nvidia,tegra124-dpaux-padctl.txt | 60 ++++++ arch/arm64/boot/dts/nvidia/tegra210.dtsi | 78 +++++++ drivers/gpu/drm/tegra/dpaux.c | 239 +++++++++++++++++---- drivers/i2c/i2c-core.c | 10 +- drivers/pinctrl/pinconf-generic.c | 8 + drivers/soc/tegra/pmc.c | 18 +- include/linux/pinctrl/pinconf-generic.h | 2 + 9 files changed, 383 insertions(+), 52 deletions(-) create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-dpaux-padctl.txt -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html