6db4831e98
Android 14
139 lines
3.4 KiB
Plaintext
139 lines
3.4 KiB
Plaintext
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>;
|
|
};
|
|
};
|