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