On Thu, 17 Mar 2022 22:53:57 -0500 Samuel Holland <sam...@sholland.org> wrote:
Hi Samuel, > This series resolves some longstanding TODOs by implementing a pinctrl > driver for sunxi platforms and converting DM drivers to use it. So as mentioned before, this is a huge step forward, and helps to remove some dodgy and heavy-maintenance code parts. Many thanks for that! So I plan on taking this into the first PR for the 2022.07 merge window, with the following changes (apart from adding my tags): - Dropping "[PATCH v2 06/23] sunxi: Skip non-DM UART pin setup when PINCTRL=y", as agreed in the review. - Dropping "[PATCH v2 15/23] sunxi: Remove non-DM I2C clock/pin setup from U-Boot", as this probably breaks older boards. IIUC, this should still work with the new functionality, the old I2C setup code would just be redundant, for now. - Fixing H5 pinmux value in "[PATCH v2 13/23] pinctrl: sunxi: Add I2C pinmuxes". - Copying a summary of the commit message from "[PATCH v2 02/23] sunxi: pinctrl: Implement pin muxing functions" into the code, as a comment. Samuel, does that make sense? If you agree, there would be no need to re-send this series. I am happy to take fixups later, for instance for some currently unknown gate clocks. I will be on holidays from Wednesday until Easter, so don't want to wait until then with that series. Thanks, Andre > > Changes in v2: > - Merge all SoC drivers into one file and one U_BOOT_DRIVER. > - Add a consumer for the APB bus clock > - Add support for the F1C100s SoC > > Samuel Holland (23): > sunxi: pinctrl: Create the driver skeleton > sunxi: pinctrl: Implement pin muxing functions > sunxi: pinctrl: Implement get_pin_muxing function > sunxi: pinctrl: Implement pin configuration > pinctrl: sunxi: Add UART pinmuxes > sunxi: Skip non-DM UART pin setup when PINCTRL=y > pinctrl: sunxi: Add sun4i EMAC pinmuxes > net: sunxi_emac: Remove non-DM pin setup > pinctrl: sunxi: Add sunxi GMAC pinmuxes > sunxi: Remove non-DM GMAC pin setup > pinctrl: sunxi: Add sun8i EMAC pinmuxes > net: sun8i_emac: Remove non-DM pin setup > pinctrl: sunxi: Add I2C pinmuxes > sunxi: Remove options and setup code for I2C2-I2C4 > sunxi: Remove non-DM I2C clock/pin setup from U-Boot > i2c: sun6i_p2wi: Only do non-DM pin setup for non-DM I2C > i2c: sun8i_rsb: Only do non-DM pin setup for non-DM I2C > pinctrl: sunxi: Add MMC pinmuxes > sunxi: Remove non-DM MMC pin setup > pinctrl: sunxi: Add the A64 PWM pinmux > pwm: sunxi: Remove non-DM pin setup > pinctrl: sunxi: Add SPI0 pinmuxes > spi: sun4i_spi: Remove non-DM pin setup > > MAINTAINERS | 1 + > arch/arm/Kconfig | 1 + > arch/arm/include/asm/arch-sunxi/gpio.h | 17 +- > arch/arm/include/asm/arch-sunxi/i2c.h | 11 +- > arch/arm/mach-sunxi/Kconfig | 22 - > arch/arm/mach-sunxi/board.c | 2 + > board/sunxi/board.c | 67 -- > board/sunxi/gmac.c | 55 -- > drivers/gpio/sunxi_gpio.c | 130 +--- > drivers/i2c/sun6i_p2wi.c | 12 +- > drivers/i2c/sun8i_rsb.c | 46 +- > drivers/net/sun8i_emac.c | 90 --- > drivers/net/sunxi_emac.c | 7 +- > drivers/pinctrl/Kconfig | 1 + > drivers/pinctrl/Makefile | 2 +- > drivers/pinctrl/sunxi/Kconfig | 127 ++++ > drivers/pinctrl/sunxi/Makefile | 3 + > drivers/pinctrl/sunxi/pinctrl-sunxi.c | 887 +++++++++++++++++++++++++ > drivers/pwm/sunxi_pwm.c | 11 - > drivers/spi/spi-sunxi.c | 84 --- > 20 files changed, 1057 insertions(+), 519 deletions(-) > create mode 100644 drivers/pinctrl/sunxi/Kconfig > create mode 100644 drivers/pinctrl/sunxi/Makefile > create mode 100644 drivers/pinctrl/sunxi/pinctrl-sunxi.c >