Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> --- .../devicetree/bindings/endianness/endianness.txt | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Documentation/devicetree/bindings/endianness/endianness.txt diff --git a/Documentation/devicetree/bindings/endianness/endianness.txt b/Documentation/devicetree/bindings/endianness/endianness.txt new file mode 100644 index 0000000..64f1d5e --- /dev/null +++ b/Documentation/devicetree/bindings/endianness/endianness.txt @@ -0,0 +1,55 @@ +Device-Tree binding for device endianness + +The endianness mode of CPU & Device scenarios: + Index CPU Device + ------------------------ + 1 LE LE + 2 LE BE + 3 BE BE + 4 BE LE + +For one device driver, which will run in different scenarios above +on different SoCs using the devicetree, we need one way to simplify +this. + +Required properties: +- [prefix]-endian: this is one string property and must be one + of 'be', 'le' and 'native' if it is present. + +The endianness mode: + 'le' : device is in little endian mode, + 'be' : device is in big endian mode, + 'native' : device is in the same endian mode with the CPU. + +Examples: +Scenario 1 : CPU in LE mode & device in LE mode. +dev: dev@40031000 { + compatible = "name"; + reg = <0x40031000 0x1000>; + ... + [prefix]-endian = 'native'; +}; + +Scenario 2 : CPU in LE mode & device in BE mode. +dev: dev@40031000 { + compatible = "name"; + reg = <0x40031000 0x1000>; + ... + [prefix]-endian = 'be'; +}; + +Scenario 3 : CPU in BE mode & device in BE mode. +dev: dev@40031000 { + compatible = "name"; + reg = <0x40031000 0x1000>; + ... + [prefix]-endian = 'native'; +}; + +Scenario 4 : CPU in BE mode & device in LE mode. +dev: dev@40031000 { + compatible = "name"; + reg = <0x40031000 0x1000>; + ... + [prefix]-endian = 'le'; +}; -- 1.8.4 -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html