| Device-Tree binding for regmap |
| |
| The endianness mode of CPU & Device scenarios: |
| Index Device Endianness properties |
| --------------------------------------------------- |
| 1 BE 'big-endian' |
| 2 LE 'little-endian' |
| 3 Native 'native-endian' |
| |
| For one device driver, which will run in different scenarios above |
| on different SoCs using the devicetree, we need one way to simplify |
| this. |
| |
| Optional properties: |
| - {big,little,native}-endian: these are boolean properties, if absent |
| then the implementation will choose a default based on the device |
| being controlled. These properties are for register values and all |
| the buffers only. Native endian means that the CPU and device have |
| the same endianness. |
| |
| Examples: |
| Scenario 1 : CPU in LE mode & device in LE mode. |
| dev: dev@40031000 { |
| compatible = "name"; |
| reg = <0x40031000 0x1000>; |
| ... |
| }; |
| |
| Scenario 2 : CPU in LE mode & device in BE mode. |
| dev: dev@40031000 { |
| compatible = "name"; |
| reg = <0x40031000 0x1000>; |
| ... |
| big-endian; |
| }; |
| |
| Scenario 3 : CPU in BE mode & device in BE mode. |
| dev: dev@40031000 { |
| compatible = "name"; |
| reg = <0x40031000 0x1000>; |
| ... |
| }; |
| |
| Scenario 4 : CPU in BE mode & device in LE mode. |
| dev: dev@40031000 { |
| compatible = "name"; |
| reg = <0x40031000 0x1000>; |
| ... |
| little-endian; |
| }; |