xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*4882a593Smuzhiyun%YAML 1.2
3*4882a593Smuzhiyun---
4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/pinctrl/cirrus,lochnagar.yaml#
5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyuntitle: Cirrus Logic Lochnagar Audio Development Board
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunmaintainers:
10*4882a593Smuzhiyun  - patches@opensource.cirrus.com
11*4882a593Smuzhiyun
12*4882a593Smuzhiyundescription: |
13*4882a593Smuzhiyun  Lochnagar is an evaluation and development board for Cirrus Logic
14*4882a593Smuzhiyun  Smart CODEC and Amp devices. It allows the connection of most Cirrus
15*4882a593Smuzhiyun  Logic devices on mini-cards, as well as allowing connection of various
16*4882a593Smuzhiyun  application processor systems to provide a full evaluation platform.
17*4882a593Smuzhiyun  Audio system topology, clocking and power can all be controlled through
18*4882a593Smuzhiyun  the Lochnagar, allowing the device under test to be used in a variety of
19*4882a593Smuzhiyun  possible use cases.
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun  This binding document describes the binding for the pinctrl portion of
22*4882a593Smuzhiyun  the driver.
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun  Also see these documents for generic binding information:
25*4882a593Smuzhiyun    [1] GPIO : ../gpio/gpio.txt
26*4882a593Smuzhiyun    [2] Pinctrl: ../pinctrl/pinctrl-bindings.txt
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun  And these for relevant defines:
29*4882a593Smuzhiyun    [3] include/dt-bindings/pinctrl/lochnagar.h
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun  This binding must be part of the Lochnagar MFD binding:
32*4882a593Smuzhiyun    [4] ../mfd/cirrus,lochnagar.yaml
33*4882a593Smuzhiyun
34*4882a593Smuzhiyunproperties:
35*4882a593Smuzhiyun  compatible:
36*4882a593Smuzhiyun    enum:
37*4882a593Smuzhiyun      - cirrus,lochnagar-pinctrl
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun  gpio-controller: true
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun  '#gpio-cells':
42*4882a593Smuzhiyun    description:
43*4882a593Smuzhiyun      The first cell is the pin number and the second cell is used
44*4882a593Smuzhiyun      to specify optional parameters.
45*4882a593Smuzhiyun    const: 2
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun  gpio-ranges:
48*4882a593Smuzhiyun    description:
49*4882a593Smuzhiyun      Range of pins managed by the GPIO controller, see [1]. Both the
50*4882a593Smuzhiyun      GPIO and Pinctrl base should be set to zero and the count to the
51*4882a593Smuzhiyun      appropriate of the LOCHNAGARx_PIN_NUM_GPIOS define, see [3].
52*4882a593Smuzhiyun    maxItems: 1
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun  pinctrl-0:
55*4882a593Smuzhiyun    description:
56*4882a593Smuzhiyun      A phandle to the default pinctrl state.
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun  pinctrl-names:
59*4882a593Smuzhiyun    description:
60*4882a593Smuzhiyun      A pinctrl state named "default" must be defined.
61*4882a593Smuzhiyun    const: default
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun  pin-settings:
64*4882a593Smuzhiyun    type: object
65*4882a593Smuzhiyun    patternProperties:
66*4882a593Smuzhiyun      '-pins$':
67*4882a593Smuzhiyun        description:
68*4882a593Smuzhiyun          The pin configurations are defined as a child of the pinctrl
69*4882a593Smuzhiyun          states node, see [2]. Each sub-node can have the following
70*4882a593Smuzhiyun          properties.
71*4882a593Smuzhiyun        type: object
72*4882a593Smuzhiyun        allOf:
73*4882a593Smuzhiyun          - $ref: pincfg-node.yaml#
74*4882a593Smuzhiyun          - $ref: pinmux-node.yaml#
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun        properties:
77*4882a593Smuzhiyun          groups:
78*4882a593Smuzhiyun            description:
79*4882a593Smuzhiyun              A list of groups to select (either this or "pins" must be
80*4882a593Smuzhiyun              specified), available groups.
81*4882a593Smuzhiyun            enum: [ codec-aif1, codec-aif2, codec-aif3, dsp-aif1,
82*4882a593Smuzhiyun                    dsp-aif2, psia1, psia2, gf-aif1, gf-aif2, gf-aif3,
83*4882a593Smuzhiyun                    gf-aif4, spdif-aif, usb-aif1, usb-aif2, adat-aif,
84*4882a593Smuzhiyun                    soundcard-aif ]
85*4882a593Smuzhiyun
86*4882a593Smuzhiyun          pins:
87*4882a593Smuzhiyun            description:
88*4882a593Smuzhiyun              A list of pin names to select (either this or "groups" must
89*4882a593Smuzhiyun              be specified), available pins.
90*4882a593Smuzhiyun            enum: [ fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4,
91*4882a593Smuzhiyun                    fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2,
92*4882a593Smuzhiyun                    codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6,
93*4882a593Smuzhiyun                    codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2,
94*4882a593Smuzhiyun                    dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6,
95*4882a593Smuzhiyun                    gf-gpio2, gf-gpio3, gf-gpio7, codec-aif1-bclk,
96*4882a593Smuzhiyun                    codec-aif1-rxdat, codec-aif1-lrclk, codec-aif1-txdat,
97*4882a593Smuzhiyun                    codec-aif2-bclk, codec-aif2-rxdat, codec-aif2-lrclk,
98*4882a593Smuzhiyun                    codec-aif2-txdat, codec-aif3-bclk, codec-aif3-rxdat,
99*4882a593Smuzhiyun                    codec-aif3-lrclk, codec-aif3-txdat, dsp-aif1-bclk,
100*4882a593Smuzhiyun                    dsp-aif1-rxdat, dsp-aif1-lrclk, dsp-aif1-txdat,
101*4882a593Smuzhiyun                    dsp-aif2-bclk, dsp-aif2-rxdat, dsp-aif2-lrclk,
102*4882a593Smuzhiyun                    dsp-aif2-txdat, psia1-bclk, psia1-rxdat, psia1-lrclk,
103*4882a593Smuzhiyun                    psia1-txdat, psia2-bclk, psia2-rxdat, psia2-lrclk,
104*4882a593Smuzhiyun                    psia2-txdat, gf-aif3-bclk, gf-aif3-rxdat,
105*4882a593Smuzhiyun                    gf-aif3-lrclk, gf-aif3-txdat, gf-aif4-bclk,
106*4882a593Smuzhiyun                    gf-aif4-rxdat, gf-aif4-lrclk, gf-aif4-txdat,
107*4882a593Smuzhiyun                    gf-aif1-bclk, gf-aif1-rxdat, gf-aif1-lrclk,
108*4882a593Smuzhiyun                    gf-aif1-txdat, gf-aif2-bclk, gf-aif2-rxdat,
109*4882a593Smuzhiyun                    gf-aif2-lrclk, gf-aif2-txdat, dsp-uart1-rx,
110*4882a593Smuzhiyun                    dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx,
111*4882a593Smuzhiyun                    gf-uart2-rx, gf-uart2-tx, usb-uart-rx, codec-pdmclk1,
112*4882a593Smuzhiyun                    codec-pdmdat1, codec-pdmclk2, codec-pdmdat2,
113*4882a593Smuzhiyun                    codec-dmicclk1, codec-dmicdat1, codec-dmicclk2,
114*4882a593Smuzhiyun                    codec-dmicdat2, codec-dmicclk3, codec-dmicdat3,
115*4882a593Smuzhiyun                    codec-dmicclk4, codec-dmicdat4, dsp-dmicclk1,
116*4882a593Smuzhiyun                    dsp-dmicdat1, dsp-dmicclk2, dsp-dmicdat2, i2c2-scl,
117*4882a593Smuzhiyun                    i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, i2c4-sda,
118*4882a593Smuzhiyun                    dsp-standby, codec-mclk1, codec-mclk2, dsp-clkin,
119*4882a593Smuzhiyun                    psia1-mclk, psia2-mclk, gf-gpio1, gf-gpio5,
120*4882a593Smuzhiyun                    dsp-gpio20, led1, led2 ]
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun          function:
123*4882a593Smuzhiyun            description:
124*4882a593Smuzhiyun              The mux function to select, available functions.
125*4882a593Smuzhiyun            enum: [ aif, fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4,
126*4882a593Smuzhiyun                    fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2,
127*4882a593Smuzhiyun                    codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6,
128*4882a593Smuzhiyun                    codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2,
129*4882a593Smuzhiyun                    dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6,
130*4882a593Smuzhiyun                    gf-gpio2, gf-gpio3, gf-gpio7, gf-gpio1, gf-gpio5,
131*4882a593Smuzhiyun                    dsp-gpio20, codec-clkout, dsp-clkout, pmic-32k,
132*4882a593Smuzhiyun                    spdif-clkout, clk-12m288, clk-11m2986, clk-24m576,
133*4882a593Smuzhiyun                    clk-22m5792, xmos-mclk, gf-clkout1, gf-mclk1,
134*4882a593Smuzhiyun                    gf-mclk3, gf-mclk2, gf-clkout2, codec-mclk1,
135*4882a593Smuzhiyun                    codec-mclk2, dsp-clkin, psia1-mclk, psia2-mclk,
136*4882a593Smuzhiyun                    spdif-mclk, codec-irq, codec-reset, dsp-reset,
137*4882a593Smuzhiyun                    dsp-irq, dsp-standby, codec-pdmclk1, codec-pdmdat1,
138*4882a593Smuzhiyun                    codec-pdmclk2, codec-pdmdat2, codec-dmicclk1,
139*4882a593Smuzhiyun                    codec-dmicdat1, codec-dmicclk2, codec-dmicdat2,
140*4882a593Smuzhiyun                    codec-dmicclk3, codec-dmicdat3, codec-dmicclk4,
141*4882a593Smuzhiyun                    codec-dmicdat4, dsp-dmicclk1, dsp-dmicdat1,
142*4882a593Smuzhiyun                    dsp-dmicclk2, dsp-dmicdat2, dsp-uart1-rx,
143*4882a593Smuzhiyun                    dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx,
144*4882a593Smuzhiyun                    gf-uart2-rx, gf-uart2-tx, usb-uart-rx, usb-uart-tx,
145*4882a593Smuzhiyun                    i2c2-scl, i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl,
146*4882a593Smuzhiyun                    i2c4-sda, spdif-aif, psia1, psia1-bclk, psia1-lrclk,
147*4882a593Smuzhiyun                    psia1-rxdat, psia1-txdat, psia2, psia2-bclk,
148*4882a593Smuzhiyun                    psia2-lrclk, psia2-rxdat, psia2-txdat, codec-aif1,
149*4882a593Smuzhiyun                    codec-aif1-bclk, codec-aif1-lrclk, codec-aif1-rxdat,
150*4882a593Smuzhiyun                    codec-aif1-txdat, codec-aif2, codec-aif2-bclk,
151*4882a593Smuzhiyun                    codec-aif2-lrclk, codec-aif2-rxdat, codec-aif2-txdat,
152*4882a593Smuzhiyun                    codec-aif3, codec-aif3-bclk, codec-aif3-lrclk,
153*4882a593Smuzhiyun                    codec-aif3-rxdat, codec-aif3-txdat, dsp-aif1,
154*4882a593Smuzhiyun                    dsp-aif1-bclk, dsp-aif1-lrclk, dsp-aif1-rxdat,
155*4882a593Smuzhiyun                    dsp-aif1-txdat, dsp-aif2, dsp-aif2-bclk,
156*4882a593Smuzhiyun                    dsp-aif2-lrclk, dsp-aif2-rxdat, dsp-aif2-txdat,
157*4882a593Smuzhiyun                    gf-aif3, gf-aif3-bclk, gf-aif3-lrclk, gf-aif3-rxdat,
158*4882a593Smuzhiyun                    gf-aif3-txdat, gf-aif4, gf-aif4-bclk, gf-aif4-lrclk,
159*4882a593Smuzhiyun                    gf-aif4-rxdat, gf-aif4-txdat, gf-aif1, gf-aif1-bclk,
160*4882a593Smuzhiyun                    gf-aif1-lrclk, gf-aif1-rxdat, gf-aif1-txdat, gf-aif2,
161*4882a593Smuzhiyun                    gf-aif2-bclk, gf-aif2-lrclk, gf-aif2-rxdat,
162*4882a593Smuzhiyun                    gf-aif2-txdat, usb-aif1, usb-aif2, adat-aif,
163*4882a593Smuzhiyun                    soundcard-aif ]
164*4882a593Smuzhiyun
165*4882a593Smuzhiyun          output-enable:
166*4882a593Smuzhiyun            description:
167*4882a593Smuzhiyun              Specifies that an AIF group will be used as a master
168*4882a593Smuzhiyun              interface (either this or input-enable is required if a
169*4882a593Smuzhiyun              group is being muxed to an AIF)
170*4882a593Smuzhiyun
171*4882a593Smuzhiyun          input-enable:
172*4882a593Smuzhiyun            description:
173*4882a593Smuzhiyun              Specifies that an AIF group will be used as a slave
174*4882a593Smuzhiyun              interface (either this or output-enable is required if a
175*4882a593Smuzhiyun              group is being muxed to an AIF)
176*4882a593Smuzhiyun
177*4882a593Smuzhiyun        additionalProperties: false
178*4882a593Smuzhiyun
179*4882a593Smuzhiyun        required:
180*4882a593Smuzhiyun          - function
181*4882a593Smuzhiyun
182*4882a593Smuzhiyun    additionalProperties: false
183*4882a593Smuzhiyun
184*4882a593Smuzhiyunrequired:
185*4882a593Smuzhiyun  - compatible
186*4882a593Smuzhiyun  - gpio-controller
187*4882a593Smuzhiyun  - '#gpio-cells'
188*4882a593Smuzhiyun  - gpio-ranges
189*4882a593Smuzhiyun  - pinctrl-0
190*4882a593Smuzhiyun  - pinctrl-names
191*4882a593Smuzhiyun
192*4882a593SmuzhiyunadditionalProperties: false
193