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-cbus.yaml#
5*94df03a4SHeiner Kallweit$schema: http://devicetree.org/meta-schemas/core.yaml#
6*94df03a4SHeiner Kallweit
7*94df03a4SHeiner Kallweittitle: Amlogic Meson8 CBUS 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-cbus-pinctrl
20*94df03a4SHeiner Kallweit          - amlogic,meson8b-cbus-pinctrl
21*94df03a4SHeiner Kallweit          - amlogic,meson-gxbb-periphs-pinctrl
22*94df03a4SHeiner Kallweit          - amlogic,meson-gxl-periphs-pinctrl
23*94df03a4SHeiner Kallweit          - amlogic,meson-axg-periphs-pinctrl
24*94df03a4SHeiner Kallweit      - items:
25*94df03a4SHeiner Kallweit          - const: amlogic,meson8m2-cbus-pinctrl
26*94df03a4SHeiner Kallweit          - const: amlogic,meson8-cbus-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: 4
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: pull-enable
46*94df03a4SHeiner Kallweit          - const: gpio
47*94df03a4SHeiner Kallweit
48*94df03a4SHeiner KallweitunevaluatedProperties:
49*94df03a4SHeiner Kallweit  type: object
50*94df03a4SHeiner Kallweit  $ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-pins
51*94df03a4SHeiner Kallweit
52*94df03a4SHeiner Kallweitexamples:
53*94df03a4SHeiner Kallweit  - |
54*94df03a4SHeiner Kallweit    pinctrl_cbus: pinctrl {
55*94df03a4SHeiner Kallweit      compatible = "amlogic,meson8-cbus-pinctrl";
56*94df03a4SHeiner Kallweit      #address-cells = <1>;
57*94df03a4SHeiner Kallweit      #size-cells = <1>;
58*94df03a4SHeiner Kallweit      ranges;
59*94df03a4SHeiner Kallweit
60*94df03a4SHeiner Kallweit      bank@80b0 {
61*94df03a4SHeiner Kallweit        reg = <0x80b0 0x28>,
62*94df03a4SHeiner Kallweit              <0x80e8 0x18>,
63*94df03a4SHeiner Kallweit              <0x8120 0x18>,
64*94df03a4SHeiner Kallweit              <0x8030 0x30>;
65*94df03a4SHeiner Kallweit        reg-names = "mux", "pull", "pull-enable", "gpio";
66*94df03a4SHeiner Kallweit        gpio-controller;
67*94df03a4SHeiner Kallweit        #gpio-cells = <2>;
68*94df03a4SHeiner Kallweit        gpio-ranges = <&pinctrl_cbus 0 0 120>;
69*94df03a4SHeiner Kallweit      };
70*94df03a4SHeiner Kallweit
71*94df03a4SHeiner Kallweit      cec_ao_a_h_pins: cec_ao_a_h {
72*94df03a4SHeiner Kallweit        mux {
73*94df03a4SHeiner Kallweit          groups = "cec_ao_a_h";
74*94df03a4SHeiner Kallweit          function = "cec_ao_a_h";
75*94df03a4SHeiner Kallweit          bias-disable;
76*94df03a4SHeiner Kallweit        };
77*94df03a4SHeiner Kallweit      };
78*94df03a4SHeiner Kallweit    };
79