xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/qcom,msm8226-pinctrl.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
16be33864SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
26be33864SEmmanuel Vadot%YAML 1.2
36be33864SEmmanuel Vadot---
46be33864SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,msm8226-pinctrl.yaml#
56be33864SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
66be33864SEmmanuel Vadot
76be33864SEmmanuel Vadottitle: Qualcomm Technologies, Inc. MSM8226 TLMM block
86be33864SEmmanuel Vadot
96be33864SEmmanuel Vadotmaintainers:
106be33864SEmmanuel Vadot  - Bjorn Andersson <bjorn.andersson@linaro.org>
116be33864SEmmanuel Vadot
128bab661aSEmmanuel Vadotdescription:
138bab661aSEmmanuel Vadot  Top Level Mode Multiplexer pin controller in Qualcomm MSM8226 SoC.
146be33864SEmmanuel Vadot
156be33864SEmmanuel Vadotproperties:
166be33864SEmmanuel Vadot  compatible:
176be33864SEmmanuel Vadot    const: qcom,msm8226-pinctrl
186be33864SEmmanuel Vadot
196be33864SEmmanuel Vadot  reg:
206be33864SEmmanuel Vadot    description: Specifies the base address and size of the TLMM register space
216be33864SEmmanuel Vadot    maxItems: 1
226be33864SEmmanuel Vadot
23cb7aa33aSEmmanuel Vadot  interrupts:
24cb7aa33aSEmmanuel Vadot    maxItems: 1
25cb7aa33aSEmmanuel Vadot
266be33864SEmmanuel Vadot  gpio-reserved-ranges:
276be33864SEmmanuel Vadot    maxItems: 1
286be33864SEmmanuel Vadot
296be33864SEmmanuel VadotpatternProperties:
308bab661aSEmmanuel Vadot  "-state$":
318bab661aSEmmanuel Vadot    oneOf:
328bab661aSEmmanuel Vadot      - $ref: "#/$defs/qcom-msm8226-tlmm-state"
338bab661aSEmmanuel Vadot      - patternProperties:
348bab661aSEmmanuel Vadot          "-pins$":
358bab661aSEmmanuel Vadot            $ref: "#/$defs/qcom-msm8226-tlmm-state"
368bab661aSEmmanuel Vadot        additionalProperties: false
378bab661aSEmmanuel Vadot
388bab661aSEmmanuel Vadot$defs:
398bab661aSEmmanuel Vadot  qcom-msm8226-tlmm-state:
406be33864SEmmanuel Vadot    type: object
416be33864SEmmanuel Vadot    description:
426be33864SEmmanuel Vadot      Pinctrl node's client devices use subnodes for desired pin configuration.
436be33864SEmmanuel Vadot      Client device subnodes use below standard properties.
448bab661aSEmmanuel Vadot    $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state
45fac71e4eSEmmanuel Vadot    unevaluatedProperties: false
466be33864SEmmanuel Vadot
476be33864SEmmanuel Vadot    properties:
486be33864SEmmanuel Vadot      pins:
496be33864SEmmanuel Vadot        description:
506be33864SEmmanuel Vadot          List of gpio pins affected by the properties specified in this
516be33864SEmmanuel Vadot          subnode.
526be33864SEmmanuel Vadot        items:
536be33864SEmmanuel Vadot          oneOf:
54cb7aa33aSEmmanuel Vadot            - pattern: "^gpio([0-9]|[1-9][0-9]|10[0-9]|11[0-6])$"
556be33864SEmmanuel Vadot            - enum: [ sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk, sdc2_cmd, sdc2_data ]
566be33864SEmmanuel Vadot        minItems: 1
576be33864SEmmanuel Vadot        maxItems: 36
586be33864SEmmanuel Vadot
596be33864SEmmanuel Vadot      function:
606be33864SEmmanuel Vadot        description:
616be33864SEmmanuel Vadot          Specify the alternative function to be configured for the specified
626be33864SEmmanuel Vadot          pins. Functions are only valid for gpio pins.
636be33864SEmmanuel Vadot        enum: [ gpio, cci_i2c0, blsp_uim1, blsp_uim2, blsp_uim3, blsp_uim5,
6484943d6fSEmmanuel Vadot                blsp_i2c1, blsp_i2c2, blsp_i2c3, blsp_i2c4, blsp_i2c5, blsp_i2c6,
6584943d6fSEmmanuel Vadot                blsp_spi1, blsp_spi2, blsp_spi3, blsp_spi5, blsp_uart1, blsp_uart2,
66cb7aa33aSEmmanuel Vadot                blsp_uart3, blsp_uart4, blsp_uart5, cam_mclk0, cam_mclk1,
67cb7aa33aSEmmanuel Vadot                gp0_clk, gp1_clk, sdc3, wlan ]
686be33864SEmmanuel Vadot
696be33864SEmmanuel Vadot    required:
706be33864SEmmanuel Vadot      - pins
716be33864SEmmanuel Vadot
72e67e8565SEmmanuel VadotallOf:
738bab661aSEmmanuel Vadot  - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#
74e67e8565SEmmanuel Vadot
756be33864SEmmanuel Vadotrequired:
766be33864SEmmanuel Vadot  - compatible
776be33864SEmmanuel Vadot  - reg
786be33864SEmmanuel Vadot
79*8d13bc63SEmmanuel VadotunevaluatedProperties: false
806be33864SEmmanuel Vadot
816be33864SEmmanuel Vadotexamples:
826be33864SEmmanuel Vadot  - |
836be33864SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
846be33864SEmmanuel Vadot    msmgpio: pinctrl@fd510000 {
856be33864SEmmanuel Vadot        compatible = "qcom,msm8226-pinctrl";
866be33864SEmmanuel Vadot        reg = <0xfd510000 0x4000>;
876be33864SEmmanuel Vadot
886be33864SEmmanuel Vadot        gpio-controller;
896be33864SEmmanuel Vadot        #gpio-cells = <2>;
906be33864SEmmanuel Vadot        gpio-ranges = <&msmgpio 0 0 117>;
916be33864SEmmanuel Vadot        interrupt-controller;
926be33864SEmmanuel Vadot        #interrupt-cells = <2>;
936be33864SEmmanuel Vadot        interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
946be33864SEmmanuel Vadot
958bab661aSEmmanuel Vadot        serial-state {
966be33864SEmmanuel Vadot            pins = "gpio8", "gpio9";
976be33864SEmmanuel Vadot            function = "blsp_uart3";
986be33864SEmmanuel Vadot            drive-strength = <8>;
996be33864SEmmanuel Vadot            bias-disable;
1006be33864SEmmanuel Vadot        };
1016be33864SEmmanuel Vadot    };
102