
Hi Andre,
On 4/3/22 7:54 PM, Andre Przywara wrote:
On Thu, 17 Mar 2022 22:53:57 -0500 Samuel Holland samuel@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.
Yes, this plan works for me.
Regards, Samuel
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