← Documents Documentation/devicetree/bindings/pinctrl/brcm,ns2-pinmux.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

Broadcom Northstar2 IOMUX

Northstar2 group mux와 개별 pinconf 바인딩입니다.

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

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

1. 요약·해설

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

요약과 해설

brcm,ns2-pinmux.txt:1-102

NAND·NOR·GPIO·PCIe·UART·PWM mux와 pinconf 대상 pin을 정리합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Broadcom Northstar2 IOMUX Controller
2
3 The Northstar2 IOMUX controller supports group based mux configuration. There
4 are some individual pins that support modifying the pinconf parameters.
5
6 Required properties:
7
8 - compatible:
9 Must be "brcm,ns2-pinmux"
10
11 - reg:
12 Define the base and range of the I/O address space that contains the
13 Northstar2 IOMUX and pin configuration registers.
14
15 Properties in sub nodes:
16
17 - function:
18 The mux function to select
19
20 - groups:
21 The list of groups to select with a given function
22
23 - pins:
24 List of pin names to change configuration
25
26 The generic properties bias-disable, bias-pull-down, bias-pull-up,
27 drive-strength, slew-rate, input-enable, input-disable are supported
28 for some individual pins listed at the end.
29
30 For more details, refer to
31 Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
32
33 For example:
34
35 pinctrl: pinctrl@6501d130 {
36 compatible = "brcm,ns2-pinmux";
37 reg = <0x6501d130 0x08>,
38 <0x660a0028 0x04>,
39 <0x660009b0 0x40>;
40
41 pinctrl-names = "default";
42 pinctrl-0 = <&nand_sel>, <&uart3_rx>, <&sdio0_d4>;
43
44 /* Select nand function */
45 nand_sel: nand_sel {
46 function = "nand";
47 groups = "nand_grp";
48 };
49
50 /* Pull up the uart3 rx pin */
51 uart3_rx: uart3_rx {
52 pins = "uart3_sin";
53 bias-pull-up;
54 };
55
56 /* Set the drive strength of sdio d4 pin */
57 sdio0_d4: sdio0_d4 {
58 pins = "sdio0_data4";
59 drive-strength = <8>;
60 };
61 };
62
63 List of supported functions and groups in Northstar2:
64
65 "nand": "nand_grp"
66
67 "nor": "nor_data_grp", "nor_adv_grp", "nor_addr_0_3_grp", "nor_addr_4_5_grp",
68 "nor_addr_6_7_grp", "nor_addr_8_9_grp", "nor_addr_10_11_grp",
69 "nor_addr_12_15_grp"
70
71 "gpio": "gpio_0_1_grp", "gpio_2_5_grp", "gpio_6_7_grp", "gpio_8_9_grp",
72 "gpio_10_11_grp", "gpio_12_13_grp", "gpio_14_17_grp", "gpio_18_19_grp",
73 "gpio_20_21_grp", "gpio_22_23_grp", "gpio_24_25_grp", "gpio_26_27_grp",
74 "gpio_28_29_grp", "gpio_30_31_grp"
75
76 "pcie": "pcie_ab1_clk_wak_grp", "pcie_a3_clk_wak_grp", "pcie_b3_clk_wak_grp",
77 "pcie_b2_clk_wak_grp", "pcie_a2_clk_wak_grp"
78
79 "uart0": "uart0_modem_grp", "uart0_rts_cts_grp", "uart0_in_out_grp"
80
81 "uart1": "uart1_ext_clk_grp", "uart1_dcd_dsr_grp", "uart1_ri_dtr_grp",
82 "uart1_rts_cts_grp", "uart1_in_out_grp"
83
84 "uart2": "uart2_rts_cts_grp"
85
86 "pwm": "pwm_0_grp", "pwm_1_grp", "pwm_2_grp", "pwm_3_grp"
87
88
89 List of pins that support pinconf parameters:
90
91 "qspi_wp", "qspi_hold", "qspi_cs", "qspi_sck", "uart3_sin", "uart3_sout",
92 "qspi_mosi", "qspi_miso", "spi0_fss", "spi0_rxd", "spi0_txd", "spi0_sck",
93 "spi1_fss", "spi1_rxd", "spi1_txd", "spi1_sck", "sdio0_data7",
94 "sdio0_emmc_rst", "sdio0_led_on", "sdio0_wp", "sdio0_data3", "sdio0_data4",
95 "sdio0_data5", "sdio0_data6", "sdio0_cmd", "sdio0_data0", "sdio0_data1",
96 "sdio0_data2", "sdio1_led_on", "sdio1_wp", "sdio0_cd_l", "sdio0_clk",
97 "sdio1_data5", "sdio1_data6", "sdio1_data7", "sdio1_emmc_rst", "sdio1_data1",
98 "sdio1_data2", "sdio1_data3", "sdio1_data4", "sdio1_cd_l", "sdio1_clk",
99 "sdio1_cmd", "sdio1_data0", "ext_mdio_0", "ext_mdc_0", "usb3_p1_vbus_ppc",
100 "usb3_p1_overcurrent", "usb3_p0_vbus_ppc", "usb3_p0_overcurrent",
101 "usb2_presence_indication", "usb2_vbus_present", "usb2_vbus_ppc",
102 "usb2_overcurrent", "sata_led1", "sata_led0"
103

3. 한국어 전문 번역

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

Broadcom Northstar2 IOMUX

1-32

Northstar2 IOMUX controller는 group 기반 mux 구성을 지원하고 일부 개별 pin에서는 pinconf 매개변수를 변경할 수 있습니다.

`compatible`은 `brcm,ns2-pinmux`여야 하며 `reg`는 Northstar2 IOMUX와 pin configuration register가 들어 있는 I/O 주소 공간의 base와 range입니다.

하위 노드의 `function`은 mux function, `groups`는 해당 function에 사용할 group 목록, `pins`는 구성을 바꿀 pin 이름 목록입니다.

문서 끝에 나열된 일부 pin은 generic `bias-disable`, `bias-pull-down`, `bias-pull-up`, `drive-strength`, `slew-rate`, `input-enable`, `input-disable`을 지원합니다. 자세한 내용은 `pinctrl-bindings.txt`를 참조하십시오.

Northstar2 NAND·UART·SDIO 예제

33-62

예제 default 상태는 NAND group을 선택하고 `uart3_sin`에 pull-up을, `sdio0_data4`에 8mA drive strength를 설정합니다.

pinctrl: pinctrl@6501d130 {
        compatible = "brcm,ns2-pinmux";
        reg = <0x6501d130 0x08>,
              <0x660a0028 0x04>,
              <0x660009b0 0x40>;

        pinctrl-names = "default";
        pinctrl-0 = <&nand_sel>, <&uart3_rx>, <&sdio0_d4>;

        /* Select nand function */
        nand_sel: nand_sel {
                function = "nand";
                groups = "nand_grp";
        };

        /* Pull up the uart3 rx pin */
        uart3_rx: uart3_rx {
                pins = "uart3_sin";
                bias-pull-up;
        };

        /* Set the drive strength of sdio d4 pin */
        sdio0_d4: sdio0_d4 {
                pins = "sdio0_data4";
                drive-strength = <8>;
        };
};

Northstar2 지원 function과 group

63-88

Northstar2가 지원하는 NAND, NOR, GPIO, PCIe, UART0·1·2, PWM function과 대응 group 전체는 다음과 같습니다.

"nand": "nand_grp"

"nor": "nor_data_grp", "nor_adv_grp", "nor_addr_0_3_grp", "nor_addr_4_5_grp",
        "nor_addr_6_7_grp", "nor_addr_8_9_grp", "nor_addr_10_11_grp",
        "nor_addr_12_15_grp"

"gpio": "gpio_0_1_grp", "gpio_2_5_grp", "gpio_6_7_grp", "gpio_8_9_grp",
        "gpio_10_11_grp", "gpio_12_13_grp", "gpio_14_17_grp", "gpio_18_19_grp",
        "gpio_20_21_grp", "gpio_22_23_grp", "gpio_24_25_grp", "gpio_26_27_grp",
        "gpio_28_29_grp", "gpio_30_31_grp"

"pcie": "pcie_ab1_clk_wak_grp", "pcie_a3_clk_wak_grp", "pcie_b3_clk_wak_grp",
        "pcie_b2_clk_wak_grp", "pcie_a2_clk_wak_grp"

"uart0": "uart0_modem_grp", "uart0_rts_cts_grp", "uart0_in_out_grp"

"uart1": "uart1_ext_clk_grp", "uart1_dcd_dsr_grp", "uart1_ri_dtr_grp",
        "uart1_rts_cts_grp", "uart1_in_out_grp"

"uart2": "uart2_rts_cts_grp"

"pwm": "pwm_0_grp", "pwm_1_grp", "pwm_2_grp", "pwm_3_grp"

Northstar2 pinconf 지원 pin

89-102

QSPI, SPI, SDIO, external MDIO/MDC, USB2·USB3, SATA LED 신호 가운데 pinconf 매개변수를 지원하는 pin 전체는 다음과 같습니다.

"qspi_wp", "qspi_hold", "qspi_cs", "qspi_sck", "uart3_sin", "uart3_sout",
"qspi_mosi", "qspi_miso", "spi0_fss", "spi0_rxd", "spi0_txd", "spi0_sck",
"spi1_fss", "spi1_rxd", "spi1_txd", "spi1_sck", "sdio0_data7",
"sdio0_emmc_rst", "sdio0_led_on", "sdio0_wp", "sdio0_data3", "sdio0_data4",
"sdio0_data5", "sdio0_data6", "sdio0_cmd", "sdio0_data0", "sdio0_data1",
"sdio0_data2", "sdio1_led_on", "sdio1_wp", "sdio0_cd_l", "sdio0_clk",
"sdio1_data5", "sdio1_data6", "sdio1_data7", "sdio1_emmc_rst", "sdio1_data1",
"sdio1_data2", "sdio1_data3", "sdio1_data4", "sdio1_cd_l", "sdio1_clk",
"sdio1_cmd", "sdio1_data0", "ext_mdio_0", "ext_mdc_0", "usb3_p1_vbus_ppc",
"usb3_p1_overcurrent", "usb3_p0_vbus_ppc", "usb3_p0_overcurrent",
"usb2_presence_indication", "usb2_vbus_present", "usb2_vbus_ppc",
"usb2_overcurrent", "sata_led1", "sata_led0"