The BCM21664 and BCM23550 are nearly identical to each other in terms of register layout. This was verified against a downstream kernel[1] - Broadcom's kernel has "RDB" directories which includes headers with the full register maps for the included hardware. Running: diff --recursive arch/arm/mach-{hawaii,java}/include/mach/rdb reveals that the differences are minuscule - some things related to ISP and H264 decoding. Most of the other differences are related to the different CPUs in the two chipsets - the BCM21664 has 2x Cortex-A9 cores, and the BCM23550 has 4x Cortex-A7 cores. In mainline, most drivers are also re-used between the two. To make development for both platforms easier, split out the common nodes into a separate DTSI, bcm21664-common.dtsi. This only leaves the device-specific nodes - so, CPU and related things - in the SoC- specific DTSIs (bcm21664.dtsi and bcm23550.dtsi). The new DTSI is based off the bcm23550.dtsi, with its split into busses. Since it's pretty much 99% identical, I kept the licensing of the original file (BSD 3-clause). The license for the bcm21664.dtsi file remains GPL 2.0 as it originally was. make CHECK_DTBS=y on bcm21664-garnet.dtb and bcm23550-sparrow.dtb seem to pass fine for me (thanks to Stanislav Jakubek for converting the bindings to YAML format!). It's worth noting though that some bcm23550 compatibles now go unused, since the bcm21664-common.dtsi file uses bcm21664 compatibles. [1] https://github.com/knuxdroid/android_kernel_samsung_baffinlite Signed-off-by: Artur Weber <aweber.kernel@xxxxxxxxx> --- Changes in v2: - Renamed bcm21664-common.dtsi to bcm2166x-common.dtsi - Dropped model/compatible from SoC DTSIs - Moved apps bus peripherals in SoC DTSIs under "&apps" - Re-added SoC-specific compatibles into SoC DTSIs - Fixed warning regarding address in GIC node name - Link to v1: https://lore.kernel.org/lkml/20240605-bcm21664-common-v1-0-6386e9141eb6@xxxxxxxxx/ --- Artur Weber (2): ARM: dts: broadcom: bcm21664: Move chosen node into Garnet DTS ARM: dts: bcm-mobile: Split out nodes used by both BCM21664 and BCM23550 arch/arm/boot/dts/broadcom/bcm21664-garnet.dts | 4 + arch/arm/boot/dts/broadcom/bcm21664.dtsi | 342 ++----------------- .../{bcm23550.dtsi => bcm2166x-common.dtsi} | 111 +------ arch/arm/boot/dts/broadcom/bcm23550.dtsi | 370 ++------------------- 4 files changed, 77 insertions(+), 750 deletions(-) --- base-commit: a38297e3fb012ddfa7ce0321a7e5a8daeb1872b6 change-id: 20240528-bcm21664-common-14064864a4a7 Best regards, -- Artur Weber <aweber.kernel@xxxxxxxxx>