18c2ecf20Sopenharmony_ciWhat:		/sys/firmware/devicetree/*
28c2ecf20Sopenharmony_ciDate:		November 2013
38c2ecf20Sopenharmony_ciContact:	Grant Likely <grant.likely@arm.com>, devicetree@vger.kernel.org
48c2ecf20Sopenharmony_ciDescription:
58c2ecf20Sopenharmony_ci		When using OpenFirmware or a Flattened Device Tree to enumerate
68c2ecf20Sopenharmony_ci		hardware, the device tree structure will be exposed in this
78c2ecf20Sopenharmony_ci		directory.
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci		It is possible for multiple device-tree directories to exist.
108c2ecf20Sopenharmony_ci		Some device drivers use a separate detached device tree which
118c2ecf20Sopenharmony_ci		have no attachment to the system tree and will appear in a
128c2ecf20Sopenharmony_ci		different subdirectory under /sys/firmware/devicetree.
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci		Userspace must not use the /sys/firmware/devicetree/base
158c2ecf20Sopenharmony_ci		path directly, but instead should follow /proc/device-tree
168c2ecf20Sopenharmony_ci		symlink. It is possible that the absolute path will change
178c2ecf20Sopenharmony_ci		in the future, but the symlink is the stable ABI.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci		The /proc/device-tree symlink replaces the devicetree /proc
208c2ecf20Sopenharmony_ci		filesystem support, and has largely the same semantics and
218c2ecf20Sopenharmony_ci		should be compatible with existing userspace.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci		The contents of /sys/firmware/devicetree/ is a
248c2ecf20Sopenharmony_ci		hierarchy of directories, one per device tree node. The
258c2ecf20Sopenharmony_ci		directory name is the resolved path component name (node
268c2ecf20Sopenharmony_ci		name plus address). Properties are represented as files
278c2ecf20Sopenharmony_ci		in the directory. The contents of each file is the exact
288c2ecf20Sopenharmony_ci		binary data from the device tree.
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciWhat:		/sys/firmware/fdt
318c2ecf20Sopenharmony_ciDate:		February 2015
328c2ecf20Sopenharmony_ciKernelVersion:	3.19
338c2ecf20Sopenharmony_ciContact:	Frank Rowand <frowand.list@gmail.com>, devicetree@vger.kernel.org
348c2ecf20Sopenharmony_ciDescription:
358c2ecf20Sopenharmony_ci		Exports the FDT blob that was passed to the kernel by
368c2ecf20Sopenharmony_ci		the bootloader. This allows userland applications such
378c2ecf20Sopenharmony_ci		as kexec to access the raw binary. This blob is also
388c2ecf20Sopenharmony_ci		useful when debugging since it contains any changes
398c2ecf20Sopenharmony_ci		made to the blob by the bootloader.
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci		The fact that this node does not reside under
428c2ecf20Sopenharmony_ci		/sys/firmware/device-tree is deliberate: FDT is also used
438c2ecf20Sopenharmony_ci		on arm64 UEFI/ACPI systems to communicate just the UEFI
448c2ecf20Sopenharmony_ci		and ACPI entry points, but the FDT is never unflattened
458c2ecf20Sopenharmony_ci		and used to configure the system.
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci		A CRC32 checksum is calculated over the entire FDT
488c2ecf20Sopenharmony_ci		blob, and verified at late_initcall time. The sysfs
498c2ecf20Sopenharmony_ci		entry is instantiated only if the checksum is valid,
508c2ecf20Sopenharmony_ci		i.e., if the FDT blob has not been modified in the mean
518c2ecf20Sopenharmony_ci		time. Otherwise, a warning is printed.
528c2ecf20Sopenharmony_ciUsers:		kexec, debugging
53