19247752bSChris Packham# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
29247752bSChris Packham%YAML 1.2
39247752bSChris Packham---
49247752bSChris Packham$id: http://devicetree.org/schemas/pinctrl/marvell,ac5-pinctrl.yaml#
59247752bSChris Packham$schema: http://devicetree.org/meta-schemas/core.yaml#
69247752bSChris Packham
79247752bSChris Packhamtitle: Marvell AC5 pin controller
89247752bSChris Packham
99247752bSChris Packhammaintainers:
109247752bSChris Packham  - Chris Packham <chris.packham@alliedtelesis.co.nz>
119247752bSChris Packham
129247752bSChris Packhamdescription:
139247752bSChris Packham  Bindings for Marvell's AC5 memory-mapped pin controller.
149247752bSChris Packham
159247752bSChris Packhamproperties:
169247752bSChris Packham  compatible:
179247752bSChris Packham    items:
189247752bSChris Packham      - const: marvell,ac5-pinctrl
199247752bSChris Packham
209247752bSChris Packham  reg:
219247752bSChris Packham    maxItems: 1
229247752bSChris Packham
239247752bSChris PackhampatternProperties:
249247752bSChris Packham  '-pins$':
259247752bSChris Packham    type: object
269247752bSChris Packham    $ref: pinmux-node.yaml#
279194e0f8SRob Herring    additionalProperties: false
289247752bSChris Packham
299247752bSChris Packham    properties:
309247752bSChris Packham      marvell,function:
31*49cd1dd1SRob Herring        $ref: /schemas/types.yaml#/definitions/string
329247752bSChris Packham        description:
339247752bSChris Packham          Indicates the function to select.
349247752bSChris Packham        enum: [ dev_init_done, ge, gpio, i2c0, i2c1, int_out, led, nand, pcie, ptp, sdio,
359247752bSChris Packham                spi0, spi1, synce, tsen_int, uart0, uart1, uart2, uart3, uartsd, wd_int, xg ]
369247752bSChris Packham
379247752bSChris Packham      marvell,pins:
389247752bSChris Packham        $ref: /schemas/types.yaml#/definitions/string-array
399247752bSChris Packham        description:
409247752bSChris Packham          Array of MPP pins to be used for the given function.
419247752bSChris Packham        minItems: 1
429247752bSChris Packham        items:
439247752bSChris Packham          enum: [ mpp0, mpp1, mpp2, mpp3, mpp4, mpp5, mpp6, mpp7, mpp8, mpp9,
449247752bSChris Packham                  mpp10, mpp11, mpp12, mpp13, mpp14, mpp15, mpp16, mpp17, mpp18, mpp19,
459247752bSChris Packham                  mpp20, mpp21, mpp22, mpp23, mpp24, mpp25, mpp26, mpp27, mpp28, mpp29,
469247752bSChris Packham                  mpp30, mpp31, mpp32, mpp33, mpp34, mpp35, mpp36, mpp37, mpp38, mpp39,
479247752bSChris Packham                  mpp40, mpp41, mpp42, mpp43, mpp44, mpp45 ]
489247752bSChris Packham
499247752bSChris PackhamallOf:
50*49cd1dd1SRob Herring  - $ref: pinctrl.yaml#
519247752bSChris Packham
529247752bSChris Packhamrequired:
539247752bSChris Packham  - compatible
549247752bSChris Packham  - reg
559247752bSChris Packham
569247752bSChris PackhamadditionalProperties: false
579247752bSChris Packham
589247752bSChris Packhamexamples:
599247752bSChris Packham  - |
609247752bSChris Packham    pinctrl@80020100 {
619247752bSChris Packham      compatible = "marvell,ac5-pinctrl";
629247752bSChris Packham      reg = <0x80020100 0x20>;
639247752bSChris Packham
649247752bSChris Packham      i2c0_pins: i2c0-pins {
659247752bSChris Packham        marvell,pins = "mpp26", "mpp27";
669247752bSChris Packham        marvell,function = "i2c0";
679247752bSChris Packham      };
689247752bSChris Packham
699247752bSChris Packham      i2c0_gpio: i2c0-gpio-pins {
709247752bSChris Packham        marvell,pins = "mpp26", "mpp27";
719247752bSChris Packham        marvell,function = "gpio";
729247752bSChris Packham      };
739247752bSChris Packham    };
74