All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Kettenis <mark.kettenis@xs4all.nl>
To: Tom Rini <trini@konsulko.com>
Cc: andre.przywara@arm.com, robh@kernel.org, samuel@sholland.org,
	u-boot@lists.denx.de, jagan@amarulasolutions.com,
	sjg@chromium.org
Subject: Re: [PATCH 00/12] sunxi: Devicetree sync from Linux v5.18-rc1
Date: Fri, 29 Apr 2022 20:21:06 +0200 (CEST)	[thread overview]
Message-ID: <d3cd32dc7c22d973@bloch.sibelius.xs4all.nl> (raw)
In-Reply-To: <20220429181419.GE1182808@bill-the-cat> (message from Tom Rini on Fri, 29 Apr 2022 14:14:19 -0400)

> Date: Fri, 29 Apr 2022 14:14:19 -0400
> From: Tom Rini <trini@konsulko.com>
> 
> On Fri, Apr 29, 2022 at 06:05:03PM +0200, Mark Kettenis wrote:
> > > Date: Fri, 29 Apr 2022 11:31:00 -0400
> > > From: Tom Rini <trini@konsulko.com>
> > > 
> > > On Fri, Apr 29, 2022 at 04:25:51PM +0100, Andre Przywara wrote:
> > > > On Fri, 29 Apr 2022 10:57:10 -0400
> > > > Tom Rini <trini@konsulko.com> wrote:
> > > > 
> > > > Hi,
> > > > 
> > > > > On Fri, Apr 29, 2022 at 03:51:59PM +0100, Andre Przywara wrote:
> > > > > > On Wed, 27 Apr 2022 15:31:19 -0500
> > > > > > Samuel Holland <samuel@sholland.org> wrote:
> > > > > > 
> > > > > > Hi Samuel, Tom,
> > > > > >   
> > > > > > > This series brings all of our devicetrees up to date with Linux.
> > > > > > > 
> > > > > > > Older SoCs (before A83T) have not been synchronized in over 3 years.
> > > > > > > And I don't have any of this hardware to test. But there are not major
> > > > > > > changes to those devicetrees either.
> > > > > > > 
> > > > > > > The big motivation for including older SoCs in this update is converting
> > > > > > > the USB PHY driver to get its VBUS detection GPIO/regulator from the
> > > > > > > devicetree instead of from a pin name in Kconfig. Many older boards had
> > > > > > > those properties added or fixed since the last devicetree sync. This PHY
> > > > > > > driver change is necessary to complete the DM_GPIO migration.
> > > > > > > 
> > > > > > > A couple of breaking changes were made to several SoCs' devicetrees in
> > > > > > > Linux relating to the "r_intc" interrupt controller. New kernels support
> > > > > > > old devicetrees, but not the other way around. So to be most compatible
> > > > > > > and avoid regressions, those changes are skipped here.  
> > > > > > 
> > > > > > Many thanks for considering this! I just skimmed over the A64 and H6
> > > > > > patches, and this is indeed the only difference.
> > > > > > 
> > > > > > But while I love this pragmatic approach, and would be happy to take this,
> > > > > > this goes against our own rules, and more importantly against Tom's one's:
> > > > > > to take only direct DT file copies from the kernel tree.
> > > > > > 
> > > > > > Tom, can you give your opinion here? As Samuel mentioned above, the
> > > > > > current mainline DTs wouldn't boot on older kernels (the changes affect
> > > > > > critical devices), so this spoils stable distro and installer kernels,
> > > > > > when using $fdtcontroladdr, for instance when booting via UEFI.
> > > > > > 
> > > > > > As a side effect of always defining SYS_SOC to "sunxi", we cannot easily
> > > > > > use per-SoC DT overrides using sun50i-a64-u-boot.dtsi, for instance.
> > > > > > 
> > > > > > For context, those changed properties were in the mainline kernel tree at
> > > > > > some point, but have been amended since. So it's not some random change.  
> > > > > 
> > > > > So, this is I guess a bit annoying.  But, we aren't at the point where
> > > > > the common use case is the downstream OS using the DTB we've loaded and
> > > > > are using, are we?  I mean, we can't be, as ours are so far out of date,
> > > > > so this will only be an option when we use a recent DT ourself.  So we
> > > > > should be able to sync in the changes and update our code, as they can't
> > > > > be using $fdtcontroladdr in this case, right?  Or am I missing the use
> > > > > case that's in the wild atm?  Thanks!
> > > > 
> > > > While it sounds like the DTs are wildly out of date, this mostly affects
> > > > secondary functionality. The mainline updates for the 64-bit SoCs are:
> > > > - H6: adding the VP9 video h/w codec and an additional wakeup timer
> > > > - A64: adding GPU DVFS, adding DRAM DVFS, add support for secondary
> > > > digital audio interfaces, plus the wakeup timer
> > > > Also there are cosmetic changes, like changing node names to make them
> > > > binding compliant.
> > > > So those DT updates are really only important for mobile devices like the
> > > > Pinephone, which probably don't use UEFI booting.
> > > > 
> > > > At the moment I boot distro grubs and installers just fine, and without
> > > > losing any real functionality (minus suspend/resume, maybe). The
> > > > out-of-the-box default boot works now, and would break when pulling in the
> > > > pure mainline DTs. Plus FreeBSD (which relies more heavily on UEFI, IIUC),
> > > > can only deal with the older DTs (#interrupt-cells for r_intc must be 2).
> > > 
> > > I guess the first point is, yes, we should sync in what we can sync in,
> > > to bring things closer to proper alignment.  I further guess that given
> > > that we have to support both "new Linux" and "not Linux", we have to
> > > keep the old style DT information instead as that's how compatibility is
> > > supposed to be handled?  I'm adding in Rob here since this still reads a
> > > bit confusing as to what's supposed to happen, but maybe we also just
> > > need to check in with some other-OS folks to see what their plan is?
> > 
> > My goal with OpenBSD has always been to make the OS boot with the DT
> > built into U-Boot, but to allow users to use a more up-to-date Linux
> > DT by putting the apropriate .dtb file on the ESP.  However it is easy
> > to miss changes that break backwards compatibility of the bindings in
> > the noise of other changes.  So in many cases we only notice this when
> > the changes make it into U-Boot and we update the OpenBSD U-Boot port.
> > 
> > I'll drag out one of my A64 boards and see what needs to be done to
> > support the routing of these interrupts through r_intc.
> 
> So, does that mean the plan is to keep the r_intc changes out of U-Boot
> for now, but we can sync the rest, and come up with a plan to fully
> update in time?

That would work for me.

  reply	other threads:[~2022-04-29 18:21 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-27 20:31 [PATCH 00/12] sunxi: Devicetree sync from Linux v5.18-rc1 Samuel Holland
2022-04-27 20:31 ` [PATCH 01/12] dt-bindings: sunxi: Update clock/reset binding headers Samuel Holland
2022-05-06  0:39   ` Andre Przywara
2022-04-27 20:31 ` [PATCH 02/12] ARM: dts: sunxi: Remove unused devicetree headers Samuel Holland
2022-05-06  0:39   ` Andre Przywara
2022-04-27 20:31 ` [PATCH 03/12] ARM: dts: sun4i: Sync from Linux v5.18-rc1 Samuel Holland
2022-05-06  0:39   ` Andre Przywara
2022-04-27 20:31 ` [PATCH 04/12] ARM: dts: sun7i: " Samuel Holland
2022-05-06  0:39   ` Andre Przywara
2022-04-27 20:31 ` [PATCH 05/12] ARM: dts: sunxi: A13/A31/A23/A33: " Samuel Holland
2022-05-20 15:34   ` Andre Przywara
2022-04-27 20:31 ` [PATCH 06/12] ARM: dts: sun9i: " Samuel Holland
2022-05-20 13:39   ` Andre Przywara
2022-04-27 20:31 ` [PATCH 07/12] ARM: dts: sun8i: A83T: " Samuel Holland
2022-05-20 13:48   ` Andre Przywara
2022-04-27 20:31 ` [PATCH 08/12] ARM: dts: sunxi: H2+/H3/H5: " Samuel Holland
2022-05-22 23:33   ` Andre Przywara
2022-04-27 20:31 ` [PATCH 09/12] ARM: dts: sun8i: V3/V3s/S3: " Samuel Holland
2022-05-22 22:22   ` Andre Przywara
2022-04-27 20:31 ` [PATCH 10/12] ARM: dts: sun8i: R40/T3: " Samuel Holland
2022-05-22 22:38   ` Andre Przywara
2022-04-27 20:31 ` [PATCH 11/12] ARM: dts: sun50i: A64: " Samuel Holland
2022-05-20 14:01   ` Andre Przywara
2022-04-27 20:31 ` [PATCH 12/12] ARM: dts: sun50i: H6: " Samuel Holland
2022-05-20 14:14   ` Andre Przywara
2022-04-29 14:51 ` [PATCH 00/12] sunxi: Devicetree sync " Andre Przywara
2022-04-29 14:57   ` Tom Rini
2022-04-29 15:25     ` Andre Przywara
2022-04-29 15:31       ` Tom Rini
2022-04-29 15:57         ` Andre Przywara
2022-04-29 16:05         ` Mark Kettenis
2022-04-29 18:14           ` Tom Rini
2022-04-29 18:21             ` Mark Kettenis [this message]
2022-04-30  0:08             ` Andre Przywara
2022-04-30  2:38               ` Samuel Holland
2022-05-01  0:59                 ` Andre Przywara
2022-05-01 11:01                   ` Mark Kettenis
2022-05-03  1:57                   ` Samuel Holland
2022-05-03 14:53                     ` Andre Przywara
2022-05-01 16:25               ` Tom Rini
2022-05-24 15:58 ` Andre Przywara

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=d3cd32dc7c22d973@bloch.sibelius.xs4all.nl \
    --to=mark.kettenis@xs4all.nl \
    --cc=andre.przywara@arm.com \
    --cc=jagan@amarulasolutions.com \
    --cc=robh@kernel.org \
    --cc=samuel@sholland.org \
    --cc=sjg@chromium.org \
    --cc=trini@konsulko.com \
    --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.