xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/marvell,ac5-pinctrl.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2d5b0e70fSEmmanuel Vadot%YAML 1.2
3d5b0e70fSEmmanuel Vadot---
4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/marvell,ac5-pinctrl.yaml#
5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7d5b0e70fSEmmanuel Vadottitle: Marvell AC5 pin controller
8d5b0e70fSEmmanuel Vadot
9d5b0e70fSEmmanuel Vadotmaintainers:
10d5b0e70fSEmmanuel Vadot  - Chris Packham <chris.packham@alliedtelesis.co.nz>
11d5b0e70fSEmmanuel Vadot
12d5b0e70fSEmmanuel Vadotdescription:
13d5b0e70fSEmmanuel Vadot  Bindings for Marvell's AC5 memory-mapped pin controller.
14d5b0e70fSEmmanuel Vadot
15d5b0e70fSEmmanuel Vadotproperties:
16d5b0e70fSEmmanuel Vadot  compatible:
17d5b0e70fSEmmanuel Vadot    items:
18d5b0e70fSEmmanuel Vadot      - const: marvell,ac5-pinctrl
19d5b0e70fSEmmanuel Vadot
20d5b0e70fSEmmanuel Vadot  reg:
21d5b0e70fSEmmanuel Vadot    maxItems: 1
22d5b0e70fSEmmanuel Vadot
23d5b0e70fSEmmanuel VadotpatternProperties:
24d5b0e70fSEmmanuel Vadot  '-pins$':
25d5b0e70fSEmmanuel Vadot    type: object
26d5b0e70fSEmmanuel Vadot    $ref: pinmux-node.yaml#
277ef62cebSEmmanuel Vadot    additionalProperties: false
28d5b0e70fSEmmanuel Vadot
29d5b0e70fSEmmanuel Vadot    properties:
30d5b0e70fSEmmanuel Vadot      marvell,function:
31*fac71e4eSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/string
32d5b0e70fSEmmanuel Vadot        description:
33d5b0e70fSEmmanuel Vadot          Indicates the function to select.
34d5b0e70fSEmmanuel Vadot        enum: [ dev_init_done, ge, gpio, i2c0, i2c1, int_out, led, nand, pcie, ptp, sdio,
35d5b0e70fSEmmanuel Vadot                spi0, spi1, synce, tsen_int, uart0, uart1, uart2, uart3, uartsd, wd_int, xg ]
36d5b0e70fSEmmanuel Vadot
37d5b0e70fSEmmanuel Vadot      marvell,pins:
38d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/string-array
39d5b0e70fSEmmanuel Vadot        description:
40d5b0e70fSEmmanuel Vadot          Array of MPP pins to be used for the given function.
41d5b0e70fSEmmanuel Vadot        minItems: 1
42d5b0e70fSEmmanuel Vadot        items:
43d5b0e70fSEmmanuel Vadot          enum: [ mpp0, mpp1, mpp2, mpp3, mpp4, mpp5, mpp6, mpp7, mpp8, mpp9,
44d5b0e70fSEmmanuel Vadot                  mpp10, mpp11, mpp12, mpp13, mpp14, mpp15, mpp16, mpp17, mpp18, mpp19,
45d5b0e70fSEmmanuel Vadot                  mpp20, mpp21, mpp22, mpp23, mpp24, mpp25, mpp26, mpp27, mpp28, mpp29,
46d5b0e70fSEmmanuel Vadot                  mpp30, mpp31, mpp32, mpp33, mpp34, mpp35, mpp36, mpp37, mpp38, mpp39,
47d5b0e70fSEmmanuel Vadot                  mpp40, mpp41, mpp42, mpp43, mpp44, mpp45 ]
48d5b0e70fSEmmanuel Vadot
49d5b0e70fSEmmanuel VadotallOf:
50*fac71e4eSEmmanuel Vadot  - $ref: pinctrl.yaml#
51d5b0e70fSEmmanuel Vadot
52d5b0e70fSEmmanuel Vadotrequired:
53d5b0e70fSEmmanuel Vadot  - compatible
54d5b0e70fSEmmanuel Vadot  - reg
55d5b0e70fSEmmanuel Vadot
56d5b0e70fSEmmanuel VadotadditionalProperties: false
57d5b0e70fSEmmanuel Vadot
58d5b0e70fSEmmanuel Vadotexamples:
59d5b0e70fSEmmanuel Vadot  - |
60d5b0e70fSEmmanuel Vadot    pinctrl@80020100 {
61d5b0e70fSEmmanuel Vadot      compatible = "marvell,ac5-pinctrl";
62d5b0e70fSEmmanuel Vadot      reg = <0x80020100 0x20>;
63d5b0e70fSEmmanuel Vadot
64d5b0e70fSEmmanuel Vadot      i2c0_pins: i2c0-pins {
65d5b0e70fSEmmanuel Vadot        marvell,pins = "mpp26", "mpp27";
66d5b0e70fSEmmanuel Vadot        marvell,function = "i2c0";
67d5b0e70fSEmmanuel Vadot      };
68d5b0e70fSEmmanuel Vadot
69d5b0e70fSEmmanuel Vadot      i2c0_gpio: i2c0-gpio-pins {
70d5b0e70fSEmmanuel Vadot        marvell,pins = "mpp26", "mpp27";
71d5b0e70fSEmmanuel Vadot        marvell,function = "gpio";
72d5b0e70fSEmmanuel Vadot      };
73d5b0e70fSEmmanuel Vadot    };
74