]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - Documentation/devicetree/bindings/arm/marvell/cp110-system-controller0.txt
Merge tag 'renesas-fixes4-for-v4.13' of https://git.kernel.org/pub/scm/linux/kernel...
[karo-tx-linux.git] / Documentation / devicetree / bindings / arm / marvell / cp110-system-controller0.txt
1 Marvell Armada CP110 System Controller 0
2 ========================================
3
4 The CP110 is one of the two core HW blocks of the Marvell Armada 7K/8K
5 SoCs. It contains two sets of system control registers, System
6 Controller 0 and System Controller 1. This Device Tree binding allows
7 to describe the first system controller, which provides registers to
8 configure various aspects of the SoC.
9
10 For the top level node:
11  - compatible: must be: "syscon", "simple-mfd";
12  - reg: register area of the CP110 system controller 0
13
14 Clocks:
15 -------
16
17 The Device Tree node representing this System Controller 0 provides a
18 number of clocks:
19
20  - a set of core clocks
21  - a set of gatable clocks
22
23 Those clocks can be referenced by other Device Tree nodes using two
24 cells:
25  - The first cell must be 0 or 1. 0 for the core clocks and 1 for the
26    gatable clocks.
27  - The second cell identifies the particular core clock or gatable
28    clocks.
29
30 The following clocks are available:
31  - Core clocks
32    - 0 0        APLL
33    - 0 1        PPv2 core
34    - 0 2        EIP
35    - 0 3        Core
36    - 0 4        NAND core
37    - 0 5        SDIO core
38  - Gatable clocks
39    - 1 0        Audio
40    - 1 1        Comm Unit
41    - 1 2        NAND
42    - 1 3        PPv2
43    - 1 4        SDIO
44    - 1 5        MG Domain
45    - 1 6        MG Core
46    - 1 7        XOR1
47    - 1 8        XOR0
48    - 1 9        GOP DP
49    - 1 11       PCIe x1 0
50    - 1 12       PCIe x1 1
51    - 1 13       PCIe x4
52    - 1 14       PCIe / XOR
53    - 1 15       SATA
54    - 1 16       SATA USB
55    - 1 17       Main
56    - 1 18       SD/MMC/GOP
57    - 1 21       Slow IO (SPI, NOR, BootROM, I2C, UART)
58    - 1 22       USB3H0
59    - 1 23       USB3H1
60    - 1 24       USB3 Device
61    - 1 25       EIP150
62    - 1 26       EIP197
63
64 Required properties:
65
66  - compatible: must be:
67      "marvell,cp110-clock"
68  - #clock-cells: must be set to 2
69
70 Pinctrl:
71 --------
72
73 For common binding part and usage, refer to the file
74 Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt.
75
76 Required properties:
77
78 - compatible: "marvell,armada-7k-pinctrl",
79   "marvell,armada-8k-cpm-pinctrl" or "marvell,armada-8k-cps-pinctrl"
80   depending on the specific variant of the SoC being used.
81
82 Available mpp pins/groups and functions:
83 Note: brackets (x) are not part of the mpp name for marvell,function and given
84 only for more detailed description in this document.
85
86 name    pins    functions
87 ================================================================================
88 mpp0    0       gpio, dev(ale1), au(i2smclk), ge0(rxd3), tdm(pclk), ptp(pulse), mss_i2c(sda), uart0(rxd), sata0(present_act), ge(mdio)
89 mpp1    1       gpio, dev(ale0), au(i2sdo_spdifo), ge0(rxd2), tdm(drx), ptp(clk), mss_i2c(sck), uart0(txd), sata1(present_act), ge(mdc)
90 mpp2    2       gpio, dev(ad15), au(i2sextclk), ge0(rxd1), tdm(dtx), mss_uart(rxd), ptp(pclk_out), i2c1(sck), uart1(rxd), sata0(present_act), xg(mdc)
91 mpp3    3       gpio, dev(ad14), au(i2slrclk), ge0(rxd0), tdm(fsync), mss_uart(txd), pcie(rstoutn), i2c1(sda), uart1(txd), sata1(present_act), xg(mdio)
92 mpp4    4       gpio, dev(ad13), au(i2sbclk), ge0(rxctl), tdm(rstn), mss_uart(rxd), uart1(cts), pcie0(clkreq), uart3(rxd), ge(mdc)
93 mpp5    5       gpio, dev(ad12), au(i2sdi), ge0(rxclk), tdm(intn), mss_uart(txd), uart1(rts), pcie1(clkreq), uart3(txd), ge(mdio)
94 mpp6    6       gpio, dev(ad11), ge0(txd3), spi0(csn2), au(i2sextclk), sata1(present_act), pcie2(clkreq), uart0(rxd), ptp(pulse)
95 mpp7    7       gpio, dev(ad10), ge0(txd2), spi0(csn1), spi1(csn1), sata0(present_act), led(data), uart0(txd), ptp(clk)
96 mpp8    8       gpio, dev(ad9), ge0(txd1), spi0(csn0), spi1(csn0), uart0(cts), led(stb), uart2(rxd), ptp(pclk_out), synce1(clk)
97 mpp9    9       gpio, dev(ad8), ge0(txd0), spi0(mosi), spi1(mosi), pcie(rstoutn), synce2(clk)
98 mpp10   10      gpio, dev(readyn), ge0(txctl), spi0(miso), spi1(miso), uart0(cts), sata1(present_act)
99 mpp11   11      gpio, dev(wen1), ge0(txclkout), spi0(clk), spi1(clk), uart0(rts), led(clk), uart2(txd), sata0(present_act)
100 mpp12   12      gpio, dev(clk_out), nf(rbn1), spi1(csn1), ge0(rxclk)
101 mpp13   13      gpio, dev(burstn), nf(rbn0), spi1(miso), ge0(rxctl), mss_spi(miso)
102 mpp14   14      gpio, dev(bootcsn), dev(csn0), spi1(csn0), spi0(csn3), au(i2sextclk), spi0(miso), sata0(present_act), mss_spi(csn)
103 mpp15   15      gpio, dev(ad7), spi1(mosi), spi0(mosi), mss_spi(mosi), ptp(pulse_cp2cp)
104 mpp16   16      gpio, dev(ad6), spi1(clk), mss_spi(clk)
105 mpp17   17      gpio, dev(ad5), ge0(txd3)
106 mpp18   18      gpio, dev(ad4), ge0(txd2), ptp(clk_cp2cp)
107 mpp19   19      gpio, dev(ad3), ge0(txd1), wakeup(out_cp2cp)
108 mpp20   20      gpio, dev(ad2), ge0(txd0)
109 mpp21   21      gpio, dev(ad1), ge0(txctl), sei(in_cp2cp)
110 mpp22   22      gpio, dev(ad0), ge0(txclkout), wakeup(in_cp2cp)
111 mpp23   23      gpio, dev(a1), au(i2smclk), link(rd_in_cp2cp)
112 mpp24   24      gpio, dev(a0), au(i2slrclk)
113 mpp25   25      gpio, dev(oen), au(i2sdo_spdifo)
114 mpp26   26      gpio, dev(wen0), au(i2sbclk)
115 mpp27   27      gpio, dev(csn0), spi1(miso), mss_gpio4, ge0(rxd3), spi0(csn4), ge(mdio), sata0(present_act), uart0(rts), rei(in_cp2cp)
116 mpp28   28      gpio, dev(csn1), spi1(csn0), mss_gpio5, ge0(rxd2), spi0(csn5), pcie2(clkreq), ptp(pulse), ge(mdc), sata1(present_act), uart0(cts), led(data)
117 mpp29   29      gpio, dev(csn2), spi1(mosi), mss_gpio6, ge0(rxd1), spi0(csn6), pcie1(clkreq), ptp(clk), mss_i2c(sda), sata0(present_act), uart0(rxd), led(stb)
118 mpp30   30      gpio, dev(csn3), spi1(clk), mss_gpio7, ge0(rxd0), spi0(csn7), pcie0(clkreq), ptp(pclk_out), mss_i2c(sck), sata1(present_act), uart0(txd), led(clk)
119 mpp31   31      gpio, dev(a2), mss_gpio4, pcie(rstoutn), ge(mdc)
120 mpp32   32      gpio, mii(col), mii(txerr), mss_spi(miso), tdm(drx), au(i2sextclk), au(i2sdi), ge(mdio), sdio(v18_en), pcie1(clkreq), mss_gpio0
121 mpp33   33      gpio, mii(txclk), sdio(pwr10), mss_spi(csn), tdm(fsync), au(i2smclk), sdio(bus_pwr), xg(mdio), pcie2(clkreq), mss_gpio1
122 mpp34   34      gpio, mii(rxerr), sdio(pwr11), mss_spi(mosi), tdm(dtx), au(i2slrclk), sdio(wr_protect), ge(mdc), pcie0(clkreq), mss_gpio2
123 mpp35   35      gpio, sata1(present_act), i2c1(sda), mss_spi(clk), tdm(pclk), au(i2sdo_spdifo), sdio(card_detect), xg(mdio), ge(mdio), pcie(rstoutn), mss_gpio3
124 mpp36   36      gpio, synce2(clk), i2c1(sck), ptp(clk), synce1(clk), au(i2sbclk), sata0(present_act), xg(mdc), ge(mdc), pcie2(clkreq), mss_gpio5
125 mpp37   37      gpio, uart2(rxd), i2c0(sck), ptp(pclk_out), tdm(intn), mss_i2c(sck), sata1(present_act), ge(mdc), xg(mdc), pcie1(clkreq), mss_gpio6, link(rd_out_cp2cp)
126 mpp38   38      gpio, uart2(txd), i2c0(sda), ptp(pulse), tdm(rstn), mss_i2c(sda), sata0(present_act), ge(mdio), xg(mdio), au(i2sextclk), mss_gpio7, ptp(pulse_cp2cp)
127 mpp39   39      gpio, sdio(wr_protect), au(i2sbclk), ptp(clk), spi0(csn1), sata1(present_act), mss_gpio0
128 mpp40   40      gpio, sdio(pwr11), synce1(clk), mss_i2c(sda), au(i2sdo_spdifo), ptp(pclk_out), spi0(clk), uart1(txd), ge(mdio), sata0(present_act), mss_gpio1
129 mpp41   41      gpio, sdio(pwr10), sdio(bus_pwr), mss_i2c(sck), au(i2slrclk), ptp(pulse), spi0(mosi), uart1(rxd), ge(mdc), sata1(present_act), mss_gpio2, rei(out_cp2cp)
130 mpp42   42      gpio, sdio(v18_en), sdio(wr_protect), synce2(clk), au(i2smclk), mss_uart(txd), spi0(miso), uart1(cts), xg(mdc), sata0(present_act), mss_gpio4
131 mpp43   43      gpio, sdio(card_detect), synce1(clk), au(i2sextclk), mss_uart(rxd), spi0(csn0), uart1(rts), xg(mdio), sata1(present_act), mss_gpio5, wakeup(out_cp2cp)
132 mpp44   44      gpio, ge1(txd2), uart0(rts), ptp(clk_cp2cp)
133 mpp45   45      gpio, ge1(txd3), uart0(txd), pcie(rstoutn)
134 mpp46   46      gpio, ge1(txd1), uart1(rts)
135 mpp47   47      gpio, ge1(txd0), spi1(clk), uart1(txd), ge(mdc)
136 mpp48   48      gpio, ge1(txctl_txen), spi1(mosi), xg(mdc), wakeup(in_cp2cp)
137 mpp49   49      gpio, ge1(txclkout), mii(crs), spi1(miso), uart1(rxd), ge(mdio), pcie0(clkreq), sdio(v18_en), sei(out_cp2cp)
138 mpp50   50      gpio, ge1(rxclk), mss_i2c(sda), spi1(csn0), uart2(txd), uart0(rxd), xg(mdio), sdio(pwr11)
139 mpp51   51      gpio, ge1(rxd0), mss_i2c(sck), spi1(csn1), uart2(rxd), uart0(cts), sdio(pwr10)
140 mpp52   52      gpio, ge1(rxd1), synce1(clk), synce2(clk), spi1(csn2), uart1(cts), led(clk), pcie(rstoutn), pcie0(clkreq)
141 mpp53   53      gpio, ge1(rxd2), ptp(clk), spi1(csn3), uart1(rxd), led(stb), sdio(led)
142 mpp54   54      gpio, ge1(rxd3), synce2(clk), ptp(pclk_out), synce1(clk), led(data), sdio(hw_rst), sdio(wr_protect)
143 mpp55   55      gpio, ge1(rxctl_rxdv), ptp(pulse), sdio(led), sdio(card_detect)
144 mpp56   56      gpio, tdm(drx), au(i2sdo_spdifo), spi0(clk), uart1(rxd), sata1(present_act), sdio(clk)
145 mpp57   57      gpio, mss_i2c(sda), ptp(pclk_out), tdm(intn), au(i2sbclk), spi0(mosi), uart1(txd), sata0(present_act), sdio(cmd)
146 mpp58   58      gpio, mss_i2c(sck), ptp(clk), tdm(rstn), au(i2sdi), spi0(miso), uart1(cts), led(clk), sdio(d0)
147 mpp59   59      gpio, mss_gpio7, synce2(clk), tdm(fsync), au(i2slrclk), spi0(csn0), uart0(cts), led(stb), uart1(txd), sdio(d1)
148 mpp60   60      gpio, mss_gpio6, ptp(pulse), tdm(dtx), au(i2smclk), spi0(csn1), uart0(rts), led(data), uart1(rxd), sdio(d2)
149 mpp61   61      gpio, mss_gpio5, ptp(clk), tdm(pclk), au(i2sextclk), spi0(csn2), uart0(txd), uart2(txd), sata1(present_act), ge(mdio), sdio(d3)
150 mpp62   62      gpio, mss_gpio4, synce1(clk), ptp(pclk_out), sata1(present_act), spi0(csn3), uart0(rxd), uart2(rxd), sata0(present_act), ge(mdc)
151
152 GPIO:
153 -----
154
155 For common binding part and usage, refer to
156 Documentation/devicetree/bindings/gpio/gpio-mvebu.txt.
157
158 Required properties:
159
160 - compatible: "marvell,armada-8k-gpio"
161
162 - offset: offset address inside the syscon block
163
164 Example:
165
166 cpm_syscon0: system-controller@440000 {
167         compatible = "syscon", "simple-mfd";
168         reg = <0x440000 0x1000>;
169
170         cpm_clk: clock {
171                 compatible = "marvell,cp110-clock";
172                 #clock-cells = <2>;
173         };
174
175         cpm_pinctrl: pinctrl {
176                 compatible = "marvell,armada-8k-cpm-pinctrl";
177         };
178
179         cpm_gpio1: gpio@100 {
180                 compatible = "marvell,armada-8k-gpio";
181                 offset = <0x100>;
182                 ngpios = <32>;
183                 gpio-controller;
184                 #gpio-cells = <2>;
185                 gpio-ranges = <&cpm_pinctrl 0 0 32>;
186                 status = "disabled";
187         };
188
189 };