Re: [RFC] MIPS: BCM63XX: add empty Device Trees for all supported boards
From: Jonas Gorski <jonas.gorski@gmail.com>
Date: 2012-11-14 12:15:48
Also in:
linux-devicetree, lkml
On 13 November 2012 06:12, Stephen Warren [off-list ref] wrote:
On 11/11/2012 05:50 AM, Jonas Gorski wrote:quoted
Add empty board files for all boards supported by the legacy board support.quoted
diff --git a/arch/mips/bcm63xx/dts/96328avng.dts b/arch/mips/bcm63xx/dts/96328avng.dtsquoted
+/ { + model = "96328avng"; + compatible = "96328avng";The board should be compatible with both the board name and the SoC on the board. I know that right now the MIPS code is choosing the DT to use based on the board name, but I think it's more typical to pass an explicit DT to the kernel, and then choose the kernel support to execute based on the compatible value (certainly this is the case on ARM and I assume other architectures too). That would require the DT content to include the SoC name in the compatible property, so that the kernel support didn't then need to contain a table of all supported board names.
I'll add the SoC name to the compatible line.
quoted
+ ubus@10000000 { + + };Do you need to include this empty node in each file? I guess it gets added to in the next patch so it's not a big deal though.
It's just there so it is already present when adding blocks to it. It is/was mainly for making reordering patches easier.
quoted
diff --git a/arch/mips/bcm63xx/dts/Kconfig b/arch/mips/bcm63xx/dts/Kconfigquoted
+config BOARD_96328AVNG + bool "96328avng reference board" + select BCM63XX_CPU_6328Why not simply compile all DTs whenever the SoC support is enabled? I suppose you're trying to avoid packing all the DTs into the kernel image. Does it make more sense to amend the MIPS kernel boot process so that a single user-/firmware-selected DT is passed to the kernel, rather than packing the DTs into the kernel and selecting one?
The plan is to add support for an externally attached DT (but not present yet), and eventually add support for a bootloader passed DT, but since I don't know yet how these will work, I didn't want to add something based on guesses. My reasoning for allowing (de-)selecting each board is to dampen the bloat from the dtbs - after these few blocks the combined dtbs are already four times as large as the old board setup code including all boards. Especially older devices are constrained to 4 or even 2 MB flash, so every kB counts there. Jonas