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 pinctrl-0: 55 description: 56 A phandle to the default pinctrl state. 57 58 pinctrl-names: 59 description: 60 A pinctrl state named "default" must be defined. 61 const: default 62 63 pin-settings: 64 type: object 65 patternProperties: 66 '-pins$': 67 description: 68 The pin configurations are defined as a child of the pinctrl 69 states node, see [2]. Each sub-node can have the following 70 properties. 71 type: object 72 allOf: 73 - $ref: pincfg-node.yaml# 74 - $ref: pinmux-node.yaml# 75 76 properties: 77 groups: 78 description: 79 A list of groups to select (either this or "pins" must be 80 specified), available groups. 81 enum: [ codec-aif1, codec-aif2, codec-aif3, dsp-aif1, 82 dsp-aif2, psia1, psia2, gf-aif1, gf-aif2, gf-aif3, 83 gf-aif4, spdif-aif, usb-aif1, usb-aif2, adat-aif, 84 soundcard-aif ] 85 86 pins: 87 description: 88 A list of pin names to select (either this or "groups" must 89 be specified), available pins. 90 enum: [ fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4, 91 fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2, 92 codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6, 93 codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2, 94 dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6, 95 gf-gpio2, gf-gpio3, gf-gpio7, codec-aif1-bclk, 96 codec-aif1-rxdat, codec-aif1-lrclk, codec-aif1-txdat, 97 codec-aif2-bclk, codec-aif2-rxdat, codec-aif2-lrclk, 98 codec-aif2-txdat, codec-aif3-bclk, codec-aif3-rxdat, 99 codec-aif3-lrclk, codec-aif3-txdat, dsp-aif1-bclk, 100 dsp-aif1-rxdat, dsp-aif1-lrclk, dsp-aif1-txdat, 101 dsp-aif2-bclk, dsp-aif2-rxdat, dsp-aif2-lrclk, 102 dsp-aif2-txdat, psia1-bclk, psia1-rxdat, psia1-lrclk, 103 psia1-txdat, psia2-bclk, psia2-rxdat, psia2-lrclk, 104 psia2-txdat, gf-aif3-bclk, gf-aif3-rxdat, 105 gf-aif3-lrclk, gf-aif3-txdat, gf-aif4-bclk, 106 gf-aif4-rxdat, gf-aif4-lrclk, gf-aif4-txdat, 107 gf-aif1-bclk, gf-aif1-rxdat, gf-aif1-lrclk, 108 gf-aif1-txdat, gf-aif2-bclk, gf-aif2-rxdat, 109 gf-aif2-lrclk, gf-aif2-txdat, dsp-uart1-rx, 110 dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx, 111 gf-uart2-rx, gf-uart2-tx, usb-uart-rx, codec-pdmclk1, 112 codec-pdmdat1, codec-pdmclk2, codec-pdmdat2, 113 codec-dmicclk1, codec-dmicdat1, codec-dmicclk2, 114 codec-dmicdat2, codec-dmicclk3, codec-dmicdat3, 115 codec-dmicclk4, codec-dmicdat4, dsp-dmicclk1, 116 dsp-dmicdat1, dsp-dmicclk2, dsp-dmicdat2, i2c2-scl, 117 i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, i2c4-sda, 118 dsp-standby, codec-mclk1, codec-mclk2, dsp-clkin, 119 psia1-mclk, psia2-mclk, gf-gpio1, gf-gpio5, 120 dsp-gpio20, led1, led2 ] 121 122 function: 123 description: 124 The mux function to select, available functions. 125 enum: [ aif, fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4, 126 fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2, 127 codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6, 128 codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2, 129 dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6, 130 gf-gpio2, gf-gpio3, gf-gpio7, gf-gpio1, gf-gpio5, 131 dsp-gpio20, codec-clkout, dsp-clkout, pmic-32k, 132 spdif-clkout, clk-12m288, clk-11m2986, clk-24m576, 133 clk-22m5792, xmos-mclk, gf-clkout1, gf-mclk1, 134 gf-mclk3, gf-mclk2, gf-clkout2, codec-mclk1, 135 codec-mclk2, dsp-clkin, psia1-mclk, psia2-mclk, 136 spdif-mclk, codec-irq, codec-reset, dsp-reset, 137 dsp-irq, dsp-standby, codec-pdmclk1, codec-pdmdat1, 138 codec-pdmclk2, codec-pdmdat2, codec-dmicclk1, 139 codec-dmicdat1, codec-dmicclk2, codec-dmicdat2, 140 codec-dmicclk3, codec-dmicdat3, codec-dmicclk4, 141 codec-dmicdat4, dsp-dmicclk1, dsp-dmicdat1, 142 dsp-dmicclk2, dsp-dmicdat2, dsp-uart1-rx, 143 dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx, 144 gf-uart2-rx, gf-uart2-tx, usb-uart-rx, usb-uart-tx, 145 i2c2-scl, i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, 146 i2c4-sda, spdif-aif, psia1, psia1-bclk, psia1-lrclk, 147 psia1-rxdat, psia1-txdat, psia2, psia2-bclk, 148 psia2-lrclk, psia2-rxdat, psia2-txdat, codec-aif1, 149 codec-aif1-bclk, codec-aif1-lrclk, codec-aif1-rxdat, 150 codec-aif1-txdat, codec-aif2, codec-aif2-bclk, 151 codec-aif2-lrclk, codec-aif2-rxdat, codec-aif2-txdat, 152 codec-aif3, codec-aif3-bclk, codec-aif3-lrclk, 153 codec-aif3-rxdat, codec-aif3-txdat, dsp-aif1, 154 dsp-aif1-bclk, dsp-aif1-lrclk, dsp-aif1-rxdat, 155 dsp-aif1-txdat, dsp-aif2, dsp-aif2-bclk, 156 dsp-aif2-lrclk, dsp-aif2-rxdat, dsp-aif2-txdat, 157 gf-aif3, gf-aif3-bclk, gf-aif3-lrclk, gf-aif3-rxdat, 158 gf-aif3-txdat, gf-aif4, gf-aif4-bclk, gf-aif4-lrclk, 159 gf-aif4-rxdat, gf-aif4-txdat, gf-aif1, gf-aif1-bclk, 160 gf-aif1-lrclk, gf-aif1-rxdat, gf-aif1-txdat, gf-aif2, 161 gf-aif2-bclk, gf-aif2-lrclk, gf-aif2-rxdat, 162 gf-aif2-txdat, usb-aif1, usb-aif2, adat-aif, 163 soundcard-aif ] 164 165 output-enable: 166 description: 167 Specifies that an AIF group will be used as a master 168 interface (either this or input-enable is required if a 169 group is being muxed to an AIF) 170 171 input-enable: 172 description: 173 Specifies that an AIF group will be used as a slave 174 interface (either this or output-enable is required if a 175 group is being muxed to an AIF) 176 177 additionalProperties: false 178 179 required: 180 - function 181 182 additionalProperties: false 183 184required: 185 - compatible 186 - gpio-controller 187 - '#gpio-cells' 188 - gpio-ranges 189 - pinctrl-0 190 - pinctrl-names 191