summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.yaml
blob: 21d439e08d4b7f9f89de39fb44aa3004594864da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/ti,da850-pupd.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments DA850/OMAP-L138/AM18x Pin Configuration

maintainers:
  - Eduard Bostina <egbostina@gmail.com>

description:
  These SoCs have a separate controller for setting bias (internal pullup/down).
  Bias can only be selected for groups rather than individual pins.
  The controller node also acts as a container for pin group configuration nodes.
  The names of these groups are ignored.

properties:
  compatible:
    const: ti,da850-pupd

  reg:
    maxItems: 1

  pinctrl-0: true
  pinctrl-names: true

patternProperties:
  "-groups$":
    type: object
    additionalProperties: false
    patternProperties:
      "^(disable|pull-(up|down))$":
        $ref: /schemas/pinctrl/pincfg-node.yaml#
        properties:
          groups:
            $ref: /schemas/types.yaml#/definitions/string-array
            description: An array of strings containing the name of a pin group.
            items:
              pattern: "^cp([0-9]|[1-2][0-9]|3[0-1])$"
          bias-disable: true
          bias-pull-up: true
          bias-pull-down: true
        additionalProperties: false

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    pinconf: pin-controller@22c00c {
        compatible = "ti,da850-pupd";
        reg = <0x22c00c 0x8>;
        pinctrl-0 = <&pinconf_bias_groups>;
        pinctrl-names = "default";

        pinconf_bias_groups: bias-groups {
            pull-up {
                groups = "cp30", "cp31";
                bias-pull-up;
            };
            pull-down {
                groups = "cp29", "cp28";
                bias-pull-down;
            };
            disable {
                groups = "cp27", "cp26";
                bias-disable;
            };
        };
    };