123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- 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>;
- };
- };
|