1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/cirrus,madera.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadottitle: Cirrus Logic Madera class audio CODECs pinctrl driver 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - patches@opensource.cirrus.com 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotdescription: | 13c66ec88fSEmmanuel Vadot The Cirrus Logic Madera codecs provide a number of GPIO functions for 14c66ec88fSEmmanuel Vadot interfacing to external hardware and to provide logic outputs to other devices. 15c66ec88fSEmmanuel Vadot Certain groups of GPIO pins also have an alternate function, normally as an 16c66ec88fSEmmanuel Vadot audio interface. 17c66ec88fSEmmanuel Vadot 18c66ec88fSEmmanuel Vadot The set of available GPIOs, functions and alternate function groups differs 19c66ec88fSEmmanuel Vadot between CODECs so refer to the datasheet for the CODEC for further information 20c66ec88fSEmmanuel Vadot on what is supported on that device. 21c66ec88fSEmmanuel Vadot 22c66ec88fSEmmanuel Vadot The properties for this driver exist within the parent MFD driver node. 23c66ec88fSEmmanuel Vadot 24c66ec88fSEmmanuel Vadot See also the core bindings for the parent MFD driver: 25c66ec88fSEmmanuel Vadot 26c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/mfd/cirrus,madera.yaml 27c66ec88fSEmmanuel Vadot 28c66ec88fSEmmanuel Vadot And the generic pinmix bindings: 29c66ec88fSEmmanuel Vadot 30c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt 31c66ec88fSEmmanuel Vadot 32c66ec88fSEmmanuel Vadotproperties: 33c66ec88fSEmmanuel Vadot pin-settings: 34c66ec88fSEmmanuel Vadot description: 35c66ec88fSEmmanuel Vadot One subnode is required to contain the default settings. It 36c66ec88fSEmmanuel Vadot contains an arbitrary number of configuration subnodes, one for 37c66ec88fSEmmanuel Vadot each group or pin configuration you want to apply as a default. 38c66ec88fSEmmanuel Vadot type: object 39c66ec88fSEmmanuel Vadot patternProperties: 40c66ec88fSEmmanuel Vadot '-pins$': 41c66ec88fSEmmanuel Vadot type: object 42c66ec88fSEmmanuel Vadot allOf: 43*fac71e4eSEmmanuel Vadot - $ref: pincfg-node.yaml# 44*fac71e4eSEmmanuel Vadot - $ref: pinmux-node.yaml# 45c66ec88fSEmmanuel Vadot properties: 46c66ec88fSEmmanuel Vadot groups: 47c66ec88fSEmmanuel Vadot description: 48c66ec88fSEmmanuel Vadot Name of one pin group to configure. 49c66ec88fSEmmanuel Vadot enum: [ aif1, aif2, aif3, aif4, mif1, mif2, mif3, pdmspk1, 50c66ec88fSEmmanuel Vadot pdmspk2, dmic4, dmic5, dmic6, gpio1, gpio2, gpio3, 51c9ccf3a3SEmmanuel Vadot gpio4, gpio5, gpio6, gpio7, gpio8, gpio9, 52c66ec88fSEmmanuel Vadot gpio10, gpio11, gpio12, gpio13, gpio14, gpio15, 53c9ccf3a3SEmmanuel Vadot gpio16, gpio17, gpio18, gpio19, gpio20, gpio21, 54c9ccf3a3SEmmanuel Vadot gpio22, gpio23, gpio24, gpio25, gpio26, gpio27, 55c9ccf3a3SEmmanuel Vadot gpio28, gpio29, gpio30, gpio31, gpio32, gpio33, 56c9ccf3a3SEmmanuel Vadot gpio34, gpio35, gpio36, gpio37, gpio38, gpio39 ] 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel Vadot function: 59c66ec88fSEmmanuel Vadot description: 60c66ec88fSEmmanuel Vadot Name of function to assign to this group. 61c66ec88fSEmmanuel Vadot enum: [ aif1, aif2, aif3, aif4, mif1, mif2, mif3, 62c66ec88fSEmmanuel Vadot pdmspk1, pdmspk2, dmic3, dmic4, dmic5, 63c66ec88fSEmmanuel Vadot dmic6, io, dsp-gpio, irq1, irq2, fll1-clk, 64c66ec88fSEmmanuel Vadot fll1-lock, fll2-clk, fll2-lock, fll3-clk, 65c66ec88fSEmmanuel Vadot fll3-lock, fllao-clk, fllao-lock, opclk, 66c66ec88fSEmmanuel Vadot opclk-async, pwm1, pwm2, spdif, asrc1-in1-lock, 67c66ec88fSEmmanuel Vadot asrc1-in2-lock, asrc2-in1-lock, asrc2-in2-lock, 68c66ec88fSEmmanuel Vadot spkl-short-circuit, spkr-short-circuit, 69c66ec88fSEmmanuel Vadot spk-shutdown, spk-overheat-shutdown, 70c66ec88fSEmmanuel Vadot spk-overheat-warn, timer1-sts, timer2-sts, 71c66ec88fSEmmanuel Vadot timer3-sts, timer4-sts, timer5-sts, timer6-sts, 72c66ec88fSEmmanuel Vadot timer7-sts, timer8-sts, log1-fifo-ne, 73c66ec88fSEmmanuel Vadot log2-fifo-ne, log3-fifo-ne, log4-fifo-ne, 74c66ec88fSEmmanuel Vadot log5-fifo-ne, log6-fifo-ne, log7-fifo-ne, 75c66ec88fSEmmanuel Vadot log8-fifo-ne ] 76c66ec88fSEmmanuel Vadot 77c66ec88fSEmmanuel Vadot bias-disable: true 78c66ec88fSEmmanuel Vadot 79c66ec88fSEmmanuel Vadot bias-bus-hold: true 80c66ec88fSEmmanuel Vadot 81c66ec88fSEmmanuel Vadot bias-pull-up: true 82c66ec88fSEmmanuel Vadot 83c66ec88fSEmmanuel Vadot bias-pull-down: true 84c66ec88fSEmmanuel Vadot 85c66ec88fSEmmanuel Vadot drive-push-pull: true 86c66ec88fSEmmanuel Vadot 87c66ec88fSEmmanuel Vadot drive-open-drain: true 88c66ec88fSEmmanuel Vadot 89c66ec88fSEmmanuel Vadot drive-strength: 90c66ec88fSEmmanuel Vadot enum: [ 4, 8 ] 91c66ec88fSEmmanuel Vadot 92c66ec88fSEmmanuel Vadot input-schmitt-enable: true 93c66ec88fSEmmanuel Vadot 94c66ec88fSEmmanuel Vadot input-schmitt-disable: true 95c66ec88fSEmmanuel Vadot 96c66ec88fSEmmanuel Vadot input-debounce: true 97c66ec88fSEmmanuel Vadot 98c66ec88fSEmmanuel Vadot output-low: true 99c66ec88fSEmmanuel Vadot 100c66ec88fSEmmanuel Vadot output-high: true 101c66ec88fSEmmanuel Vadot 102c66ec88fSEmmanuel Vadot additionalProperties: false 103c66ec88fSEmmanuel Vadot 104c66ec88fSEmmanuel Vadot required: 105c66ec88fSEmmanuel Vadot - groups 106c66ec88fSEmmanuel Vadot 107c66ec88fSEmmanuel Vadot additionalProperties: false 108c66ec88fSEmmanuel Vadot 109c66ec88fSEmmanuel Vadotrequired: 110c66ec88fSEmmanuel Vadot - pinctrl-0 111c66ec88fSEmmanuel Vadot - pinctrl-names 1126be33864SEmmanuel Vadot 1136be33864SEmmanuel VadotadditionalProperties: true 114