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