2016-03-18 01:23:40 +08:00
|
|
|
Devicetree binding for regmap
|
2014-07-15 12:23:03 +08:00
|
|
|
|
2016-01-27 01:59:30 +08:00
|
|
|
Optional properties:
|
2014-07-15 12:23:03 +08:00
|
|
|
|
2016-03-18 01:23:40 +08:00
|
|
|
little-endian,
|
|
|
|
big-endian,
|
|
|
|
native-endian: See common-properties.txt for a definition
|
2014-07-15 12:23:03 +08:00
|
|
|
|
2016-03-18 01:23:40 +08:00
|
|
|
Note:
|
|
|
|
Regmap defaults to little-endian register access on MMIO based
|
|
|
|
devices, this is by far the most common setting. On CPU
|
|
|
|
architectures that typically run big-endian operating systems
|
|
|
|
(e.g. PowerPC), registers can be defined as big-endian and must
|
|
|
|
be marked that way in the devicetree.
|
2014-07-15 12:23:03 +08:00
|
|
|
|
2016-03-18 01:23:40 +08:00
|
|
|
On SoCs that can be operated in both big-endian and little-endian
|
|
|
|
modes, with a single hardware switch controlling both the endianess
|
|
|
|
of the CPU and a byteswap for MMIO registers (e.g. many Broadcom MIPS
|
|
|
|
chips), "native-endian" is used to allow using the same device tree
|
|
|
|
blob in both cases.
|
2014-07-15 12:23:03 +08:00
|
|
|
|
2016-03-18 01:23:40 +08:00
|
|
|
Examples:
|
|
|
|
Scenario 1 : a register set in big-endian mode.
|
2014-07-15 12:23:03 +08:00
|
|
|
dev: dev@40031000 {
|
2016-03-18 01:23:40 +08:00
|
|
|
compatible = "syscon";
|
2014-07-15 12:23:03 +08:00
|
|
|
reg = <0x40031000 0x1000>;
|
2016-03-18 01:23:40 +08:00
|
|
|
big-endian;
|
2014-07-15 12:23:03 +08:00
|
|
|
...
|
|
|
|
};
|