| # 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: |
| 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, gpio8, gpio9, |
| gpio10, gpio11, gpio12, gpio13, gpio14, gpio15, |
| gpio16, gpio17, gpio18, gpio19, gpio20, gpio21, |
| gpio22, gpio23, gpio24, gpio25, gpio26, gpio27, |
| gpio28, gpio29, gpio30, gpio31, gpio32, gpio33, |
| gpio34, gpio35, gpio36, 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 |
| |
| additionalProperties: true |