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,madera.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Cirrus Logic Madera class audio CODECs pinctrl driver 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - patches@opensource.cirrus.com 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci The Cirrus Logic Madera codecs provide a number of GPIO functions for 1462306a36Sopenharmony_ci interfacing to external hardware and to provide logic outputs to other devices. 1562306a36Sopenharmony_ci Certain groups of GPIO pins also have an alternate function, normally as an 1662306a36Sopenharmony_ci audio interface. 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci The set of available GPIOs, functions and alternate function groups differs 1962306a36Sopenharmony_ci between CODECs so refer to the datasheet for the CODEC for further information 2062306a36Sopenharmony_ci on what is supported on that device. 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci The properties for this driver exist within the parent MFD driver node. 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci See also the core bindings for the parent MFD driver: 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci Documentation/devicetree/bindings/mfd/cirrus,madera.yaml 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci And the generic pinmix bindings: 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciproperties: 3362306a36Sopenharmony_ci pin-settings: 3462306a36Sopenharmony_ci description: 3562306a36Sopenharmony_ci One subnode is required to contain the default settings. It 3662306a36Sopenharmony_ci contains an arbitrary number of configuration subnodes, one for 3762306a36Sopenharmony_ci each group or pin configuration you want to apply as a default. 3862306a36Sopenharmony_ci type: object 3962306a36Sopenharmony_ci patternProperties: 4062306a36Sopenharmony_ci '-pins$': 4162306a36Sopenharmony_ci type: object 4262306a36Sopenharmony_ci allOf: 4362306a36Sopenharmony_ci - $ref: pincfg-node.yaml# 4462306a36Sopenharmony_ci - $ref: pinmux-node.yaml# 4562306a36Sopenharmony_ci properties: 4662306a36Sopenharmony_ci groups: 4762306a36Sopenharmony_ci description: 4862306a36Sopenharmony_ci Name of one pin group to configure. 4962306a36Sopenharmony_ci enum: [ aif1, aif2, aif3, aif4, mif1, mif2, mif3, pdmspk1, 5062306a36Sopenharmony_ci pdmspk2, dmic4, dmic5, dmic6, gpio1, gpio2, gpio3, 5162306a36Sopenharmony_ci gpio4, gpio5, gpio6, gpio7, gpio8, gpio9, 5262306a36Sopenharmony_ci gpio10, gpio11, gpio12, gpio13, gpio14, gpio15, 5362306a36Sopenharmony_ci gpio16, gpio17, gpio18, gpio19, gpio20, gpio21, 5462306a36Sopenharmony_ci gpio22, gpio23, gpio24, gpio25, gpio26, gpio27, 5562306a36Sopenharmony_ci gpio28, gpio29, gpio30, gpio31, gpio32, gpio33, 5662306a36Sopenharmony_ci gpio34, gpio35, gpio36, gpio37, gpio38, gpio39 ] 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci function: 5962306a36Sopenharmony_ci description: 6062306a36Sopenharmony_ci Name of function to assign to this group. 6162306a36Sopenharmony_ci enum: [ aif1, aif2, aif3, aif4, mif1, mif2, mif3, 6262306a36Sopenharmony_ci pdmspk1, pdmspk2, dmic3, dmic4, dmic5, 6362306a36Sopenharmony_ci dmic6, io, dsp-gpio, irq1, irq2, fll1-clk, 6462306a36Sopenharmony_ci fll1-lock, fll2-clk, fll2-lock, fll3-clk, 6562306a36Sopenharmony_ci fll3-lock, fllao-clk, fllao-lock, opclk, 6662306a36Sopenharmony_ci opclk-async, pwm1, pwm2, spdif, asrc1-in1-lock, 6762306a36Sopenharmony_ci asrc1-in2-lock, asrc2-in1-lock, asrc2-in2-lock, 6862306a36Sopenharmony_ci spkl-short-circuit, spkr-short-circuit, 6962306a36Sopenharmony_ci spk-shutdown, spk-overheat-shutdown, 7062306a36Sopenharmony_ci spk-overheat-warn, timer1-sts, timer2-sts, 7162306a36Sopenharmony_ci timer3-sts, timer4-sts, timer5-sts, timer6-sts, 7262306a36Sopenharmony_ci timer7-sts, timer8-sts, log1-fifo-ne, 7362306a36Sopenharmony_ci log2-fifo-ne, log3-fifo-ne, log4-fifo-ne, 7462306a36Sopenharmony_ci log5-fifo-ne, log6-fifo-ne, log7-fifo-ne, 7562306a36Sopenharmony_ci log8-fifo-ne ] 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci bias-disable: true 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci bias-bus-hold: true 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci bias-pull-up: true 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci bias-pull-down: true 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci drive-push-pull: true 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci drive-open-drain: true 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci drive-strength: 9062306a36Sopenharmony_ci enum: [ 4, 8 ] 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci input-schmitt-enable: true 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci input-schmitt-disable: true 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci input-debounce: true 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci output-low: true 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci output-high: true 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci additionalProperties: false 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci required: 10562306a36Sopenharmony_ci - groups 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci additionalProperties: false 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_cirequired: 11062306a36Sopenharmony_ci - pinctrl-0 11162306a36Sopenharmony_ci - pinctrl-names 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ciadditionalProperties: true 114