blob: 482acda88e73284017765c35ba32963e8b48c367 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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, 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: true
78
79 bias-bus-hold: true
80
81 bias-pull-up: true
82
83 bias-pull-down: true
84
85 drive-push-pull: true
86
87 drive-open-drain: true
88
89 drive-strength:
90 enum: [ 4, 8 ]
91
92 input-schmitt-enable: true
93
94 input-schmitt-disable: true
95
Tom Rini6bb92fc2024-05-20 09:54:58 -060096 input-debounce:
97 maxItems: 1
Tom Rini53633a82024-02-29 12:33:36 -050098
99 output-low: true
100
101 output-high: true
102
103 additionalProperties: false
104
105 required:
106 - groups
107
108 additionalProperties: false
109
110required:
111 - pinctrl-0
112 - pinctrl-names
113
114additionalProperties: true