1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/pinctrl/cirrus,lochnagar.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Cirrus Logic Lochnagar Audio Development Board 8 9maintainers: 10 - patches@opensource.cirrus.com 11 12description: | 13 Lochnagar is an evaluation and development board for Cirrus Logic 14 Smart CODEC and Amp devices. It allows the connection of most Cirrus 15 Logic devices on mini-cards, as well as allowing connection of various 16 application processor systems to provide a full evaluation platform. 17 Audio system topology, clocking and power can all be controlled through 18 the Lochnagar, allowing the device under test to be used in a variety of 19 possible use cases. 20 21 This binding document describes the binding for the pinctrl portion of 22 the driver. 23 24 Also see these documents for generic binding information: 25 [1] GPIO : ../gpio/gpio.txt 26 [2] Pinctrl: ../pinctrl/pinctrl-bindings.txt 27 28 And these for relevant defines: 29 [3] include/dt-bindings/pinctrl/lochnagar.h 30 31 This binding must be part of the Lochnagar MFD binding: 32 [4] ../mfd/cirrus,lochnagar.yaml 33 34properties: 35 compatible: 36 enum: 37 - cirrus,lochnagar-pinctrl 38 39 gpio-controller: true 40 41 '#gpio-cells': 42 description: 43 The first cell is the pin number and the second cell is used 44 to specify optional parameters. 45 const: 2 46 47 gpio-ranges: 48 description: 49 Range of pins managed by the GPIO controller, see [1]. Both the 50 GPIO and Pinctrl base should be set to zero and the count to the 51 appropriate of the LOCHNAGARx_PIN_NUM_GPIOS define, see [3]. 52 maxItems: 1 53 54 pin-settings: 55 type: object 56 patternProperties: 57 '-pins$': 58 description: 59 The pin configurations are defined as a child of the pinctrl 60 states node, see [2]. Each sub-node can have the following 61 properties. 62 type: object 63 allOf: 64 - $ref: pincfg-node.yaml# 65 - $ref: pinmux-node.yaml# 66 67 properties: 68 groups: 69 description: 70 A list of groups to select (either this or "pins" must be 71 specified), available groups. 72 enum: [ codec-aif1, codec-aif2, codec-aif3, dsp-aif1, 73 dsp-aif2, psia1, psia2, gf-aif1, gf-aif2, gf-aif3, 74 gf-aif4, spdif-aif, usb-aif1, usb-aif2, adat-aif, 75 soundcard-aif ] 76 77 pins: 78 description: 79 A list of pin names to select (either this or "groups" must 80 be specified), available pins. 81 enum: [ fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4, 82 fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2, 83 codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6, 84 codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2, 85 dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6, 86 gf-gpio2, gf-gpio3, gf-gpio7, codec-aif1-bclk, 87 codec-aif1-rxdat, codec-aif1-lrclk, codec-aif1-txdat, 88 codec-aif2-bclk, codec-aif2-rxdat, codec-aif2-lrclk, 89 codec-aif2-txdat, codec-aif3-bclk, codec-aif3-rxdat, 90 codec-aif3-lrclk, codec-aif3-txdat, dsp-aif1-bclk, 91 dsp-aif1-rxdat, dsp-aif1-lrclk, dsp-aif1-txdat, 92 dsp-aif2-bclk, dsp-aif2-rxdat, dsp-aif2-lrclk, 93 dsp-aif2-txdat, psia1-bclk, psia1-rxdat, psia1-lrclk, 94 psia1-txdat, psia2-bclk, psia2-rxdat, psia2-lrclk, 95 psia2-txdat, gf-aif3-bclk, gf-aif3-rxdat, 96 gf-aif3-lrclk, gf-aif3-txdat, gf-aif4-bclk, 97 gf-aif4-rxdat, gf-aif4-lrclk, gf-aif4-txdat, 98 gf-aif1-bclk, gf-aif1-rxdat, gf-aif1-lrclk, 99 gf-aif1-txdat, gf-aif2-bclk, gf-aif2-rxdat, 100 gf-aif2-lrclk, gf-aif2-txdat, dsp-uart1-rx, 101 dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx, 102 gf-uart2-rx, gf-uart2-tx, usb-uart-rx, codec-pdmclk1, 103 codec-pdmdat1, codec-pdmclk2, codec-pdmdat2, 104 codec-dmicclk1, codec-dmicdat1, codec-dmicclk2, 105 codec-dmicdat2, codec-dmicclk3, codec-dmicdat3, 106 codec-dmicclk4, codec-dmicdat4, dsp-dmicclk1, 107 dsp-dmicdat1, dsp-dmicclk2, dsp-dmicdat2, i2c2-scl, 108 i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, i2c4-sda, 109 dsp-standby, codec-mclk1, codec-mclk2, dsp-clkin, 110 psia1-mclk, psia2-mclk, gf-gpio1, gf-gpio5, 111 dsp-gpio20, led1, led2 ] 112 113 function: 114 description: 115 The mux function to select, available functions. 116 enum: [ aif, fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4, 117 fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2, 118 codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6, 119 codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2, 120 dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6, 121 gf-gpio2, gf-gpio3, gf-gpio7, gf-gpio1, gf-gpio5, 122 dsp-gpio20, codec-clkout, dsp-clkout, pmic-32k, 123 spdif-clkout, clk-12m288, clk-11m2986, clk-24m576, 124 clk-22m5792, xmos-mclk, gf-clkout1, gf-mclk1, 125 gf-mclk3, gf-mclk2, gf-clkout2, codec-mclk1, 126 codec-mclk2, dsp-clkin, psia1-mclk, psia2-mclk, 127 spdif-mclk, codec-irq, codec-reset, dsp-reset, 128 dsp-irq, dsp-standby, codec-pdmclk1, codec-pdmdat1, 129 codec-pdmclk2, codec-pdmdat2, codec-dmicclk1, 130 codec-dmicdat1, codec-dmicclk2, codec-dmicdat2, 131 codec-dmicclk3, codec-dmicdat3, codec-dmicclk4, 132 codec-dmicdat4, dsp-dmicclk1, dsp-dmicdat1, 133 dsp-dmicclk2, dsp-dmicdat2, dsp-uart1-rx, 134 dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx, 135 gf-uart2-rx, gf-uart2-tx, usb-uart-rx, usb-uart-tx, 136 i2c2-scl, i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, 137 i2c4-sda, spdif-aif, psia1, psia1-bclk, psia1-lrclk, 138 psia1-rxdat, psia1-txdat, psia2, psia2-bclk, 139 psia2-lrclk, psia2-rxdat, psia2-txdat, codec-aif1, 140 codec-aif1-bclk, codec-aif1-lrclk, codec-aif1-rxdat, 141 codec-aif1-txdat, codec-aif2, codec-aif2-bclk, 142 codec-aif2-lrclk, codec-aif2-rxdat, codec-aif2-txdat, 143 codec-aif3, codec-aif3-bclk, codec-aif3-lrclk, 144 codec-aif3-rxdat, codec-aif3-txdat, dsp-aif1, 145 dsp-aif1-bclk, dsp-aif1-lrclk, dsp-aif1-rxdat, 146 dsp-aif1-txdat, dsp-aif2, dsp-aif2-bclk, 147 dsp-aif2-lrclk, dsp-aif2-rxdat, dsp-aif2-txdat, 148 gf-aif3, gf-aif3-bclk, gf-aif3-lrclk, gf-aif3-rxdat, 149 gf-aif3-txdat, gf-aif4, gf-aif4-bclk, gf-aif4-lrclk, 150 gf-aif4-rxdat, gf-aif4-txdat, gf-aif1, gf-aif1-bclk, 151 gf-aif1-lrclk, gf-aif1-rxdat, gf-aif1-txdat, gf-aif2, 152 gf-aif2-bclk, gf-aif2-lrclk, gf-aif2-rxdat, 153 gf-aif2-txdat, usb-aif1, usb-aif2, adat-aif, 154 soundcard-aif ] 155 156 output-enable: 157 description: 158 Specifies that an AIF group will be used as a master 159 interface (either this or input-enable is required if a 160 group is being muxed to an AIF) 161 162 input-enable: 163 description: 164 Specifies that an AIF group will be used as a slave 165 interface (either this or output-enable is required if a 166 group is being muxed to an AIF) 167 168 additionalProperties: false 169 170 required: 171 - function 172 173 additionalProperties: false 174 175allOf: 176 - $ref: "pinctrl.yaml#" 177 178required: 179 - compatible 180 - gpio-controller 181 - '#gpio-cells' 182 - gpio-ranges 183 - pinctrl-0 184 - pinctrl-names 185 186additionalProperties: false 187