2014-07-15 12:23:03 +08:00
|
|
|
Device-Tree binding for regmap
|
|
|
|
|
|
|
|
The endianness mode of CPU & Device scenarios:
|
|
|
|
Index Device Endianness properties
|
|
|
|
---------------------------------------------------
|
|
|
|
1 BE 'big-endian'
|
|
|
|
2 LE 'little-endian'
|
2016-01-27 01:59:30 +08:00
|
|
|
3 Native 'native-endian'
|
2014-07-15 12:23:03 +08:00
|
|
|
|
|
|
|
For one device driver, which will run in different scenarios above
|
|
|
|
on different SoCs using the devicetree, we need one way to simplify
|
|
|
|
this.
|
|
|
|
|
2016-01-27 01:59:30 +08:00
|
|
|
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.
|
2014-07-15 12:23:03 +08:00
|
|
|
|
|
|
|
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;
|
|
|
|
};
|