blob: afea9424c7e15f9733fd95a072adeea1ec59b763 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
7title: Marvell AC5 pin controller
8
9maintainers:
10 - Chris Packham <chris.packham@alliedtelesis.co.nz>
11
12description:
13 Bindings for Marvell's AC5 memory-mapped pin controller.
14
15properties:
16 compatible:
17 items:
18 - const: marvell,ac5-pinctrl
19
20 reg:
21 maxItems: 1
22
23patternProperties:
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
49allOf:
50 - $ref: pinctrl.yaml#
51
52required:
53 - compatible
54 - reg
55
56additionalProperties: false
57
58examples:
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 };