162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/pinctrl/brcm,ns-pinmux.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Broadcom Northstar pins mux controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Rafał Miłecki <rafal@milecki.pl> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: 1362306a36Sopenharmony_ci Some of Northstar SoCs's pins can be used for various purposes thanks to the 1462306a36Sopenharmony_ci mux controller. This binding allows describing mux controller and listing 1562306a36Sopenharmony_ci available functions. They can be referenced later by other bindings to let 1662306a36Sopenharmony_ci system configure controller correctly. 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci A list of pins varies across chipsets so few bindings are available. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciproperties: 2162306a36Sopenharmony_ci compatible: 2262306a36Sopenharmony_ci enum: 2362306a36Sopenharmony_ci - brcm,bcm4708-pinmux 2462306a36Sopenharmony_ci - brcm,bcm4709-pinmux 2562306a36Sopenharmony_ci - brcm,bcm53012-pinmux 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci reg: 2862306a36Sopenharmony_ci maxItems: 1 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci reg-names: 3162306a36Sopenharmony_ci const: cru_gpio_control 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_cipatternProperties: 3462306a36Sopenharmony_ci '-pins$': 3562306a36Sopenharmony_ci type: object 3662306a36Sopenharmony_ci description: pin node 3762306a36Sopenharmony_ci $ref: pinmux-node.yaml# 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci properties: 4062306a36Sopenharmony_ci function: 4162306a36Sopenharmony_ci enum: [ spi, i2c, pwm, uart1, mdio, uart2, sdio ] 4262306a36Sopenharmony_ci groups: 4362306a36Sopenharmony_ci minItems: 1 4462306a36Sopenharmony_ci maxItems: 4 4562306a36Sopenharmony_ci items: 4662306a36Sopenharmony_ci enum: [ spi_grp, i2c_grp, pwm0_grp, pwm1_grp, pwm2_grp, pwm3_grp, 4762306a36Sopenharmony_ci uart1_grp, mdio_grp, uart2_grp, sdio_pwr_grp, sdio_1p8v_grp ] 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci required: 5062306a36Sopenharmony_ci - function 5162306a36Sopenharmony_ci - groups 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci additionalProperties: false 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ciallOf: 5662306a36Sopenharmony_ci - $ref: pinctrl.yaml# 5762306a36Sopenharmony_ci - if: 5862306a36Sopenharmony_ci properties: 5962306a36Sopenharmony_ci compatible: 6062306a36Sopenharmony_ci contains: 6162306a36Sopenharmony_ci const: brcm,bcm4708-pinmux 6262306a36Sopenharmony_ci then: 6362306a36Sopenharmony_ci patternProperties: 6462306a36Sopenharmony_ci '-pins$': 6562306a36Sopenharmony_ci properties: 6662306a36Sopenharmony_ci function: 6762306a36Sopenharmony_ci enum: [ spi, i2c, pwm, uart1 ] 6862306a36Sopenharmony_ci groups: 6962306a36Sopenharmony_ci items: 7062306a36Sopenharmony_ci enum: [ spi_grp, i2c_grp, pwm0_grp, pwm1_grp, pwm2_grp, pwm3_grp, 7162306a36Sopenharmony_ci uart1_grp ] 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_cirequired: 7462306a36Sopenharmony_ci - reg 7562306a36Sopenharmony_ci - reg-names 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ciadditionalProperties: false 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ciexamples: 8062306a36Sopenharmony_ci - | 8162306a36Sopenharmony_ci pinctrl@1800c1c0 { 8262306a36Sopenharmony_ci compatible = "brcm,bcm4708-pinmux"; 8362306a36Sopenharmony_ci reg = <0x1800c1c0 0x24>; 8462306a36Sopenharmony_ci reg-names = "cru_gpio_control"; 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci spi-pins { 8762306a36Sopenharmony_ci function = "spi"; 8862306a36Sopenharmony_ci groups = "spi_grp"; 8962306a36Sopenharmony_ci }; 9062306a36Sopenharmony_ci }; 91