xref: /linux/Documentation/devicetree/bindings/pinctrl/qcom,msm8226-pinctrl.yaml (revision 43dc3f2bc1140c9dd93b5aad4e8e52f3b2c2fef4)
1441717c4SBartosz Dudziak# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2441717c4SBartosz Dudziak%YAML 1.2
3441717c4SBartosz Dudziak---
4441717c4SBartosz Dudziak$id: http://devicetree.org/schemas/pinctrl/qcom,msm8226-pinctrl.yaml#
5441717c4SBartosz Dudziak$schema: http://devicetree.org/meta-schemas/core.yaml#
6441717c4SBartosz Dudziak
7441717c4SBartosz Dudziaktitle: Qualcomm Technologies, Inc. MSM8226 TLMM block
8441717c4SBartosz Dudziak
9441717c4SBartosz Dudziakmaintainers:
10441717c4SBartosz Dudziak  - Bjorn Andersson <bjorn.andersson@linaro.org>
11441717c4SBartosz Dudziak
12441717c4SBartosz Dudziakdescription: |
13441717c4SBartosz Dudziak  This binding describes the Top Level Mode Multiplexer block found in the
14441717c4SBartosz Dudziak  MSM8226 platform.
15441717c4SBartosz Dudziak
16441717c4SBartosz Dudziakproperties:
17441717c4SBartosz Dudziak  compatible:
18441717c4SBartosz Dudziak    const: qcom,msm8226-pinctrl
19441717c4SBartosz Dudziak
20441717c4SBartosz Dudziak  reg:
21441717c4SBartosz Dudziak    description: Specifies the base address and size of the TLMM register space
22441717c4SBartosz Dudziak    maxItems: 1
23441717c4SBartosz Dudziak
24441717c4SBartosz Dudziak  interrupts:
25441717c4SBartosz Dudziak    description: Specifies the TLMM summary IRQ
26441717c4SBartosz Dudziak    maxItems: 1
27441717c4SBartosz Dudziak
28441717c4SBartosz Dudziak  interrupt-controller: true
29441717c4SBartosz Dudziak
30441717c4SBartosz Dudziak  '#interrupt-cells':
31441717c4SBartosz Dudziak    description: Specifies the PIN numbers and Flags, as defined in
32441717c4SBartosz Dudziak      include/dt-bindings/interrupt-controller/irq.h
33441717c4SBartosz Dudziak    const: 2
34441717c4SBartosz Dudziak
35441717c4SBartosz Dudziak  gpio-controller: true
36441717c4SBartosz Dudziak
37441717c4SBartosz Dudziak  '#gpio-cells':
38441717c4SBartosz Dudziak    description: Specifying the pin number and flags, as defined in
39441717c4SBartosz Dudziak      include/dt-bindings/gpio/gpio.h
40441717c4SBartosz Dudziak    const: 2
41441717c4SBartosz Dudziak
42441717c4SBartosz Dudziak  gpio-ranges:
43441717c4SBartosz Dudziak    maxItems: 1
44441717c4SBartosz Dudziak
45441717c4SBartosz Dudziak  gpio-reserved-ranges:
46441717c4SBartosz Dudziak    maxItems: 1
47441717c4SBartosz Dudziak
48441717c4SBartosz DudziakpatternProperties:
49*43dc3f2bSKrzysztof Kozlowski  "-state$":
50*43dc3f2bSKrzysztof Kozlowski    oneOf:
51*43dc3f2bSKrzysztof Kozlowski      - $ref: "#/$defs/qcom-msm8226-tlmm-state"
52*43dc3f2bSKrzysztof Kozlowski      - patternProperties:
53*43dc3f2bSKrzysztof Kozlowski          "-pins$":
54*43dc3f2bSKrzysztof Kozlowski            $ref: "#/$defs/qcom-msm8226-tlmm-state"
55*43dc3f2bSKrzysztof Kozlowski        additionalProperties: false
56*43dc3f2bSKrzysztof Kozlowski
57*43dc3f2bSKrzysztof Kozlowski$defs:
58*43dc3f2bSKrzysztof Kozlowski  qcom-msm8226-tlmm-state:
59441717c4SBartosz Dudziak    type: object
60441717c4SBartosz Dudziak    description:
61441717c4SBartosz Dudziak      Pinctrl node's client devices use subnodes for desired pin configuration.
62441717c4SBartosz Dudziak      Client device subnodes use below standard properties.
63441717c4SBartosz Dudziak    $ref: "/schemas/pinctrl/pincfg-node.yaml"
64441717c4SBartosz Dudziak
65441717c4SBartosz Dudziak    properties:
66441717c4SBartosz Dudziak      pins:
67441717c4SBartosz Dudziak        description:
68441717c4SBartosz Dudziak          List of gpio pins affected by the properties specified in this
69441717c4SBartosz Dudziak          subnode.
70441717c4SBartosz Dudziak        items:
71441717c4SBartosz Dudziak          oneOf:
72441717c4SBartosz Dudziak            - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-1][0-6])$"
73441717c4SBartosz Dudziak            - enum: [ sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk, sdc2_cmd, sdc2_data ]
74441717c4SBartosz Dudziak        minItems: 1
75441717c4SBartosz Dudziak        maxItems: 36
76441717c4SBartosz Dudziak
77441717c4SBartosz Dudziak      function:
78441717c4SBartosz Dudziak        description:
79441717c4SBartosz Dudziak          Specify the alternative function to be configured for the specified
80441717c4SBartosz Dudziak          pins. Functions are only valid for gpio pins.
81441717c4SBartosz Dudziak        enum: [ gpio, cci_i2c0, blsp_uim1, blsp_uim2, blsp_uim3, blsp_uim5,
82441717c4SBartosz Dudziak                blsp_i2c1, blsp_i2c2, blsp_i2c3, blsp_i2c5, blsp_spi1,
83441717c4SBartosz Dudziak                blsp_spi2, blsp_spi3, blsp_spi5, blsp_uart1, blsp_uart2,
84441717c4SBartosz Dudziak                blsp_uart3, blsp_uart5, cam_mclk0, cam_mclk1, wlan ]
85441717c4SBartosz Dudziak
86441717c4SBartosz Dudziak      drive-strength:
87441717c4SBartosz Dudziak        enum: [2, 4, 6, 8, 10, 12, 14, 16]
88441717c4SBartosz Dudziak        default: 2
89441717c4SBartosz Dudziak        description:
90441717c4SBartosz Dudziak          Selects the drive strength for the specified pins, in mA.
91441717c4SBartosz Dudziak
92441717c4SBartosz Dudziak      bias-pull-down: true
93441717c4SBartosz Dudziak
94441717c4SBartosz Dudziak      bias-pull-up: true
95441717c4SBartosz Dudziak
96441717c4SBartosz Dudziak      bias-disable: true
97441717c4SBartosz Dudziak
98441717c4SBartosz Dudziak      output-high: true
99441717c4SBartosz Dudziak
100441717c4SBartosz Dudziak      output-low: true
101441717c4SBartosz Dudziak
102441717c4SBartosz Dudziak    required:
103441717c4SBartosz Dudziak      - pins
104441717c4SBartosz Dudziak      - function
105441717c4SBartosz Dudziak
106441717c4SBartosz Dudziak    additionalProperties: false
107441717c4SBartosz Dudziak
108c09acbc4SRafał MiłeckiallOf:
109c09acbc4SRafał Miłecki  - $ref: "pinctrl.yaml#"
110c09acbc4SRafał Miłecki
111441717c4SBartosz Dudziakrequired:
112441717c4SBartosz Dudziak  - compatible
113441717c4SBartosz Dudziak  - reg
114441717c4SBartosz Dudziak  - interrupts
115441717c4SBartosz Dudziak  - interrupt-controller
116441717c4SBartosz Dudziak  - '#interrupt-cells'
117441717c4SBartosz Dudziak  - gpio-controller
118441717c4SBartosz Dudziak  - '#gpio-cells'
119441717c4SBartosz Dudziak  - gpio-ranges
120441717c4SBartosz Dudziak
121441717c4SBartosz DudziakadditionalProperties: false
122441717c4SBartosz Dudziak
123441717c4SBartosz Dudziakexamples:
124441717c4SBartosz Dudziak  - |
125441717c4SBartosz Dudziak        #include <dt-bindings/interrupt-controller/arm-gic.h>
126441717c4SBartosz Dudziak        msmgpio: pinctrl@fd510000 {
127441717c4SBartosz Dudziak                compatible = "qcom,msm8226-pinctrl";
128441717c4SBartosz Dudziak                reg = <0xfd510000 0x4000>;
129441717c4SBartosz Dudziak
130441717c4SBartosz Dudziak                gpio-controller;
131441717c4SBartosz Dudziak                #gpio-cells = <2>;
132441717c4SBartosz Dudziak                gpio-ranges = <&msmgpio 0 0 117>;
133441717c4SBartosz Dudziak                interrupt-controller;
134441717c4SBartosz Dudziak                #interrupt-cells = <2>;
135441717c4SBartosz Dudziak                interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
136441717c4SBartosz Dudziak
137*43dc3f2bSKrzysztof Kozlowski                serial-state {
138441717c4SBartosz Dudziak                        pins = "gpio8", "gpio9";
139441717c4SBartosz Dudziak                        function = "blsp_uart3";
140441717c4SBartosz Dudziak                        drive-strength = <8>;
141441717c4SBartosz Dudziak                        bias-disable;
142441717c4SBartosz Dudziak                };
143441717c4SBartosz Dudziak        };
144