blob: aae3dcf6cac88ac1f425a19ea3fa94bfe6f0ca46 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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 TLMM summary IRQ and dirconn interrupts.
20 minItems: 1
21 maxItems: 9
22
23 interrupt-controller: true
24
25 '#interrupt-cells':
26 description:
27 Specifies the PIN numbers and Flags, as defined in defined in
28 include/dt-bindings/interrupt-controller/irq.h
29 const: 2
30
31 gpio-controller: true
32
33 '#gpio-cells':
34 description:
35 Specifying the pin number and flags, as defined in
36 include/dt-bindings/gpio/gpio.h
37 const: 2
38
39 gpio-ranges:
40 maxItems: 1
41
42 wakeup-parent:
43 description:
44 Specifying the interrupt-controller used to wake up the system when the
45 TLMM block has been powered down.
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 properties:
70 drive-strength:
71 enum: [2, 4, 6, 8, 10, 12, 14, 16]
72 description:
73 Selects the drive strength for the specified pins, in mA.
74
75 bias-pull-down: true
76 bias-pull-up: true
77 bias-disable: true
78 input-enable: false
79 output-disable: true
80 output-enable: true
81 output-high: true
82 output-low: true
83
84 allOf:
85 - $ref: pincfg-node.yaml#
86 - $ref: pinmux-node.yaml#
87
88 - if:
89 properties:
90 pins:
91 items:
92 pattern: "^gpio"
93 then:
94 required:
95 - function
96 else:
97 properties:
98 function: false
99
100 additionalProperties: true
101...