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