···11-Device-Tree binding for regmap22-33-The endianness mode of CPU & Device scenarios:44-Index Device Endianness properties55----------------------------------------------------66-1 BE 'big-endian'77-2 LE 'little-endian'88-3 Native 'native-endian'99-1010-For one device driver, which will run in different scenarios above1111-on different SoCs using the devicetree, we need one way to simplify1212-this.11+Devicetree binding for regmap132143Optional properties:1515-- {big,little,native}-endian: these are boolean properties, if absent1616- then the implementation will choose a default based on the device1717- being controlled. These properties are for register values and all1818- the buffers only. Native endian means that the CPU and device have1919- the same endianness.44+55+ little-endian,66+ big-endian,77+ native-endian: See common-properties.txt for a definition88+99+Note:1010+Regmap defaults to little-endian register access on MMIO based1111+devices, this is by far the most common setting. On CPU1212+architectures that typically run big-endian operating systems1313+(e.g. PowerPC), registers can be defined as big-endian and must1414+be marked that way in the devicetree.1515+1616+On SoCs that can be operated in both big-endian and little-endian1717+modes, with a single hardware switch controlling both the endianess1818+of the CPU and a byteswap for MMIO registers (e.g. many Broadcom MIPS1919+chips), "native-endian" is used to allow using the same device tree2020+blob in both cases.20212122Examples:2222-Scenario 1 : CPU in LE mode & device in LE mode.2323+Scenario 1 : a register set in big-endian mode.2324dev: dev@40031000 {2424- compatible = "name";2525+ compatible = "syscon";2526 reg = <0x40031000 0x1000>;2626- ...2727-};2828-2929-Scenario 2 : CPU in LE mode & device in BE mode.3030-dev: dev@40031000 {3131- compatible = "name";3232- reg = <0x40031000 0x1000>;3333- ...3427 big-endian;3535-};3636-3737-Scenario 3 : CPU in BE mode & device in BE mode.3838-dev: dev@40031000 {3939- compatible = "name";4040- reg = <0x40031000 0x1000>;4128 ...4242-};4343-4444-Scenario 4 : CPU in BE mode & device in LE mode.4545-dev: dev@40031000 {4646- compatible = "name";4747- reg = <0x40031000 0x1000>;4848- ...4949- little-endian;5029};