18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/pinctrl/cirrus,lochnagar.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Cirrus Logic Lochnagar Audio Development Board 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - patches@opensource.cirrus.com 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cidescription: | 138c2ecf20Sopenharmony_ci Lochnagar is an evaluation and development board for Cirrus Logic 148c2ecf20Sopenharmony_ci Smart CODEC and Amp devices. It allows the connection of most Cirrus 158c2ecf20Sopenharmony_ci Logic devices on mini-cards, as well as allowing connection of various 168c2ecf20Sopenharmony_ci application processor systems to provide a full evaluation platform. 178c2ecf20Sopenharmony_ci Audio system topology, clocking and power can all be controlled through 188c2ecf20Sopenharmony_ci the Lochnagar, allowing the device under test to be used in a variety of 198c2ecf20Sopenharmony_ci possible use cases. 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci This binding document describes the binding for the pinctrl portion of 228c2ecf20Sopenharmony_ci the driver. 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci Also see these documents for generic binding information: 258c2ecf20Sopenharmony_ci [1] GPIO : ../gpio/gpio.txt 268c2ecf20Sopenharmony_ci [2] Pinctrl: ../pinctrl/pinctrl-bindings.txt 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci And these for relevant defines: 298c2ecf20Sopenharmony_ci [3] include/dt-bindings/pinctrl/lochnagar.h 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci This binding must be part of the Lochnagar MFD binding: 328c2ecf20Sopenharmony_ci [4] ../mfd/cirrus,lochnagar.yaml 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ciproperties: 358c2ecf20Sopenharmony_ci compatible: 368c2ecf20Sopenharmony_ci enum: 378c2ecf20Sopenharmony_ci - cirrus,lochnagar-pinctrl 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci gpio-controller: true 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci '#gpio-cells': 428c2ecf20Sopenharmony_ci description: 438c2ecf20Sopenharmony_ci The first cell is the pin number and the second cell is used 448c2ecf20Sopenharmony_ci to specify optional parameters. 458c2ecf20Sopenharmony_ci const: 2 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci gpio-ranges: 488c2ecf20Sopenharmony_ci description: 498c2ecf20Sopenharmony_ci Range of pins managed by the GPIO controller, see [1]. Both the 508c2ecf20Sopenharmony_ci GPIO and Pinctrl base should be set to zero and the count to the 518c2ecf20Sopenharmony_ci appropriate of the LOCHNAGARx_PIN_NUM_GPIOS define, see [3]. 528c2ecf20Sopenharmony_ci maxItems: 1 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci pinctrl-0: 558c2ecf20Sopenharmony_ci description: 568c2ecf20Sopenharmony_ci A phandle to the default pinctrl state. 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci pinctrl-names: 598c2ecf20Sopenharmony_ci description: 608c2ecf20Sopenharmony_ci A pinctrl state named "default" must be defined. 618c2ecf20Sopenharmony_ci const: default 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci pin-settings: 648c2ecf20Sopenharmony_ci type: object 658c2ecf20Sopenharmony_ci patternProperties: 668c2ecf20Sopenharmony_ci '-pins$': 678c2ecf20Sopenharmony_ci description: 688c2ecf20Sopenharmony_ci The pin configurations are defined as a child of the pinctrl 698c2ecf20Sopenharmony_ci states node, see [2]. Each sub-node can have the following 708c2ecf20Sopenharmony_ci properties. 718c2ecf20Sopenharmony_ci type: object 728c2ecf20Sopenharmony_ci allOf: 738c2ecf20Sopenharmony_ci - $ref: pincfg-node.yaml# 748c2ecf20Sopenharmony_ci - $ref: pinmux-node.yaml# 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ci properties: 778c2ecf20Sopenharmony_ci groups: 788c2ecf20Sopenharmony_ci description: 798c2ecf20Sopenharmony_ci A list of groups to select (either this or "pins" must be 808c2ecf20Sopenharmony_ci specified), available groups. 818c2ecf20Sopenharmony_ci enum: [ codec-aif1, codec-aif2, codec-aif3, dsp-aif1, 828c2ecf20Sopenharmony_ci dsp-aif2, psia1, psia2, gf-aif1, gf-aif2, gf-aif3, 838c2ecf20Sopenharmony_ci gf-aif4, spdif-aif, usb-aif1, usb-aif2, adat-aif, 848c2ecf20Sopenharmony_ci soundcard-aif ] 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci pins: 878c2ecf20Sopenharmony_ci description: 888c2ecf20Sopenharmony_ci A list of pin names to select (either this or "groups" must 898c2ecf20Sopenharmony_ci be specified), available pins. 908c2ecf20Sopenharmony_ci enum: [ fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4, 918c2ecf20Sopenharmony_ci fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2, 928c2ecf20Sopenharmony_ci codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6, 938c2ecf20Sopenharmony_ci codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2, 948c2ecf20Sopenharmony_ci dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6, 958c2ecf20Sopenharmony_ci gf-gpio2, gf-gpio3, gf-gpio7, codec-aif1-bclk, 968c2ecf20Sopenharmony_ci codec-aif1-rxdat, codec-aif1-lrclk, codec-aif1-txdat, 978c2ecf20Sopenharmony_ci codec-aif2-bclk, codec-aif2-rxdat, codec-aif2-lrclk, 988c2ecf20Sopenharmony_ci codec-aif2-txdat, codec-aif3-bclk, codec-aif3-rxdat, 998c2ecf20Sopenharmony_ci codec-aif3-lrclk, codec-aif3-txdat, dsp-aif1-bclk, 1008c2ecf20Sopenharmony_ci dsp-aif1-rxdat, dsp-aif1-lrclk, dsp-aif1-txdat, 1018c2ecf20Sopenharmony_ci dsp-aif2-bclk, dsp-aif2-rxdat, dsp-aif2-lrclk, 1028c2ecf20Sopenharmony_ci dsp-aif2-txdat, psia1-bclk, psia1-rxdat, psia1-lrclk, 1038c2ecf20Sopenharmony_ci psia1-txdat, psia2-bclk, psia2-rxdat, psia2-lrclk, 1048c2ecf20Sopenharmony_ci psia2-txdat, gf-aif3-bclk, gf-aif3-rxdat, 1058c2ecf20Sopenharmony_ci gf-aif3-lrclk, gf-aif3-txdat, gf-aif4-bclk, 1068c2ecf20Sopenharmony_ci gf-aif4-rxdat, gf-aif4-lrclk, gf-aif4-txdat, 1078c2ecf20Sopenharmony_ci gf-aif1-bclk, gf-aif1-rxdat, gf-aif1-lrclk, 1088c2ecf20Sopenharmony_ci gf-aif1-txdat, gf-aif2-bclk, gf-aif2-rxdat, 1098c2ecf20Sopenharmony_ci gf-aif2-lrclk, gf-aif2-txdat, dsp-uart1-rx, 1108c2ecf20Sopenharmony_ci dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx, 1118c2ecf20Sopenharmony_ci gf-uart2-rx, gf-uart2-tx, usb-uart-rx, codec-pdmclk1, 1128c2ecf20Sopenharmony_ci codec-pdmdat1, codec-pdmclk2, codec-pdmdat2, 1138c2ecf20Sopenharmony_ci codec-dmicclk1, codec-dmicdat1, codec-dmicclk2, 1148c2ecf20Sopenharmony_ci codec-dmicdat2, codec-dmicclk3, codec-dmicdat3, 1158c2ecf20Sopenharmony_ci codec-dmicclk4, codec-dmicdat4, dsp-dmicclk1, 1168c2ecf20Sopenharmony_ci dsp-dmicdat1, dsp-dmicclk2, dsp-dmicdat2, i2c2-scl, 1178c2ecf20Sopenharmony_ci i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, i2c4-sda, 1188c2ecf20Sopenharmony_ci dsp-standby, codec-mclk1, codec-mclk2, dsp-clkin, 1198c2ecf20Sopenharmony_ci psia1-mclk, psia2-mclk, gf-gpio1, gf-gpio5, 1208c2ecf20Sopenharmony_ci dsp-gpio20, led1, led2 ] 1218c2ecf20Sopenharmony_ci 1228c2ecf20Sopenharmony_ci function: 1238c2ecf20Sopenharmony_ci description: 1248c2ecf20Sopenharmony_ci The mux function to select, available functions. 1258c2ecf20Sopenharmony_ci enum: [ aif, fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4, 1268c2ecf20Sopenharmony_ci fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2, 1278c2ecf20Sopenharmony_ci codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6, 1288c2ecf20Sopenharmony_ci codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2, 1298c2ecf20Sopenharmony_ci dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6, 1308c2ecf20Sopenharmony_ci gf-gpio2, gf-gpio3, gf-gpio7, gf-gpio1, gf-gpio5, 1318c2ecf20Sopenharmony_ci dsp-gpio20, codec-clkout, dsp-clkout, pmic-32k, 1328c2ecf20Sopenharmony_ci spdif-clkout, clk-12m288, clk-11m2986, clk-24m576, 1338c2ecf20Sopenharmony_ci clk-22m5792, xmos-mclk, gf-clkout1, gf-mclk1, 1348c2ecf20Sopenharmony_ci gf-mclk3, gf-mclk2, gf-clkout2, codec-mclk1, 1358c2ecf20Sopenharmony_ci codec-mclk2, dsp-clkin, psia1-mclk, psia2-mclk, 1368c2ecf20Sopenharmony_ci spdif-mclk, codec-irq, codec-reset, dsp-reset, 1378c2ecf20Sopenharmony_ci dsp-irq, dsp-standby, codec-pdmclk1, codec-pdmdat1, 1388c2ecf20Sopenharmony_ci codec-pdmclk2, codec-pdmdat2, codec-dmicclk1, 1398c2ecf20Sopenharmony_ci codec-dmicdat1, codec-dmicclk2, codec-dmicdat2, 1408c2ecf20Sopenharmony_ci codec-dmicclk3, codec-dmicdat3, codec-dmicclk4, 1418c2ecf20Sopenharmony_ci codec-dmicdat4, dsp-dmicclk1, dsp-dmicdat1, 1428c2ecf20Sopenharmony_ci dsp-dmicclk2, dsp-dmicdat2, dsp-uart1-rx, 1438c2ecf20Sopenharmony_ci dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx, 1448c2ecf20Sopenharmony_ci gf-uart2-rx, gf-uart2-tx, usb-uart-rx, usb-uart-tx, 1458c2ecf20Sopenharmony_ci i2c2-scl, i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, 1468c2ecf20Sopenharmony_ci i2c4-sda, spdif-aif, psia1, psia1-bclk, psia1-lrclk, 1478c2ecf20Sopenharmony_ci psia1-rxdat, psia1-txdat, psia2, psia2-bclk, 1488c2ecf20Sopenharmony_ci psia2-lrclk, psia2-rxdat, psia2-txdat, codec-aif1, 1498c2ecf20Sopenharmony_ci codec-aif1-bclk, codec-aif1-lrclk, codec-aif1-rxdat, 1508c2ecf20Sopenharmony_ci codec-aif1-txdat, codec-aif2, codec-aif2-bclk, 1518c2ecf20Sopenharmony_ci codec-aif2-lrclk, codec-aif2-rxdat, codec-aif2-txdat, 1528c2ecf20Sopenharmony_ci codec-aif3, codec-aif3-bclk, codec-aif3-lrclk, 1538c2ecf20Sopenharmony_ci codec-aif3-rxdat, codec-aif3-txdat, dsp-aif1, 1548c2ecf20Sopenharmony_ci dsp-aif1-bclk, dsp-aif1-lrclk, dsp-aif1-rxdat, 1558c2ecf20Sopenharmony_ci dsp-aif1-txdat, dsp-aif2, dsp-aif2-bclk, 1568c2ecf20Sopenharmony_ci dsp-aif2-lrclk, dsp-aif2-rxdat, dsp-aif2-txdat, 1578c2ecf20Sopenharmony_ci gf-aif3, gf-aif3-bclk, gf-aif3-lrclk, gf-aif3-rxdat, 1588c2ecf20Sopenharmony_ci gf-aif3-txdat, gf-aif4, gf-aif4-bclk, gf-aif4-lrclk, 1598c2ecf20Sopenharmony_ci gf-aif4-rxdat, gf-aif4-txdat, gf-aif1, gf-aif1-bclk, 1608c2ecf20Sopenharmony_ci gf-aif1-lrclk, gf-aif1-rxdat, gf-aif1-txdat, gf-aif2, 1618c2ecf20Sopenharmony_ci gf-aif2-bclk, gf-aif2-lrclk, gf-aif2-rxdat, 1628c2ecf20Sopenharmony_ci gf-aif2-txdat, usb-aif1, usb-aif2, adat-aif, 1638c2ecf20Sopenharmony_ci soundcard-aif ] 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_ci output-enable: 1668c2ecf20Sopenharmony_ci description: 1678c2ecf20Sopenharmony_ci Specifies that an AIF group will be used as a master 1688c2ecf20Sopenharmony_ci interface (either this or input-enable is required if a 1698c2ecf20Sopenharmony_ci group is being muxed to an AIF) 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ci input-enable: 1728c2ecf20Sopenharmony_ci description: 1738c2ecf20Sopenharmony_ci Specifies that an AIF group will be used as a slave 1748c2ecf20Sopenharmony_ci interface (either this or output-enable is required if a 1758c2ecf20Sopenharmony_ci group is being muxed to an AIF) 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ci additionalProperties: false 1788c2ecf20Sopenharmony_ci 1798c2ecf20Sopenharmony_ci required: 1808c2ecf20Sopenharmony_ci - function 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_ci additionalProperties: false 1838c2ecf20Sopenharmony_ci 1848c2ecf20Sopenharmony_cirequired: 1858c2ecf20Sopenharmony_ci - compatible 1868c2ecf20Sopenharmony_ci - gpio-controller 1878c2ecf20Sopenharmony_ci - '#gpio-cells' 1888c2ecf20Sopenharmony_ci - gpio-ranges 1898c2ecf20Sopenharmony_ci - pinctrl-0 1908c2ecf20Sopenharmony_ci - pinctrl-names 1918c2ecf20Sopenharmony_ci 1928c2ecf20Sopenharmony_ciadditionalProperties: false 193