···11-Cirrus Logic Lochnagar Audio Development Board22-33-Lochnagar is an evaluation and development board for Cirrus Logic44-Smart CODEC and Amp devices. It allows the connection of most Cirrus55-Logic devices on mini-cards, as well as allowing connection of66-various application processor systems to provide a full evaluation77-platform. Audio system topology, clocking and power can all be88-controlled through the Lochnagar, allowing the device under test99-to be used in a variety of possible use cases.1010-1111-This binding document describes the binding for the pinctrl portion1212-of the driver.1313-1414-Also see these documents for generic binding information:1515- [1] GPIO : ../gpio/gpio.txt1616- [2] Pinctrl: ../pinctrl/pinctrl-bindings.txt1717-1818-And these for relevant defines:1919- [3] include/dt-bindings/pinctrl/lochnagar.h2020-2121-This binding must be part of the Lochnagar MFD binding:2222- [4] ../mfd/cirrus,lochnagar.txt2323-2424-Required properties:2525-2626- - compatible : One of the following strings:2727- "cirrus,lochnagar-pinctrl"2828-2929- - gpio-controller : Indicates this device is a GPIO controller.3030- - #gpio-cells : Must be 2. The first cell is the pin number, see3131- [3] for available pins and the second cell is used to specify3232- optional parameters, see [1].3333- - gpio-ranges : Range of pins managed by the GPIO controller, see3434- [1]. Both the GPIO and Pinctrl base should be set to zero and the3535- count to the appropriate of the LOCHNAGARx_PIN_NUM_GPIOS define,3636- see [3].3737-3838- - pinctrl-names : A pinctrl state named "default" must be defined.3939- - pinctrl-0 : A phandle to the default pinctrl state.4040-4141-Required sub-nodes:4242-4343-The pin configurations are defined as a child of the pinctrl states4444-node, see [2]. Each sub-node can have the following properties:4545- - groups : A list of groups to select (either this or "pins" must be4646- specified), available groups:4747- codec-aif1, codec-aif2, codec-aif3, dsp-aif1, dsp-aif2, psia1,4848- psia2, gf-aif1, gf-aif2, gf-aif3, gf-aif4, spdif-aif, usb-aif1,4949- usb-aif2, adat-aif, soundcard-aif5050- - pins : A list of pin names to select (either this or "groups" must5151- be specified), available pins:5252- fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4, fpga-gpio5,5353- fpga-gpio6, codec-gpio1, codec-gpio2, codec-gpio3, codec-gpio4,5454- codec-gpio5, codec-gpio6, codec-gpio7, codec-gpio8, dsp-gpio1,5555- dsp-gpio2, dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6, gf-gpio2,5656- gf-gpio3, gf-gpio7, codec-aif1-bclk, codec-aif1-rxdat,5757- codec-aif1-lrclk, codec-aif1-txdat, codec-aif2-bclk,5858- codec-aif2-rxdat, codec-aif2-lrclk, codec-aif2-txdat,5959- codec-aif3-bclk, codec-aif3-rxdat, codec-aif3-lrclk,6060- codec-aif3-txdat, dsp-aif1-bclk, dsp-aif1-rxdat, dsp-aif1-lrclk,6161- dsp-aif1-txdat, dsp-aif2-bclk, dsp-aif2-rxdat,6262- dsp-aif2-lrclk, dsp-aif2-txdat, psia1-bclk, psia1-rxdat,6363- psia1-lrclk, psia1-txdat, psia2-bclk, psia2-rxdat, psia2-lrclk,6464- psia2-txdat, gf-aif3-bclk, gf-aif3-rxdat, gf-aif3-lrclk,6565- gf-aif3-txdat, gf-aif4-bclk, gf-aif4-rxdat, gf-aif4-lrclk,6666- gf-aif4-txdat, gf-aif1-bclk, gf-aif1-rxdat, gf-aif1-lrclk,6767- gf-aif1-txdat, gf-aif2-bclk, gf-aif2-rxdat, gf-aif2-lrclk,6868- gf-aif2-txdat, dsp-uart1-rx, dsp-uart1-tx, dsp-uart2-rx,6969- dsp-uart2-tx, gf-uart2-rx, gf-uart2-tx, usb-uart-rx,7070- codec-pdmclk1, codec-pdmdat1, codec-pdmclk2, codec-pdmdat2,7171- codec-dmicclk1, codec-dmicdat1, codec-dmicclk2, codec-dmicdat2,7272- codec-dmicclk3, codec-dmicdat3, codec-dmicclk4, codec-dmicdat4,7373- dsp-dmicclk1, dsp-dmicdat1, dsp-dmicclk2, dsp-dmicdat2, i2c2-scl,7474- i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, i2c4-sda, dsp-standby,7575- codec-mclk1, codec-mclk2, dsp-clkin, psia1-mclk, psia2-mclk,7676- gf-gpio1, gf-gpio5, dsp-gpio20, led1, led27777- - function : The mux function to select, available functions:7878- aif, fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4, fpga-gpio5,7979- fpga-gpio6, codec-gpio1, codec-gpio2, codec-gpio3, codec-gpio4,8080- codec-gpio5, codec-gpio6, codec-gpio7, codec-gpio8, dsp-gpio1,8181- dsp-gpio2, dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6, gf-gpio2,8282- gf-gpio3, gf-gpio7, gf-gpio1, gf-gpio5, dsp-gpio20, codec-clkout,8383- dsp-clkout, pmic-32k, spdif-clkout, clk-12m288, clk-11m2986,8484- clk-24m576, clk-22m5792, xmos-mclk, gf-clkout1, gf-mclk1,8585- gf-mclk3, gf-mclk2, gf-clkout2, codec-mclk1, codec-mclk2,8686- dsp-clkin, psia1-mclk, psia2-mclk, spdif-mclk, codec-irq,8787- codec-reset, dsp-reset, dsp-irq, dsp-standby, codec-pdmclk1,8888- codec-pdmdat1, codec-pdmclk2, codec-pdmdat2, codec-dmicclk1,8989- codec-dmicdat1, codec-dmicclk2, codec-dmicdat2, codec-dmicclk3,9090- codec-dmicdat3, codec-dmicclk4, codec-dmicdat4, dsp-dmicclk1,9191- dsp-dmicdat1, dsp-dmicclk2, dsp-dmicdat2, dsp-uart1-rx,9292- dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx, gf-uart2-rx,9393- gf-uart2-tx, usb-uart-rx, usb-uart-tx, i2c2-scl, i2c2-sda,9494- i2c3-scl, i2c3-sda, i2c4-scl, i2c4-sda, spdif-aif, psia1,9595- psia1-bclk, psia1-lrclk, psia1-rxdat, psia1-txdat, psia2,9696- psia2-bclk, psia2-lrclk, psia2-rxdat, psia2-txdat, codec-aif1,9797- codec-aif1-bclk, codec-aif1-lrclk, codec-aif1-rxdat,9898- codec-aif1-txdat, codec-aif2, codec-aif2-bclk, codec-aif2-lrclk,9999- codec-aif2-rxdat, codec-aif2-txdat, codec-aif3, codec-aif3-bclk,100100- codec-aif3-lrclk, codec-aif3-rxdat, codec-aif3-txdat, dsp-aif1,101101- dsp-aif1-bclk, dsp-aif1-lrclk, dsp-aif1-rxdat, dsp-aif1-txdat,102102- dsp-aif2, dsp-aif2-bclk, dsp-aif2-lrclk, dsp-aif2-rxdat,103103- dsp-aif2-txdat, gf-aif3, gf-aif3-bclk, gf-aif3-lrclk,104104- gf-aif3-rxdat, gf-aif3-txdat, gf-aif4, gf-aif4-bclk,105105- gf-aif4-lrclk, gf-aif4-rxdat, gf-aif4-txdat, gf-aif1,106106- gf-aif1-bclk, gf-aif1-lrclk, gf-aif1-rxdat, gf-aif1-txdat,107107- gf-aif2, gf-aif2-bclk, gf-aif2-lrclk, gf-aif2-rxdat,108108- gf-aif2-txdat, usb-aif1, usb-aif2, adat-aif, soundcard-aif,109109-110110- - output-enable : Specifies that an AIF group will be used as a master111111- interface (either this or input-enable is required if a group is112112- being muxed to an AIF)113113- - input-enable : Specifies that an AIF group will be used as a slave114114- interface (either this or output-enable is required if a group is115115- being muxed to an AIF)116116-117117-Example:118118-119119-lochnagar-pinctrl {120120- compatible = "cirrus,lochnagar-pinctrl";121121-122122- gpio-controller;123123- #gpio-cells = <2>;124124- gpio-ranges = <&lochnagar 0 0 LOCHNAGAR2_PIN_NUM_GPIOS>;125125-126126- pinctrl-names = "default";127127- pinctrl-0 = <&pin-settings>;128128-129129- pin-settings: pin-settings {130130- ap-aif {131131- input-enable;132132- groups = "gf-aif1";133133- function = "codec-aif3";134134- };135135- codec-aif {136136- output-enable;137137- groups = "codec-aif3";138138- function = "gf-aif1";139139- };140140- };141141-};
···11+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause22+%YAML 1.233+---44+$id: http://devicetree.org/schemas/pinctrl/cirrus,lochnagar.yaml#55+$schema: http://devicetree.org/meta-schemas/core.yaml#66+77+title: Cirrus Logic Lochnagar Audio Development Board88+99+maintainers:1010+ - patches@opensource.cirrus.com1111+1212+description: |1313+ Lochnagar is an evaluation and development board for Cirrus Logic1414+ Smart CODEC and Amp devices. It allows the connection of most Cirrus1515+ Logic devices on mini-cards, as well as allowing connection of various1616+ application processor systems to provide a full evaluation platform.1717+ Audio system topology, clocking and power can all be controlled through1818+ the Lochnagar, allowing the device under test to be used in a variety of1919+ possible use cases.2020+2121+ This binding document describes the binding for the pinctrl portion of2222+ the driver.2323+2424+ Also see these documents for generic binding information:2525+ [1] GPIO : ../gpio/gpio.txt2626+ [2] Pinctrl: ../pinctrl/pinctrl-bindings.txt2727+2828+ And these for relevant defines:2929+ [3] include/dt-bindings/pinctrl/lochnagar.h3030+3131+ This binding must be part of the Lochnagar MFD binding:3232+ [4] ../mfd/cirrus,lochnagar.yaml3333+3434+properties:3535+ compatible:3636+ enum:3737+ - cirrus,lochnagar-pinctrl3838+3939+ gpio-controller: true4040+4141+ '#gpio-cells':4242+ description:4343+ The first cell is the pin number and the second cell is used4444+ to specify optional parameters.4545+ const: 24646+4747+ gpio-ranges:4848+ description:4949+ Range of pins managed by the GPIO controller, see [1]. Both the5050+ GPIO and Pinctrl base should be set to zero and the count to the5151+ appropriate of the LOCHNAGARx_PIN_NUM_GPIOS define, see [3].5252+ maxItems: 15353+5454+ pinctrl-0:5555+ description:5656+ A phandle to the default pinctrl state.5757+5858+ pinctrl-names:5959+ description:6060+ A pinctrl state named "default" must be defined.6161+ const: default6262+6363+ pin-settings:6464+ type: object6565+ patternProperties:6666+ '-pins$':6767+ description:6868+ The pin configurations are defined as a child of the pinctrl6969+ states node, see [2]. Each sub-node can have the following7070+ properties.7171+ type: object7272+ allOf:7373+ - $ref: pincfg-node.yaml#7474+ - $ref: pinmux-node.yaml#7575+7676+ properties:7777+ groups:7878+ description:7979+ A list of groups to select (either this or "pins" must be8080+ specified), available groups.8181+ enum: [ codec-aif1, codec-aif2, codec-aif3, dsp-aif1,8282+ dsp-aif2, psia1, psia2, gf-aif1, gf-aif2, gf-aif3,8383+ gf-aif4, spdif-aif, usb-aif1, usb-aif2, adat-aif,8484+ soundcard-aif ]8585+8686+ pins:8787+ description:8888+ A list of pin names to select (either this or "groups" must8989+ be specified), available pins.9090+ enum: [ fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4,9191+ fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2,9292+ codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6,9393+ codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2,9494+ dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6,9595+ gf-gpio2, gf-gpio3, gf-gpio7, codec-aif1-bclk,9696+ codec-aif1-rxdat, codec-aif1-lrclk, codec-aif1-txdat,9797+ codec-aif2-bclk, codec-aif2-rxdat, codec-aif2-lrclk,9898+ codec-aif2-txdat, codec-aif3-bclk, codec-aif3-rxdat,9999+ codec-aif3-lrclk, codec-aif3-txdat, dsp-aif1-bclk,100100+ dsp-aif1-rxdat, dsp-aif1-lrclk, dsp-aif1-txdat,101101+ dsp-aif2-bclk, dsp-aif2-rxdat, dsp-aif2-lrclk,102102+ dsp-aif2-txdat, psia1-bclk, psia1-rxdat, psia1-lrclk,103103+ psia1-txdat, psia2-bclk, psia2-rxdat, psia2-lrclk,104104+ psia2-txdat, gf-aif3-bclk, gf-aif3-rxdat,105105+ gf-aif3-lrclk, gf-aif3-txdat, gf-aif4-bclk,106106+ gf-aif4-rxdat, gf-aif4-lrclk, gf-aif4-txdat,107107+ gf-aif1-bclk, gf-aif1-rxdat, gf-aif1-lrclk,108108+ gf-aif1-txdat, gf-aif2-bclk, gf-aif2-rxdat,109109+ gf-aif2-lrclk, gf-aif2-txdat, dsp-uart1-rx,110110+ dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx,111111+ gf-uart2-rx, gf-uart2-tx, usb-uart-rx, codec-pdmclk1,112112+ codec-pdmdat1, codec-pdmclk2, codec-pdmdat2,113113+ codec-dmicclk1, codec-dmicdat1, codec-dmicclk2,114114+ codec-dmicdat2, codec-dmicclk3, codec-dmicdat3,115115+ codec-dmicclk4, codec-dmicdat4, dsp-dmicclk1,116116+ dsp-dmicdat1, dsp-dmicclk2, dsp-dmicdat2, i2c2-scl,117117+ i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, i2c4-sda,118118+ dsp-standby, codec-mclk1, codec-mclk2, dsp-clkin,119119+ psia1-mclk, psia2-mclk, gf-gpio1, gf-gpio5,120120+ dsp-gpio20, led1, led2 ]121121+122122+ function:123123+ description:124124+ The mux function to select, available functions.125125+ enum: [ aif, fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4,126126+ fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2,127127+ codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6,128128+ codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2,129129+ dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6,130130+ gf-gpio2, gf-gpio3, gf-gpio7, gf-gpio1, gf-gpio5,131131+ dsp-gpio20, codec-clkout, dsp-clkout, pmic-32k,132132+ spdif-clkout, clk-12m288, clk-11m2986, clk-24m576,133133+ clk-22m5792, xmos-mclk, gf-clkout1, gf-mclk1,134134+ gf-mclk3, gf-mclk2, gf-clkout2, codec-mclk1,135135+ codec-mclk2, dsp-clkin, psia1-mclk, psia2-mclk,136136+ spdif-mclk, codec-irq, codec-reset, dsp-reset,137137+ dsp-irq, dsp-standby, codec-pdmclk1, codec-pdmdat1,138138+ codec-pdmclk2, codec-pdmdat2, codec-dmicclk1,139139+ codec-dmicdat1, codec-dmicclk2, codec-dmicdat2,140140+ codec-dmicclk3, codec-dmicdat3, codec-dmicclk4,141141+ codec-dmicdat4, dsp-dmicclk1, dsp-dmicdat1,142142+ dsp-dmicclk2, dsp-dmicdat2, dsp-uart1-rx,143143+ dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx,144144+ gf-uart2-rx, gf-uart2-tx, usb-uart-rx, usb-uart-tx,145145+ i2c2-scl, i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl,146146+ i2c4-sda, spdif-aif, psia1, psia1-bclk, psia1-lrclk,147147+ psia1-rxdat, psia1-txdat, psia2, psia2-bclk,148148+ psia2-lrclk, psia2-rxdat, psia2-txdat, codec-aif1,149149+ codec-aif1-bclk, codec-aif1-lrclk, codec-aif1-rxdat,150150+ codec-aif1-txdat, codec-aif2, codec-aif2-bclk,151151+ codec-aif2-lrclk, codec-aif2-rxdat, codec-aif2-txdat,152152+ codec-aif3, codec-aif3-bclk, codec-aif3-lrclk,153153+ codec-aif3-rxdat, codec-aif3-txdat, dsp-aif1,154154+ dsp-aif1-bclk, dsp-aif1-lrclk, dsp-aif1-rxdat,155155+ dsp-aif1-txdat, dsp-aif2, dsp-aif2-bclk,156156+ dsp-aif2-lrclk, dsp-aif2-rxdat, dsp-aif2-txdat,157157+ gf-aif3, gf-aif3-bclk, gf-aif3-lrclk, gf-aif3-rxdat,158158+ gf-aif3-txdat, gf-aif4, gf-aif4-bclk, gf-aif4-lrclk,159159+ gf-aif4-rxdat, gf-aif4-txdat, gf-aif1, gf-aif1-bclk,160160+ gf-aif1-lrclk, gf-aif1-rxdat, gf-aif1-txdat, gf-aif2,161161+ gf-aif2-bclk, gf-aif2-lrclk, gf-aif2-rxdat,162162+ gf-aif2-txdat, usb-aif1, usb-aif2, adat-aif,163163+ soundcard-aif ]164164+165165+ output-enable:166166+ description:167167+ Specifies that an AIF group will be used as a master168168+ interface (either this or input-enable is required if a169169+ group is being muxed to an AIF)170170+171171+ input-enable:172172+ description:173173+ Specifies that an AIF group will be used as a slave174174+ interface (either this or output-enable is required if a175175+ group is being muxed to an AIF)176176+177177+ additionalProperties: false178178+179179+ required:180180+ - function181181+182182+ additionalProperties: false183183+184184+required:185185+ - compatible186186+ - gpio-controller187187+ - '#gpio-cells'188188+ - gpio-ranges189189+ - pinctrl-0190190+ - pinctrl-names