On Wed, Aug 18, 2021 at 12:20:10AM -0500, Samuel Holland wrote: > Hi all, > > On 8/17/21 2:23 PM, Tom Rini wrote: > > On Thu, Aug 12, 2021 at 05:40:34PM -0400, Tom Rini wrote: > >> On Thu, Aug 12, 2021 at 10:22:07PM +0100, Andre Przywara wrote: > >>> On Thu, 12 Aug 2021 13:49:30 -0400 > >>> Tom Rini <tr...@konsulko.com> wrote: > >>> > >>> Hi Tom, > >>> > >>>> As I try and migrate more CONFIG symbols to be Kconfig only, I see that > >>>> sunxi is still using the legacy I2C drivers. Is there something > >>>> specific holding up migration? Thanks! > >>> > >>> Do you mean a DM_I2C conversion, or just moving those base address > >>> symbols to Kconfig? The latter is rather easy, let me know if I should > >>> give it a shot. > >>> > >>> For DM_I2C, it's the usual sunxi issue: we are using both: DM_I2C and > >>> DT based probing for U-Boot proper, and hardcoded CONFIG_ symbols for > >>> the SPL. *Some* boards need the set up the PMIC early (for increasing > >>> the CPU frequency or setting the proper DRAM voltage), so this needs to > >>> be done in the SPL. I don't know how to fix this "properly", > >>> but introducing DM (and DT) into the SPL is surely not worth the > >>> trouble. Alternatively we could have a separate, cut-down SPL-only > >>> driver, like we have for SPI (arch/arm/mach-sunxi/spl_spi_sunxi.c), > >>> but not sure that's really better. > >>> > >>> If there is something in particular that annoys you about the > >>> situation, we could try to improve this particular issue instead? > >>> Moving the non-DM code into a separate file, maybe? > >> > >> I'm working on the symbols now (since it gets tricky). The first > >> example I pulled out was Hummingbird_A31 which does have legacy I2C and > >> does not set DM_I2C, which is what set me down the more worrying path. > >> If you can confirm that no, really, it's just SPL that's not using > >> DM_I2C that's OK enough for now, we can sort out what the best but > >> probably still unideal solution is long term for SPL. > > > > As I'm converting the symbols to Kconfig now (and adding > > SPL_SYS_I2C_LEGACY), what I'm seeing on sunxi is a whole lot of platform > > enabling the legacy driver in full U-Boot and not DM_I2C. Now it's > > entirely possible the follow up solution really is just to switch to > > DM_I2C (and continue SPL_SYS_I2C_LEGACY) and it would be a fairly > > trivial switch. But I'm not in a good position to make that change and > > test it, so I'm asking you to please, once I've posted this series to > > add SPL_SYS_I2C_LEGACY > > I am aware of three places where sunxi boards use legacy I2C in U-Boot proper: > - The i2c_soft usage enabled by CONFIG_VIDEO_LCD_PANEL_I2C > - The axp_gpio driver (through pmic_bus_*) > - do_poweroff() in drivers/power/axp*.c (through pmic_bus_write) > > I have a patch series for converting all of these that I will be sending > within > the next few days. The two tricky parts are: > - I have no way to test either board that uses VIDEO_LCD_PANEL_I2C, > so I do not want to rely on bus number ordering. > - I am trying to arrange changes in an order that never breaks any > functionality, so some driver must be temporarily compatible with > both legacy and DM I2C. > > I will rebase this on top of the Kconfig series before sending it.
Great, thanks! -- Tom
signature.asc
Description: PGP signature