Merge branch 'for-5.15/fsdax-cleanups' into for-5.15/libnvdimm
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / pinctrl / qcom,tlmm-common.yaml
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
7 title: Qualcomm Technologies, Inc. Top Level Mode Multiplexer (TLMM) definitions
8
9 maintainers:
10   - Bjorn Andersson <bjorn.andersson@linaro.org>
11
12 description:
13   This defines the common properties used to describe all Qualcomm Top Level
14   Mode Multiplexer bindings and pinconf/pinmux states for these.
15
16 properties:
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
54 required:
55   - interrupts
56   - interrupt-controller
57   - '#interrupt-cells'
58   - gpio-controller
59   - '#gpio-cells'
60   - gpio-ranges
61
62 additionalProperties: true
63
64 $defs:
65   qcom-tlmm-state:
66     allOf:
67       - $ref: pincfg-node.yaml#
68       - $ref: pinmux-node.yaml#
69
70     properties:
71       drive-strength:
72         enum: [2, 4, 6, 8, 10, 12, 14, 16]
73         default: 2
74         description:
75           Selects the drive strength for the specified pins, in mA.
76
77       bias-pull-down: true
78       bias-pull-up: true
79       bias-disable: true
80       input-enable: true
81       output-high: true
82       output-low: true
83
84     additionalProperties: true
85 ...