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