blob: 4cb174bf31ffa64b926300f8ae6155aae382bb04 [file] [log] [blame]
Charles Keepax067243b2020-05-13 10:57:19 +01001# 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
120required:
121 - pinctrl-0
122 - pinctrl-names
Rob Herring6a0e3212020-10-05 13:38:30 -0500123
124additionalProperties: true