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 pinctrl-0: 34 description: 35 A phandle to the node containing the subnodes containing default 36 configurations. 37 38 pinctrl-names: 39 description: 40 A pinctrl state named "default" must be defined. 41 const: default 42 43 pin-settings: 44 description: 45 One subnode is required to contain the default settings. It 46 contains an arbitrary number of configuration subnodes, one for 47 each group or pin configuration you want to apply as a default. 48 type: object 49 patternProperties: 50 '-pins$': 51 type: object 52 allOf: 53 - $ref: "pincfg-node.yaml#" 54 - $ref: "pinmux-node.yaml#" 55 properties: 56 groups: 57 description: 58 Name of one pin group to configure. 59 enum: [ aif1, aif2, aif3, aif4, mif1, mif2, mif3, pdmspk1, 60 pdmspk2, dmic4, dmic5, dmic6, gpio1, gpio2, gpio3, 61 gpio4, gpio5, gpio6, gpio7, gpio7, gpio8, gpio9, 62 gpio10, gpio11, gpio12, gpio13, gpio14, gpio15, 63 gpio16, gpio17, gpio17, gpio18, gpio19, gpio20, 64 gpio21, gpio22, gpio23, gpio24, gpio25, gpio26, 65 gpio27, gpio27, gpio28, gpio29, gpio30, gpio31, 66 gpio32, gpio33, gpio34, gpio35, gpio36, gpio37, 67 gpio37, gpio38, gpio39 ] 68 69 function: 70 description: 71 Name of function to assign to this group. 72 enum: [ aif1, aif2, aif3, aif4, mif1, mif2, mif3, 73 pdmspk1, pdmspk2, dmic3, dmic4, dmic5, 74 dmic6, io, dsp-gpio, irq1, irq2, fll1-clk, 75 fll1-lock, fll2-clk, fll2-lock, fll3-clk, 76 fll3-lock, fllao-clk, fllao-lock, opclk, 77 opclk-async, pwm1, pwm2, spdif, asrc1-in1-lock, 78 asrc1-in2-lock, asrc2-in1-lock, asrc2-in2-lock, 79 spkl-short-circuit, spkr-short-circuit, 80 spk-shutdown, spk-overheat-shutdown, 81 spk-overheat-warn, timer1-sts, timer2-sts, 82 timer3-sts, timer4-sts, timer5-sts, timer6-sts, 83 timer7-sts, timer8-sts, log1-fifo-ne, 84 log2-fifo-ne, log3-fifo-ne, log4-fifo-ne, 85 log5-fifo-ne, log6-fifo-ne, log7-fifo-ne, 86 log8-fifo-ne ] 87 88 bias-disable: true 89 90 bias-bus-hold: true 91 92 bias-pull-up: true 93 94 bias-pull-down: true 95 96 drive-push-pull: true 97 98 drive-open-drain: true 99 100 drive-strength: 101 enum: [ 4, 8 ] 102 103 input-schmitt-enable: true 104 105 input-schmitt-disable: true 106 107 input-debounce: true 108 109 output-low: true 110 111 output-high: true 112 113 additionalProperties: false 114 115 required: 116 - groups 117 118 additionalProperties: false 119 120allOf: 121 - $ref: "pinctrl.yaml#" 122 123required: 124 - pinctrl-0 125 - pinctrl-names 126 127additionalProperties: true 128