194df03a4SHeiner Kallweit# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
294df03a4SHeiner Kallweit%YAML 1.2
394df03a4SHeiner Kallweit---
494df03a4SHeiner Kallweit$id: http://devicetree.org/schemas/pinctrl/amlogic,meson8-pinctrl-aobus.yaml#
594df03a4SHeiner Kallweit$schema: http://devicetree.org/meta-schemas/core.yaml#
694df03a4SHeiner Kallweit
794df03a4SHeiner Kallweittitle: Amlogic Meson8 AOBUS pinmux controller
894df03a4SHeiner Kallweit
994df03a4SHeiner Kallweitmaintainers:
1094df03a4SHeiner Kallweit  - Neil Armstrong <neil.armstrong@linaro.org>
1194df03a4SHeiner Kallweit
1294df03a4SHeiner KallweitallOf:
1394df03a4SHeiner Kallweit  - $ref: amlogic,meson-pinctrl-common.yaml#
1494df03a4SHeiner Kallweit
1594df03a4SHeiner Kallweitproperties:
1694df03a4SHeiner Kallweit  compatible:
1794df03a4SHeiner Kallweit    oneOf:
1894df03a4SHeiner Kallweit      - enum:
1994df03a4SHeiner Kallweit          - amlogic,meson8-aobus-pinctrl
2094df03a4SHeiner Kallweit          - amlogic,meson8b-aobus-pinctrl
2194df03a4SHeiner Kallweit          - amlogic,meson-gxbb-aobus-pinctrl
2294df03a4SHeiner Kallweit          - amlogic,meson-gxl-aobus-pinctrl
2394df03a4SHeiner Kallweit          - amlogic,meson-axg-aobus-pinctrl
2494df03a4SHeiner Kallweit      - items:
2594df03a4SHeiner Kallweit          - const: amlogic,meson8m2-aobus-pinctrl
2694df03a4SHeiner Kallweit          - const: amlogic,meson8-aobus-pinctrl
2794df03a4SHeiner Kallweit
2894df03a4SHeiner Kallweitrequired:
2994df03a4SHeiner Kallweit  - compatible
3094df03a4SHeiner Kallweit
3194df03a4SHeiner KallweitpatternProperties:
3294df03a4SHeiner Kallweit  "^bank@[0-9a-z]+$":
3394df03a4SHeiner Kallweit    $ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-gpio
3494df03a4SHeiner Kallweit
3594df03a4SHeiner Kallweit    unevaluatedProperties: false
3694df03a4SHeiner Kallweit
3794df03a4SHeiner Kallweit    properties:
3894df03a4SHeiner Kallweit      reg:
3994df03a4SHeiner Kallweit        maxItems: 3
4094df03a4SHeiner Kallweit
4194df03a4SHeiner Kallweit      reg-names:
4294df03a4SHeiner Kallweit        items:
4394df03a4SHeiner Kallweit          - const: mux
4494df03a4SHeiner Kallweit          - const: pull
4594df03a4SHeiner Kallweit          - const: gpio
4694df03a4SHeiner Kallweit
47*ccd68737SNeil Armstrong      gpio-line-names:
48*ccd68737SNeil Armstrong        minItems: 11 # GXL
49*ccd68737SNeil Armstrong        maxItems: 16 # Meson8
50*ccd68737SNeil Armstrong
5194df03a4SHeiner KallweitunevaluatedProperties:
5294df03a4SHeiner Kallweit  type: object
5394df03a4SHeiner Kallweit  $ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-pins
5494df03a4SHeiner Kallweit
5594df03a4SHeiner Kallweitexamples:
5694df03a4SHeiner Kallweit  - |
5794df03a4SHeiner Kallweit    pinctrl_aobus: pinctrl {
5894df03a4SHeiner Kallweit      compatible = "amlogic,meson8-aobus-pinctrl";
5994df03a4SHeiner Kallweit      #address-cells = <1>;
6094df03a4SHeiner Kallweit      #size-cells = <1>;
6194df03a4SHeiner Kallweit      ranges;
6294df03a4SHeiner Kallweit
6394df03a4SHeiner Kallweit      bank@14 {
6494df03a4SHeiner Kallweit        reg = <0x14 0x4>,
6594df03a4SHeiner Kallweit              <0x2c 0x4>,
6694df03a4SHeiner Kallweit              <0x24 0x8>;
6794df03a4SHeiner Kallweit        reg-names = "mux", "pull", "gpio";
6894df03a4SHeiner Kallweit        gpio-controller;
6994df03a4SHeiner Kallweit        #gpio-cells = <2>;
7094df03a4SHeiner Kallweit        gpio-ranges = <&pinctrl_aobus 0 0 16>;
7194df03a4SHeiner Kallweit      };
7294df03a4SHeiner Kallweit
7394df03a4SHeiner Kallweit      cec_ao_a_h_pins: cec_ao_a_h {
7494df03a4SHeiner Kallweit        mux {
7594df03a4SHeiner Kallweit          groups = "cec_ao_a_h";
7694df03a4SHeiner Kallweit          function = "cec_ao_a_h";
7794df03a4SHeiner Kallweit          bias-disable;
7894df03a4SHeiner Kallweit        };
7994df03a4SHeiner Kallweit      };
8094df03a4SHeiner Kallweit    };
81