[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ed3c4512-ff07-4d90-94af-823104852624@gmail.com>
Date: Wed, 5 Jun 2024 09:21:55 +0200
From: Artur Weber <aweber.kernel@...il.com>
To: Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Florian Fainelli <florian.fainelli@...adcom.com>, Ray Jui
<rjui@...adcom.com>, Scott Branden <sbranden@...adcom.com>
Cc: Broadcom internal kernel review list
<bcm-kernel-feedback-list@...adcom.com>,
Stanislav Jakubek <stano.jakubek@...il.com>,
~postmarketos/upstreaming@...ts.sr.ht, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/2] ARM: dts: bcm-mobile: Split out nodes used by both
BCM21664 and BCM23550
On 5.06.2024 08:40, Artur Weber wrote:
> The BCM21664 and BCM23550 are nearly identical to each other in terms
> of register layout. This was verified against a downstream kernel[1] -
Let me rephrase this a bit, since upon reading it again it kind of
sounds like this means "subdevices are in the same place". I mean that
literally many of the components are the exact same, 1:1, and the same
drivers with the same configuration will work for both of them. (And
if they turn out to not work, it's as easy as switching the
compatibles/tweaking the SoC-specific DTS.)
If you check the RDB files I linked, they contain the exact layout of
not just the system in general, but each of the individual components
(see for example [1]). These RDB files are called back to multiple times
through the kernel (for example [2]).
Clocks are a notable example of this; if you were to diff the clock
drivers in the kernel I linked in the replied-to message:
diff arch/arm/mach-{hawaii,java}/clock.c
The only differences are some clocks in the KPROC CCU, and the addition
of a MM2 CCU on the BCM23550. (Note that neither of these two CCUs are
supported in mainline at the moment; I have some WIP series to start
adding the KPROC CCU, but it's still an early work-in-progress.)
Most other drivers (sdio, serial, i2c, and so on) have no differences,
as far as I can tell. And they already use the same drivers in mainline.
Best regards
Artur
[1] https://github.com/knuxdroid/android_kernel_samsung_baffinlite/blob/cm-12.1/arch/arm/mach-hawaii/include/mach/rdb/brcm_rdb_kpm_clk_mgr_reg.h
[2] https://github.com/knuxdroid/android_kernel_samsung_baffinlite/blob/cm-12.1/arch/arm/mach-hawaii/clock.c#L4009-L4055
Powered by blists - more mailing lists