요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
* Microchip PIC32 Pin Controller
Please refer to pinctrl-bindings.txt, ../gpio/gpio.txt, and
../interrupt-controller/interrupts.txt for generic information regarding
pin controller, GPIO, and interrupt bindings.
PIC32 'pin configuration node' is a node of a group of pins which can be
used for a specific device or function. This node represents configurations of
pins, optional function, and optional mux related configuration.
Required properties for pin controller node:
- compatible: "microchip,pic32mada-pinctrl"
- reg: Address range of the pinctrl registers.
- clocks: Clock specifier (see clock bindings for details)
Required properties for pin configuration sub-nodes:
- pins: List of pins to which the configuration applies.
Optional properties for pin configuration sub-nodes:
----------------------------------------------------
- function: Mux function for the specified pins.
- bias-pull-up: Enable weak pull-up.
- bias-pull-down: Enable weak pull-down.
- input-enable: Set the pin as an input.
- output-low: Set the pin as an output level low.
- output-high: Set the pin as an output level high.
- microchip,digital: Enable digital I/O.
- microchip,analog: Enable analog I/O.
Example:
pic32_pinctrl: pinctrl@1f801400{
#address-cells = <1>;
#size-cells = <1>;
compatible = "microchip,pic32mzda-pinctrl";
reg = <0x1f801400 0x400>;
clocks = <&rootclk PB1CLK>;
pinctrl_uart2: pinctrl_uart2 {
uart2-tx {
pins = "G9";
function = "U2TX";
microchip,digital;
output-low;
};
uart2-rx {
pins = "B0";
function = "U2RX";
microchip,digital;
input-enable;
};
};
};
uart2: serial@1f822200 {
compatible = "microchip,pic32mzda-uart";
reg = <0x1f822200 0x50>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Microchip PIC32 pin controller
1-10일반 pin controller, GPIO, interrupt binding 정보는 `pinctrl-bindings.txt`, `../gpio/gpio.txt`, `../interrupt-controller/interrupts.txt`를 참조합니다.
PIC32의 pin configuration node는 특정 device 또는 function에 사용할 pin group을 나타내며, pin 구성과 선택적 function 및 mux 관련 구성을 표현합니다.
Controller와 pin configuration 속성
11-29Pin controller node에는 `compatible = "microchip,pic32mada-pinctrl"`, pinctrl register 주소 범위인 `reg`, clock specifier인 `clocks`가 필요합니다.
Pin configuration subnode의 필수 `pins`는 설정을 적용할 pin 목록입니다. 선택적 `function`은 mux function을 지정합니다. `bias-pull-up`, `bias-pull-down`, `input-enable`, `output-low`, `output-high`는 bias·방향·출력 level을 제어하고, `microchip,digital`과 `microchip,analog`는 digital 또는 analog I/O를 활성화합니다.
PIC32 UART2 pinctrl 예제
30-60PIC32MZDA pinctrl node에서 G9를 UART2 TX 출력으로, B0를 UART2 RX 입력으로 구성하고 UART2 client가 이 state를 default로 참조하는 전체 예제입니다.
pic32_pinctrl: pinctrl@1f801400{
#address-cells = <1>;
#size-cells = <1>;
compatible = "microchip,pic32mzda-pinctrl";
reg = <0x1f801400 0x400>;
clocks = <&rootclk PB1CLK>;
pinctrl_uart2: pinctrl_uart2 {
uart2-tx {
pins = "G9";
function = "U2TX";
microchip,digital;
output-low;
};
uart2-rx {
pins = "B0";
function = "U2RX";
microchip,digital;
input-enable;
};
};
};
uart2: serial@1f822200 {
compatible = "microchip,pic32mzda-uart";
reg = <0x1f822200 0x50>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2>;
};
요약과 해설
microchip,pic32-pinctrl.txt:1-60Digital·analog I/O, bias, direction, output level과 UART2 pinctrl 적용 흐름을 설명합니다.