162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/pinctrl/cirrus,lochnagar.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Cirrus Logic Lochnagar Audio Development Board
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - patches@opensource.cirrus.com
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  Lochnagar is an evaluation and development board for Cirrus Logic
1462306a36Sopenharmony_ci  Smart CODEC and Amp devices. It allows the connection of most Cirrus
1562306a36Sopenharmony_ci  Logic devices on mini-cards, as well as allowing connection of various
1662306a36Sopenharmony_ci  application processor systems to provide a full evaluation platform.
1762306a36Sopenharmony_ci  Audio system topology, clocking and power can all be controlled through
1862306a36Sopenharmony_ci  the Lochnagar, allowing the device under test to be used in a variety of
1962306a36Sopenharmony_ci  possible use cases.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci  This binding document describes the binding for the pinctrl portion of
2262306a36Sopenharmony_ci  the driver.
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci  Also see these documents for generic binding information:
2562306a36Sopenharmony_ci    [1] GPIO : ../gpio/gpio.txt
2662306a36Sopenharmony_ci    [2] Pinctrl: ../pinctrl/pinctrl-bindings.txt
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci  And these for relevant defines:
2962306a36Sopenharmony_ci    [3] include/dt-bindings/pinctrl/lochnagar.h
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci  This binding must be part of the Lochnagar MFD binding:
3262306a36Sopenharmony_ci    [4] ../mfd/cirrus,lochnagar.yaml
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciproperties:
3562306a36Sopenharmony_ci  compatible:
3662306a36Sopenharmony_ci    enum:
3762306a36Sopenharmony_ci      - cirrus,lochnagar-pinctrl
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci  gpio-controller: true
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci  '#gpio-cells':
4262306a36Sopenharmony_ci    description:
4362306a36Sopenharmony_ci      The first cell is the pin number and the second cell is used
4462306a36Sopenharmony_ci      to specify optional parameters.
4562306a36Sopenharmony_ci    const: 2
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci  gpio-ranges:
4862306a36Sopenharmony_ci    description:
4962306a36Sopenharmony_ci      Range of pins managed by the GPIO controller, see [1]. Both the
5062306a36Sopenharmony_ci      GPIO and Pinctrl base should be set to zero and the count to the
5162306a36Sopenharmony_ci      appropriate of the LOCHNAGARx_PIN_NUM_GPIOS define, see [3].
5262306a36Sopenharmony_ci    maxItems: 1
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci  pin-settings:
5562306a36Sopenharmony_ci    type: object
5662306a36Sopenharmony_ci    patternProperties:
5762306a36Sopenharmony_ci      '-pins$':
5862306a36Sopenharmony_ci        description:
5962306a36Sopenharmony_ci          The pin configurations are defined as a child of the pinctrl
6062306a36Sopenharmony_ci          states node, see [2]. Each sub-node can have the following
6162306a36Sopenharmony_ci          properties.
6262306a36Sopenharmony_ci        type: object
6362306a36Sopenharmony_ci        allOf:
6462306a36Sopenharmony_ci          - $ref: pincfg-node.yaml#
6562306a36Sopenharmony_ci          - $ref: pinmux-node.yaml#
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci        properties:
6862306a36Sopenharmony_ci          groups:
6962306a36Sopenharmony_ci            description:
7062306a36Sopenharmony_ci              A list of groups to select (either this or "pins" must be
7162306a36Sopenharmony_ci              specified), available groups.
7262306a36Sopenharmony_ci            enum: [ codec-aif1, codec-aif2, codec-aif3, dsp-aif1,
7362306a36Sopenharmony_ci                    dsp-aif2, psia1, psia2, gf-aif1, gf-aif2, gf-aif3,
7462306a36Sopenharmony_ci                    gf-aif4, spdif-aif, usb-aif1, usb-aif2, adat-aif,
7562306a36Sopenharmony_ci                    soundcard-aif ]
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci          pins:
7862306a36Sopenharmony_ci            description:
7962306a36Sopenharmony_ci              A list of pin names to select (either this or "groups" must
8062306a36Sopenharmony_ci              be specified), available pins.
8162306a36Sopenharmony_ci            enum: [ fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4,
8262306a36Sopenharmony_ci                    fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2,
8362306a36Sopenharmony_ci                    codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6,
8462306a36Sopenharmony_ci                    codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2,
8562306a36Sopenharmony_ci                    dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6,
8662306a36Sopenharmony_ci                    gf-gpio2, gf-gpio3, gf-gpio7, codec-aif1-bclk,
8762306a36Sopenharmony_ci                    codec-aif1-rxdat, codec-aif1-lrclk, codec-aif1-txdat,
8862306a36Sopenharmony_ci                    codec-aif2-bclk, codec-aif2-rxdat, codec-aif2-lrclk,
8962306a36Sopenharmony_ci                    codec-aif2-txdat, codec-aif3-bclk, codec-aif3-rxdat,
9062306a36Sopenharmony_ci                    codec-aif3-lrclk, codec-aif3-txdat, dsp-aif1-bclk,
9162306a36Sopenharmony_ci                    dsp-aif1-rxdat, dsp-aif1-lrclk, dsp-aif1-txdat,
9262306a36Sopenharmony_ci                    dsp-aif2-bclk, dsp-aif2-rxdat, dsp-aif2-lrclk,
9362306a36Sopenharmony_ci                    dsp-aif2-txdat, psia1-bclk, psia1-rxdat, psia1-lrclk,
9462306a36Sopenharmony_ci                    psia1-txdat, psia2-bclk, psia2-rxdat, psia2-lrclk,
9562306a36Sopenharmony_ci                    psia2-txdat, gf-aif3-bclk, gf-aif3-rxdat,
9662306a36Sopenharmony_ci                    gf-aif3-lrclk, gf-aif3-txdat, gf-aif4-bclk,
9762306a36Sopenharmony_ci                    gf-aif4-rxdat, gf-aif4-lrclk, gf-aif4-txdat,
9862306a36Sopenharmony_ci                    gf-aif1-bclk, gf-aif1-rxdat, gf-aif1-lrclk,
9962306a36Sopenharmony_ci                    gf-aif1-txdat, gf-aif2-bclk, gf-aif2-rxdat,
10062306a36Sopenharmony_ci                    gf-aif2-lrclk, gf-aif2-txdat, dsp-uart1-rx,
10162306a36Sopenharmony_ci                    dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx,
10262306a36Sopenharmony_ci                    gf-uart2-rx, gf-uart2-tx, usb-uart-rx, codec-pdmclk1,
10362306a36Sopenharmony_ci                    codec-pdmdat1, codec-pdmclk2, codec-pdmdat2,
10462306a36Sopenharmony_ci                    codec-dmicclk1, codec-dmicdat1, codec-dmicclk2,
10562306a36Sopenharmony_ci                    codec-dmicdat2, codec-dmicclk3, codec-dmicdat3,
10662306a36Sopenharmony_ci                    codec-dmicclk4, codec-dmicdat4, dsp-dmicclk1,
10762306a36Sopenharmony_ci                    dsp-dmicdat1, dsp-dmicclk2, dsp-dmicdat2, i2c2-scl,
10862306a36Sopenharmony_ci                    i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, i2c4-sda,
10962306a36Sopenharmony_ci                    dsp-standby, codec-mclk1, codec-mclk2, dsp-clkin,
11062306a36Sopenharmony_ci                    psia1-mclk, psia2-mclk, gf-gpio1, gf-gpio5,
11162306a36Sopenharmony_ci                    dsp-gpio20, led1, led2 ]
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci          function:
11462306a36Sopenharmony_ci            description:
11562306a36Sopenharmony_ci              The mux function to select, available functions.
11662306a36Sopenharmony_ci            enum: [ aif, fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4,
11762306a36Sopenharmony_ci                    fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2,
11862306a36Sopenharmony_ci                    codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6,
11962306a36Sopenharmony_ci                    codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2,
12062306a36Sopenharmony_ci                    dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6,
12162306a36Sopenharmony_ci                    gf-gpio2, gf-gpio3, gf-gpio7, gf-gpio1, gf-gpio5,
12262306a36Sopenharmony_ci                    dsp-gpio20, codec-clkout, dsp-clkout, pmic-32k,
12362306a36Sopenharmony_ci                    spdif-clkout, clk-12m288, clk-11m2986, clk-24m576,
12462306a36Sopenharmony_ci                    clk-22m5792, xmos-mclk, gf-clkout1, gf-mclk1,
12562306a36Sopenharmony_ci                    gf-mclk3, gf-mclk2, gf-clkout2, codec-mclk1,
12662306a36Sopenharmony_ci                    codec-mclk2, dsp-clkin, psia1-mclk, psia2-mclk,
12762306a36Sopenharmony_ci                    spdif-mclk, codec-irq, codec-reset, dsp-reset,
12862306a36Sopenharmony_ci                    dsp-irq, dsp-standby, codec-pdmclk1, codec-pdmdat1,
12962306a36Sopenharmony_ci                    codec-pdmclk2, codec-pdmdat2, codec-dmicclk1,
13062306a36Sopenharmony_ci                    codec-dmicdat1, codec-dmicclk2, codec-dmicdat2,
13162306a36Sopenharmony_ci                    codec-dmicclk3, codec-dmicdat3, codec-dmicclk4,
13262306a36Sopenharmony_ci                    codec-dmicdat4, dsp-dmicclk1, dsp-dmicdat1,
13362306a36Sopenharmony_ci                    dsp-dmicclk2, dsp-dmicdat2, dsp-uart1-rx,
13462306a36Sopenharmony_ci                    dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx,
13562306a36Sopenharmony_ci                    gf-uart2-rx, gf-uart2-tx, usb-uart-rx, usb-uart-tx,
13662306a36Sopenharmony_ci                    i2c2-scl, i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl,
13762306a36Sopenharmony_ci                    i2c4-sda, spdif-aif, psia1, psia1-bclk, psia1-lrclk,
13862306a36Sopenharmony_ci                    psia1-rxdat, psia1-txdat, psia2, psia2-bclk,
13962306a36Sopenharmony_ci                    psia2-lrclk, psia2-rxdat, psia2-txdat, codec-aif1,
14062306a36Sopenharmony_ci                    codec-aif1-bclk, codec-aif1-lrclk, codec-aif1-rxdat,
14162306a36Sopenharmony_ci                    codec-aif1-txdat, codec-aif2, codec-aif2-bclk,
14262306a36Sopenharmony_ci                    codec-aif2-lrclk, codec-aif2-rxdat, codec-aif2-txdat,
14362306a36Sopenharmony_ci                    codec-aif3, codec-aif3-bclk, codec-aif3-lrclk,
14462306a36Sopenharmony_ci                    codec-aif3-rxdat, codec-aif3-txdat, dsp-aif1,
14562306a36Sopenharmony_ci                    dsp-aif1-bclk, dsp-aif1-lrclk, dsp-aif1-rxdat,
14662306a36Sopenharmony_ci                    dsp-aif1-txdat, dsp-aif2, dsp-aif2-bclk,
14762306a36Sopenharmony_ci                    dsp-aif2-lrclk, dsp-aif2-rxdat, dsp-aif2-txdat,
14862306a36Sopenharmony_ci                    gf-aif3, gf-aif3-bclk, gf-aif3-lrclk, gf-aif3-rxdat,
14962306a36Sopenharmony_ci                    gf-aif3-txdat, gf-aif4, gf-aif4-bclk, gf-aif4-lrclk,
15062306a36Sopenharmony_ci                    gf-aif4-rxdat, gf-aif4-txdat, gf-aif1, gf-aif1-bclk,
15162306a36Sopenharmony_ci                    gf-aif1-lrclk, gf-aif1-rxdat, gf-aif1-txdat, gf-aif2,
15262306a36Sopenharmony_ci                    gf-aif2-bclk, gf-aif2-lrclk, gf-aif2-rxdat,
15362306a36Sopenharmony_ci                    gf-aif2-txdat, usb-aif1, usb-aif2, adat-aif,
15462306a36Sopenharmony_ci                    soundcard-aif ]
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci          output-enable:
15762306a36Sopenharmony_ci            description:
15862306a36Sopenharmony_ci              Specifies that an AIF group will be used as a master
15962306a36Sopenharmony_ci              interface (either this or input-enable is required if a
16062306a36Sopenharmony_ci              group is being muxed to an AIF)
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci          input-enable:
16362306a36Sopenharmony_ci            description:
16462306a36Sopenharmony_ci              Specifies that an AIF group will be used as a slave
16562306a36Sopenharmony_ci              interface (either this or output-enable is required if a
16662306a36Sopenharmony_ci              group is being muxed to an AIF)
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci        additionalProperties: false
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ci        required:
17162306a36Sopenharmony_ci          - function
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci    additionalProperties: false
17462306a36Sopenharmony_ci
17562306a36Sopenharmony_ciallOf:
17662306a36Sopenharmony_ci  - $ref: pinctrl.yaml#
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_cirequired:
17962306a36Sopenharmony_ci  - compatible
18062306a36Sopenharmony_ci  - gpio-controller
18162306a36Sopenharmony_ci  - '#gpio-cells'
18262306a36Sopenharmony_ci  - gpio-ranges
18362306a36Sopenharmony_ci  - pinctrl-0
18462306a36Sopenharmony_ci  - pinctrl-names
18562306a36Sopenharmony_ci
18662306a36Sopenharmony_ciadditionalProperties: false
187