[PATCH v2 00/23] sunxi: Add and use a pinctrl driver

Samuel Holland samuel at sholland.org
Mon Apr 4 03:24:39 CEST 2022


Hi Andre,

On 4/3/22 7:54 PM, Andre Przywara wrote:
> On Thu, 17 Mar 2022 22:53:57 -0500
> Samuel Holland <samuel at 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
>>
> 



More information about the U-Boot mailing list