1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/pinctrl/amlogic,meson-pinctrl-a1.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Amlogic Meson A1 pinmux controller
8
9maintainers:
10  - Neil Armstrong <neil.armstrong@linaro.org>
11
12allOf:
13  - $ref: amlogic,meson-pinctrl-common.yaml#
14
15properties:
16  compatible:
17    enum:
18      - amlogic,c3-periphs-pinctrl
19      - amlogic,meson-a1-periphs-pinctrl
20      - amlogic,meson-s4-periphs-pinctrl
21
22required:
23  - compatible
24
25patternProperties:
26  "^bank@[0-9a-z]+$":
27    $ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-gpio
28
29    unevaluatedProperties: false
30
31    properties:
32      reg:
33        maxItems: 2
34
35      reg-names:
36        items:
37          - const: mux
38          - const: gpio
39
40      gpio-line-names:
41        minItems: 62 # A1
42        maxItems: 82 # S4
43
44unevaluatedProperties:
45  type: object
46  $ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-pins
47
48examples:
49  - |
50    periphs_pinctrl: pinctrl {
51      compatible = "amlogic,meson-a1-periphs-pinctrl";
52      #address-cells = <1>;
53      #size-cells = <1>;
54      ranges;
55
56      bank@400 {
57        reg = <0x0400 0x003c>,
58              <0x0480 0x0118>;
59        reg-names = "mux", "gpio";
60        gpio-controller;
61        #gpio-cells = <2>;
62        gpio-ranges = <&periphs_pinctrl 0 0 62>;
63      };
64
65      cec_ao_a_h_pins: cec_ao_a_h {
66        mux {
67          groups = "cec_ao_a_h";
68          function = "cec_ao_a_h";
69          bias-disable;
70        };
71      };
72    };
73