Documentation / devicetree / bindings / pinctrl / cirrus,lochnagar.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 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/cirrus,lochnagar.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cirrus Logic Lochnagar Audio Development Board

maintainers:
  - patches@opensource.cirrus.com

description: |
  Lochnagar is an evaluation and development board for Cirrus Logic
  Smart CODEC and Amp devices. It allows the connection of most Cirrus
  Logic devices on mini-cards, as well as allowing connection of various
  application processor systems to provide a full evaluation platform.
  Audio system topology, clocking and power can all be controlled through
  the Lochnagar, allowing the device under test to be used in a variety of
  possible use cases.
 
  This binding document describes the binding for the pinctrl portion of
  the driver.
 
  Also see these documents for generic binding information:
    [1] GPIO : ../gpio/gpio.txt
    [2] Pinctrl: ../pinctrl/pinctrl-bindings.txt
 
  And these for relevant defines:
    [3] include/dt-bindings/pinctrl/lochnagar.h
 
  This binding must be part of the Lochnagar MFD binding:
    [4] ../mfd/cirrus,lochnagar.yaml

properties:
  compatible:
    enum:
      - cirrus,lochnagar-pinctrl

  gpio-controller: true
 
  '#gpio-cells':
    description:
      The first cell is the pin number and the second cell is used
      to specify optional parameters.
    const: 2

  gpio-ranges:
    description:
      Range of pins managed by the GPIO controller, see [1]. Both the
      GPIO and Pinctrl base should be set to zero and the count to the
      appropriate of the LOCHNAGARx_PIN_NUM_GPIOS define, see [3].
    maxItems: 1

  pin-settings:
    type: object
    patternProperties:
      '-pins$':
        description:
          The pin configurations are defined as a child of the pinctrl
          states node, see [2]. Each sub-node can have the following
          properties.
        type: object
        allOf:
          - $ref: pincfg-node.yaml#
          - $ref: pinmux-node.yaml#

        properties:
          groups:
            description:
              A list of groups to select (either this or "pins" must be
              specified), available groups.
            enum: [ codec-aif1, codec-aif2, codec-aif3, dsp-aif1,
                    dsp-aif2, psia1, psia2, gf-aif1, gf-aif2, gf-aif3,
                    gf-aif4, spdif-aif, usb-aif1, usb-aif2, adat-aif,
                    soundcard-aif ]

          pins:
            description:
              A list of pin names to select (either this or "groups" must
              be specified), available pins.
            enum: [ fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4,
                    fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2,
                    codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6,
                    codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2,
                    dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6,
                    gf-gpio2, gf-gpio3, gf-gpio7, codec-aif1-bclk,
                    codec-aif1-rxdat, codec-aif1-lrclk, codec-aif1-txdat,
                    codec-aif2-bclk, codec-aif2-rxdat, codec-aif2-lrclk,
                    codec-aif2-txdat, codec-aif3-bclk, codec-aif3-rxdat,
                    codec-aif3-lrclk, codec-aif3-txdat, dsp-aif1-bclk,
                    dsp-aif1-rxdat, dsp-aif1-lrclk, dsp-aif1-txdat,
                    dsp-aif2-bclk, dsp-aif2-rxdat, dsp-aif2-lrclk,
                    dsp-aif2-txdat, psia1-bclk, psia1-rxdat, psia1-lrclk,
                    psia1-txdat, psia2-bclk, psia2-rxdat, psia2-lrclk,
                    psia2-txdat, gf-aif3-bclk, gf-aif3-rxdat,
                    gf-aif3-lrclk, gf-aif3-txdat, gf-aif4-bclk,
                    gf-aif4-rxdat, gf-aif4-lrclk, gf-aif4-txdat,
                    gf-aif1-bclk, gf-aif1-rxdat, gf-aif1-lrclk,
                    gf-aif1-txdat, gf-aif2-bclk, gf-aif2-rxdat,
                    gf-aif2-lrclk, gf-aif2-txdat, dsp-uart1-rx,
                    dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx,
                    gf-uart2-rx, gf-uart2-tx, usb-uart-rx, codec-pdmclk1,
                    codec-pdmdat1, codec-pdmclk2, codec-pdmdat2,
                    codec-dmicclk1, codec-dmicdat1, codec-dmicclk2,
                    codec-dmicdat2, codec-dmicclk3, codec-dmicdat3,
                    codec-dmicclk4, codec-dmicdat4, dsp-dmicclk1,
                    dsp-dmicdat1, dsp-dmicclk2, dsp-dmicdat2, i2c2-scl,
                    i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, i2c4-sda,
                    dsp-standby, codec-mclk1, codec-mclk2, dsp-clkin,
                    psia1-mclk, psia2-mclk, gf-gpio1, gf-gpio5,
                    dsp-gpio20, led1, led2 ]

          function:
            description:
              The mux function to select, available functions.
            enum: [ aif, fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4,
                    fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2,
                    codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6,
                    codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2,
                    dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6,
                    gf-gpio2, gf-gpio3, gf-gpio7, gf-gpio1, gf-gpio5,
                    dsp-gpio20, codec-clkout, dsp-clkout, pmic-32k,
                    spdif-clkout, clk-12m288, clk-11m2986, clk-24m576,
                    clk-22m5792, xmos-mclk, gf-clkout1, gf-mclk1,
                    gf-mclk3, gf-mclk2, gf-clkout2, codec-mclk1,
                    codec-mclk2, dsp-clkin, psia1-mclk, psia2-mclk,
                    spdif-mclk, codec-irq, codec-reset, dsp-reset,
                    dsp-irq, dsp-standby, codec-pdmclk1, codec-pdmdat1,
                    codec-pdmclk2, codec-pdmdat2, codec-dmicclk1,
                    codec-dmicdat1, codec-dmicclk2, codec-dmicdat2,
                    codec-dmicclk3, codec-dmicdat3, codec-dmicclk4,
                    codec-dmicdat4, dsp-dmicclk1, dsp-dmicdat1,
                    dsp-dmicclk2, dsp-dmicdat2, dsp-uart1-rx,
                    dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx,
                    gf-uart2-rx, gf-uart2-tx, usb-uart-rx, usb-uart-tx,
                    i2c2-scl, i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl,
                    i2c4-sda, spdif-aif, psia1, psia1-bclk, psia1-lrclk,
                    psia1-rxdat, psia1-txdat, psia2, psia2-bclk,
                    psia2-lrclk, psia2-rxdat, psia2-txdat, codec-aif1,
                    codec-aif1-bclk, codec-aif1-lrclk, codec-aif1-rxdat,
                    codec-aif1-txdat, codec-aif2, codec-aif2-bclk,
                    codec-aif2-lrclk, codec-aif2-rxdat, codec-aif2-txdat,
                    codec-aif3, codec-aif3-bclk, codec-aif3-lrclk,
                    codec-aif3-rxdat, codec-aif3-txdat, dsp-aif1,
                    dsp-aif1-bclk, dsp-aif1-lrclk, dsp-aif1-rxdat,
                    dsp-aif1-txdat, dsp-aif2, dsp-aif2-bclk,
                    dsp-aif2-lrclk, dsp-aif2-rxdat, dsp-aif2-txdat,
                    gf-aif3, gf-aif3-bclk, gf-aif3-lrclk, gf-aif3-rxdat,
                    gf-aif3-txdat, gf-aif4, gf-aif4-bclk, gf-aif4-lrclk,
                    gf-aif4-rxdat, gf-aif4-txdat, gf-aif1, gf-aif1-bclk,
                    gf-aif1-lrclk, gf-aif1-rxdat, gf-aif1-txdat, gf-aif2,
                    gf-aif2-bclk, gf-aif2-lrclk, gf-aif2-rxdat,
                    gf-aif2-txdat, usb-aif1, usb-aif2, adat-aif,
                    soundcard-aif ]

          output-enable:
            description:
              Specifies that an AIF group will be used as a master
              interface (either this or input-enable is required if a
              group is being muxed to an AIF)

          input-enable:
            description:
              Specifies that an AIF group will be used as a slave
              interface (either this or output-enable is required if a
              group is being muxed to an AIF)

        additionalProperties: false

        required:
          - function

    additionalProperties: false

allOf:
  - $ref: pinctrl.yaml#

required:
  - compatible
  - gpio-controller
  - '#gpio-cells'
  - gpio-ranges
  - pinctrl-0
  - pinctrl-names

additionalProperties: false