Pull request: u-boot-sunxi/master for v2022.07

Hi Tom,
please pull the sunxi/master branch, containing the first part of the 2022.07 changes.
A big part is the DM pinctrl driver, which allows us to get rid of quite some custom pinmux code and make the whole port much more robust. Many thanks to Samuel for that nice contribution! There are some more or less cosmetic warnings about missing clocks right now, I will send the trivial fixes for that later. Another big chunk is the mkimage upgrade, which adds RISC-V and TOC0 (secure images) support. Both features are unused at the moment, but I have an always-secure board that will use that once the DT lands in the kernel. On top of those big things we have some smaller fixes, improving the I2C DM support, fixing some H6/H616 early clock setup and improving the eMMC boot partition support.
The gitlab CI completed successfully, including the build test for all 161 sunxi boards. I also boot tested on a A64, A20, H3, H6, and F1C100 board. USB, SD card, eMMC, and Ethernet all work there (where applicable).
Thanks, Andre =========================== The following changes since commit e4b6ebd3de982ae7185dbf689a030e73fd06e0d2:
Prepare v2022.04 (2022-04-04 10:31:32 -0400)
are available in the Git repository at:
https://source.denx.de/u-boot/custodians/u-boot-sunxi.git master
for you to fetch changes up to 69a0ea007826bf27584943591e61ee087683fdca:
sunxi: defconfig: enable eMMC boot partition support (2022-04-05 00:08:46 +0100)
---------------------------------------------------------------- Andre Przywara (3): spl: mmc: extend spl_mmc_boot_mode() to take mmc argument sunxi: eMMC: Improve automatic boot source detection sunxi: defconfig: enable eMMC boot partition support
Angelo Dureghello (1): sunxi: H3: fix non working console on uart2
Baltazar Radics (1): Add ethernet0 alias in Nanopi NEO's device tree
Icenowy Zheng (4): mkimage: add a flag to describe whether -A is specified mkimage: sunxi_egon: refactor for multi-architecture support mkimage: sunxi_egon: add support for riscv sunxi: specify architecture when generating SPL boot image
Jernej Skrabec (3): sunxi: prcm: Add a few registers sunxi: clock: H6/H616: Add resistor calibration sunxi: clock: H6: Adjust PLL LDO before clock setup
Samuel Holland (28): 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 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 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 tools: mkimage: Add Allwinner TOC0 support sunxi: Support SPL in both eGON and TOC0 images sunxi: Support building a SPL as a TOC0 image i2c: sun6i_p2wi: Initialize chips in .child_pre_probe i2c: sun6i_p2wi: Add support for DM clocks and resets i2c: sun8i_rsb: Initialize chips in .child_pre_probe i2c: sun8i_rsb: Add support for DM clocks and resets
MAINTAINERS | 2 + arch/arm/Kconfig | 1 + arch/arm/dts/sun8i-h3-nanopi-neo.dts | 4 + arch/arm/include/asm/arch-sunxi/gpio.h | 18 +- arch/arm/include/asm/arch-sunxi/i2c.h | 11 +- arch/arm/include/asm/arch-sunxi/prcm_sun50i.h | 10 + arch/arm/include/asm/arch-sunxi/spl.h | 3 +- arch/arm/mach-imx/spl.c | 2 +- arch/arm/mach-k3/am642_init.c | 2 +- arch/arm/mach-k3/am6_init.c | 2 +- arch/arm/mach-k3/j721e_init.c | 2 +- arch/arm/mach-k3/j721s2_init.c | 2 +- arch/arm/mach-mvebu/spl.c | 2 +- arch/arm/mach-omap2/boot-common.c | 2 +- arch/arm/mach-rockchip/spl.c | 2 +- arch/arm/mach-socfpga/spl_a10.c | 2 +- arch/arm/mach-socfpga/spl_gen5.c | 2 +- arch/arm/mach-stm32mp/spl.c | 2 +- arch/arm/mach-sunxi/Kconfig | 24 +- arch/arm/mach-sunxi/board.c | 126 +++- arch/arm/mach-sunxi/clock_sun50i_h6.c | 20 +- arch/arm/mach-sunxi/dram_sun50i_h6.c | 8 +- arch/arm/mach-sunxi/dram_sun50i_h616.c | 7 +- arch/arm/mach-sunxi/spl_spi_sunxi.c | 4 +- arch/arm/mach-uniphier/mmc-boot-mode.c | 5 +- board/sunxi/Kconfig | 24 + board/sunxi/board.c | 59 -- board/sunxi/gmac.c | 55 -- boot/image.c | 1 + common/spl/spl_mmc.c | 4 +- configs/bananapi_m64_defconfig | 1 + configs/emlid_neutis_n5_devboard_defconfig | 1 + configs/pine64-lts_defconfig | 1 + configs/pine_h64_defconfig | 1 + configs/sopine_baseboard_defconfig | 1 + drivers/gpio/sunxi_gpio.c | 130 +--- drivers/i2c/sun6i_p2wi.c | 27 +- drivers/i2c/sun8i_rsb.c | 61 +- 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 | 897 +++++++++++++++++++++++++ drivers/pwm/sunxi_pwm.c | 11 - drivers/spi/spi-sunxi.c | 84 --- include/image.h | 1 + include/spl.h | 3 +- include/sunxi_image.h | 37 ++ scripts/Makefile.spl | 5 +- tools/Makefile | 7 +- tools/imagetool.h | 1 + tools/mkimage.c | 1 + tools/sunxi_egon.c | 73 ++- tools/sunxi_toc0.c | 907 ++++++++++++++++++++++++++ 56 files changed, 2325 insertions(+), 563 deletions(-) create mode 100644 board/sunxi/Kconfig create mode 100644 drivers/pinctrl/sunxi/Kconfig create mode 100644 drivers/pinctrl/sunxi/Makefile create mode 100644 drivers/pinctrl/sunxi/pinctrl-sunxi.c create mode 100644 tools/sunxi_toc0.c

On Tue, Apr 05, 2022 at 01:32:34PM +0100, Andre Przywara wrote:
Hi Tom,
please pull the sunxi/master branch, containing the first part of the 2022.07 changes.
A big part is the DM pinctrl driver, which allows us to get rid of quite some custom pinmux code and make the whole port much more robust. Many thanks to Samuel for that nice contribution! There are some more or less cosmetic warnings about missing clocks right now, I will send the trivial fixes for that later. Another big chunk is the mkimage upgrade, which adds RISC-V and TOC0 (secure images) support. Both features are unused at the moment, but I have an always-secure board that will use that once the DT lands in the kernel. On top of those big things we have some smaller fixes, improving the I2C DM support, fixing some H6/H616 early clock setup and improving the eMMC boot partition support.
The gitlab CI completed successfully, including the build test for all 161 sunxi boards. I also boot tested on a A64, A20, H3, H6, and F1C100 board. USB, SD card, eMMC, and Ethernet all work there (where applicable).
Thanks, Andre =========================== The following changes since commit e4b6ebd3de982ae7185dbf689a030e73fd06e0d2:
Prepare v2022.04 (2022-04-04 10:31:32 -0400)
are available in the Git repository at:
https://source.denx.de/u-boot/custodians/u-boot-sunxi.git master
for you to fetch changes up to 69a0ea007826bf27584943591e61ee087683fdca:
sunxi: defconfig: enable eMMC boot partition support (2022-04-05 00:08:46 +0100)
Applied to u-boot/master, thanks!
participants (2)
-
Andre Przywara
-
Tom Rini