187 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---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 Board8 9maintainers:10 - patches@opensource.cirrus.com11 12description: |13 Lochnagar is an evaluation and development board for Cirrus Logic14 Smart CODEC and Amp devices. It allows the connection of most Cirrus15 Logic devices on mini-cards, as well as allowing connection of various16 application processor systems to provide a full evaluation platform.17 Audio system topology, clocking and power can all be controlled through18 the Lochnagar, allowing the device under test to be used in a variety of19 possible use cases.20 21 This binding document describes the binding for the pinctrl portion of22 the driver.23 24 Also see these documents for generic binding information:25 [1] GPIO : ../gpio/gpio.txt26 [2] Pinctrl: ../pinctrl/pinctrl-bindings.txt27 28 And these for relevant defines:29 [3] include/dt-bindings/pinctrl/lochnagar.h30 31 This binding must be part of the Lochnagar MFD binding:32 [4] ../mfd/cirrus,lochnagar.yaml33 34properties:35 compatible:36 enum:37 - cirrus,lochnagar-pinctrl38 39 gpio-controller: true40 41 '#gpio-cells':42 description:43 The first cell is the pin number and the second cell is used44 to specify optional parameters.45 const: 246 47 gpio-ranges:48 description:49 Range of pins managed by the GPIO controller, see [1]. Both the50 GPIO and Pinctrl base should be set to zero and the count to the51 appropriate of the LOCHNAGARx_PIN_NUM_GPIOS define, see [3].52 maxItems: 153 54 pin-settings:55 type: object56 patternProperties:57 '-pins$':58 description:59 The pin configurations are defined as a child of the pinctrl60 states node, see [2]. Each sub-node can have the following61 properties.62 type: object63 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 be71 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" must80 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 master159 interface (either this or input-enable is required if a160 group is being muxed to an AIF)161 162 input-enable:163 description:164 Specifies that an AIF group will be used as a slave165 interface (either this or output-enable is required if a166 group is being muxed to an AIF)167 168 additionalProperties: false169 170 required:171 - function172 173 additionalProperties: false174 175allOf:176 - $ref: pinctrl.yaml#177 178required:179 - compatible180 - gpio-controller181 - '#gpio-cells'182 - gpio-ranges183 - pinctrl-0184 - pinctrl-names185 186additionalProperties: false187