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 20 Node of the pinmux must be nested in the CRU (Central Resource Unit) "syscon" 21 node. 22 23properties: 24 compatible: 25 enum: 26 - brcm,bcm4708-pinmux 27 - brcm,bcm4709-pinmux 28 - brcm,bcm53012-pinmux 29 30 offset: 31 description: offset of pin registers in the CRU block 32 maxItems: 1 33 $ref: /schemas/types.yaml#/definitions/uint32-array 34 35patternProperties: 36 '-pins$': 37 type: object 38 description: pin node 39 $ref: pinmux-node.yaml# 40 41 properties: 42 function: 43 enum: [ spi, i2c, pwm, uart1, mdio, uart2, sdio ] 44 groups: 45 minItems: 1 46 maxItems: 4 47 items: 48 enum: [ spi_grp, i2c_grp, pwm0_grp, pwm1_grp, pwm2_grp, pwm3_grp, 49 uart1_grp, mdio_grp, uart2_grp, sdio_pwr_grp, sdio_1p8v_grp ] 50 51 required: 52 - function 53 - groups 54 55 additionalProperties: false 56 57allOf: 58 - if: 59 properties: 60 compatible: 61 contains: 62 const: brcm,bcm4708-pinmux 63 then: 64 patternProperties: 65 '-pins$': 66 properties: 67 function: 68 enum: [ spi, i2c, pwm, uart1 ] 69 groups: 70 items: 71 enum: [ spi_grp, i2c_grp, pwm0_grp, pwm1_grp, pwm2_grp, pwm3_grp, 72 uart1_grp ] 73 74required: 75 - offset 76 77additionalProperties: false 78 79examples: 80 - | 81 cru@1800c100 { 82 compatible = "syscon", "simple-mfd"; 83 reg = <0x1800c100 0x1a4>; 84 85 pinctrl { 86 compatible = "brcm,bcm4708-pinmux"; 87 offset = <0xc0>; 88 89 spi-pins { 90 function = "spi"; 91 groups = "spi_grp"; 92 }; 93 }; 94 }; 95