1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/pinctrl/brcm,ns-pinmux.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Broadcom Northstar pins mux controller 8 9maintainers: 10 - Rafał Miłecki <rafal@milecki.pl> 11 12description: 13 Some of Northstar SoCs's pins can be used for various purposes thanks to the 14 mux controller. This binding allows describing mux controller and listing 15 available functions. They can be referenced later by other bindings to let 16 system configure controller correctly. 17 18 A list of pins varies across chipsets so few bindings are available. 19 20properties: 21 compatible: 22 enum: 23 - brcm,bcm4708-pinmux 24 - brcm,bcm4709-pinmux 25 - brcm,bcm53012-pinmux 26 27 reg: 28 maxItems: 1 29 30 reg-names: 31 const: cru_gpio_control 32 33patternProperties: 34 '-pins$': 35 type: object 36 description: pin node 37 $ref: pinmux-node.yaml# 38 39 properties: 40 function: 41 enum: [ spi, i2c, pwm, uart1, mdio, uart2, sdio ] 42 groups: 43 minItems: 1 44 maxItems: 4 45 items: 46 enum: [ spi_grp, i2c_grp, pwm0_grp, pwm1_grp, pwm2_grp, pwm3_grp, 47 uart1_grp, mdio_grp, uart2_grp, sdio_pwr_grp, sdio_1p8v_grp ] 48 49 required: 50 - function 51 - groups 52 53 additionalProperties: false 54 55allOf: 56 - $ref: "pinctrl.yaml#" 57 - if: 58 properties: 59 compatible: 60 contains: 61 const: brcm,bcm4708-pinmux 62 then: 63 patternProperties: 64 '-pins$': 65 properties: 66 function: 67 enum: [ spi, i2c, pwm, uart1 ] 68 groups: 69 items: 70 enum: [ spi_grp, i2c_grp, pwm0_grp, pwm1_grp, pwm2_grp, pwm3_grp, 71 uart1_grp ] 72 73required: 74 - reg 75 - reg-names 76 77additionalProperties: false 78 79examples: 80 - | 81 pinctrl@1800c1c0 { 82 compatible = "brcm,bcm4708-pinmux"; 83 reg = <0x1800c1c0 0x24>; 84 reg-names = "cru_gpio_control"; 85 86 spi-pins { 87 function = "spi"; 88 groups = "spi_grp"; 89 }; 90 }; 91