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