mirror of https://gitee.com/openkylin/linux.git
97 lines
2.9 KiB
Plaintext
97 lines
2.9 KiB
Plaintext
Marvell Berlin SoC Family Device Tree Bindings
|
|
---------------------------------------------------------------
|
|
|
|
Work in progress statement:
|
|
|
|
Device tree files and bindings applying to Marvell Berlin SoCs and boards are
|
|
considered "unstable". Any Marvell Berlin device tree binding may change at any
|
|
time. Be sure to use a device tree binary and a kernel image generated from the
|
|
same source tree.
|
|
|
|
Please refer to Documentation/devicetree/bindings/ABI.txt for a definition of a
|
|
stable binding/ABI.
|
|
|
|
---------------------------------------------------------------
|
|
|
|
Boards with a SoC of the Marvell Berlin family, e.g. Armada 1500
|
|
shall have the following properties:
|
|
|
|
* Required root node properties:
|
|
compatible: must contain "marvell,berlin"
|
|
|
|
In addition, the above compatible shall be extended with the specific
|
|
SoC and board used. Currently known SoC compatibles are:
|
|
"marvell,berlin2" for Marvell Armada 1500 (BG2, 88DE3100),
|
|
"marvell,berlin2cd" for Marvell Armada 1500-mini (BG2CD, 88DE3005)
|
|
"marvell,berlin2ct" for Marvell Armada ? (BG2CT, 88DE????)
|
|
"marvell,berlin2q" for Marvell Armada 1500-pro (BG2Q, 88DE3114)
|
|
"marvell,berlin3" for Marvell Armada ? (BG3, 88DE????)
|
|
|
|
* Example:
|
|
|
|
/ {
|
|
model = "Sony NSZ-GS7";
|
|
compatible = "sony,nsz-gs7", "marvell,berlin2", "marvell,berlin";
|
|
|
|
...
|
|
}
|
|
|
|
* Marvell Berlin CPU control bindings
|
|
|
|
CPU control register allows various operations on CPUs, like resetting them
|
|
independently.
|
|
|
|
Required properties:
|
|
- compatible: should be "marvell,berlin-cpu-ctrl"
|
|
- reg: address and length of the register set
|
|
|
|
Example:
|
|
|
|
cpu-ctrl@f7dd0000 {
|
|
compatible = "marvell,berlin-cpu-ctrl";
|
|
reg = <0xf7dd0000 0x10000>;
|
|
};
|
|
|
|
* Marvell Berlin2 chip control binding
|
|
|
|
Marvell Berlin SoCs have a chip control register set providing several
|
|
individual registers dealing with pinmux, padmux, clock, reset, and secondary
|
|
CPU boot address. Unfortunately, the individual registers are spread among the
|
|
chip control registers, so there should be a single DT node only providing the
|
|
different functions which are described below.
|
|
|
|
Required properties:
|
|
- compatible:
|
|
* the first and second values must be:
|
|
"simple-mfd", "syscon"
|
|
- reg: address and length of following register sets for
|
|
BG2/BG2CD: chip control register set
|
|
BG2Q: chip control register set and cpu pll registers
|
|
|
|
* Marvell Berlin2 system control binding
|
|
|
|
Marvell Berlin SoCs have a system control register set providing several
|
|
individual registers dealing with pinmux, padmux, and reset.
|
|
|
|
Required properties:
|
|
- compatible:
|
|
* the first and second values must be:
|
|
"simple-mfd", "syscon"
|
|
- reg: address and length of the system control register set
|
|
|
|
Example:
|
|
|
|
chip: chip-control@ea0000 {
|
|
compatible = "simple-mfd", "syscon";
|
|
reg = <0xea0000 0x400>;
|
|
|
|
/* sub-device nodes */
|
|
};
|
|
|
|
sysctrl: system-controller@d000 {
|
|
compatible = "simple-mfd", "syscon";
|
|
reg = <0xd000 0x100>;
|
|
|
|
/* sub-device nodes */
|
|
};
|