Enable basic device tree support on 11.05 supported boards

Registered by Loïc Minier

Improve SoC coverage of Device Tree
NO SESSION REQUIRED

Blueprint information

Status:
Complete
Approver:
Paul McKenney
Priority:
Essential
Drafter:
Paul McKenney
Direction:
Needs approval
Assignee:
Grant Likely
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Mounir Bsaibes
Completed by
Mounir Bsaibes

Related branches

Sprints

Whiteboard

Specification shared with https://blueprints.launchpad.net/linux-linaro/+spec/other-finalize-device-tree-api

For the 11.05 release, all of the kernel working group hwpacks will have device tree support enabled in U-Boot and the kernel, and passing a device tree instead of ATAGs will be supported. To compete this work, the following tasks need to be completed for each of the hwpacks:

1) Enable CONFIG_OF_LIBFDT and CONFIG_SYS_BOOTMAPSZ against the Linaro
u-boot tree.
2) Enable CONFIG_OF and CONFIG_PROC_DEVICETREE in the kernel
3) Add something like the following to the *existing* machine
definition. For initial basic support, you don't need to create a
separate <soc>-dt.c board support file yet.

+static const char *omap4_panda_dt_match[] __initdata = {
+ "ti,omap4-panda",
+ NULL
+};
+
 MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board")
[...]
+ .dt_compat = omap4_panda_dt_match,
 MACHINE_END

   The string in the match table should be in the form "<vendor>,<board-name>"

4) Add a template .dts file for the board in
arch/arm/boot/dts/<board>.dts. Something like the following should be sufficient:

/dts-v1/;
/include/ "skeleton.dtsi"
/ {
       model = "TI Panda Board";
       compatible = "ti,omap4-panda";
       memory {
               reg = <0x80000000 0x08000000>;
       };
};

You can see other examples in the arch/arm/boot/dts directory.

5) test it :-)
6) send patches to me for inclusion in the Linaro U-Boot and Kernel
trees. I'll collect them to start and ask John and Nicolas to pull
them into their trees when they're ready.
7) Update the image tools to copy .dtb files onto the boot media and to pass the device tree to the kernel at boot time.

Enable and test basic DT on u8500 has a blueprint to handle separately.

(?)

Work Items

Work items:
[r64343] Enable and test basid DT on efikamx: DONE
[glikely] Enable and test basic DT on igep: DONE
[r64343] Enable and test basic DT on imx51: DONE
[r64343] Enable and test basic DT on imx53: DONE
[tixy] Enable and test basic DT on omap3 and omap3-x11-base: DONE
[doanac] Enable and test basic DT on overo: DONE
[glikely] Enable and test basic DT on panda: DONE
[thomas-ab] Enable and test basic DT on s5pv310: DONE
Enable and test basic DT on vexpress: DONE
[shawnguo] Update kernel packaging to include .dtb files: DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.