Further in the tree, we see a node named cpus define one CPU with a unit address of 0. This corresponds to the node’s reg property and indicates that a single CPU is available.
Further in the tree, the node named Ethernet has a unit-address value of FE001000.
The node name is a label used to identify the node. The unit-address component of the node identifies the base address of the bus on which the node sits. This is the primary address used to access the device.
Child nodes must be uniquely named, but can alternatively be addressed by a “unit name,” which is used to differentiate nodes with the same name (for example, multiple I2C devices in the same SoC) at the same level. Unit names are made of the node names, the “@” symbol, and a unit address (for example, i2c@3000, i2c@4000, and so on).
A phandle (pointer handle) is a 32-bit value associated with a node that is used to uniquely identify that node so that the node can be reference from a property in another node. More simply put, it is a property in one node that contains a pointer to another node. A phandle is created either by the device tree compiler or U-Boot for each label.
Memory mapping and addressing
ethernet0 = &enet0;
ethernet1 = &enet1;
ethernet2 = &enet2;
serial0 = &serial0;
serial1 = &serial1;
pci0 = &pci0;
4 Memory mapping and addressing
#address-cells = <1>;
#size-cells = <0>;
|Freescale Semiconductor, Inc.|