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