Documentation / devicetree / bindings / pinctrl / brcm,bcm6358-pinctrl.yaml


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/brcm,bcm6358-pinctrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom BCM6358 pin controller

maintainers:
  - Álvaro Fernández Rojas <noltari@gmail.com>
  - Jonas Gorski <jonas.gorski@gmail.com>

description:
  Bindings for Broadcom's BCM6358 memory-mapped pin controller.

properties:
  compatible:
    const: brcm,bcm6358-pinctrl

  reg:
    maxItems: 1

patternProperties:
  '-pins$':
    type: object
    $ref: pinmux-node.yaml#
    unevaluatedProperties: false

    properties:
      function:
        enum: [ ebi_cs, uart1, serial_led, legacy_led, led, spi_cs, utopia,
                pwm_syn_clk, sys_irq ]

      groups:
        enum: [ ebi_cs_grp, uart1_grp, serial_led_grp, legacy_led_grp,
                led_grp, spi_cs_grp, utopia_grp, pwm_syn_clk_grp, sys_irq_grp ]

allOf:
  - $ref: pinctrl.yaml#

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    pinctrl@18 {
      compatible = "brcm,bcm6358-pinctrl";
      reg = <0x18 0x4>;
 
      pinctrl_ebi_cs: ebi_cs-pins {
        function = "ebi_cs";
        groups = "ebi_cs_grp";
      };
 
      pinctrl_uart1: uart1-pins {
        function = "uart1";
        groups = "uart1_grp";
      };
 
      pinctrl_serial_led: serial_led-pins {
        function = "serial_led";
        groups = "serial_led_grp";
      };
 
      pinctrl_legacy_led: legacy_led-pins {
        function = "legacy_led";
        groups = "legacy_led_grp";
      };
 
      pinctrl_led: led-pins {
        function = "led";
        groups = "led_grp";
      };
 
      pinctrl_spi_cs_23: spi_cs-pins {
        function = "spi_cs";
        groups = "spi_cs_grp";
      };
 
      pinctrl_utopia: utopia-pins {
        function = "utopia";
        groups = "utopia_grp";
      };
 
      pinctrl_pwm_syn_clk: pwm_syn_clk-pins {
        function = "pwm_syn_clk";
        groups = "pwm_syn_clk_grp";
      };
 
      pinctrl_sys_irq: sys_irq-pins {
        function = "sys_irq";
        groups = "sys_irq_grp";
      };
    };