Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

* Marvell Kirkwood SoC pinctrl driver for mpp

Please refer to marvell,mvebu-pinctrl.txt in this directory for common binding
part and usage.

Required properties:
- compatible: "marvell,88f6180-pinctrl",
              "marvell,88f6190-pinctrl", "marvell,88f6192-pinctrl",
              "marvell,88f6281-pinctrl", "marvell,88f6282-pinctrl",
              "marvell,98dx4122-pinctrl", "marvell,98dx1135-pinctrl"
- reg: register specifier of MPP registers

This driver supports all kirkwood variants, i.e. 88f6180, 88f619x, and 88f628x.
It also support the 88f6281-based variant in the 98dx412x Bobcat SoCs.

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.

* Marvell Kirkwood 88f6180

name          pins     functions
================================================================================
mpp0          0        gpio, nand(io2), spi(cs)
mpp1          1        gpo, nand(io3), spi(mosi)
mpp2          2        gpo, nand(io4), spi(sck)
mpp3          3        gpo, nand(io5), spi(miso)
mpp4          4        gpio, nand(io6), uart0(rxd), ptp(clk)
mpp5          5        gpo, nand(io7), uart0(txd), ptp(trig)
mpp6          6        sysrst(out), spi(mosi), ptp(trig)
mpp7          7        gpo, pex(rsto), spi(cs), ptp(trig)
mpp8          8        gpio, twsi0(sda), uart0(rts), uart1(rts), ptp(clk),
                       mii(col)
mpp9          9        gpio, twsi(sck), uart0(cts), uart1(cts), ptp(evreq),
                       mii(crs)
mpp10         10       gpo, spi(sck), uart0(txd), ptp(trig)
mpp11         11       gpio, spi(miso), uart0(rxd), ptp(clk), ptp-1(evreq),
                       ptp-2(trig)
mpp12         12       gpo, sdio(clk)
mpp13         13       gpio, sdio(cmd), uart1(txd)
mpp14         14       gpio, sdio(d0), uart1(rxd), mii(col)
mpp15         15       gpio, sdio(d1), uart0(rts), uart1(txd)
mpp16         16       gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs)
mpp17         17       gpio, sdio(d3)
mpp18         18       gpo, nand(io0)
mpp19         19       gpo, nand(io1)
mpp35         35       gpio, mii(rxerr)
mpp36         36       gpio, audio(spdifi)
mpp37         37       gpio, audio(spdifo)
mpp38         38       gpio, audio(rmclk)
mpp39         39       gpio, audio(bclk)
mpp40         40       gpio, audio(sdo)
mpp41         41       gpio, audio(lrclk)
mpp42         42       gpio, audio(mclk)
mpp43         43       gpio, audio(sdi)
mpp44         44       gpio, audio(extclk)

* Marvell Kirkwood 88f6190

name          pins     functions
================================================================================
mpp0          0        gpio, nand(io2), spi(cs)
mpp1          1        gpo, nand(io3), spi(mosi)
mpp2          2        gpo, nand(io4), spi(sck)
mpp3          3        gpo, nand(io5), spi(miso)
mpp4          4        gpio, nand(io6), uart0(rxd), ptp(clk)
mpp5          5        gpo, nand(io7), uart0(txd), ptp(trig), sata0(act)
mpp6          6        sysrst(out), spi(mosi), ptp(trig)
mpp7          7        gpo, pex(rsto), spi(cs), ptp(trig)
mpp8          8        gpio, twsi0(sda), uart0(rts), uart1(rts), ptp(clk),
                       mii(col), mii-1(rxerr)
mpp9          9        gpio, twsi(sck), uart0(cts), uart1(cts), ptp(evreq),
                       mii(crs), sata0(prsnt)
mpp10         10       gpo, spi(sck), uart0(txd), ptp(trig)
mpp11         11       gpio, spi(miso), uart0(rxd), ptp(clk), ptp-1(evreq),
                       ptp-2(trig), sata0(act)
mpp12         12       gpo, sdio(clk)
mpp13         13       gpio, sdio(cmd), uart1(txd)
mpp14         14       gpio, sdio(d0), uart1(rxd), mii(col)
mpp15         15       gpio, sdio(d1), uart0(rts), uart1(txd), sata0(act)
mpp16         16       gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs)
mpp17         17       gpio, sdio(d3), sata0(prsnt)
mpp18         18       gpo, nand(io0)
mpp19         19       gpo, nand(io1)
mpp20         20       gpio, ge1(txd0)
mpp21         21       gpio, ge1(txd1), sata0(act)
mpp22         22       gpio, ge1(txd2)
mpp23         23       gpio, ge1(txd3), sata0(prsnt)
mpp24         24       gpio, ge1(rxd0)
mpp25         25       gpio, ge1(rxd1)
mpp26         26       gpio, ge1(rxd2)
mpp27         27       gpio, ge1(rxd3)
mpp28         28       gpio, ge1(col)
mpp29         29       gpio, ge1(txclk)
mpp30         30       gpio, ge1(rxclk)
mpp31         31       gpio, ge1(rxclk)
mpp32         32       gpio, ge1(txclko)
mpp33         33       gpo, ge1(txclk)
mpp34         34       gpio, ge1(txen)
mpp35         35       gpio, ge1(rxerr), sata0(act), mii(rxerr)

* Marvell Kirkwood 88f6192

name          pins     functions
================================================================================
mpp0          0        gpio, nand(io2), spi(cs)
mpp1          1        gpo, nand(io3), spi(mosi)
mpp2          2        gpo, nand(io4), spi(sck)
mpp3          3        gpo, nand(io5), spi(miso)
mpp4          4        gpio, nand(io6), uart0(rxd), ptp(clk), sata1(act)
mpp5          5        gpo, nand(io7), uart0(txd), ptp(trig), sata0(act)
mpp6          6        sysrst(out), spi(mosi), ptp(trig)
mpp7          7        gpo, pex(rsto), spi(cs), ptp(trig)
mpp8          8        gpio, twsi0(sda), uart0(rts), uart1(rts), ptp(clk),
                       mii(col), mii-1(rxerr), sata1(prsnt)
mpp9          9        gpio, twsi(sck), uart0(cts), uart1(cts), ptp(evreq),
                       mii(crs), sata0(prsnt)
mpp10         10       gpo, spi(sck), uart0(txd), ptp(trig), sata1(act)
mpp11         11       gpio, spi(miso), uart0(rxd), ptp(clk), ptp-1(evreq),
                       ptp-2(trig), sata0(act)
mpp12         12       gpo, sdio(clk)
mpp13         13       gpio, sdio(cmd), uart1(txd)
mpp14         14       gpio, sdio(d0), uart1(rxd), mii(col), sata1(prsnt)
mpp15         15       gpio, sdio(d1), uart0(rts), uart1(txd), sata0(act)
mpp16         16       gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs),
                       sata1(act)
mpp17         17       gpio, sdio(d3), sata0(prsnt)
mpp18         18       gpo, nand(io0)
mpp19         19       gpo, nand(io1)
mpp20         20       gpio, ge1(txd0), ts(mp0), tdm(tx0ql), audio(spdifi),
                       sata1(act)
mpp21         21       gpio, ge1(txd1), sata0(act), ts(mp1), tdm(rx0ql),
                       audio(spdifo)
mpp22         22       gpio, ge1(txd2), ts(mp2), tdm(tx2ql), audio(rmclk),
                       sata1(prsnt)
mpp23         23       gpio, ge1(txd3), sata0(prsnt), ts(mp3), tdm(rx2ql),
                       audio(bclk)
mpp24         24       gpio, ge1(rxd0), ts(mp4), tdm(spi-cs0), audio(sdo)
mpp25         25       gpio, ge1(rxd1), ts(mp5), tdm(spi-sck), audio(lrclk)
mpp26         26       gpio, ge1(rxd2), ts(mp6), tdm(spi-miso), audio(mclk)
mpp27         27       gpio, ge1(rxd3), ts(mp7), tdm(spi-mosi), audio(sdi)
mpp28         28       gpio, ge1(col), ts(mp8), tdm(int), audio(extclk)
mpp29         29       gpio, ge1(txclk), ts(mp9), tdm(rst)
mpp30         30       gpio, ge1(rxclk), ts(mp10), tdm(pclk)
mpp31         31       gpio, ge1(rxclk), ts(mp11), tdm(fs)
mpp32         32       gpio, ge1(txclko), ts(mp12), tdm(drx)
mpp33         33       gpo, ge1(txclk), tdm(drx)
mpp34         34       gpio, ge1(txen), tdm(spi-cs1)
mpp35         35       gpio, ge1(rxerr), sata0(act), mii(rxerr), tdm(tx0ql)

* Marvell Kirkwood 88f6281

name          pins     functions
================================================================================
mpp0          0        gpio, nand(io2), spi(cs)
mpp1          1        gpo, nand(io3), spi(mosi)
mpp2          2        gpo, nand(io4), spi(sck)
mpp3          3        gpo, nand(io5), spi(miso)
mpp4          4        gpio, nand(io6), uart0(rxd), ptp(clk), sata1(act)
mpp5          5        gpo, nand(io7), uart0(txd), ptp(trig), sata0(act)
mpp6          6        sysrst(out), spi(mosi), ptp(trig)
mpp7          7        gpo, pex(rsto), spi(cs), ptp(trig)
mpp8          8        gpio, twsi0(sda), uart0(rts), uart1(rts), ptp(clk),
                       mii(col), mii-1(rxerr), sata1(prsnt)
mpp9          9        gpio, twsi(sck), uart0(cts), uart1(cts), ptp(evreq),
                       mii(crs), sata0(prsnt)
mpp10         10       gpo, spi(sck), uart0(txd), ptp(trig), sata1(act)
mpp11         11       gpio, spi(miso), uart0(rxd), ptp(clk), ptp-1(evreq),
                       ptp-2(trig), sata0(act)
mpp12         12       gpio, sdio(clk)
mpp13         13       gpio, sdio(cmd), uart1(txd)
mpp14         14       gpio, sdio(d0), uart1(rxd), mii(col), sata1(prsnt)
mpp15         15       gpio, sdio(d1), uart0(rts), uart1(txd), sata0(act)
mpp16         16       gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs),
                       sata1(act)
mpp17         17       gpio, sdio(d3), sata0(prsnt)
mpp18         18       gpo, nand(io0)
mpp19         19       gpo, nand(io1)
mpp20         20       gpio, ge1(txd0), ts(mp0), tdm(tx0ql), audio(spdifi),
                       sata1(act)
mpp21         21       gpio, ge1(txd1), sata0(act), ts(mp1), tdm(rx0ql),
                       audio(spdifo)
mpp22         22       gpio, ge1(txd2), ts(mp2), tdm(tx2ql), audio(rmclk),
                       sata1(prsnt)
mpp23         23       gpio, ge1(txd3), sata0(prsnt), ts(mp3), tdm(rx2ql),
                       audio(bclk)
mpp24         24       gpio, ge1(rxd0), ts(mp4), tdm(spi-cs0), audio(sdo)
mpp25         25       gpio, ge1(rxd1), ts(mp5), tdm(spi-sck), audio(lrclk)
mpp26         26       gpio, ge1(rxd2), ts(mp6), tdm(spi-miso), audio(mclk)
mpp27         27       gpio, ge1(rxd3), ts(mp7), tdm(spi-mosi), audio(sdi)
mpp28         28       gpio, ge1(col), ts(mp8), tdm(int), audio(extclk)
mpp29         29       gpio, ge1(txclk), ts(mp9), tdm(rst)
mpp30         30       gpio, ge1(rxclk), ts(mp10), tdm(pclk)
mpp31         31       gpio, ge1(rxclk), ts(mp11), tdm(fs)
mpp32         32       gpio, ge1(txclko), ts(mp12), tdm(drx)
mpp33         33       gpo, ge1(txclk), tdm(drx)
mpp34         34       gpio, ge1(txen), tdm(spi-cs1), sata1(act)
mpp35         35       gpio, ge1(rxerr), sata0(act), mii(rxerr), tdm(tx0ql)
mpp36         36       gpio, ts(mp0), tdm(spi-cs1), audio(spdifi)
mpp37         37       gpio, ts(mp1), tdm(tx2ql), audio(spdifo)
mpp38         38       gpio, ts(mp2), tdm(rx2ql), audio(rmclk)
mpp39         39       gpio, ts(mp3), tdm(spi-cs0), audio(bclk)
mpp40         40       gpio, ts(mp4), tdm(spi-sck), audio(sdo)
mpp41         41       gpio, ts(mp5), tdm(spi-miso), audio(lrclk)
mpp42         42       gpio, ts(mp6), tdm(spi-mosi), audio(mclk)
mpp43         43       gpio, ts(mp7), tdm(int), audio(sdi)
mpp44         44       gpio, ts(mp8), tdm(rst), audio(extclk)
mpp45         45       gpio, ts(mp9), tdm(pclk)
mpp46         46       gpio, ts(mp10), tdm(fs)
mpp47         47       gpio, ts(mp11), tdm(drx)
mpp48         48       gpio, ts(mp12), tdm(dtx)
mpp49         49       gpio, ts(mp9), tdm(rx0ql), ptp(clk)

* Marvell Kirkwood 88f6282

name          pins     functions
================================================================================
mpp0          0        gpio, nand(io2), spi(cs)
mpp1          1        gpo, nand(io3), spi(mosi)
mpp2          2        gpo, nand(io4), spi(sck)
mpp3          3        gpo, nand(io5), spi(miso)
mpp4          4        gpio, nand(io6), uart0(rxd), sata1(act), lcd(hsync)
mpp5          5        gpo, nand(io7), uart0(txd), sata0(act), lcd(vsync)
mpp6          6        sysrst(out), spi(mosi)
mpp7          7        gpo, spi(cs), lcd(pwm)
mpp8          8        gpio, twsi0(sda), uart0(rts), uart1(rts), mii(col),
                       mii-1(rxerr), sata1(prsnt)
mpp9          9        gpio, twsi(sck), uart0(cts), uart1(cts), mii(crs),
                       sata0(prsnt)
mpp10         10       gpo, spi(sck), uart0(txd), sata1(act)
mpp11         11       gpio, spi(miso), uart0(rxd), sata0(act)
mpp12         12       gpo, sdio(clk), audio(spdifo), spi(mosi), twsi(sda)
mpp13         13       gpio, sdio(cmd), uart1(txd), audio(rmclk), lcd(pwm)
mpp14         14       gpio, sdio(d0), uart1(rxd), mii(col), sata1(prsnt),
                       audio(spdifi), audio-1(sdi)
mpp15         15       gpio, sdio(d1), uart0(rts), uart1(txd), sata0(act),
                       spi(cs)
mpp16         16       gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs),
                       sata1(act), lcd(extclk)
mpp17         17       gpio, sdio(d3), sata0(prsnt), sata1(act), twsi1(sck)
mpp18         18       gpo, nand(io0), pex(clkreq)
mpp19         19       gpo, nand(io1)
mpp20         20       gpio, ge1(txd0), ts(mp0), tdm(tx0ql), audio(spdifi),
                       sata1(act), lcd(d0)
mpp21         21       gpio, ge1(txd1), sata0(act), ts(mp1), tdm(rx0ql),
                       audio(spdifo), lcd(d1)
mpp22         22       gpio, ge1(txd2), ts(mp2), tdm(tx2ql), audio(rmclk),
                       sata1(prsnt), lcd(d2)
mpp23         23       gpio, ge1(txd3), sata0(prsnt), ts(mp3), tdm(rx2ql),
                       audio(bclk), lcd(d3)
mpp24         24       gpio, ge1(rxd0), ts(mp4), tdm(spi-cs0), audio(sdo),
                       lcd(d4)
mpp25         25       gpio, ge1(rxd1), ts(mp5), tdm(spi-sck), audio(lrclk),
                       lcd(d5)
mpp26         26       gpio, ge1(rxd2), ts(mp6), tdm(spi-miso), audio(mclk),
                       lcd(d6)
mpp27         27       gpio, ge1(rxd3), ts(mp7), tdm(spi-mosi), audio(sdi),
                       lcd(d7)
mpp28         28       gpio, ge1(col), ts(mp8), tdm(int), audio(extclk),
                       lcd(d8)
mpp29         29       gpio, ge1(txclk), ts(mp9), tdm(rst), lcd(d9)
mpp30         30       gpio, ge1(rxclk), ts(mp10), tdm(pclk), lcd(d10)
mpp31         31       gpio, ge1(rxclk), ts(mp11), tdm(fs), lcd(d11)
mpp32         32       gpio, ge1(txclko), ts(mp12), tdm(drx), lcd(d12)
mpp33         33       gpo, ge1(txclk), tdm(drx), lcd(d13)
mpp34         34       gpio, ge1(txen), tdm(spi-cs1), sata1(act), lcd(d14)
mpp35         35       gpio, ge1(rxerr), sata0(act), mii(rxerr), tdm(tx0ql),
                       lcd(d15)
mpp36         36       gpio, ts(mp0), tdm(spi-cs1), audio(spdifi), twsi1(sda)
mpp37         37       gpio, ts(mp1), tdm(tx2ql), audio(spdifo), twsi1(sck)
mpp38         38       gpio, ts(mp2), tdm(rx2ql), audio(rmclk), lcd(d18)
mpp39         39       gpio, ts(mp3), tdm(spi-cs0), audio(bclk), lcd(d19)
mpp40         40       gpio, ts(mp4), tdm(spi-sck), audio(sdo), lcd(d20)
mpp41         41       gpio, ts(mp5), tdm(spi-miso), audio(lrclk), lcd(d21)
mpp42         42       gpio, ts(mp6), tdm(spi-mosi), audio(mclk), lcd(d22)
mpp43         43       gpio, ts(mp7), tdm(int), audio(sdi), lcd(d23)
mpp44         44       gpio, ts(mp8), tdm(rst), audio(extclk), lcd(clk)
mpp45         45       gpio, ts(mp9), tdm(pclk), lcd(e)
mpp46         46       gpio, ts(mp10), tdm(fs), lcd(hsync)
mpp47         47       gpio, ts(mp11), tdm(drx), lcd(vsync)
mpp48         48       gpio, ts(mp12), tdm(dtx), lcd(d16)
mpp49         49       gpo, tdm(rx0ql), pex(clkreq), lcd(d17)

* Marvell Bobcat 98dx4122

name          pins     functions
================================================================================
mpp0          0        gpio, nand(io2), spi(cs)
mpp1          1        gpo, nand(io3), spi(mosi)
mpp2          2        gpo, nand(io4), spi(sck)
mpp3          3        gpo, nand(io5), spi(miso)
mpp4          4        gpio, nand(io6), uart0(rxd)
mpp5          5        gpo, nand(io7), uart0(txd)
mpp6          6        sysrst(out), spi(mosi)
mpp7          7        gpo, pex(rsto), spi(cs)
mpp8          8        gpio, twsi0(sda), uart0(rts), uart1(rts)
mpp9          9        gpio, twsi(sck), uart0(cts), uart1(cts)
mpp10         10       gpo, spi(sck), uart0(txd)
mpp11         11       gpio, spi(miso), uart0(rxd)
mpp13         13       gpio, uart1(txd)
mpp14         14       gpio, uart1(rxd)
mpp15         15       gpio, uart0(rts)
mpp16         16       gpio, uart0(cts)
mpp18         18       gpo, nand(io0)
mpp19         19       gpo, nand(io1)
mpp34         34       gpio
mpp35         35       gpio
mpp36         36       gpio
mpp37         37       gpio
mpp38         38       gpio
mpp39         39       gpio
mpp40         40       gpio
mpp41         41       gpio
mpp42         42       gpio
mpp43         43       gpio
mpp44         44       gpio
mpp45         45       gpio
mpp49         49       gpio

* Marvell Poncat2 98dx1135

name          pins     functions
================================================================================

mpp0          0        gpio, nand(io2), spi(cs)
mpp1          1        gpo, nand(io3), spi(mosi)
mpp2          2        gpo, nand(io4), spi(sck)
mpp3          3        gpo, nand(io5), spi(miso)
mpp4          4        gpio, nand(io6), uart0(rxd)
mpp5          5        gpo, nand(io7), uart0(txd)
mpp6          6        sysrst(out)
mpp7          7        gpo, spi(cs)
mpp8          8        gpio, twsi0(sda), uart1(rts)
mpp9          9        gpio, twsi(sck), uart1(cts)
mpp10         10       gpo, uart0(txd)
mpp11         11       gpio, uart0(rxd)
mpp13         13       gpio, uart1(txd)
mpp14         14       gpio, uart1(rxd)
mpp15         15       gpio, uart0(rts)
mpp16         16       gpio, uart0(cts)
mpp17         17       gpio, nand(cle)
mpp18         18       gpo, nand(io0)
mpp19         19       gpo, nand(io1)
mpp20         20       gpio
mpp21         21       gpio
mpp22         22       gpio
mpp23         23       gpio
mpp24         24       gpio
mpp25         25       gpio
mpp26         26       gpio
mpp27         27       gpio
mpp28         28       gpio, nand(ren)
mpp29         29       gpio, nand(wen)
mpp30         30       gpio
mpp31         31       gpio
mpp32         32       gpio
mpp33         33       gpio
mpp34         34       gpio, nand(ale)
mpp35         35       gpio, nand(cen)