12537831bSBen PeledMarvell Armada AP80x System Controller 22537831bSBen Peled====================================== 32537831bSBen Peled 42537831bSBen PeledThe AP806/AP807 is one of the two core HW blocks of the Marvell Armada 52537831bSBen Peled7K/8K/931x SoCs. It contains system controllers, which provide several 62537831bSBen Peledregisters giving access to numerous features: clocks, pin-muxing and 72537831bSBen Peledmany other SoC configuration items. This DT binding allows to describe 82537831bSBen Peledthese system controllers. 92537831bSBen Peled 102537831bSBen PeledFor the top level node: 112537831bSBen Peled - compatible: must be: "syscon", "simple-mfd"; 122537831bSBen Peled - reg: register area of the AP80x system controller 132537831bSBen Peled 142537831bSBen PeledSYSTEM CONTROLLER 0 152537831bSBen Peled=================== 162537831bSBen Peled 172537831bSBen PeledClocks: 182537831bSBen Peled------- 192537831bSBen Peled 202537831bSBen Peled 212537831bSBen PeledThe Device Tree node representing the AP806/AP807 system controller 222537831bSBen Peledprovides a number of clocks: 232537831bSBen Peled 242537831bSBen Peled - 0: reference clock of CPU cluster 0 252537831bSBen Peled - 1: reference clock of CPU cluster 1 262537831bSBen Peled - 2: fixed PLL at 1200 Mhz 272537831bSBen Peled - 3: MSS clock, derived from the fixed PLL 282537831bSBen Peled 292537831bSBen PeledRequired properties: 302537831bSBen Peled 312537831bSBen Peled - compatible: must be one of: 322537831bSBen Peled * "marvell,ap806-clock" 332537831bSBen Peled * "marvell,ap807-clock" 342537831bSBen Peled - #clock-cells: must be set to 1 352537831bSBen Peled 362537831bSBen PeledPinctrl: 372537831bSBen Peled-------- 382537831bSBen Peled 392537831bSBen PeledFor common binding part and usage, refer to 402537831bSBen PeledDocumentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt. 412537831bSBen Peled 422537831bSBen PeledRequired properties: 432537831bSBen Peled- compatible must be "marvell,ap806-pinctrl", 442537831bSBen Peled 452537831bSBen PeledAvailable mpp pins/groups and functions: 462537831bSBen PeledNote: brackets (x) are not part of the mpp name for marvell,function and given 472537831bSBen Peledonly for more detailed description in this document. 482537831bSBen Peled 492537831bSBen Peledname pins functions 502537831bSBen Peled================================================================================ 512537831bSBen Peledmpp0 0 gpio, sdio(clk), spi0(clk) 522537831bSBen Peledmpp1 1 gpio, sdio(cmd), spi0(miso) 532537831bSBen Peledmpp2 2 gpio, sdio(d0), spi0(mosi) 542537831bSBen Peledmpp3 3 gpio, sdio(d1), spi0(cs0n) 552537831bSBen Peledmpp4 4 gpio, sdio(d2), i2c0(sda) 562537831bSBen Peledmpp5 5 gpio, sdio(d3), i2c0(sdk) 572537831bSBen Peledmpp6 6 gpio, sdio(ds) 582537831bSBen Peledmpp7 7 gpio, sdio(d4), uart1(rxd) 592537831bSBen Peledmpp8 8 gpio, sdio(d5), uart1(txd) 602537831bSBen Peledmpp9 9 gpio, sdio(d6), spi0(cs1n) 612537831bSBen Peledmpp10 10 gpio, sdio(d7) 622537831bSBen Peledmpp11 11 gpio, uart0(txd) 632537831bSBen Peledmpp12 12 gpio, sdio(pw_off), sdio(hw_rst) 642537831bSBen Peledmpp13 13 gpio 652537831bSBen Peledmpp14 14 gpio 662537831bSBen Peledmpp15 15 gpio 672537831bSBen Peledmpp16 16 gpio 682537831bSBen Peledmpp17 17 gpio 692537831bSBen Peledmpp18 18 gpio 702537831bSBen Peledmpp19 19 gpio, uart0(rxd), sdio(pw_off) 712537831bSBen Peled 722537831bSBen PeledGPIO: 732537831bSBen Peled----- 742537831bSBen PeledFor common binding part and usage, refer to 752537831bSBen PeledDocumentation/devicetree/bindings/gpio/gpio-mvebu.txt. 762537831bSBen Peled 772537831bSBen PeledRequired properties: 782537831bSBen Peled 792537831bSBen Peled- compatible: "marvell,armada-8k-gpio" 802537831bSBen Peled 812537831bSBen Peled- offset: offset address inside the syscon block 822537831bSBen Peled 832537831bSBen PeledExample: 842537831bSBen Peledap_syscon: system-controller@6f4000 { 852537831bSBen Peled compatible = "syscon", "simple-mfd"; 862537831bSBen Peled reg = <0x6f4000 0x1000>; 872537831bSBen Peled 882537831bSBen Peled ap_clk: clock { 892537831bSBen Peled compatible = "marvell,ap806-clock"; 902537831bSBen Peled #clock-cells = <1>; 912537831bSBen Peled }; 922537831bSBen Peled 932537831bSBen Peled ap_pinctrl: pinctrl { 942537831bSBen Peled compatible = "marvell,ap806-pinctrl"; 952537831bSBen Peled }; 962537831bSBen Peled 972537831bSBen Peled ap_gpio: gpio { 982537831bSBen Peled compatible = "marvell,armada-8k-gpio"; 992537831bSBen Peled offset = <0x1040>; 1002537831bSBen Peled ngpios = <19>; 1012537831bSBen Peled gpio-controller; 1022537831bSBen Peled #gpio-cells = <2>; 1032537831bSBen Peled gpio-ranges = <&ap_pinctrl 0 0 19>; 1042537831bSBen Peled }; 1052537831bSBen Peled}; 1062537831bSBen Peled 1072537831bSBen PeledSYSTEM CONTROLLER 1 1082537831bSBen Peled=================== 1092537831bSBen Peled 1102537831bSBen PeledThermal: 1112537831bSBen Peled-------- 1122537831bSBen Peled 1132537831bSBen PeledFor common binding part and usage, refer to 1142537831bSBen PeledDocumentation/devicetree/bindings/thermal/thermal.txt 1152537831bSBen Peled 1162537831bSBen PeledThe thermal IP can probe the temperature all around the processor. It 1172537831bSBen Peledmay feature several channels, each of them wired to one sensor. 1182537831bSBen Peled 1192537831bSBen PeledIt is possible to setup an overheat interrupt by giving at least one 1202537831bSBen Peledcritical point to any subnode of the thermal-zone node. 1212537831bSBen Peled 1222537831bSBen PeledRequired properties: 1232537831bSBen Peled- compatible: must be one of: 1242537831bSBen Peled * marvell,armada-ap806-thermal 1252537831bSBen Peled- reg: register range associated with the thermal functions. 1262537831bSBen Peled 1272537831bSBen PeledOptional properties: 1282537831bSBen Peled- interrupts: overheat interrupt handle. Should point to line 18 of the 1292537831bSBen Peled SEI irqchip. See interrupt-controller/interrupts.txt 1302537831bSBen Peled- #thermal-sensor-cells: shall be <1> when thermal-zones subnodes refer 1312537831bSBen Peled to this IP and represents the channel ID. There is one sensor per 1322537831bSBen Peled channel. O refers to the thermal IP internal channel, while positive 1332537831bSBen Peled IDs refer to each CPU. 1342537831bSBen Peled 1352537831bSBen PeledExample: 1362537831bSBen Peledap_syscon1: system-controller@6f8000 { 1372537831bSBen Peled compatible = "syscon", "simple-mfd"; 1382537831bSBen Peled reg = <0x6f8000 0x1000>; 1392537831bSBen Peled 1402537831bSBen Peled ap_thermal: thermal-sensor@80 { 1412537831bSBen Peled compatible = "marvell,armada-ap806-thermal"; 1422537831bSBen Peled reg = <0x80 0x10>; 1432537831bSBen Peled interrupt-parent = <&sei>; 1442537831bSBen Peled interrupts = <18>; 1452537831bSBen Peled #thermal-sensor-cells = <1>; 1462537831bSBen Peled }; 1472537831bSBen Peled}; 1482537831bSBen Peled 1492537831bSBen PeledCluster clocks: 1502537831bSBen Peled--------------- 1512537831bSBen Peled 1522537831bSBen PeledDevice Tree Clock bindings for cluster clock of Marvell 1532537831bSBen PeledAP806/AP807. Each cluster contain up to 2 CPUs running at the same 1542537831bSBen Peledfrequency. 1552537831bSBen Peled 1562537831bSBen PeledRequired properties: 1572537831bSBen Peled - compatible: must be one of: 1582537831bSBen Peled * "marvell,ap806-cpu-clock" 1592537831bSBen Peled * "marvell,ap807-cpu-clock" 1602537831bSBen Peled- #clock-cells : should be set to 1. 1612537831bSBen Peled 1622537831bSBen Peled- clocks : shall be the input parent clock(s) phandle for the clock 1632537831bSBen Peled (one per cluster) 1642537831bSBen Peled 1652537831bSBen Peled- reg: register range associated with the cluster clocks 1662537831bSBen Peled 1672537831bSBen Peledap_syscon1: system-controller@6f8000 { 1682537831bSBen Peled compatible = "marvell,armada-ap806-syscon1", "syscon", "simple-mfd"; 1692537831bSBen Peled reg = <0x6f8000 0x1000>; 1702537831bSBen Peled 1712537831bSBen Peled cpu_clk: clock-cpu@278 { 1722537831bSBen Peled compatible = "marvell,ap806-cpu-clock"; 1732537831bSBen Peled clocks = <&ap_clk 0>, <&ap_clk 1>; 1742537831bSBen Peled #clock-cells = <1>; 1752537831bSBen Peled reg = <0x278 0xa30>; 1762537831bSBen Peled }; 1772537831bSBen Peled}; 178