| # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/pinctrl/brcm,ns-pinmux.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Broadcom Northstar pins mux controller |
| |
| maintainers: |
| - Rafał Miłecki <rafal@milecki.pl> |
| |
| description: |
| Some of Northstar SoCs's pins can be used for various purposes thanks to the |
| mux controller. This binding allows describing mux controller and listing |
| available functions. They can be referenced later by other bindings to let |
| system configure controller correctly. |
| |
| A list of pins varies across chipsets so few bindings are available. |
| |
| properties: |
| compatible: |
| enum: |
| - brcm,bcm4708-pinmux |
| - brcm,bcm4709-pinmux |
| - brcm,bcm53012-pinmux |
| |
| reg: |
| maxItems: 1 |
| |
| reg-names: |
| const: cru_gpio_control |
| |
| patternProperties: |
| '-pins$': |
| type: object |
| description: pin node |
| $ref: pinmux-node.yaml# |
| |
| properties: |
| function: |
| enum: [ spi, i2c, pwm, uart1, mdio, uart2, sdio ] |
| groups: |
| minItems: 1 |
| maxItems: 4 |
| items: |
| enum: [ spi_grp, i2c_grp, pwm0_grp, pwm1_grp, pwm2_grp, pwm3_grp, |
| uart1_grp, mdio_grp, uart2_grp, sdio_pwr_grp, sdio_1p8v_grp ] |
| |
| required: |
| - function |
| - groups |
| |
| additionalProperties: false |
| |
| allOf: |
| - if: |
| properties: |
| compatible: |
| contains: |
| const: brcm,bcm4708-pinmux |
| then: |
| patternProperties: |
| '-pins$': |
| properties: |
| function: |
| enum: [ spi, i2c, pwm, uart1 ] |
| groups: |
| items: |
| enum: [ spi_grp, i2c_grp, pwm0_grp, pwm1_grp, pwm2_grp, pwm3_grp, |
| uart1_grp ] |
| |
| required: |
| - reg |
| - reg-names |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| pin-controller@1800c1c0 { |
| compatible = "brcm,bcm4708-pinmux"; |
| reg = <0x1800c1c0 0x24>; |
| reg-names = "cru_gpio_control"; |
| |
| spi-pins { |
| function = "spi"; |
| groups = "spi_grp"; |
| }; |
| }; |