u-boot/arch/arm/mach-sunxi
Samuel Holland 104950a7fe i2c: Add a DM_I2C driver for the sun6i P2WI controller
This bus controller is used to communicate with an X-Powers AXP PMIC.
Currently, various drivers access PMIC registers through a platform-
specific non-DM "pmic_bus" interface, which depends on the legacy I2C
framework. In order to convert those drivers to use DM_PMIC, this bus
needs a DM_I2C driver.

Refactor the p2wi functions to take the base address as a parameter,
and implement both the existing interface (which is still needed in
SPL) and the DM_I2C interface on top of them.

The register for switching between I2C/P2WI/RSB mode is the same across
all PMIC variants. Move that to the common header, so it can be used by
both interface implementations.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2021-10-12 09:50:56 +01:00
..
dram_timings WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
board.c sunxi: Only initialize legacy I2C when enabled 2021-10-12 09:49:09 +01:00
clock.c sunxi: Clean up inclusions of asm/arch/gpio.h 2021-10-11 10:46:44 +01:00
clock_sun4i.c sunxi: Clean up inclusions of asm/arch/gpio.h 2021-10-11 10:46:44 +01:00
clock_sun6i.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
clock_sun8i_a83t.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
clock_sun9i.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
clock_sun50i_h6.c sunxi: clock: H6/H616: Fix PLL clock factor encodings 2021-07-10 01:22:09 +01:00
cpu_info.c sunxi: Add support for H616 SoC 2021-01-25 21:52:01 +00:00
dram_helpers.c common: Move get_ticks() function out of common.h 2019-12-02 18:23:13 -05:00
dram_sun4i.c WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
dram_sun6i.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
dram_sun8i_a23.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
dram_sun8i_a33.c WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
dram_sun8i_a83t.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
dram_sun9i.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
dram_sun50i_h6.c sunxi: clock: H6/H616: Fix PLL clock factor encodings 2021-07-10 01:22:09 +01:00
dram_sun50i_h616.c sunxi: clock: H6/H616: Fix PLL clock factor encodings 2021-07-10 01:22:09 +01:00
dram_sunxi_dw.c sunxi: enable dual rank memory on R40 2021-04-16 01:12:58 +01:00
gtbus_sun9i.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Kconfig i2c: Add a DM_I2C driver for the sun6i P2WI controller 2021-10-12 09:50:56 +01:00
Makefile i2c: Add a DM_I2C driver for the sun6i P2WI controller 2021-10-12 09:50:56 +01:00
pinmux.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pmic_bus.c i2c: Add a DM_I2C driver for the sun6i P2WI controller 2021-10-12 09:50:56 +01:00
prcm.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
rmr_switch.S sunxi: Introduce common symbol for H6 like SoCs 2021-01-25 21:52:00 +00:00
rsb.c common: Move get_ticks() function out of common.h 2019-12-02 18:23:13 -05:00
spl_spi_sunxi.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00