Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pinctrl: lochnagar: Move binding over to dtschema

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Rob Herring <robh@kernel.org>

authored by

Charles Keepax and committed by
Rob Herring
96c1517e e1bfa75d

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