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