Thread (35 messages) 35 messages, 4 authors, 2012-11-17

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.dts
quoted
+/ {
+     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/Kconfig
quoted
+config BOARD_96328AVNG
+     bool "96328avng reference board"
+     select BCM63XX_CPU_6328
Why 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help