115 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---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 driver8 9maintainers:10 - patches@opensource.cirrus.com11 12description: |13 The Cirrus Logic Madera codecs provide a number of GPIO functions for14 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 an16 audio interface.17 18 The set of available GPIOs, functions and alternate function groups differs19 between CODECs so refer to the datasheet for the CODEC for further information20 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.yaml27 28 And the generic pinmix bindings:29 30 Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt31 32properties:33 pin-settings:34 description:35 One subnode is required to contain the default settings. It36 contains an arbitrary number of configuration subnodes, one for37 each group or pin configuration you want to apply as a default.38 type: object39 patternProperties:40 '-pins$':41 type: object42 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, gpio8, gpio9,52 gpio10, gpio11, gpio12, gpio13, gpio14, gpio15,53 gpio16, gpio17, gpio18, gpio19, gpio20, gpio21,54 gpio22, gpio23, gpio24, gpio25, gpio26, gpio27,55 gpio28, gpio29, gpio30, gpio31, gpio32, gpio33,56 gpio34, gpio35, gpio36, gpio37, gpio38, gpio39 ]57 58 function:59 description:60 Name of function to assign to this group.61 enum: [ aif1, aif2, aif3, aif4, mif1, mif2, mif3,62 pdmspk1, pdmspk2, dmic3, dmic4, dmic5,63 dmic6, io, dsp-gpio, irq1, irq2, fll1-clk,64 fll1-lock, fll2-clk, fll2-lock, fll3-clk,65 fll3-lock, fllao-clk, fllao-lock, opclk,66 opclk-async, pwm1, pwm2, spdif, asrc1-in1-lock,67 asrc1-in2-lock, asrc2-in1-lock, asrc2-in2-lock,68 spkl-short-circuit, spkr-short-circuit,69 spk-shutdown, spk-overheat-shutdown,70 spk-overheat-warn, timer1-sts, timer2-sts,71 timer3-sts, timer4-sts, timer5-sts, timer6-sts,72 timer7-sts, timer8-sts, log1-fifo-ne,73 log2-fifo-ne, log3-fifo-ne, log4-fifo-ne,74 log5-fifo-ne, log6-fifo-ne, log7-fifo-ne,75 log8-fifo-ne ]76 77 bias-disable: true78 79 bias-bus-hold: true80 81 bias-pull-up: true82 83 bias-pull-down: true84 85 drive-push-pull: true86 87 drive-open-drain: true88 89 drive-strength:90 enum: [ 4, 8 ]91 92 input-schmitt-enable: true93 94 input-schmitt-disable: true95 96 input-debounce:97 maxItems: 198 99 output-low: true100 101 output-high: true102 103 additionalProperties: false104 105 required:106 - groups107 108 additionalProperties: false109 110required:111 - pinctrl-0112 - pinctrl-names113 114additionalProperties: true115