dtb
约 1 分钟阅读
Device Tree
- dtb - Device Tree Blob - device tree binary
- hardware layout description
- platform identification
- runtime configuration
- device population
arch/<arch>/boot/dts/<board>- CONFIG_ARM_APPENDED_DTB - dtb 在 kernel 之后
cat zImage board.dtb > my-zImage; mkimage ... -d my-zImage my-uImage
- CONFIG_ARM_ATAG_DTB_COMPAT
- read ATAGS, update DT
- Embedded Power Architecture Platform Requirements (ePAPR)
- Device Tree Source - DTS
- .dts - board-level definitions
- 最终的 - include 多个 dtsi
- .dtsi - included files, generally containing SoC-level definitions
- e.g arch/arm64/boot/dtsGitHub Filetorvalds/linux/arch/arm64/boot/dts
- .dts - board-level definitions
- Device Tree Compiler
- scripts/dtcGitHub Filetorvalds/linux/scripts/dtc
- Documentation/devicetree/bindings
Device Tree
- cpus
- memory
- chosen
- defines parameters chosen or defined by the system firmware at boot time
- aliases
- buses
/ {
model = "Freescale i.MX28 Evaluation Kit";
compatible = "fsl,imx28-evk", "fsl,imx28";
memory {
reg = <0x40000000 0x08000000>;
};
apb@80000000 {
apbh@80000000 { };
apbx@80040000 { };
};
ahb@80080000 { };
sound { };
leds { };
backlight { };
};- of_machine_is_compatible
References
- Device treeWikipediaDevice tree
- lonzoc.gitbooks.io/device-tree-guide/content/devicetree_basic.html
- elinux.org/Device_Tree_Reference
- elinux.org/Device_Tree_Usage
- docs.kernel.org/devicetree/usage-model.html
- www.devicetree.org
- events.static.linuxfound.org/sites/events/files/slides/petazzoni-device-tree-dummies.pdf
- bootloader
- before device tree - r1=machine_type, r2=ptr to ATAGS
- boot with device tree - r2=ptr to DTB
- bootloader
关联信息
反向链接和本文引用的外部资料。
References
GitHub
2 条- torvalds/linux/arch/arm64/boot/dtsgithub.com/torvalds/linux/tree/master/arch/arm64/boot/dts
- torvalds/linux/scripts/dtcgithub.com/torvalds/linux/tree/master/scripts/dtc
Wikipedia
1 条- Device treeWikipedia:Device tree
其他外链
6 条- docs.kernel.org/devicetree/usage-model.htmldocs.kernel.org/devicetree/usage-model.html
- elinux.org/Device_Tree_Referenceelinux.org/Device_Tree_Reference
- elinux.org/Device_Tree_Usageelinux.org/Device_Tree_Usage
- events.static.linuxfound.org/sites/events/files/slides/petazzoni-device-tree-dummies.pdfevents.static.linuxfound.org/sites/events/files/slides/petazzoni-device-tree-dummies.pdf
- lonzoc.gitbooks.io/device-tree-guide/content/devicetree_basic.htmllonzoc.gitbooks.io/device-tree-guide/content/devicetree_basic.html
- www.devicetree.orgwww.devicetree.org/