xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/qcom,msm8226-pinctrl.yaml (revision 6be3386466ab79a84b48429ae66244f21526d3df)
1*6be33864SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*6be33864SEmmanuel Vadot%YAML 1.2
3*6be33864SEmmanuel Vadot---
4*6be33864SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,msm8226-pinctrl.yaml#
5*6be33864SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*6be33864SEmmanuel Vadot
7*6be33864SEmmanuel Vadottitle: Qualcomm Technologies, Inc. MSM8226 TLMM block
8*6be33864SEmmanuel Vadot
9*6be33864SEmmanuel Vadotmaintainers:
10*6be33864SEmmanuel Vadot  - Bjorn Andersson <bjorn.andersson@linaro.org>
11*6be33864SEmmanuel Vadot
12*6be33864SEmmanuel Vadotdescription: |
13*6be33864SEmmanuel Vadot  This binding describes the Top Level Mode Multiplexer block found in the
14*6be33864SEmmanuel Vadot  MSM8226 platform.
15*6be33864SEmmanuel Vadot
16*6be33864SEmmanuel Vadotproperties:
17*6be33864SEmmanuel Vadot  compatible:
18*6be33864SEmmanuel Vadot    const: qcom,msm8226-pinctrl
19*6be33864SEmmanuel Vadot
20*6be33864SEmmanuel Vadot  reg:
21*6be33864SEmmanuel Vadot    description: Specifies the base address and size of the TLMM register space
22*6be33864SEmmanuel Vadot    maxItems: 1
23*6be33864SEmmanuel Vadot
24*6be33864SEmmanuel Vadot  interrupts:
25*6be33864SEmmanuel Vadot    description: Specifies the TLMM summary IRQ
26*6be33864SEmmanuel Vadot    maxItems: 1
27*6be33864SEmmanuel Vadot
28*6be33864SEmmanuel Vadot  interrupt-controller: true
29*6be33864SEmmanuel Vadot
30*6be33864SEmmanuel Vadot  '#interrupt-cells':
31*6be33864SEmmanuel Vadot    description: Specifies the PIN numbers and Flags, as defined in
32*6be33864SEmmanuel Vadot      include/dt-bindings/interrupt-controller/irq.h
33*6be33864SEmmanuel Vadot    const: 2
34*6be33864SEmmanuel Vadot
35*6be33864SEmmanuel Vadot  gpio-controller: true
36*6be33864SEmmanuel Vadot
37*6be33864SEmmanuel Vadot  '#gpio-cells':
38*6be33864SEmmanuel Vadot    description: Specifying the pin number and flags, as defined in
39*6be33864SEmmanuel Vadot      include/dt-bindings/gpio/gpio.h
40*6be33864SEmmanuel Vadot    const: 2
41*6be33864SEmmanuel Vadot
42*6be33864SEmmanuel Vadot  gpio-ranges:
43*6be33864SEmmanuel Vadot    maxItems: 1
44*6be33864SEmmanuel Vadot
45*6be33864SEmmanuel Vadot  gpio-reserved-ranges:
46*6be33864SEmmanuel Vadot    maxItems: 1
47*6be33864SEmmanuel Vadot
48*6be33864SEmmanuel Vadot#PIN CONFIGURATION NODES
49*6be33864SEmmanuel VadotpatternProperties:
50*6be33864SEmmanuel Vadot  '-pins$':
51*6be33864SEmmanuel Vadot    type: object
52*6be33864SEmmanuel Vadot    description:
53*6be33864SEmmanuel Vadot      Pinctrl node's client devices use subnodes for desired pin configuration.
54*6be33864SEmmanuel Vadot      Client device subnodes use below standard properties.
55*6be33864SEmmanuel Vadot    $ref: "/schemas/pinctrl/pincfg-node.yaml"
56*6be33864SEmmanuel Vadot
57*6be33864SEmmanuel Vadot    properties:
58*6be33864SEmmanuel Vadot      pins:
59*6be33864SEmmanuel Vadot        description:
60*6be33864SEmmanuel Vadot          List of gpio pins affected by the properties specified in this
61*6be33864SEmmanuel Vadot          subnode.
62*6be33864SEmmanuel Vadot        items:
63*6be33864SEmmanuel Vadot          oneOf:
64*6be33864SEmmanuel Vadot            - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-1][0-6])$"
65*6be33864SEmmanuel Vadot            - enum: [ sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk, sdc2_cmd, sdc2_data ]
66*6be33864SEmmanuel Vadot        minItems: 1
67*6be33864SEmmanuel Vadot        maxItems: 36
68*6be33864SEmmanuel Vadot
69*6be33864SEmmanuel Vadot      function:
70*6be33864SEmmanuel Vadot        description:
71*6be33864SEmmanuel Vadot          Specify the alternative function to be configured for the specified
72*6be33864SEmmanuel Vadot          pins. Functions are only valid for gpio pins.
73*6be33864SEmmanuel Vadot        enum: [ gpio, cci_i2c0, blsp_uim1, blsp_uim2, blsp_uim3, blsp_uim5,
74*6be33864SEmmanuel Vadot                blsp_i2c1, blsp_i2c2, blsp_i2c3, blsp_i2c5, blsp_spi1,
75*6be33864SEmmanuel Vadot                blsp_spi2, blsp_spi3, blsp_spi5, blsp_uart1, blsp_uart2,
76*6be33864SEmmanuel Vadot                blsp_uart3, blsp_uart5, cam_mclk0, cam_mclk1, wlan ]
77*6be33864SEmmanuel Vadot
78*6be33864SEmmanuel Vadot      drive-strength:
79*6be33864SEmmanuel Vadot        enum: [2, 4, 6, 8, 10, 12, 14, 16]
80*6be33864SEmmanuel Vadot        default: 2
81*6be33864SEmmanuel Vadot        description:
82*6be33864SEmmanuel Vadot          Selects the drive strength for the specified pins, in mA.
83*6be33864SEmmanuel Vadot
84*6be33864SEmmanuel Vadot      bias-pull-down: true
85*6be33864SEmmanuel Vadot
86*6be33864SEmmanuel Vadot      bias-pull-up: true
87*6be33864SEmmanuel Vadot
88*6be33864SEmmanuel Vadot      bias-disable: true
89*6be33864SEmmanuel Vadot
90*6be33864SEmmanuel Vadot      output-high: true
91*6be33864SEmmanuel Vadot
92*6be33864SEmmanuel Vadot      output-low: true
93*6be33864SEmmanuel Vadot
94*6be33864SEmmanuel Vadot    required:
95*6be33864SEmmanuel Vadot      - pins
96*6be33864SEmmanuel Vadot      - function
97*6be33864SEmmanuel Vadot
98*6be33864SEmmanuel Vadot    additionalProperties: false
99*6be33864SEmmanuel Vadot
100*6be33864SEmmanuel Vadotrequired:
101*6be33864SEmmanuel Vadot  - compatible
102*6be33864SEmmanuel Vadot  - reg
103*6be33864SEmmanuel Vadot  - interrupts
104*6be33864SEmmanuel Vadot  - interrupt-controller
105*6be33864SEmmanuel Vadot  - '#interrupt-cells'
106*6be33864SEmmanuel Vadot  - gpio-controller
107*6be33864SEmmanuel Vadot  - '#gpio-cells'
108*6be33864SEmmanuel Vadot  - gpio-ranges
109*6be33864SEmmanuel Vadot
110*6be33864SEmmanuel VadotadditionalProperties: false
111*6be33864SEmmanuel Vadot
112*6be33864SEmmanuel Vadotexamples:
113*6be33864SEmmanuel Vadot  - |
114*6be33864SEmmanuel Vadot        #include <dt-bindings/interrupt-controller/arm-gic.h>
115*6be33864SEmmanuel Vadot        msmgpio: pinctrl@fd510000 {
116*6be33864SEmmanuel Vadot                compatible = "qcom,msm8226-pinctrl";
117*6be33864SEmmanuel Vadot                reg = <0xfd510000 0x4000>;
118*6be33864SEmmanuel Vadot
119*6be33864SEmmanuel Vadot                gpio-controller;
120*6be33864SEmmanuel Vadot                #gpio-cells = <2>;
121*6be33864SEmmanuel Vadot                gpio-ranges = <&msmgpio 0 0 117>;
122*6be33864SEmmanuel Vadot                interrupt-controller;
123*6be33864SEmmanuel Vadot                #interrupt-cells = <2>;
124*6be33864SEmmanuel Vadot                interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
125*6be33864SEmmanuel Vadot
126*6be33864SEmmanuel Vadot                serial-pins {
127*6be33864SEmmanuel Vadot                        pins = "gpio8", "gpio9";
128*6be33864SEmmanuel Vadot                        function = "blsp_uart3";
129*6be33864SEmmanuel Vadot                        drive-strength = <8>;
130*6be33864SEmmanuel Vadot                        bias-disable;
131*6be33864SEmmanuel Vadot                };
132*6be33864SEmmanuel Vadot        };
133