1*94df03a4SHeiner Kallweit# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*94df03a4SHeiner Kallweit%YAML 1.2
3*94df03a4SHeiner Kallweit---
4*94df03a4SHeiner Kallweit$id: http://devicetree.org/schemas/pinctrl/amlogic,meson8-pinctrl-aobus.yaml#
5*94df03a4SHeiner Kallweit$schema: http://devicetree.org/meta-schemas/core.yaml#
6*94df03a4SHeiner Kallweit
7*94df03a4SHeiner Kallweittitle: Amlogic Meson8 AOBUS pinmux controller
8*94df03a4SHeiner Kallweit
9*94df03a4SHeiner Kallweitmaintainers:
10*94df03a4SHeiner Kallweit  - Neil Armstrong <neil.armstrong@linaro.org>
11*94df03a4SHeiner Kallweit
12*94df03a4SHeiner KallweitallOf:
13*94df03a4SHeiner Kallweit  - $ref: amlogic,meson-pinctrl-common.yaml#
14*94df03a4SHeiner Kallweit
15*94df03a4SHeiner Kallweitproperties:
16*94df03a4SHeiner Kallweit  compatible:
17*94df03a4SHeiner Kallweit    oneOf:
18*94df03a4SHeiner Kallweit      - enum:
19*94df03a4SHeiner Kallweit          - amlogic,meson8-aobus-pinctrl
20*94df03a4SHeiner Kallweit          - amlogic,meson8b-aobus-pinctrl
21*94df03a4SHeiner Kallweit          - amlogic,meson-gxbb-aobus-pinctrl
22*94df03a4SHeiner Kallweit          - amlogic,meson-gxl-aobus-pinctrl
23*94df03a4SHeiner Kallweit          - amlogic,meson-axg-aobus-pinctrl
24*94df03a4SHeiner Kallweit      - items:
25*94df03a4SHeiner Kallweit          - const: amlogic,meson8m2-aobus-pinctrl
26*94df03a4SHeiner Kallweit          - const: amlogic,meson8-aobus-pinctrl
27*94df03a4SHeiner Kallweit
28*94df03a4SHeiner Kallweitrequired:
29*94df03a4SHeiner Kallweit  - compatible
30*94df03a4SHeiner Kallweit
31*94df03a4SHeiner KallweitpatternProperties:
32*94df03a4SHeiner Kallweit  "^bank@[0-9a-z]+$":
33*94df03a4SHeiner Kallweit    $ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-gpio
34*94df03a4SHeiner Kallweit
35*94df03a4SHeiner Kallweit    unevaluatedProperties: false
36*94df03a4SHeiner Kallweit
37*94df03a4SHeiner Kallweit    properties:
38*94df03a4SHeiner Kallweit      reg:
39*94df03a4SHeiner Kallweit        maxItems: 3
40*94df03a4SHeiner Kallweit
41*94df03a4SHeiner Kallweit      reg-names:
42*94df03a4SHeiner Kallweit        items:
43*94df03a4SHeiner Kallweit          - const: mux
44*94df03a4SHeiner Kallweit          - const: pull
45*94df03a4SHeiner Kallweit          - const: gpio
46*94df03a4SHeiner Kallweit
47*94df03a4SHeiner KallweitunevaluatedProperties:
48*94df03a4SHeiner Kallweit  type: object
49*94df03a4SHeiner Kallweit  $ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-pins
50*94df03a4SHeiner Kallweit
51*94df03a4SHeiner Kallweitexamples:
52*94df03a4SHeiner Kallweit  - |
53*94df03a4SHeiner Kallweit    pinctrl_aobus: pinctrl {
54*94df03a4SHeiner Kallweit      compatible = "amlogic,meson8-aobus-pinctrl";
55*94df03a4SHeiner Kallweit      #address-cells = <1>;
56*94df03a4SHeiner Kallweit      #size-cells = <1>;
57*94df03a4SHeiner Kallweit      ranges;
58*94df03a4SHeiner Kallweit
59*94df03a4SHeiner Kallweit      bank@14 {
60*94df03a4SHeiner Kallweit        reg = <0x14 0x4>,
61*94df03a4SHeiner Kallweit              <0x2c 0x4>,
62*94df03a4SHeiner Kallweit              <0x24 0x8>;
63*94df03a4SHeiner Kallweit        reg-names = "mux", "pull", "gpio";
64*94df03a4SHeiner Kallweit        gpio-controller;
65*94df03a4SHeiner Kallweit        #gpio-cells = <2>;
66*94df03a4SHeiner Kallweit        gpio-ranges = <&pinctrl_aobus 0 0 16>;
67*94df03a4SHeiner Kallweit      };
68*94df03a4SHeiner Kallweit
69*94df03a4SHeiner Kallweit      cec_ao_a_h_pins: cec_ao_a_h {
70*94df03a4SHeiner Kallweit        mux {
71*94df03a4SHeiner Kallweit          groups = "cec_ao_a_h";
72*94df03a4SHeiner Kallweit          function = "cec_ao_a_h";
73*94df03a4SHeiner Kallweit          bias-disable;
74*94df03a4SHeiner Kallweit        };
75*94df03a4SHeiner Kallweit      };
76*94df03a4SHeiner Kallweit    };
77