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-cbus.yaml#
594df03a4SHeiner Kallweit$schema: http://devicetree.org/meta-schemas/core.yaml#
694df03a4SHeiner Kallweit
794df03a4SHeiner Kallweittitle: Amlogic Meson8 CBUS 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-cbus-pinctrl
2094df03a4SHeiner Kallweit          - amlogic,meson8b-cbus-pinctrl
2194df03a4SHeiner Kallweit          - amlogic,meson-gxbb-periphs-pinctrl
2294df03a4SHeiner Kallweit          - amlogic,meson-gxl-periphs-pinctrl
2394df03a4SHeiner Kallweit          - amlogic,meson-axg-periphs-pinctrl
2494df03a4SHeiner Kallweit      - items:
2594df03a4SHeiner Kallweit          - const: amlogic,meson8m2-cbus-pinctrl
2694df03a4SHeiner Kallweit          - const: amlogic,meson8-cbus-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: 4
4094df03a4SHeiner Kallweit
4194df03a4SHeiner Kallweit      reg-names:
4294df03a4SHeiner Kallweit        items:
4394df03a4SHeiner Kallweit          - const: mux
4494df03a4SHeiner Kallweit          - const: pull
4594df03a4SHeiner Kallweit          - const: pull-enable
4694df03a4SHeiner Kallweit          - const: gpio
4794df03a4SHeiner Kallweit
48*ccd68737SNeil Armstrong      gpio-line-names:
49*ccd68737SNeil Armstrong        minItems: 86 # AXG
50*ccd68737SNeil Armstrong        maxItems: 120 # Meson8
51*ccd68737SNeil Armstrong
5294df03a4SHeiner KallweitunevaluatedProperties:
5394df03a4SHeiner Kallweit  type: object
5494df03a4SHeiner Kallweit  $ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-pins
5594df03a4SHeiner Kallweit
5694df03a4SHeiner Kallweitexamples:
5794df03a4SHeiner Kallweit  - |
5894df03a4SHeiner Kallweit    pinctrl_cbus: pinctrl {
5994df03a4SHeiner Kallweit      compatible = "amlogic,meson8-cbus-pinctrl";
6094df03a4SHeiner Kallweit      #address-cells = <1>;
6194df03a4SHeiner Kallweit      #size-cells = <1>;
6294df03a4SHeiner Kallweit      ranges;
6394df03a4SHeiner Kallweit
6494df03a4SHeiner Kallweit      bank@80b0 {
6594df03a4SHeiner Kallweit        reg = <0x80b0 0x28>,
6694df03a4SHeiner Kallweit              <0x80e8 0x18>,
6794df03a4SHeiner Kallweit              <0x8120 0x18>,
6894df03a4SHeiner Kallweit              <0x8030 0x30>;
6994df03a4SHeiner Kallweit        reg-names = "mux", "pull", "pull-enable", "gpio";
7094df03a4SHeiner Kallweit        gpio-controller;
7194df03a4SHeiner Kallweit        #gpio-cells = <2>;
7294df03a4SHeiner Kallweit        gpio-ranges = <&pinctrl_cbus 0 0 120>;
7394df03a4SHeiner Kallweit      };
7494df03a4SHeiner Kallweit
7594df03a4SHeiner Kallweit      cec_ao_a_h_pins: cec_ao_a_h {
7694df03a4SHeiner Kallweit        mux {
7794df03a4SHeiner Kallweit          groups = "cec_ao_a_h";
7894df03a4SHeiner Kallweit          function = "cec_ao_a_h";
7994df03a4SHeiner Kallweit          bias-disable;
8094df03a4SHeiner Kallweit        };
8194df03a4SHeiner Kallweit      };
8294df03a4SHeiner Kallweit    };
83