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