Add device-tree support to ARM
Device tree's are a mechanism to pass hardware configuration data to the operating system. Currently ARM Linux uses the mach-type method to figure out device details but this is cumbersome for the ever-increasing number of board variants and it doesn't hold data about attached peripherals. Using device trees could simplify board ports and reduce platform specific code.
Blueprint information
- Status:
- Complete
- Approver:
- David Mandala
- Priority:
- High
- Drafter:
- Jamie Bennett
- Direction:
- Approved
- Assignee:
- Jamie Bennett
- Definition:
- Approved
- Series goal:
- Accepted for lucid
- Implementation:
- Implemented
- Milestone target:
- ubuntu-10.04
- Started by
- Jamie Bennett
- Completed by
- Jamie Bennett
Whiteboard
[JamieBennett 10-05-25] As this was a tracking blueprint and the work that needed to get done did happen, I'm marking this as implemented.
[JamieBennett 10-03-19] Actual implementation has been deferred but tracking the progress of this is very much part of this cycle.
[JamieBennett 10-02-02] Although there is good progress with device tree's on ARM, this won't be ready for Lucid. Postponing for Lucid+1 but leaving open the monitoring work item for the moment.
[asac 02-12-09]: fixed work itesm syntax; approved as all we can do for now is done. more once we see progress on grants git tree ...
[asac 10-02-10]: this spec is postponed to lucid+1; moving TODO work itesm to "later" block and marking them POSTPONED for lucid work items
[asac] removing items from later milestone. the work item tracker doesnt get it right. POSTPONE means later.
Status:
Postponed to lucid+1; waiting on initial implementation from Grant Likely/Jeremy Kerr
Work items:
Weekly monitoring of Grants git tree and report progress (until delivery DATE): POSTPONED
Add device tree to one of our supported architectures based on Grant Likelys work: POSTPONED
Merge work to a seperate ubuntu device tree branch: POSTPONED
Add support for device tree to image building: POSTPONED
Test device tree enabled kernel on one of our supported architectures: POSTPONED
Work Items ubuntu-10.04:
[jk-ozlabs] Add atag type for device tree pointer: DONE
[jk-ozlabs] Add dtb blob & atags support to bootloader/qemu: POSTPONED
[jk-ozlabs] Establish early C runtime environment in real mode to call early_setup(): POSTPONED
[jk-ozlabs] Establish requirements of early mdesc usage: DONE
[jk-ozlabs] Populate early_setup() to parse enough DT for a dynamic mdesc: POSTPONED
[jk-ozlabs] Parse DT pointer from atags: DONE
[jk-ozlabs] Little-endian support for drivers/of/: DONE
[jk-ozlabs] Provide memory and initrd parsing for early dt: DONE
[jk-ozlabs] Add machine probe infrastructure: DONE
[jk-ozlabs] Add machine probe support for versatile platform: DONE
[jk-ozlabs] Add DT infrastructure to later boot: POSTPONED
[jk-ozlabs] Add 'dtb wrapper' support to ARM kernel: POSTPONED
[jk-ozlabs] Add DT discovery support for drivers on platforms we'd like to DT-ise: POSTPONED