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 */ 
 | 
}; 
 |