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