xref: /linux/Documentation/devicetree/bindings/pinctrl/qcom,tlmm-common.yaml (revision b83deaa741558babf4b8d51d34f6637ccfff1b26)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/pinctrl/qcom,tlmm-common.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm Technologies, Inc. Top Level Mode Multiplexer (TLMM) definitions
8
9maintainers:
10  - Bjorn Andersson <bjorn.andersson@linaro.org>
11
12description:
13  This defines the common properties used to describe all Qualcomm Top Level
14  Mode Multiplexer bindings and pinconf/pinmux states for these.
15
16properties:
17  interrupts:
18    description:
19      Specifies the TLMM summary IRQ
20    maxItems: 1
21
22  interrupt-controller: true
23
24  '#interrupt-cells':
25    description:
26      Specifies the PIN numbers and Flags, as defined in defined in
27      include/dt-bindings/interrupt-controller/irq.h
28    const: 2
29
30  gpio-controller: true
31
32  '#gpio-cells':
33    description:
34      Specifying the pin number and flags, as defined in
35      include/dt-bindings/gpio/gpio.h
36    const: 2
37
38  gpio-ranges:
39    maxItems: 1
40
41  wakeup-parent:
42    description:
43      Specifying the interrupt-controller used to wake up the system when the
44      TLMM block has been powered down.
45    maxItems: 1
46
47  gpio-reserved-ranges:
48    description:
49      Pins can be reserved for trusted applications and thereby unaccessible
50      from the OS.  This property can be used to mark the pins which resources
51      should not be accessed by the OS. Please see the ../gpio/gpio.txt for more
52      information.
53
54allOf:
55  - $ref: "pinctrl.yaml#"
56
57required:
58  - interrupts
59  - interrupt-controller
60  - '#interrupt-cells'
61  - gpio-controller
62  - '#gpio-cells'
63  - gpio-ranges
64
65additionalProperties: true
66
67$defs:
68  qcom-tlmm-state:
69    allOf:
70      - $ref: pincfg-node.yaml#
71      - $ref: pinmux-node.yaml#
72
73    properties:
74      drive-strength:
75        enum: [2, 4, 6, 8, 10, 12, 14, 16]
76        description:
77          Selects the drive strength for the specified pins, in mA.
78
79      bias-pull-down: true
80      bias-pull-up: true
81      bias-disable: true
82      input-enable: true
83      output-high: true
84      output-low: true
85
86    additionalProperties: true
87...
88