196c1517eSCharles Keepax# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 296c1517eSCharles Keepax%YAML 1.2 396c1517eSCharles Keepax--- 496c1517eSCharles Keepax$id: http://devicetree.org/schemas/pinctrl/cirrus,lochnagar.yaml# 596c1517eSCharles Keepax$schema: http://devicetree.org/meta-schemas/core.yaml# 696c1517eSCharles Keepax 796c1517eSCharles Keepaxtitle: Cirrus Logic Lochnagar Audio Development Board 896c1517eSCharles Keepax 996c1517eSCharles Keepaxmaintainers: 1096c1517eSCharles Keepax - patches@opensource.cirrus.com 1196c1517eSCharles Keepax 1296c1517eSCharles Keepaxdescription: | 1396c1517eSCharles Keepax Lochnagar is an evaluation and development board for Cirrus Logic 1496c1517eSCharles Keepax Smart CODEC and Amp devices. It allows the connection of most Cirrus 1596c1517eSCharles Keepax Logic devices on mini-cards, as well as allowing connection of various 1696c1517eSCharles Keepax application processor systems to provide a full evaluation platform. 1796c1517eSCharles Keepax Audio system topology, clocking and power can all be controlled through 1896c1517eSCharles Keepax the Lochnagar, allowing the device under test to be used in a variety of 1996c1517eSCharles Keepax possible use cases. 2096c1517eSCharles Keepax 2196c1517eSCharles Keepax This binding document describes the binding for the pinctrl portion of 2296c1517eSCharles Keepax the driver. 2396c1517eSCharles Keepax 2496c1517eSCharles Keepax Also see these documents for generic binding information: 2596c1517eSCharles Keepax [1] GPIO : ../gpio/gpio.txt 2696c1517eSCharles Keepax [2] Pinctrl: ../pinctrl/pinctrl-bindings.txt 2796c1517eSCharles Keepax 2896c1517eSCharles Keepax And these for relevant defines: 2996c1517eSCharles Keepax [3] include/dt-bindings/pinctrl/lochnagar.h 3096c1517eSCharles Keepax 3196c1517eSCharles Keepax This binding must be part of the Lochnagar MFD binding: 3296c1517eSCharles Keepax [4] ../mfd/cirrus,lochnagar.yaml 3396c1517eSCharles Keepax 3496c1517eSCharles Keepaxproperties: 3596c1517eSCharles Keepax compatible: 3696c1517eSCharles Keepax enum: 3796c1517eSCharles Keepax - cirrus,lochnagar-pinctrl 3896c1517eSCharles Keepax 3996c1517eSCharles Keepax gpio-controller: true 4096c1517eSCharles Keepax 4196c1517eSCharles Keepax '#gpio-cells': 4296c1517eSCharles Keepax description: 4396c1517eSCharles Keepax The first cell is the pin number and the second cell is used 4496c1517eSCharles Keepax to specify optional parameters. 4596c1517eSCharles Keepax const: 2 4696c1517eSCharles Keepax 4796c1517eSCharles Keepax gpio-ranges: 4896c1517eSCharles Keepax description: 4996c1517eSCharles Keepax Range of pins managed by the GPIO controller, see [1]. Both the 5096c1517eSCharles Keepax GPIO and Pinctrl base should be set to zero and the count to the 5196c1517eSCharles Keepax appropriate of the LOCHNAGARx_PIN_NUM_GPIOS define, see [3]. 5296c1517eSCharles Keepax maxItems: 1 5396c1517eSCharles Keepax 5496c1517eSCharles Keepax pin-settings: 5596c1517eSCharles Keepax type: object 5696c1517eSCharles Keepax patternProperties: 5796c1517eSCharles Keepax '-pins$': 5896c1517eSCharles Keepax description: 5996c1517eSCharles Keepax The pin configurations are defined as a child of the pinctrl 6096c1517eSCharles Keepax states node, see [2]. Each sub-node can have the following 6196c1517eSCharles Keepax properties. 6296c1517eSCharles Keepax type: object 6396c1517eSCharles Keepax allOf: 6496c1517eSCharles Keepax - $ref: pincfg-node.yaml# 6596c1517eSCharles Keepax - $ref: pinmux-node.yaml# 6696c1517eSCharles Keepax 6796c1517eSCharles Keepax properties: 6896c1517eSCharles Keepax groups: 6996c1517eSCharles Keepax description: 7096c1517eSCharles Keepax A list of groups to select (either this or "pins" must be 7196c1517eSCharles Keepax specified), available groups. 7296c1517eSCharles Keepax enum: [ codec-aif1, codec-aif2, codec-aif3, dsp-aif1, 7396c1517eSCharles Keepax dsp-aif2, psia1, psia2, gf-aif1, gf-aif2, gf-aif3, 7496c1517eSCharles Keepax gf-aif4, spdif-aif, usb-aif1, usb-aif2, adat-aif, 7596c1517eSCharles Keepax soundcard-aif ] 7696c1517eSCharles Keepax 7796c1517eSCharles Keepax pins: 7896c1517eSCharles Keepax description: 7996c1517eSCharles Keepax A list of pin names to select (either this or "groups" must 8096c1517eSCharles Keepax be specified), available pins. 8196c1517eSCharles Keepax enum: [ fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4, 8296c1517eSCharles Keepax fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2, 8396c1517eSCharles Keepax codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6, 8496c1517eSCharles Keepax codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2, 8596c1517eSCharles Keepax dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6, 8696c1517eSCharles Keepax gf-gpio2, gf-gpio3, gf-gpio7, codec-aif1-bclk, 8796c1517eSCharles Keepax codec-aif1-rxdat, codec-aif1-lrclk, codec-aif1-txdat, 8896c1517eSCharles Keepax codec-aif2-bclk, codec-aif2-rxdat, codec-aif2-lrclk, 8996c1517eSCharles Keepax codec-aif2-txdat, codec-aif3-bclk, codec-aif3-rxdat, 9096c1517eSCharles Keepax codec-aif3-lrclk, codec-aif3-txdat, dsp-aif1-bclk, 9196c1517eSCharles Keepax dsp-aif1-rxdat, dsp-aif1-lrclk, dsp-aif1-txdat, 9296c1517eSCharles Keepax dsp-aif2-bclk, dsp-aif2-rxdat, dsp-aif2-lrclk, 9396c1517eSCharles Keepax dsp-aif2-txdat, psia1-bclk, psia1-rxdat, psia1-lrclk, 9496c1517eSCharles Keepax psia1-txdat, psia2-bclk, psia2-rxdat, psia2-lrclk, 9596c1517eSCharles Keepax psia2-txdat, gf-aif3-bclk, gf-aif3-rxdat, 9696c1517eSCharles Keepax gf-aif3-lrclk, gf-aif3-txdat, gf-aif4-bclk, 9796c1517eSCharles Keepax gf-aif4-rxdat, gf-aif4-lrclk, gf-aif4-txdat, 9896c1517eSCharles Keepax gf-aif1-bclk, gf-aif1-rxdat, gf-aif1-lrclk, 9996c1517eSCharles Keepax gf-aif1-txdat, gf-aif2-bclk, gf-aif2-rxdat, 10096c1517eSCharles Keepax gf-aif2-lrclk, gf-aif2-txdat, dsp-uart1-rx, 10196c1517eSCharles Keepax dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx, 10296c1517eSCharles Keepax gf-uart2-rx, gf-uart2-tx, usb-uart-rx, codec-pdmclk1, 10396c1517eSCharles Keepax codec-pdmdat1, codec-pdmclk2, codec-pdmdat2, 10496c1517eSCharles Keepax codec-dmicclk1, codec-dmicdat1, codec-dmicclk2, 10596c1517eSCharles Keepax codec-dmicdat2, codec-dmicclk3, codec-dmicdat3, 10696c1517eSCharles Keepax codec-dmicclk4, codec-dmicdat4, dsp-dmicclk1, 10796c1517eSCharles Keepax dsp-dmicdat1, dsp-dmicclk2, dsp-dmicdat2, i2c2-scl, 10896c1517eSCharles Keepax i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, i2c4-sda, 10996c1517eSCharles Keepax dsp-standby, codec-mclk1, codec-mclk2, dsp-clkin, 11096c1517eSCharles Keepax psia1-mclk, psia2-mclk, gf-gpio1, gf-gpio5, 11196c1517eSCharles Keepax dsp-gpio20, led1, led2 ] 11296c1517eSCharles Keepax 11396c1517eSCharles Keepax function: 11496c1517eSCharles Keepax description: 11596c1517eSCharles Keepax The mux function to select, available functions. 11696c1517eSCharles Keepax enum: [ aif, fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4, 11796c1517eSCharles Keepax fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2, 11896c1517eSCharles Keepax codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6, 11996c1517eSCharles Keepax codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2, 12096c1517eSCharles Keepax dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6, 12196c1517eSCharles Keepax gf-gpio2, gf-gpio3, gf-gpio7, gf-gpio1, gf-gpio5, 12296c1517eSCharles Keepax dsp-gpio20, codec-clkout, dsp-clkout, pmic-32k, 12396c1517eSCharles Keepax spdif-clkout, clk-12m288, clk-11m2986, clk-24m576, 12496c1517eSCharles Keepax clk-22m5792, xmos-mclk, gf-clkout1, gf-mclk1, 12596c1517eSCharles Keepax gf-mclk3, gf-mclk2, gf-clkout2, codec-mclk1, 12696c1517eSCharles Keepax codec-mclk2, dsp-clkin, psia1-mclk, psia2-mclk, 12796c1517eSCharles Keepax spdif-mclk, codec-irq, codec-reset, dsp-reset, 12896c1517eSCharles Keepax dsp-irq, dsp-standby, codec-pdmclk1, codec-pdmdat1, 12996c1517eSCharles Keepax codec-pdmclk2, codec-pdmdat2, codec-dmicclk1, 13096c1517eSCharles Keepax codec-dmicdat1, codec-dmicclk2, codec-dmicdat2, 13196c1517eSCharles Keepax codec-dmicclk3, codec-dmicdat3, codec-dmicclk4, 13296c1517eSCharles Keepax codec-dmicdat4, dsp-dmicclk1, dsp-dmicdat1, 13396c1517eSCharles Keepax dsp-dmicclk2, dsp-dmicdat2, dsp-uart1-rx, 13496c1517eSCharles Keepax dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx, 13596c1517eSCharles Keepax gf-uart2-rx, gf-uart2-tx, usb-uart-rx, usb-uart-tx, 13696c1517eSCharles Keepax i2c2-scl, i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, 13796c1517eSCharles Keepax i2c4-sda, spdif-aif, psia1, psia1-bclk, psia1-lrclk, 13896c1517eSCharles Keepax psia1-rxdat, psia1-txdat, psia2, psia2-bclk, 13996c1517eSCharles Keepax psia2-lrclk, psia2-rxdat, psia2-txdat, codec-aif1, 14096c1517eSCharles Keepax codec-aif1-bclk, codec-aif1-lrclk, codec-aif1-rxdat, 14196c1517eSCharles Keepax codec-aif1-txdat, codec-aif2, codec-aif2-bclk, 14296c1517eSCharles Keepax codec-aif2-lrclk, codec-aif2-rxdat, codec-aif2-txdat, 14396c1517eSCharles Keepax codec-aif3, codec-aif3-bclk, codec-aif3-lrclk, 14496c1517eSCharles Keepax codec-aif3-rxdat, codec-aif3-txdat, dsp-aif1, 14596c1517eSCharles Keepax dsp-aif1-bclk, dsp-aif1-lrclk, dsp-aif1-rxdat, 14696c1517eSCharles Keepax dsp-aif1-txdat, dsp-aif2, dsp-aif2-bclk, 14796c1517eSCharles Keepax dsp-aif2-lrclk, dsp-aif2-rxdat, dsp-aif2-txdat, 14896c1517eSCharles Keepax gf-aif3, gf-aif3-bclk, gf-aif3-lrclk, gf-aif3-rxdat, 14996c1517eSCharles Keepax gf-aif3-txdat, gf-aif4, gf-aif4-bclk, gf-aif4-lrclk, 15096c1517eSCharles Keepax gf-aif4-rxdat, gf-aif4-txdat, gf-aif1, gf-aif1-bclk, 15196c1517eSCharles Keepax gf-aif1-lrclk, gf-aif1-rxdat, gf-aif1-txdat, gf-aif2, 15296c1517eSCharles Keepax gf-aif2-bclk, gf-aif2-lrclk, gf-aif2-rxdat, 15396c1517eSCharles Keepax gf-aif2-txdat, usb-aif1, usb-aif2, adat-aif, 15496c1517eSCharles Keepax soundcard-aif ] 15596c1517eSCharles Keepax 15696c1517eSCharles Keepax output-enable: 15796c1517eSCharles Keepax description: 15896c1517eSCharles Keepax Specifies that an AIF group will be used as a master 15996c1517eSCharles Keepax interface (either this or input-enable is required if a 16096c1517eSCharles Keepax group is being muxed to an AIF) 16196c1517eSCharles Keepax 16296c1517eSCharles Keepax input-enable: 16396c1517eSCharles Keepax description: 16496c1517eSCharles Keepax Specifies that an AIF group will be used as a slave 16596c1517eSCharles Keepax interface (either this or output-enable is required if a 16696c1517eSCharles Keepax group is being muxed to an AIF) 16796c1517eSCharles Keepax 16896c1517eSCharles Keepax additionalProperties: false 16996c1517eSCharles Keepax 17096c1517eSCharles Keepax required: 17196c1517eSCharles Keepax - function 17296c1517eSCharles Keepax 17396c1517eSCharles Keepax additionalProperties: false 17496c1517eSCharles Keepax 175c09acbc4SRafał MiłeckiallOf: 176*49cd1dd1SRob Herring - $ref: pinctrl.yaml# 177c09acbc4SRafał Miłecki 17896c1517eSCharles Keepaxrequired: 17996c1517eSCharles Keepax - compatible 18096c1517eSCharles Keepax - gpio-controller 18196c1517eSCharles Keepax - '#gpio-cells' 18296c1517eSCharles Keepax - gpio-ranges 18396c1517eSCharles Keepax - pinctrl-0 18496c1517eSCharles Keepax - pinctrl-names 1855be478f9SRob Herring 1865be478f9SRob HerringadditionalProperties: false 187