[U-Boot] [PATCH v2 0/6] sunxi: DM pinctrl implementation

Philipp Tomsich philipp.tomsich at theobroma-systems.com
Wed Feb 22 20:47:26 UTC 2017


Here's v2, which incorporates the feedback from Maxime and ChenYu
into a more complete and less intrusive version.

The most elegant solution to our problem with pinctrl & gpio, which
will also work equally well for ccu and reset, is to have the device
model bind multiple drivers to a single node: for this reason, one
patch of the series touches the device-model core.

To provide a bit more context, I've also include the change showing
how this is enabled in our defconfig (i.e. a diff against our defconfig,
even though the defconfig has not been submitted yet).

Changes in v2:
 * two variants to reuse the sunxi_gpio layer:
   - create a matching soc_data for sunxi_gpio and rebind
   - have the device-model do this for us
 * got rid of the gpio-banks and gpiobridge drivers



Philipp Tomsich (6):
  sunxi: add pinctrl (UCLASS_PINCTRL) support for sunxi
  dm: core: Allow multiple drivers to bind for a single node
  sunxi: CONFIG_DM_ALLOW_MULTIPLE_DRIVERS for gpio/pinctrl binding
  defconfig: lynx: enable CONFIG_DM_ALLOW_MULTIPLE_DRIVERS
  sun50i: dts: add r_pio node and pinconfig entries into r_pio and pio
  sun50i: dts: update DTS to avoid warnings

 arch/arm/dts/sun50i-a64.dtsi                       |  62 ++-
 arch/arm/include/asm/arch-sunxi/gpio-internal.h    |  19 +
 configs/lynx_defconfig                             |   1 +
 .../pinctrl/allwinner,pinctrl.txt                  |  65 +++
 drivers/core/Kconfig                               |  14 +
 drivers/core/lists.c                               |  12 +-
 drivers/gpio/sunxi_gpio.c                          |  15 +-
 drivers/pinctrl/Kconfig                            |  10 +
 drivers/pinctrl/Makefile                           |   2 +
 drivers/pinctrl/sunxi/Makefile                     |  10 +
 drivers/pinctrl/sunxi/pinctrl-sun50i-a64-r.c       |  92 ++++
 drivers/pinctrl/sunxi/pinctrl-sun50i-a64.c         | 577 +++++++++++++++++++++
 drivers/pinctrl/sunxi/pinctrl-sunxi.c              | 321 ++++++++++++
 drivers/pinctrl/sunxi/pinctrl-sunxi.h              | 311 +++++++++++
 14 files changed, 1479 insertions(+), 32 deletions(-)
 create mode 100644 arch/arm/include/asm/arch-sunxi/gpio-internal.h
 create mode 100644 doc/device-tree-bindings/pinctrl/allwinner,pinctrl.txt
 create mode 100644 drivers/pinctrl/sunxi/Makefile
 create mode 100644 drivers/pinctrl/sunxi/pinctrl-sun50i-a64-r.c
 create mode 100644 drivers/pinctrl/sunxi/pinctrl-sun50i-a64.c
 create mode 100644 drivers/pinctrl/sunxi/pinctrl-sunxi.c
 create mode 100644 drivers/pinctrl/sunxi/pinctrl-sunxi.h

-- 
1.9.1



More information about the U-Boot mailing list