All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom Rini <trini@konsulko.com>
To: Samuel Holland <samuel@sholland.org>
Cc: "Andre Przywara" <andre.przywara@arm.com>,
	u-boot@lists.denx.de, "Jagan Teki" <jagan@amarulasolutions.com>,
	"Jernej Škrabec" <jernej.skrabec@gmail.com>
Subject: Re: U-Boot sunxi DM_I2C migration?
Date: Wed, 18 Aug 2021 09:31:14 -0400	[thread overview]
Message-ID: <20210818133114.GP858@bill-the-cat> (raw)
In-Reply-To: <b5362e1c-2b60-d0d7-e483-533ec72ee0fd@sholland.org>

[-- Attachment #1: Type: text/plain, Size: 3393 bytes --]

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 <trini@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

      reply	other threads:[~2021-08-18 13:31 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-12 17:49 U-Boot sunxi DM_I2C migration? Tom Rini
2021-08-12 21:22 ` Andre Przywara
2021-08-12 21:40   ` Tom Rini
2021-08-17 19:23     ` Tom Rini
2021-08-18  5:20       ` Samuel Holland
2021-08-18 13:31         ` Tom Rini [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210818133114.GP858@bill-the-cat \
    --to=trini@konsulko.com \
    --cc=andre.przywara@arm.com \
    --cc=jagan@amarulasolutions.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=samuel@sholland.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.