xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/marvell,dove-pinctrl.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot* Marvell Dove SoC pinctrl driver for mpp
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotPlease refer to marvell,mvebu-pinctrl.txt in this directory for common binding
4*c66ec88fSEmmanuel Vadotpart and usage.
5*c66ec88fSEmmanuel Vadot
6*c66ec88fSEmmanuel VadotRequired properties:
7*c66ec88fSEmmanuel Vadot- compatible: "marvell,dove-pinctrl"
8*c66ec88fSEmmanuel Vadot- clocks: (optional) phandle of pdma clock
9*c66ec88fSEmmanuel Vadot- reg: register specifiers of MPP, MPP4, and PMU MPP registers
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel VadotAvailable mpp pins/groups and functions:
12*c66ec88fSEmmanuel VadotNote: brackets (x) are not part of the mpp name for marvell,function and given
13*c66ec88fSEmmanuel Vadotonly for more detailed description in this document.
14*c66ec88fSEmmanuel VadotNote: pmu* also allows for Power Management functions listed below
15*c66ec88fSEmmanuel Vadot
16*c66ec88fSEmmanuel Vadotname          pins     functions
17*c66ec88fSEmmanuel Vadot================================================================================
18*c66ec88fSEmmanuel Vadotmpp0          0        gpio, pmu, uart2(rts), sdio0(cd), lcd0(pwm), pmu*
19*c66ec88fSEmmanuel Vadotmpp1          1        gpio, pmu, uart2(cts), sdio0(wp), lcd1(pwm), pmu*
20*c66ec88fSEmmanuel Vadotmpp2          2        gpio, pmu, uart2(txd), sdio0(buspwr), sata(prsnt),
21*c66ec88fSEmmanuel Vadot                       uart1(rts), pmu*
22*c66ec88fSEmmanuel Vadotmpp3          3        gpio, pmu, uart2(rxd), sdio0(ledctrl), sata(act),
23*c66ec88fSEmmanuel Vadot                       uart1(cts), lcd-spi(cs1), pmu*
24*c66ec88fSEmmanuel Vadotmpp4          4        gpio, pmu, uart3(rts), sdio1(cd), spi1(miso), pmu*
25*c66ec88fSEmmanuel Vadotmpp5          5        gpio, pmu, uart3(cts), sdio1(wp), spi1(cs), pmu*
26*c66ec88fSEmmanuel Vadotmpp6          6        gpio, pmu, uart3(txd), sdio1(buspwr), spi1(mosi), pmu*
27*c66ec88fSEmmanuel Vadotmpp7          7        gpio, pmu, uart3(rxd), sdio1(ledctrl), spi1(sck), pmu*
28*c66ec88fSEmmanuel Vadotmpp8          8        gpio, pmu, watchdog(rstout), pmu*
29*c66ec88fSEmmanuel Vadotmpp9          9        gpio, pmu, pex1(clkreq), pmu*
30*c66ec88fSEmmanuel Vadotmpp10         10       gpio, pmu, ssp(sclk), pmu*
31*c66ec88fSEmmanuel Vadotmpp11         11       gpio, pmu, sata(prsnt), sata-1(act), sdio0(ledctrl),
32*c66ec88fSEmmanuel Vadot                       sdio1(ledctrl), pex0(clkreq), pmu*
33*c66ec88fSEmmanuel Vadotmpp12         12       gpio, pmu, uart2(rts), audio0(extclk), sdio1(cd),
34*c66ec88fSEmmanuel Vadot                       sata(act), pmu*
35*c66ec88fSEmmanuel Vadotmpp13         13       gpio, pmu, uart2(cts), audio1(extclk), sdio1(wp),
36*c66ec88fSEmmanuel Vadot                       ssp(extclk), pmu*
37*c66ec88fSEmmanuel Vadotmpp14         14       gpio, pmu, uart2(txd), sdio1(buspwr), ssp(rxd), pmu*
38*c66ec88fSEmmanuel Vadotmpp15         15       gpio, pmu, uart2(rxd), sdio1(ledctrl), ssp(sfrm), pmu*
39*c66ec88fSEmmanuel Vadotmpp16         16       gpio, uart3(rts), sdio0(cd), ac97(sdi1), lcd-spi(cs1)
40*c66ec88fSEmmanuel Vadotmpp17         17       gpio, uart3(cts), sdio0(wp), ac97(sdi2), twsi(sda),
41*c66ec88fSEmmanuel Vadot                       ac97-1(sysclko)
42*c66ec88fSEmmanuel Vadotmpp18         18       gpio, uart3(txd), sdio0(buspwr), ac97(sdi3), lcd0(pwm)
43*c66ec88fSEmmanuel Vadotmpp19         19       gpio, uart3(rxd), sdio0(ledctrl), twsi(sck)
44*c66ec88fSEmmanuel Vadotmpp20         20       gpio, sdio0(cd), sdio1(cd), spi1(miso), lcd-spi(miso),
45*c66ec88fSEmmanuel Vadot                       ac97(sysclko)
46*c66ec88fSEmmanuel Vadotmpp21         21       gpio, sdio0(wp), sdio1(wp), spi1(cs), lcd-spi(cs0),
47*c66ec88fSEmmanuel Vadot                       uart1(cts), ssp(sfrm)
48*c66ec88fSEmmanuel Vadotmpp22         22       gpio, sdio0(buspwr), sdio1(buspwr), spi1(mosi),
49*c66ec88fSEmmanuel Vadot                       lcd-spi(mosi), uart1(cts), ssp(txd)
50*c66ec88fSEmmanuel Vadotmpp23         23       gpio, sdio0(ledctrl), sdio1(ledctrl), spi1(sck),
51*c66ec88fSEmmanuel Vadot                       lcd-spi(sck), ssp(sclk)
52*c66ec88fSEmmanuel Vadotmpp_camera    24-39    gpio, camera
53*c66ec88fSEmmanuel Vadotmpp_sdio0     40-45    gpio, sdio0
54*c66ec88fSEmmanuel Vadotmpp_sdio1     46-51    gpio, sdio1
55*c66ec88fSEmmanuel Vadotmpp_audio1    52-57    gpio, i2s1/spdifo, i2s1, spdifo, twsi, ssp/spdifo, ssp,
56*c66ec88fSEmmanuel Vadot                       ssp/twsi
57*c66ec88fSEmmanuel Vadotmpp_spi0      58-61    gpio, spi0
58*c66ec88fSEmmanuel Vadotmpp_uart1     62-63    gpio, uart1
59*c66ec88fSEmmanuel Vadotmpp_nand      64-71    gpo, nand
60*c66ec88fSEmmanuel Vadotaudio0        -        i2s, ac97
61*c66ec88fSEmmanuel Vadottwsi          -        none, opt1, opt2, opt3
62*c66ec88fSEmmanuel Vadot
63*c66ec88fSEmmanuel VadotPower Management functions (pmu*):
64*c66ec88fSEmmanuel Vadotpmu-nc               Pin not driven by any PM function
65*c66ec88fSEmmanuel Vadotpmu-low              Pin driven low (0)
66*c66ec88fSEmmanuel Vadotpmu-high             Pin driven high (1)
67*c66ec88fSEmmanuel Vadotpmic(sdi)            Pin is used for PMIC SDI
68*c66ec88fSEmmanuel Vadotcpu-pwr-down         Pin is used for CPU_PWRDWN
69*c66ec88fSEmmanuel Vadotstandby-pwr-down     Pin is used for STBY_PWRDWN
70*c66ec88fSEmmanuel Vadotcore-pwr-good        Pin is used for CORE_PWR_GOOD (Pins 0-7 only)
71*c66ec88fSEmmanuel Vadotcpu-pwr-good         Pin is used for CPU_PWR_GOOD (Pins 8-15 only)
72*c66ec88fSEmmanuel Vadotbat-fault            Pin is used for BATTERY_FAULT
73*c66ec88fSEmmanuel Vadotext0-wakeup          Pin is used for EXT0_WU
74*c66ec88fSEmmanuel Vadotext1-wakeup          Pin is used for EXT0_WU
75*c66ec88fSEmmanuel Vadotext2-wakeup          Pin is used for EXT0_WU
76*c66ec88fSEmmanuel Vadotpmu-blink            Pin is used for blink function
77*c66ec88fSEmmanuel Vadot
78*c66ec88fSEmmanuel VadotNotes:
79*c66ec88fSEmmanuel Vadot* group "mpp_audio1" allows the following functions and gpio pins:
80*c66ec88fSEmmanuel Vadot  - gpio          : gpio on pins 52-57
81*c66ec88fSEmmanuel Vadot  - i2s1/spdifo   : audio1 i2s on pins 52-55 and spdifo on 57, no gpios
82*c66ec88fSEmmanuel Vadot  - i2s1          : audio1 i2s on pins 52-55, gpio on pins 56,57
83*c66ec88fSEmmanuel Vadot  - spdifo        : spdifo on pin 57, gpio on pins 52-55
84*c66ec88fSEmmanuel Vadot  - twsi          : twsi on pins 56,57, gpio on pins 52-55
85*c66ec88fSEmmanuel Vadot  - ssp/spdifo    : ssp on pins 52-55, spdifo on pin 57, no gpios
86*c66ec88fSEmmanuel Vadot  - ssp           : ssp on pins 52-55, gpio on pins 56,57
87*c66ec88fSEmmanuel Vadot  - ssp/twsi      : ssp on pins 52-55, twsi on pins 56,57, no gpios
88*c66ec88fSEmmanuel Vadot* group "audio0" internally muxes i2s0 or ac97 controller to the dedicated
89*c66ec88fSEmmanuel Vadot  audio0 pins.
90*c66ec88fSEmmanuel Vadot* group "twsi" internally muxes twsi controller to the dedicated or option pins.
91