sh: add device tree support and generic board using device tree

Add a new pseudo-board, within the existing SH boards/machine-vectors
framework, which does not represent any actual hardware but instead
requires all hardware to be described by the device tree blob provided
by the boot loader. Changes made are thus non-invasive and do not risk
breaking support for legacy boards.

New hardware, including the open-hardware J2 and associated SoC
devices, will use device free from the outset. Legacy SH boards can
transition to device tree once all their hardware has device tree
bindings, driver support for device tree, and a dts file for the
board.

It is intented that, once all boards are supported in the new
framework, the existing machine-vectors framework should be removed
and the new device tree setup code integrated directly.

Signed-off-by: Rich Felker <[email protected]>
This commit is contained in:
Rich Felker 2016-01-23 00:45:41 +00:00
commit 7480e0aabd
6 changed files with 183 additions and 0 deletions

View file

@ -16,6 +16,7 @@ Table of Contents
2) Entry point for arch/powerpc
3) Entry point for arch/x86
4) Entry point for arch/mips/bmips
5) Entry point for arch/sh
II - The DT block format
1) Header
@ -316,6 +317,18 @@ it with special cases.
This convention is defined for 32-bit systems only, as there are not
currently any 64-bit BMIPS implementations.
5) Entry point for arch/sh
--------------------------
Device-tree-compatible SH bootloaders are expected to provide the physical
address of the device tree blob in r4. Since legacy bootloaders did not
guarantee any particular initial register state, kernels built to
inter-operate with old bootloaders must either use a builtin DTB or
select a legacy board option (something other than CONFIG_SH_DEVICE_TREE)
that does not use device tree. Support for the latter is being phased out
in favor of device tree.
II - The DT block format
========================