xref: /linux/Documentation/devicetree/bindings/pinctrl/brcm,ns2-pinmux.yaml (revision a110f942672c8995dc1cacb5a44c6730856743aa)
1*f84f5484SRob Herring (Arm)# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*f84f5484SRob Herring (Arm)%YAML 1.2
3*f84f5484SRob Herring (Arm)---
4*f84f5484SRob Herring (Arm)$id: http://devicetree.org/schemas/pinctrl/brcm,ns2-pinmux.yaml#
5*f84f5484SRob Herring (Arm)$schema: http://devicetree.org/meta-schemas/core.yaml#
6*f84f5484SRob Herring (Arm)
7*f84f5484SRob Herring (Arm)title: Broadcom Northstar2 IOMUX Controller
8*f84f5484SRob Herring (Arm)
9*f84f5484SRob Herring (Arm)maintainers:
10*f84f5484SRob Herring (Arm)  - Ray Jui <rjui@broadcom.com>
11*f84f5484SRob Herring (Arm)  - Scott Branden <sbranden@broadcom.com>
12*f84f5484SRob Herring (Arm)
13*f84f5484SRob Herring (Arm)properties:
14*f84f5484SRob Herring (Arm)  compatible:
15*f84f5484SRob Herring (Arm)    const: brcm,ns2-pinmux
16*f84f5484SRob Herring (Arm)
17*f84f5484SRob Herring (Arm)  reg:
18*f84f5484SRob Herring (Arm)    maxItems: 3
19*f84f5484SRob Herring (Arm)
20*f84f5484SRob Herring (Arm)additionalProperties:
21*f84f5484SRob Herring (Arm)  description: Pin group node properties
22*f84f5484SRob Herring (Arm)  type: object
23*f84f5484SRob Herring (Arm)  allOf:
24*f84f5484SRob Herring (Arm)    - $ref: /schemas/pinctrl/pincfg-node.yaml#
25*f84f5484SRob Herring (Arm)    - $ref: /schemas/pinctrl/pinmux-node.yaml#
26*f84f5484SRob Herring (Arm)  additionalProperties: false
27*f84f5484SRob Herring (Arm)
28*f84f5484SRob Herring (Arm)  properties:
29*f84f5484SRob Herring (Arm)    function:
30*f84f5484SRob Herring (Arm)      description: The mux function to select
31*f84f5484SRob Herring (Arm)      $ref: /schemas/types.yaml#/definitions/string
32*f84f5484SRob Herring (Arm)
33*f84f5484SRob Herring (Arm)    groups:
34*f84f5484SRob Herring (Arm)      items:
35*f84f5484SRob Herring (Arm)        enum: [
36*f84f5484SRob Herring (Arm)          nand_grp, nor_data_grp, nor_adv_grp, nor_addr_0_3_grp,
37*f84f5484SRob Herring (Arm)          nor_addr_4_5_grp, nor_addr_6_7_grp, nor_addr_8_9_grp,
38*f84f5484SRob Herring (Arm)          nor_addr_10_11_grp, nor_addr_12_15_grp, gpio_0_1_grp, gpio_2_5_grp,
39*f84f5484SRob Herring (Arm)          gpio_6_7_grp, gpio_8_9_grp, gpio_10_11_grp, gpio_12_13_grp,
40*f84f5484SRob Herring (Arm)          gpio_14_17_grp, gpio_18_19_grp, gpio_20_21_grp, gpio_22_23_grp,
41*f84f5484SRob Herring (Arm)          gpio_24_25_grp, gpio_26_27_grp, gpio_28_29_grp, gpio_30_31_grp,
42*f84f5484SRob Herring (Arm)          pcie_ab1_clk_wak_grp, pcie_a3_clk_wak_grp, pcie_b3_clk_wak_grp,
43*f84f5484SRob Herring (Arm)          pcie_b2_clk_wak_grp, pcie_a2_clk_wak_grp, uart0_modem_grp,
44*f84f5484SRob Herring (Arm)          uart0_rts_cts_grp, uart0_in_out_grp, uart1_ext_clk_grp,
45*f84f5484SRob Herring (Arm)          uart1_dcd_dsr_grp, uart1_ri_dtr_grp, uart1_rts_cts_grp,
46*f84f5484SRob Herring (Arm)          uart1_in_out_grp, uart2_rts_cts_grp, pwm_0_grp, pwm_1_grp, pwm_2_grp,
47*f84f5484SRob Herring (Arm)          pwm_3_grp
48*f84f5484SRob Herring (Arm)        ]
49*f84f5484SRob Herring (Arm)
50*f84f5484SRob Herring (Arm)    pins:
51*f84f5484SRob Herring (Arm)      items:
52*f84f5484SRob Herring (Arm)        enum: [
53*f84f5484SRob Herring (Arm)          qspi_wp, qspi_hold, qspi_cs, qspi_sck, uart3_sin, uart3_sout,
54*f84f5484SRob Herring (Arm)          qspi_mosi, qspi_miso, spi0_fss, spi0_rxd, spi0_txd, spi0_sck,
55*f84f5484SRob Herring (Arm)          spi1_fss, spi1_rxd, spi1_txd, spi1_sck, sdio0_data7, sdio0_emmc_rst,
56*f84f5484SRob Herring (Arm)          sdio0_led_on, sdio0_wp, sdio0_data3, sdio0_data4, sdio0_data5,
57*f84f5484SRob Herring (Arm)          sdio0_data6, sdio0_cmd, sdio0_data0, sdio0_data1, sdio0_data2,
58*f84f5484SRob Herring (Arm)          sdio1_led_on, sdio1_wp, sdio0_cd_l, sdio0_clk, sdio1_data5,
59*f84f5484SRob Herring (Arm)          sdio1_data6, sdio1_data7, sdio1_emmc_rst, sdio1_data1, sdio1_data2,
60*f84f5484SRob Herring (Arm)          sdio1_data3, sdio1_data4, sdio1_cd_l, sdio1_clk, sdio1_cmd,
61*f84f5484SRob Herring (Arm)          sdio1_data0, ext_mdio_0, ext_mdc_0, usb3_p1_vbus_ppc,
62*f84f5484SRob Herring (Arm)          usb3_p1_overcurrent, usb3_p0_vbus_ppc, usb3_p0_overcurrent,
63*f84f5484SRob Herring (Arm)          usb2_presence_indication, usb2_vbus_present, usb2_vbus_ppc,
64*f84f5484SRob Herring (Arm)          usb2_overcurrent, sata_led1, sata_led0
65*f84f5484SRob Herring (Arm)        ]
66*f84f5484SRob Herring (Arm)
67*f84f5484SRob Herring (Arm)    bias-disable: true
68*f84f5484SRob Herring (Arm)    bias-pull-down: true
69*f84f5484SRob Herring (Arm)    bias-pull-up: true
70*f84f5484SRob Herring (Arm)    drive-strength: true
71*f84f5484SRob Herring (Arm)    slew-rate: true
72*f84f5484SRob Herring (Arm)    input-enable: true
73*f84f5484SRob Herring (Arm)    input-disable: true
74*f84f5484SRob Herring (Arm)
75*f84f5484SRob Herring (Arm)  oneOf:
76*f84f5484SRob Herring (Arm)    - required:
77*f84f5484SRob Herring (Arm)        - groups
78*f84f5484SRob Herring (Arm)        - function
79*f84f5484SRob Herring (Arm)    - required:
80*f84f5484SRob Herring (Arm)        - pins
81*f84f5484SRob Herring (Arm)
82*f84f5484SRob Herring (Arm)required:
83*f84f5484SRob Herring (Arm)  - compatible
84*f84f5484SRob Herring (Arm)  - reg
85*f84f5484SRob Herring (Arm)
86*f84f5484SRob Herring (Arm)examples:
87*f84f5484SRob Herring (Arm)  - |
88*f84f5484SRob Herring (Arm)    pinctrl@6501d130 {
89*f84f5484SRob Herring (Arm)        compatible = "brcm,ns2-pinmux";
90*f84f5484SRob Herring (Arm)        reg = <0x6501d130 0x08>,
91*f84f5484SRob Herring (Arm)              <0x660a0028 0x04>,
92*f84f5484SRob Herring (Arm)              <0x660009b0 0x40>;
93*f84f5484SRob Herring (Arm)
94*f84f5484SRob Herring (Arm)        /* Select nand function */
95*f84f5484SRob Herring (Arm)        nand-sel {
96*f84f5484SRob Herring (Arm)            function = "nand";
97*f84f5484SRob Herring (Arm)            groups = "nand_grp";
98*f84f5484SRob Herring (Arm)        };
99*f84f5484SRob Herring (Arm)
100*f84f5484SRob Herring (Arm)        /* Pull up the uart3 rx pin */
101*f84f5484SRob Herring (Arm)        uart3-rx {
102*f84f5484SRob Herring (Arm)            pins = "uart3_sin";
103*f84f5484SRob Herring (Arm)            bias-pull-up;
104*f84f5484SRob Herring (Arm)        };
105*f84f5484SRob Herring (Arm)
106*f84f5484SRob Herring (Arm)        /* Set the drive strength of sdio d4 pin */
107*f84f5484SRob Herring (Arm)        sdio0-d4 {
108*f84f5484SRob Herring (Arm)            pins = "sdio0_data4";
109*f84f5484SRob Herring (Arm)            drive-strength = <8>;
110*f84f5484SRob Herring (Arm)        };
111*f84f5484SRob Herring (Arm)    };
112