/openbmc/u-boot/dts/ |
H A D | Kconfig | 2 # Device Tree Control 22 menu "Device Tree Control" 26 bool "Run-time configuration via Device Tree" 29 This feature provides for run-time configuration of U-Boot 30 via a flattened device tree. 33 bool "Board-specific manipulation of Device Tree" 36 U-Boot's device tree (e.g. to delete device from it). This option 37 make the Device Tree writeable and provides a board-specific 38 "board_fix_fdt" callback (called during pre-relocation time), which 39 enables the board initialization to modifiy the Device Tree. The [all …]
|
/openbmc/u-boot/doc/driver-model/ |
H A D | fdt-fixup.txt | 1 Pre-relocation device tree manipulation 12 ---------- 17 "extensions" of each other, where one device only differs from another in the 23 addition of the daughter board to the device realizes the "extension" of 24 functionality to the device described previously. 27 variations of the device. This means that the software somehow needs to cope 32 device tree overlay mechanism: There exists one "base" device tree, which 34 device. At the start of the kernel, the presence and type of the daughter 35 boards is then detected, and the corresponding device tree overlays are applied 42 In the U-Boot boot loader, support for device tree overlays has recently been [all …]
|
H A D | livetree.txt | 1 Driver Model with Live Device Tree 6 ------------ 8 Traditionally U-Boot has used a 'flat' device tree. This means that it 9 reads directly from the device tree binary structure. It is called a flat 10 device tree because nodes are listed one after the other, with the 13 This document describes U-Boot's support for a 'live' device tree, meaning 14 that the tree is loaded into a hierarchical data structure within U-Boot. 18 ---------- 20 The flat device tree has several advantages: 22 - it is the format produced by the device tree compiler, so no translation [all …]
|
H A D | of-plat.txt | 1 Driver Model Compiled-in Device Tree / Platform Data 6 ------------ 8 Device tree is the standard configuration method in U-Boot. It is used to 12 The overhead of adding device tree access to U-Boot is fairly modest, 14 that in most cases it is best to use device tree for configuration. 16 However there are some very constrained environments where U-Boot needs to 19 case the overhead of device tree access may be too great. 23 bypasses the use of device tree completely, effectively creating a parallel 26 As an alternative, a new 'of-platdata' feature is provided. This converts the 27 device tree contents into C code which can be compiled into the SPL binary. [all …]
|
H A D | README.txt | 4 This README contains high-level information about driver model, a unified 5 way of declaring and accessing drivers in U-Boot. The original work was done 20 ----------- 22 Uclass - a group of devices which operate in the same way. A uclass provides 28 Driver - some code which talks to a peripheral and presents a higher-level 31 Device - an instance of a driver, tied to a particular port or peripheral. 35 ------------- 37 Build U-Boot sandbox and run it: 41 ./u-boot -d u-boot.dtb 43 (type 'reset' to exit U-Boot) [all …]
|
/openbmc/linux/scripts/dtc/libfdt/ |
H A D | fdt_overlay.c | 1 // SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) 3 * libfdt - Flat Device Tree manipulation 15 * overlay_get_target_phandle - retrieves the target phandle of a fragment 16 * @fdto: pointer to the device tree overlay blob 21 * property) instead of a path (target-path property). 26 * -1, if the phandle was malformed 37 if ((len != sizeof(*val)) || (fdt32_to_cpu(*val) == (uint32_t)-1)) in overlay_get_target_phandle() 38 return (uint32_t)-1; in overlay_get_target_phandle() 52 if (phandle == (uint32_t)-1) in fdt_overlay_target_offset() 53 return -FDT_ERR_BADPHANDLE; in fdt_overlay_target_offset() [all …]
|
H A D | libfdt.h | 1 /* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */ 5 * libfdt - Flat Device Tree manipulation 27 /* FDT_ERR_NOSPACE: Operation needed to expand the device 28 * tree, but its buffer did not have sufficient space to 29 * contain the expanded tree. Use fdt_open_into() to move the 30 * device tree to a buffer with more space. */ 35 * offset which is out-of-bounds, or which points to an 44 * length, or the phandle value was either 0 or -1, which are 47 /* FDT_ERR_BADSTATE: Function was passed an incomplete device 48 * tree created by the sequential-write functions, which is [all …]
|
H A D | libfdt_internal.h | 1 /* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */ 5 * libfdt - Flat Device Tree manipulation 10 #define FDT_ALIGN(x, a) (((x) + (a) - 1) & ~((a) - 1)) 50 * Internal helpers to access tructural elements of the device tree 83 * You should have another method of validating the device tree, such as a 91 * This does essentially no checks. Only the latest device-tree 92 * version is correctly handled. Inconsistencies or errors in the device 93 * tree may cause undefined behaviour or crashes. Invalid parameters 96 * If an error occurs when modifying the tree it may leave the tree in 102 * Only use this if you have a fully validated device tree with [all …]
|
/openbmc/u-boot/scripts/dtc/libfdt/ |
H A D | fdt_overlay.c | 2 * libfdt - Flat Device Tree manipulation 22 * MA 02110-1301 USA 60 * overlay_get_target_phandle - retrieves the target phandle of a fragment 61 * @fdto: pointer to the device tree overlay blob 66 * property) instead of a path (target-path property). 71 * -1, if the phandle was malformed 82 if ((len != sizeof(*val)) || (fdt32_to_cpu(*val) == (uint32_t)-1)) in overlay_get_target_phandle() 83 return (uint32_t)-1; in overlay_get_target_phandle() 89 * overlay_get_target - retrieves the offset of a fragment's target 90 * @fdt: Base device tree blob [all …]
|
H A D | libfdt.h | 4 * libfdt - Flat Device Tree manipulation 23 * MA 02110-1301 USA 67 /* FDT_ERR_NOSPACE: Operation needed to expand the device 68 * tree, but its buffer did not have sufficient space to 69 * contain the expanded tree. Use fdt_open_into() to move the 70 * device tree to a buffer with more space. */ 75 * offset which is out-of-bounds, or which points to an 84 * length, or the phandle value was either 0 or -1, which are 87 /* FDT_ERR_BADSTATE: Function was passed an incomplete device 88 * tree created by the sequential-write functions, which is [all …]
|
/openbmc/linux/Documentation/devicetree/ |
H A D | of_unittest.rst | 1 .. SPDX-License-Identifier: GPL-2.0 13 is attached to the live tree dynamically, independent of the machine's 18 (1) Documentation/devicetree/usage-model.rst 22 provided to device driver developers to fetch the device information..etc. 23 from the unflattened device tree data structure. This interface is used by 24 most of the device drivers in various use cases. 45 from 'scripts/dtc/of_unittest_expect --help'. 48 3. Test-data 51 The Device Tree Source file (drivers/of/unittest-data/testcases.dts) contains 53 drivers/of/unittest.c. Currently, following Device Tree Source Include files [all …]
|
H A D | usage-model.rst | 1 .. SPDX-License-Identifier: GPL-2.0 7 The Linux usage model for device tree data 11 This article describes how Linux uses the device tree. An overview of 12 the device tree data format can be found on the device tree usage page 17 The "Open Firmware Device Tree", or simply Devicetree (DT), is a data 23 Structurally, the DT is a tree, or acyclic graph with named nodes, and 26 links from one node to another outside of the natural tree structure. 29 is defined for how data should appear in the tree to describe typical 44 ---------- 48 Device Tree to discover the topology of the hardware at runtime, and [all …]
|
/openbmc/linux/arch/arm/mach-spear/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 30 bool "SPEAr1310 Machine support with Device Tree" 34 Supports ST SPEAr1310 machine configured via the device-tree 37 bool "SPEAr1340 Machine support with Device Tree" 41 Supports ST SPEAr1340 machine configured via the device-tree 57 bool "SPEAr300 Machine support with Device Tree" 60 Supports ST SPEAr300 machine configured via the device-tree 63 bool "SPEAr310 Machine support with Device Tree" 66 Supports ST SPEAr310 machine configured via the device-tree 69 bool "SPEAr320 Machine support with Device Tree" [all …]
|
/openbmc/docs/designs/ |
H A D | entity-manager-hw-id-vpd-discover-via-device-tree.md | 1 # Entity-Manager HW ID: VPD Discovery via Device-Tree Properties 12 data via non-I2C channels and in a proprietary format that is not covered by 13 Entity-Manager's 'fru-device' daemon that most platforms rely on. 16 gathered from device tree file paths for Entity-Manager consumption. 20 Typical platforms provide HW ID data - often referred to as 'vital product data' 21 (VPD) - for the baseboard as a FRU storage blob held in a physical EEPROM. 23 [As described in Entity-Manager documentation](https://github.com/openbmc/entity-manager/blob/maste… 25 copied to D-Bus as properties of the `xyz.openbmc_project.FruDevice` interface 26 by Entity-Manager's fru-device daemon. The current FRU-device daemon is able to 27 decode IPMI-FRU storage formatted blobs, as well as the Tyan data format. [all …]
|
/openbmc/u-boot/arch/arm/cpu/armv8/fsl-layerscape/doc/ |
H A D | README.falcon | 2 ------------------ 4 RAM version U-Boot. Instead, it loads FIT image and boot directly to Linux. 10 booting U-Boot is not the first choice. The kernel FIT image needs to be put 14 not found, normal U-Boot flow will follow. 16 An important part of falcon boot is to prepare the device tree. A normal U-Boot 18 SPL, skipping the normal U-Boot. The device tree has to be prepared in advance. 19 A command "spl export" should be called under the normal RAM version U-Boot. 20 It is equivalent to go through "bootm" step-by-step until device tree fixup is 21 done. The device tree in memory is the one needed for falcon boot. Falcon boot 25 Linux, the device tree stored in FIT image overwrites the memory loaded by spl [all …]
|
/openbmc/linux/drivers/of/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 6 bool "Device Tree and Open Firmware support" 8 This option enables the device tree infrastructure. 11 compile-coverage. 16 bool "Device Tree runtime unit tests" 22 This option builds in test cases for the device tree infrastructure 41 bool "Build all Device Tree Blobs" 45 This option builds all possible Device Tree Blobs (DTBs) for the 70 bool "Support for dynamic device trees" if OF_UNITTEST 73 On some platforms, the device tree can be manipulated at runtime. [all …]
|
/openbmc/linux/Documentation/arch/arm/google/ |
H A D | chromebook-boot-flow.rst | 1 .. SPDX-License-Identifier: GPL-2.0 7 Most recent Chromebooks that use device tree are using the opensource 9 Image`_ which contains an OS image as well as a collection of device trees. It 10 is up to depthcharge_ to pick the right device tree from the `FIT Image`_ and 13 The scheme that depthcharge_ uses to pick the device tree takes into account 16 - Board name, specified at depthcharge_ compile time. This is $(BOARD) below. 17 - Board revision number, determined at runtime (perhaps by reading GPIO 19 - SKU number, read from GPIO strappings at boot time. This is $(SKU) below. 23 - google,$(BOARD)-rev$(REV)-sku$(SKU) 24 - google,$(BOARD)-rev$(REV) [all …]
|
/openbmc/phosphor-mrw-tools/docs/ |
H A D | mrw-xml-requirements.md | 5 [Serverwiz2](https://www.github.com/open-power/serverwiz). The requirements in 14 contains all FRUs (field replaceable units), along with a few non-FRU entities, 19 - Set the `FRU_NAME` attribute of that target. 24 ## BMC Device Tree 26 The BMC device tree can be generated from the MRW XML. For the full device tree 33 The following sections list the system dependent information that the device 34 tree generator requires. The majority of the information it requires is static 50 All of the BMC chip attributes that are needed for the device tree are pre-built 51 into the XML representation and don't need to be updated when the device is 55 > necessary device tree attributes. [all …]
|
/openbmc/u-boot/tools/dtoc/ |
H A D | fdt.py | 2 # SPDX-License-Identifier: GPL-2.0+ 15 # This deals with a device tree, presenting it as an assortment of Node and 17 # contains the base classes and defines the high-level API. You can use 20 # This implementation uses a libfdt Python library to access the device tree, 32 """A device tree property 35 name: Property name (as per the device tree) 102 TYPE_INT: a byte-swapped integer stored as a 4-byte string 103 TYPE_BYTE: a byte stored as a single-byte string 109 count = len(strings) - 1 110 if count > 0 and not strings[-1]: [all …]
|
/openbmc/u-boot/scripts/dtc/pylibfdt/ |
H A D | libfdt.i_shipped | 1 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-2-Clause */ 3 * pylibfdt - Flat Device Tree manipulation in Python 55 # Pass this as the 'quiet' parameter to return -ENOTFOUND on NOTFOUND errors, 73 fdt_err: Error number (-ve) 81 """Raise an error if the return value is -ve 96 if -val not in quiet: 120 if -val not in quiet: 125 """Class for a read-only device-tree 127 This is a base class used by FdtRw (read-write access) and FdtSw 128 (sequential-write access). It implements read-only access to the [all …]
|
/openbmc/linux/Documentation/ABI/testing/ |
H A D | sysfs-firmware-ofw | 5 When using OpenFirmware or a Flattened Device Tree to enumerate 6 hardware, the device tree structure will be exposed in this 9 It is possible for multiple device-tree directories to exist. 10 Some device drivers use a separate detached device tree which 11 have no attachment to the system tree and will appear in a 15 path directly, but instead should follow /proc/device-tree 19 The /proc/device-tree symlink replaces the devicetree /proc 24 hierarchy of directories, one per device tree node. The 28 binary data from the device tree. 42 /sys/firmware/device-tree is deliberate: FDT is also used
|
/openbmc/linux/Documentation/powerpc/ |
H A D | bootwrapper.rst | 17 others. U-Boot is typically found on embedded PowerPC hardware, but there 28 U-Boot (for versions that don't understand the device 29 tree). This image embeds a device tree blob inside 30 the image. The boot wrapper, kernel and device tree 31 are all embedded inside the U-Boot uImage file format 33 bd_info structure and loads the data into the device 34 tree before jumping into the kernel. 37 bd_info structure used in the old U-Boot interfaces, 39 U-Boot platform has a different platform init file 40 which populates the embedded device tree with data [all …]
|
/openbmc/u-boot/include/dm/ |
H A D | root.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 15 * dm_root() - Return pointer to the top of the driver tree 17 * This function returns pointer to the root node of the driver tree, 19 * @return pointer to root device, or NULL if not inited yet 25 * dm_fixup_for_gd_move() - Handle global_data moving to a new place 34 * dm_scan_platdata() - Scan all platform data and bind drivers 40 * @return 0 if OK, -ve on error 45 * dm_scan_fdt() - Scan the device tree and bind drivers 47 * This scans the device tree and creates a driver for each node. Only 48 * the top-level subnodes are examined. [all …]
|
/openbmc/u-boot/drivers/pinctrl/ |
H A D | Kconfig | 19 This provides Linux-compatible device tree interface for the pinctrl 20 subsystem. This feature depends on device tree configuration because 21 it parses a device tree to look for the pinctrl device which the 22 peripheral device is associated with. 24 If this option is disabled (it is the only possible choice for non-DT 27 It is totally up to the implementation of each low-level driver. 40 If you need to handle vendor-specific DT properties, you can disable 53 The driver is typically controlled by the device tree. 66 This option is an SPL-variant of the PINCTRL option. 75 This option is an SPL-variant of the PINCTRL_FULL option. [all …]
|
/openbmc/u-boot/doc/ |
H A D | README.marvell | 1 Marvell U-Boot Build Instructions 4 This document describes how to compile the U-Boot and how to change U-Boot configuration 7 ---------------- 10 # sudo apt-get install libssl-dev 11 # sudo apt-get install device-tree-compiler 12 # sudo apt-get install swig libpython-dev 16 # export CROSS_COMPILE=/path/to/toolchain/aarch64-marvell-linux-gnu- 18 3. Clean-up old residuals: 22 4. Configure the U-Boot: 26 - For the Armada-70x0/80x0 DB board use "mvebu_db_armada8k_defconfig" [all …]
|