Marvell Armada AP806 System Controller 
 | 
====================================== 
 | 
  
 | 
The AP806 is one of the two core HW blocks of the Marvell Armada 7K/8K 
 | 
SoCs. It contains system controllers, which provide several registers 
 | 
giving access to numerous features: clocks, pin-muxing and many other 
 | 
SoC configuration items. This DT binding allows to describe these 
 | 
system controllers. 
 | 
  
 | 
For the top level node: 
 | 
 - compatible: must be: "syscon", "simple-mfd"; 
 | 
 - reg: register area of the AP806 system controller 
 | 
  
 | 
SYSTEM CONTROLLER 0 
 | 
=================== 
 | 
  
 | 
Clocks: 
 | 
------- 
 | 
  
 | 
  
 | 
The Device Tree node representing the AP806 system controller provides 
 | 
a number of clocks: 
 | 
  
 | 
 - 0: clock of CPU cluster 0 
 | 
 - 1: clock of CPU cluster 1 
 | 
 - 2: fixed PLL at 1200 Mhz 
 | 
 - 3: MSS clock, derived from the fixed PLL 
 | 
  
 | 
Required properties: 
 | 
  
 | 
 - compatible: must be: "marvell,ap806-clock" 
 | 
 - #clock-cells: must be set to 1 
 | 
  
 | 
Pinctrl: 
 | 
-------- 
 | 
  
 | 
For common binding part and usage, refer to 
 | 
Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt. 
 | 
  
 | 
Required properties: 
 | 
- compatible must be "marvell,ap806-pinctrl", 
 | 
  
 | 
Available mpp pins/groups and functions: 
 | 
Note: brackets (x) are not part of the mpp name for marvell,function and given 
 | 
only for more detailed description in this document. 
 | 
  
 | 
name    pins    functions 
 | 
================================================================================ 
 | 
mpp0    0    gpio, sdio(clk), spi0(clk) 
 | 
mpp1    1    gpio, sdio(cmd), spi0(miso) 
 | 
mpp2    2    gpio, sdio(d0), spi0(mosi) 
 | 
mpp3    3    gpio, sdio(d1), spi0(cs0n) 
 | 
mpp4    4    gpio, sdio(d2), i2c0(sda) 
 | 
mpp5    5    gpio, sdio(d3), i2c0(sdk) 
 | 
mpp6    6    gpio, sdio(ds) 
 | 
mpp7    7    gpio, sdio(d4), uart1(rxd) 
 | 
mpp8    8    gpio, sdio(d5), uart1(txd) 
 | 
mpp9    9    gpio, sdio(d6), spi0(cs1n) 
 | 
mpp10    10    gpio, sdio(d7) 
 | 
mpp11    11    gpio, uart0(txd) 
 | 
mpp12    12    gpio, sdio(pw_off), sdio(hw_rst) 
 | 
mpp13    13    gpio 
 | 
mpp14    14    gpio 
 | 
mpp15    15    gpio 
 | 
mpp16    16    gpio 
 | 
mpp17    17    gpio 
 | 
mpp18    18    gpio 
 | 
mpp19    19    gpio, uart0(rxd), sdio(pw_off) 
 | 
  
 | 
GPIO: 
 | 
----- 
 | 
For common binding part and usage, refer to 
 | 
Documentation/devicetree/bindings/gpio/gpio-mvebu.txt. 
 | 
  
 | 
Required properties: 
 | 
  
 | 
- compatible: "marvell,armada-8k-gpio" 
 | 
  
 | 
- offset: offset address inside the syscon block 
 | 
  
 | 
Example: 
 | 
ap_syscon: system-controller@6f4000 { 
 | 
    compatible = "syscon", "simple-mfd"; 
 | 
    reg = <0x6f4000 0x1000>; 
 | 
  
 | 
    ap_clk: clock { 
 | 
        compatible = "marvell,ap806-clock"; 
 | 
        #clock-cells = <1>; 
 | 
    }; 
 | 
  
 | 
    ap_pinctrl: pinctrl { 
 | 
        compatible = "marvell,ap806-pinctrl"; 
 | 
    }; 
 | 
  
 | 
    ap_gpio: gpio { 
 | 
        compatible = "marvell,armada-8k-gpio"; 
 | 
        offset = <0x1040>; 
 | 
        ngpios = <19>; 
 | 
        gpio-controller; 
 | 
        #gpio-cells = <2>; 
 | 
        gpio-ranges = <&ap_pinctrl 0 0 19>; 
 | 
    }; 
 | 
}; 
 | 
  
 | 
SYSTEM CONTROLLER 1 
 | 
=================== 
 | 
  
 | 
Thermal: 
 | 
-------- 
 | 
  
 | 
For common binding part and usage, refer to 
 | 
Documentation/devicetree/bindings/thermal/thermal.txt 
 | 
  
 | 
The thermal IP can probe the temperature all around the processor. It 
 | 
may feature several channels, each of them wired to one sensor. 
 | 
  
 | 
Required properties: 
 | 
- compatible: must be one of: 
 | 
  * marvell,armada-ap806-thermal 
 | 
- reg: register range associated with the thermal functions. 
 | 
  
 | 
Optional properties: 
 | 
- #thermal-sensor-cells: shall be <1> when thermal-zones subnodes refer 
 | 
  to this IP and represents the channel ID. There is one sensor per 
 | 
  channel. O refers to the thermal IP internal channel, while positive 
 | 
  IDs refer to each CPU. 
 | 
  
 | 
Example: 
 | 
ap_syscon1: system-controller@6f8000 { 
 | 
    compatible = "syscon", "simple-mfd"; 
 | 
    reg = <0x6f8000 0x1000>; 
 | 
  
 | 
    ap_thermal: thermal-sensor@80 { 
 | 
        compatible = "marvell,armada-ap806-thermal"; 
 | 
        reg = <0x80 0x10>; 
 | 
        #thermal-sensor-cells = <1>; 
 | 
    }; 
 | 
}; 
 |