1 Common properties 2 ================= 3 4 Endianness 5 ---------- 6 7 The Devicetree Specification does not define a 8 byte swapping, but endianness issues show up f 9 different machine types. This document attemp 10 way of handling byte swapping across drivers. 11 12 Optional properties: 13 - big-endian: Boolean; force big endian regis 14 unconditionally (e.g. ioread32be/iowrite32b 15 know the peripheral always needs to be acce 16 - little-endian: Boolean; force little endian 17 unconditionally (e.g. readl/writel). Use t 18 peripheral always needs to be accessed in l 19 - native-endian: Boolean; always use register 20 endianness of the kernel binary (e.g. LE vm 21 BE vmlinux -> ioread32be/iowrite32be). In 22 will ever be performed. Use this if the ha 23 register endianness based on the CPU's conf 24 25 If a binding supports these properties, then t 26 specify the default behavior if none of these 27 In such cases, little-endian is the preferred 28 a requirement. Some implementations assume th 29 the default, because most existing (PCI-based) 30 default to LE for their MMIO accesses. 31 32 Examples: 33 Scenario 1 : CPU in LE mode & device in LE mod 34 dev: dev@40031000 { 35 compatible = "name"; 36 reg = <0x40031000 0x1000>; 37 ... 38 native-endian; 39 }; 40 41 Scenario 2 : CPU in LE mode & device in BE mod 42 dev: dev@40031000 { 43 compatible = "name"; 44 reg = <0x40031000 0x1000>; 45 ... 46 big-endian; 47 }; 48 49 Scenario 3 : CPU in BE mode & device in BE mod 50 dev: dev@40031000 { 51 compatible = "name"; 52 reg = <0x40031000 0x1000>; 53 ... 54 native-endian; 55 }; 56 57 Scenario 4 : CPU in BE mode & device in LE mod 58 dev: dev@40031000 { 59 compatible = "name"; 60 reg = <0x40031000 0x1000>; 61 ... 62 little-endian; 63 }; 64 65 Daisy-chained devices 66 --------------------- 67 68 Many serially-attached GPIO and IIO devices ar 69 host controller, a daisy-chain appears as a si 70 of inputs and outputs it provides is the sum o 71 by all of its devices. The driver needs to kn 72 daisy-chain comprises to determine the amount 73 inputs and outputs to register and so on. 74 75 Optional properties: 76 - #daisy-chained-devices: Number of devices i 77 78 Example: 79 gpio@0 { 80 compatible = "name"; 81 reg = <0>; 82 gpio-controller; 83 #gpio-cells = <2>; 84 #daisy-chained-devices = <3>; 85 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.