xref: /linux/Documentation/devicetree/bindings/pinctrl/qcom,msm8226-pinctrl.yaml (revision 505ab2cf43f62df9b9a0eba0273f931e60ae293f)
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
1209f53706SKrzysztof Kozlowskidescription:
1309f53706SKrzysztof Kozlowski  Top Level Mode Multiplexer pin controller in Qualcomm MSM8226 SoC.
14441717c4SBartosz Dudziak
15441717c4SBartosz Dudziakproperties:
16441717c4SBartosz Dudziak  compatible:
17441717c4SBartosz Dudziak    const: qcom,msm8226-pinctrl
18441717c4SBartosz Dudziak
19441717c4SBartosz Dudziak  reg:
20441717c4SBartosz Dudziak    description: Specifies the base address and size of the TLMM register space
21441717c4SBartosz Dudziak    maxItems: 1
22441717c4SBartosz Dudziak
2312a18bb7SKrzysztof Kozlowski  interrupts:
2412a18bb7SKrzysztof Kozlowski    maxItems: 1
2512a18bb7SKrzysztof Kozlowski
26441717c4SBartosz Dudziak  interrupt-controller: true
274799452eSKrzysztof Kozlowski  "#interrupt-cells": true
28441717c4SBartosz Dudziak  gpio-controller: true
294799452eSKrzysztof Kozlowski  "#gpio-cells": true
304799452eSKrzysztof Kozlowski  gpio-ranges: true
31441717c4SBartosz Dudziak
32441717c4SBartosz Dudziak  gpio-reserved-ranges:
33441717c4SBartosz Dudziak    maxItems: 1
34441717c4SBartosz Dudziak
35441717c4SBartosz DudziakpatternProperties:
3643dc3f2bSKrzysztof Kozlowski  "-state$":
3743dc3f2bSKrzysztof Kozlowski    oneOf:
3843dc3f2bSKrzysztof Kozlowski      - $ref: "#/$defs/qcom-msm8226-tlmm-state"
3943dc3f2bSKrzysztof Kozlowski      - patternProperties:
4043dc3f2bSKrzysztof Kozlowski          "-pins$":
4143dc3f2bSKrzysztof Kozlowski            $ref: "#/$defs/qcom-msm8226-tlmm-state"
4243dc3f2bSKrzysztof Kozlowski        additionalProperties: false
4343dc3f2bSKrzysztof Kozlowski
4443dc3f2bSKrzysztof Kozlowski$defs:
4543dc3f2bSKrzysztof Kozlowski  qcom-msm8226-tlmm-state:
46441717c4SBartosz Dudziak    type: object
47441717c4SBartosz Dudziak    description:
48441717c4SBartosz Dudziak      Pinctrl node's client devices use subnodes for desired pin configuration.
49441717c4SBartosz Dudziak      Client device subnodes use below standard properties.
504799452eSKrzysztof Kozlowski    $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state
5134a433bfSKrzysztof Kozlowski    unevaluatedProperties: false
52441717c4SBartosz Dudziak
53441717c4SBartosz Dudziak    properties:
54441717c4SBartosz Dudziak      pins:
55441717c4SBartosz Dudziak        description:
56441717c4SBartosz Dudziak          List of gpio pins affected by the properties specified in this
57441717c4SBartosz Dudziak          subnode.
58441717c4SBartosz Dudziak        items:
59441717c4SBartosz Dudziak          oneOf:
6079234908SKrzysztof Kozlowski            - pattern: "^gpio([0-9]|[1-9][0-9]|10[0-9]|11[0-6])$"
61441717c4SBartosz Dudziak            - enum: [ sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk, sdc2_cmd, sdc2_data ]
62441717c4SBartosz Dudziak        minItems: 1
63441717c4SBartosz Dudziak        maxItems: 36
64441717c4SBartosz Dudziak
65441717c4SBartosz Dudziak      function:
66441717c4SBartosz Dudziak        description:
67441717c4SBartosz Dudziak          Specify the alternative function to be configured for the specified
68441717c4SBartosz Dudziak          pins. Functions are only valid for gpio pins.
69441717c4SBartosz Dudziak        enum: [ gpio, cci_i2c0, blsp_uim1, blsp_uim2, blsp_uim3, blsp_uim5,
70*505ab2cfSLuca Weiss                blsp_i2c1, blsp_i2c2, blsp_i2c3, blsp_i2c4, blsp_i2c5, blsp_i2c6,
71*505ab2cfSLuca Weiss                blsp_spi1, blsp_spi2, blsp_spi3, blsp_spi5, blsp_uart1, blsp_uart2,
72ef6c2d85SMatti Lehtimäki                blsp_uart3, blsp_uart4, blsp_uart5, cam_mclk0, cam_mclk1,
73ef6c2d85SMatti Lehtimäki                gp0_clk, gp1_clk, sdc3, wlan ]
74441717c4SBartosz Dudziak
75441717c4SBartosz Dudziak    required:
76441717c4SBartosz Dudziak      - pins
77441717c4SBartosz Dudziak
78c09acbc4SRafał MiłeckiallOf:
794799452eSKrzysztof Kozlowski  - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#
80c09acbc4SRafał Miłecki
81441717c4SBartosz Dudziakrequired:
82441717c4SBartosz Dudziak  - compatible
83441717c4SBartosz Dudziak  - reg
84441717c4SBartosz Dudziak
85441717c4SBartosz DudziakadditionalProperties: false
86441717c4SBartosz Dudziak
87441717c4SBartosz Dudziakexamples:
88441717c4SBartosz Dudziak  - |
89441717c4SBartosz Dudziak    #include <dt-bindings/interrupt-controller/arm-gic.h>
90441717c4SBartosz Dudziak    msmgpio: pinctrl@fd510000 {
91441717c4SBartosz Dudziak        compatible = "qcom,msm8226-pinctrl";
92441717c4SBartosz Dudziak        reg = <0xfd510000 0x4000>;
93441717c4SBartosz Dudziak
94441717c4SBartosz Dudziak        gpio-controller;
95441717c4SBartosz Dudziak        #gpio-cells = <2>;
96441717c4SBartosz Dudziak        gpio-ranges = <&msmgpio 0 0 117>;
97441717c4SBartosz Dudziak        interrupt-controller;
98441717c4SBartosz Dudziak        #interrupt-cells = <2>;
99441717c4SBartosz Dudziak        interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
100441717c4SBartosz Dudziak
10143dc3f2bSKrzysztof Kozlowski        serial-state {
102441717c4SBartosz Dudziak            pins = "gpio8", "gpio9";
103441717c4SBartosz Dudziak            function = "blsp_uart3";
104441717c4SBartosz Dudziak            drive-strength = <8>;
105441717c4SBartosz Dudziak            bias-disable;
106441717c4SBartosz Dudziak        };
107441717c4SBartosz Dudziak    };
108