← Documents Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

Marvell Dove MPP Pinctrl

Dove의 MPP group과 PMU·audio·TWSI function binding입니다.

Source pathDocumentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

marvell,dove-pinctrl.txt:1-90

33행 MPP 표, 13개 PMU function과 audio group 조합을 정리합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 * Marvell Dove SoC pinctrl driver for mpp
2
3 Please refer to marvell,mvebu-pinctrl.txt in this directory for common binding
4 part and usage.
5
6 Required properties:
7 - compatible: "marvell,dove-pinctrl"
8 - clocks: (optional) phandle of pdma clock
9 - reg: register specifiers of MPP, MPP4, and PMU MPP registers
10
11 Available mpp pins/groups and functions:
12 Note: brackets (x) are not part of the mpp name for marvell,function and given
13 only for more detailed description in this document.
14 Note: pmu* also allows for Power Management functions listed below
15
16 name pins functions
17 ================================================================================
18 mpp0 0 gpio, pmu, uart2(rts), sdio0(cd), lcd0(pwm), pmu*
19 mpp1 1 gpio, pmu, uart2(cts), sdio0(wp), lcd1(pwm), pmu*
20 mpp2 2 gpio, pmu, uart2(txd), sdio0(buspwr), sata(prsnt),
21 uart1(rts), pmu*
22 mpp3 3 gpio, pmu, uart2(rxd), sdio0(ledctrl), sata(act),
23 uart1(cts), lcd-spi(cs1), pmu*
24 mpp4 4 gpio, pmu, uart3(rts), sdio1(cd), spi1(miso), pmu*
25 mpp5 5 gpio, pmu, uart3(cts), sdio1(wp), spi1(cs), pmu*
26 mpp6 6 gpio, pmu, uart3(txd), sdio1(buspwr), spi1(mosi), pmu*
27 mpp7 7 gpio, pmu, uart3(rxd), sdio1(ledctrl), spi1(sck), pmu*
28 mpp8 8 gpio, pmu, watchdog(rstout), pmu*
29 mpp9 9 gpio, pmu, pex1(clkreq), pmu*
30 mpp10 10 gpio, pmu, ssp(sclk), pmu*
31 mpp11 11 gpio, pmu, sata(prsnt), sata-1(act), sdio0(ledctrl),
32 sdio1(ledctrl), pex0(clkreq), pmu*
33 mpp12 12 gpio, pmu, uart2(rts), audio0(extclk), sdio1(cd),
34 sata(act), pmu*
35 mpp13 13 gpio, pmu, uart2(cts), audio1(extclk), sdio1(wp),
36 ssp(extclk), pmu*
37 mpp14 14 gpio, pmu, uart2(txd), sdio1(buspwr), ssp(rxd), pmu*
38 mpp15 15 gpio, pmu, uart2(rxd), sdio1(ledctrl), ssp(sfrm), pmu*
39 mpp16 16 gpio, uart3(rts), sdio0(cd), ac97(sdi1), lcd-spi(cs1)
40 mpp17 17 gpio, uart3(cts), sdio0(wp), ac97(sdi2), twsi(sda),
41 ac97-1(sysclko)
42 mpp18 18 gpio, uart3(txd), sdio0(buspwr), ac97(sdi3), lcd0(pwm)
43 mpp19 19 gpio, uart3(rxd), sdio0(ledctrl), twsi(sck)
44 mpp20 20 gpio, sdio0(cd), sdio1(cd), spi1(miso), lcd-spi(miso),
45 ac97(sysclko)
46 mpp21 21 gpio, sdio0(wp), sdio1(wp), spi1(cs), lcd-spi(cs0),
47 uart1(cts), ssp(sfrm)
48 mpp22 22 gpio, sdio0(buspwr), sdio1(buspwr), spi1(mosi),
49 lcd-spi(mosi), uart1(cts), ssp(txd)
50 mpp23 23 gpio, sdio0(ledctrl), sdio1(ledctrl), spi1(sck),
51 lcd-spi(sck), ssp(sclk)
52 mpp_camera 24-39 gpio, camera
53 mpp_sdio0 40-45 gpio, sdio0
54 mpp_sdio1 46-51 gpio, sdio1
55 mpp_audio1 52-57 gpio, i2s1/spdifo, i2s1, spdifo, twsi, ssp/spdifo, ssp,
56 ssp/twsi
57 mpp_spi0 58-61 gpio, spi0
58 mpp_uart1 62-63 gpio, uart1
59 mpp_nand 64-71 gpo, nand
60 audio0 - i2s, ac97
61 twsi - none, opt1, opt2, opt3
62
63 Power Management functions (pmu*):
64 pmu-nc Pin not driven by any PM function
65 pmu-low Pin driven low (0)
66 pmu-high Pin driven high (1)
67 pmic(sdi) Pin is used for PMIC SDI
68 cpu-pwr-down Pin is used for CPU_PWRDWN
69 standby-pwr-down Pin is used for STBY_PWRDWN
70 core-pwr-good Pin is used for CORE_PWR_GOOD (Pins 0-7 only)
71 cpu-pwr-good Pin is used for CPU_PWR_GOOD (Pins 8-15 only)
72 bat-fault Pin is used for BATTERY_FAULT
73 ext0-wakeup Pin is used for EXT0_WU
74 ext1-wakeup Pin is used for EXT0_WU
75 ext2-wakeup Pin is used for EXT0_WU
76 pmu-blink Pin is used for blink function
77
78 Notes:
79 * group "mpp_audio1" allows the following functions and gpio pins:
80 - gpio : gpio on pins 52-57
81 - i2s1/spdifo : audio1 i2s on pins 52-55 and spdifo on 57, no gpios
82 - i2s1 : audio1 i2s on pins 52-55, gpio on pins 56,57
83 - spdifo : spdifo on pin 57, gpio on pins 52-55
84 - twsi : twsi on pins 56,57, gpio on pins 52-55
85 - ssp/spdifo : ssp on pins 52-55, spdifo on pin 57, no gpios
86 - ssp : ssp on pins 52-55, gpio on pins 56,57
87 - ssp/twsi : ssp on pins 52-55, twsi on pins 56,57, no gpios
88 * group "audio0" internally muxes i2s0 or ac97 controller to the dedicated
89 audio0 pins.
90 * group "twsi" internally muxes twsi controller to the dedicated or option pins.
91

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

Marvell Dove MPP controller

1-15

Marvell Dove SoC MPP pinctrl driver의 공통 binding과 사용법은 `marvell,mvebu-pinctrl.txt`를 참조합니다.

필수 `compatible` 값은 `marvell,dove-pinctrl`입니다. 선택 `clocks`는 PDMA clock phandle이고 `reg`에는 MPP, MPP4, PMU MPP register specifier를 지정합니다.

표의 괄호 안 설명은 실제 `marvell,function` MPP 이름에 포함되지 않습니다. `pmu*`가 표시된 pin은 뒤에 열거한 power-management function도 사용할 수 있습니다.

Dove MPP group과 function 전체 표

16-62

개별 MPP0부터 MPP23, camera·SDIO·audio·SPI·UART·NAND group, dedicated `audio0`과 `twsi` group의 pin 범위와 function 전체입니다.

NamePinsFunctions
mpp00gpio, pmu, uart2(rts), sdio0(cd), lcd0(pwm), pmu*
mpp11gpio, pmu, uart2(cts), sdio0(wp), lcd1(pwm), pmu*
mpp22gpio, pmu, uart2(txd), sdio0(buspwr), sata(prsnt), uart1(rts), pmu*
mpp33gpio, pmu, uart2(rxd), sdio0(ledctrl), sata(act), uart1(cts), lcd-spi(cs1), pmu*
mpp44gpio, pmu, uart3(rts), sdio1(cd), spi1(miso), pmu*
mpp55gpio, pmu, uart3(cts), sdio1(wp), spi1(cs), pmu*
mpp66gpio, pmu, uart3(txd), sdio1(buspwr), spi1(mosi), pmu*
mpp77gpio, pmu, uart3(rxd), sdio1(ledctrl), spi1(sck), pmu*
mpp88gpio, pmu, watchdog(rstout), pmu*
mpp99gpio, pmu, pex1(clkreq), pmu*
mpp1010gpio, pmu, ssp(sclk), pmu*
mpp1111gpio, pmu, sata(prsnt), sata-1(act), sdio0(ledctrl), sdio1(ledctrl), pex0(clkreq), pmu*
mpp1212gpio, pmu, uart2(rts), audio0(extclk), sdio1(cd), sata(act), pmu*
mpp1313gpio, pmu, uart2(cts), audio1(extclk), sdio1(wp), ssp(extclk), pmu*
mpp1414gpio, pmu, uart2(txd), sdio1(buspwr), ssp(rxd), pmu*
mpp1515gpio, pmu, uart2(rxd), sdio1(ledctrl), ssp(sfrm), pmu*
mpp1616gpio, uart3(rts), sdio0(cd), ac97(sdi1), lcd-spi(cs1)
mpp1717gpio, uart3(cts), sdio0(wp), ac97(sdi2), twsi(sda), ac97-1(sysclko)
mpp1818gpio, uart3(txd), sdio0(buspwr), ac97(sdi3), lcd0(pwm)
mpp1919gpio, uart3(rxd), sdio0(ledctrl), twsi(sck)
mpp2020gpio, sdio0(cd), sdio1(cd), spi1(miso), lcd-spi(miso), ac97(sysclko)
mpp2121gpio, sdio0(wp), sdio1(wp), spi1(cs), lcd-spi(cs0), uart1(cts), ssp(sfrm)
mpp2222gpio, sdio0(buspwr), sdio1(buspwr), spi1(mosi), lcd-spi(mosi), uart1(cts), ssp(txd)
mpp2323gpio, sdio0(ledctrl), sdio1(ledctrl), spi1(sck), lcd-spi(sck), ssp(sclk)
mpp_camera24-39gpio, camera
mpp_sdio040-45gpio, sdio0
mpp_sdio146-51gpio, sdio1
mpp_audio152-57gpio, i2s1/spdifo, i2s1, spdifo, twsi, ssp/spdifo, ssp, ssp/twsi
mpp_spi058-61gpio, spi0
mpp_uart162-63gpio, uart1
mpp_nand64-71gpo, nand
audio0-i2s, ac97
twsi-none, opt1, opt2, opt3

Dove power-management function

63-77

`pmu*` pin에서 선택할 수 있는 미구동, low/high drive, PMIC SDI, CPU·standby power-down, power-good, battery fault, external wakeup, blink function 전체입니다.

FunctionMeaning
pmu-ncPin not driven by any PM function
pmu-lowPin driven low (0)
pmu-highPin driven high (1)
pmic(sdi)Pin is used for PMIC SDI
cpu-pwr-downPin is used for CPU_PWRDWN
standby-pwr-downPin is used for STBY_PWRDWN
core-pwr-goodPin is used for CORE_PWR_GOOD (Pins 0-7 only)
cpu-pwr-goodPin is used for CPU_PWR_GOOD (Pins 8-15 only)
bat-faultPin is used for BATTERY_FAULT
ext0-wakeupPin is used for EXT0_WU
ext1-wakeupPin is used for EXT0_WU
ext2-wakeupPin is used for EXT0_WU
pmu-blinkPin is used for blink function

Dove audio와 TWSI group 주의사항

78-90

`mpp_audio1`의 `gpio`는 pin 52-57을 GPIO로 사용합니다. `i2s1/spdifo`는 pin 52-55를 audio1 I2S, pin 57을 SPDIF output으로 사용하며 GPIO는 없습니다.

`i2s1`은 pin 52-55를 I2S, pin 56-57을 GPIO로 사용하고 `spdifo`는 pin 57을 SPDIF output, pin 52-55를 GPIO로 사용합니다. `twsi`는 pin 56-57을 TWSI, pin 52-55를 GPIO로 사용합니다.

`ssp/spdifo`는 pin 52-55를 SSP, pin 57을 SPDIF output으로 사용하며 GPIO는 없습니다. `ssp`는 pin 52-55를 SSP, pin 56-57을 GPIO로 사용하고 `ssp/twsi`는 pin 52-55를 SSP, pin 56-57을 TWSI로 사용하며 GPIO는 없습니다.

`audio0` group은 전용 audio0 pin에서 I2S0 또는 AC97 controller를 내부 mux합니다. `twsi` group은 TWSI controller를 dedicated pin 또는 option pin으로 내부 mux합니다.