GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / pinctrl / marvell,ac5-pinctrl.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/marvell,ac5-pinctrl.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Marvell AC5 pin controller
8
9 maintainers:
10   - Chris Packham <chris.packham@alliedtelesis.co.nz>
11
12 description:
13   Bindings for Marvell's AC5 memory-mapped pin controller.
14
15 properties:
16   compatible:
17     items:
18       - const: marvell,ac5-pinctrl
19
20   reg:
21     maxItems: 1
22
23 patternProperties:
24   '-pins$':
25     type: object
26     $ref: pinmux-node.yaml#
27     additionalProperties: false
28
29     properties:
30       marvell,function:
31         $ref: "/schemas/types.yaml#/definitions/string"
32         description:
33           Indicates the function to select.
34         enum: [ dev_init_done, ge, gpio, i2c0, i2c1, int_out, led, nand, pcie, ptp, sdio,
35                 spi0, spi1, synce, tsen_int, uart0, uart1, uart2, uart3, uartsd, wd_int, xg ]
36
37       marvell,pins:
38         $ref: /schemas/types.yaml#/definitions/string-array
39         description:
40           Array of MPP pins to be used for the given function.
41         minItems: 1
42         items:
43           enum: [ mpp0, mpp1, mpp2, mpp3, mpp4, mpp5, mpp6, mpp7, mpp8, mpp9,
44                   mpp10, mpp11, mpp12, mpp13, mpp14, mpp15, mpp16, mpp17, mpp18, mpp19,
45                   mpp20, mpp21, mpp22, mpp23, mpp24, mpp25, mpp26, mpp27, mpp28, mpp29,
46                   mpp30, mpp31, mpp32, mpp33, mpp34, mpp35, mpp36, mpp37, mpp38, mpp39,
47                   mpp40, mpp41, mpp42, mpp43, mpp44, mpp45 ]
48
49 allOf:
50   - $ref: "pinctrl.yaml#"
51
52 required:
53   - compatible
54   - reg
55
56 additionalProperties: false
57
58 examples:
59   - |
60     pinctrl@80020100 {
61       compatible = "marvell,ac5-pinctrl";
62       reg = <0x80020100 0x20>;
63
64       i2c0_pins: i2c0-pins {
65         marvell,pins = "mpp26", "mpp27";
66         marvell,function = "i2c0";
67       };
68
69       i2c0_gpio: i2c0-gpio-pins {
70         marvell,pins = "mpp26", "mpp27";
71         marvell,function = "gpio";
72       };
73     };