# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/pinctrl/cirrus,madera.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Cirrus Logic Madera class audio CODECs pinctrl driver maintainers: - patches@opensource.cirrus.com description: | The Cirrus Logic Madera codecs provide a number of GPIO functions for interfacing to external hardware and to provide logic outputs to other devices. Certain groups of GPIO pins also have an alternate function, normally as an audio interface. The set of available GPIOs, functions and alternate function groups differs between CODECs so refer to the datasheet for the CODEC for further information on what is supported on that device. The properties for this driver exist within the parent MFD driver node. See also the core bindings for the parent MFD driver: Documentation/devicetree/bindings/mfd/cirrus,madera.yaml And the generic pinmix bindings: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt properties: pinctrl-0: description: A phandle to the node containing the subnodes containing default configurations. pinctrl-names: description: A pinctrl state named "default" must be defined. const: default pin-settings: description: One subnode is required to contain the default settings. It contains an arbitrary number of configuration subnodes, one for each group or pin configuration you want to apply as a default. type: object patternProperties: '-pins$': type: object allOf: - $ref: "pincfg-node.yaml#" - $ref: "pinmux-node.yaml#" properties: groups: description: Name of one pin group to configure. enum: [ aif1, aif2, aif3, aif4, mif1, mif2, mif3, pdmspk1, pdmspk2, dmic4, dmic5, dmic6, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7, gpio7, gpio8, gpio9, gpio10, gpio11, gpio12, gpio13, gpio14, gpio15, gpio16, gpio17, gpio17, gpio18, gpio19, gpio20, gpio21, gpio22, gpio23, gpio24, gpio25, gpio26, gpio27, gpio27, gpio28, gpio29, gpio30, gpio31, gpio32, gpio33, gpio34, gpio35, gpio36, gpio37, gpio37, gpio38, gpio39 ] function: description: Name of function to assign to this group. enum: [ aif1, aif2, aif3, aif4, mif1, mif2, mif3, pdmspk1, pdmspk2, dmic3, dmic4, dmic5, dmic6, io, dsp-gpio, irq1, irq2, fll1-clk, fll1-lock, fll2-clk, fll2-lock, fll3-clk, fll3-lock, fllao-clk, fllao-lock, opclk, opclk-async, pwm1, pwm2, spdif, asrc1-in1-lock, asrc1-in2-lock, asrc2-in1-lock, asrc2-in2-lock, spkl-short-circuit, spkr-short-circuit, spk-shutdown, spk-overheat-shutdown, spk-overheat-warn, timer1-sts, timer2-sts, timer3-sts, timer4-sts, timer5-sts, timer6-sts, timer7-sts, timer8-sts, log1-fifo-ne, log2-fifo-ne, log3-fifo-ne, log4-fifo-ne, log5-fifo-ne, log6-fifo-ne, log7-fifo-ne, log8-fifo-ne ] bias-disable: true bias-bus-hold: true bias-pull-up: true bias-pull-down: true drive-push-pull: true drive-open-drain: true drive-strength: enum: [ 4, 8 ] input-schmitt-enable: true input-schmitt-disable: true input-debounce: true output-low: true output-high: true additionalProperties: false required: - groups additionalProperties: false required: - pinctrl-0 - pinctrl-names