151cd31aeSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 251cd31aeSKrzysztof Kozlowski%YAML 1.2 351cd31aeSKrzysztof Kozlowski--- 451cd31aeSKrzysztof Kozlowski$id: http://devicetree.org/schemas/pinctrl/qcom,msm8960-pinctrl.yaml# 551cd31aeSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 651cd31aeSKrzysztof Kozlowski 751cd31aeSKrzysztof Kozlowskititle: Qualcomm MSM8960 TLMM pin controller 851cd31aeSKrzysztof Kozlowski 951cd31aeSKrzysztof Kozlowskimaintainers: 1051cd31aeSKrzysztof Kozlowski - Bjorn Andersson <andersson@kernel.org> 1151cd31aeSKrzysztof Kozlowski - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 1251cd31aeSKrzysztof Kozlowski 1351cd31aeSKrzysztof Kozlowskidescription: 1451cd31aeSKrzysztof Kozlowski Top Level Mode Multiplexer pin controller in Qualcomm MSM8960 SoC. 1551cd31aeSKrzysztof Kozlowski 1651cd31aeSKrzysztof Kozlowskiproperties: 1751cd31aeSKrzysztof Kozlowski compatible: 1851cd31aeSKrzysztof Kozlowski const: qcom,msm8960-pinctrl 1951cd31aeSKrzysztof Kozlowski 2051cd31aeSKrzysztof Kozlowski reg: 2151cd31aeSKrzysztof Kozlowski maxItems: 1 2251cd31aeSKrzysztof Kozlowski 23*12a18bb7SKrzysztof Kozlowski interrupts: 24*12a18bb7SKrzysztof Kozlowski maxItems: 1 25*12a18bb7SKrzysztof Kozlowski 2651cd31aeSKrzysztof Kozlowski interrupt-controller: true 2751cd31aeSKrzysztof Kozlowski "#interrupt-cells": true 2851cd31aeSKrzysztof Kozlowski gpio-controller: true 2951cd31aeSKrzysztof Kozlowski "#gpio-cells": true 3051cd31aeSKrzysztof Kozlowski gpio-ranges: true 3151cd31aeSKrzysztof Kozlowski wakeup-parent: true 3251cd31aeSKrzysztof Kozlowski 3351cd31aeSKrzysztof Kozlowski gpio-reserved-ranges: 3451cd31aeSKrzysztof Kozlowski minItems: 1 3551cd31aeSKrzysztof Kozlowski maxItems: 76 3651cd31aeSKrzysztof Kozlowski 3751cd31aeSKrzysztof Kozlowski gpio-line-names: 3851cd31aeSKrzysztof Kozlowski maxItems: 152 3951cd31aeSKrzysztof Kozlowski 4051cd31aeSKrzysztof KozlowskipatternProperties: 4151cd31aeSKrzysztof Kozlowski "-state$": 4251cd31aeSKrzysztof Kozlowski oneOf: 4351cd31aeSKrzysztof Kozlowski - $ref: "#/$defs/qcom-msm8960-tlmm-state" 4451cd31aeSKrzysztof Kozlowski - patternProperties: 4551cd31aeSKrzysztof Kozlowski "-pins$": 4651cd31aeSKrzysztof Kozlowski $ref: "#/$defs/qcom-msm8960-tlmm-state" 4751cd31aeSKrzysztof Kozlowski additionalProperties: false 4851cd31aeSKrzysztof Kozlowski 4951cd31aeSKrzysztof Kozlowski$defs: 5051cd31aeSKrzysztof Kozlowski qcom-msm8960-tlmm-state: 5151cd31aeSKrzysztof Kozlowski type: object 5251cd31aeSKrzysztof Kozlowski description: 5351cd31aeSKrzysztof Kozlowski Pinctrl node's client devices use subnodes for desired pin configuration. 5451cd31aeSKrzysztof Kozlowski Client device subnodes use below standard properties. 5551cd31aeSKrzysztof Kozlowski $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 5651cd31aeSKrzysztof Kozlowski 5751cd31aeSKrzysztof Kozlowski properties: 5851cd31aeSKrzysztof Kozlowski pins: 5951cd31aeSKrzysztof Kozlowski description: 6051cd31aeSKrzysztof Kozlowski List of gpio pins affected by the properties specified in this 6151cd31aeSKrzysztof Kozlowski subnode. 6251cd31aeSKrzysztof Kozlowski items: 6351cd31aeSKrzysztof Kozlowski oneOf: 6451cd31aeSKrzysztof Kozlowski - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-4][0-9]|15[0-1])$" 6551cd31aeSKrzysztof Kozlowski - enum: [ sdc1_clk, sdc1_cmd, sdc1_data, sdc3_clk, sdc3_cmd, 6651cd31aeSKrzysztof Kozlowski sdc3_data ] 6751cd31aeSKrzysztof Kozlowski minItems: 1 6851cd31aeSKrzysztof Kozlowski maxItems: 36 6951cd31aeSKrzysztof Kozlowski 7051cd31aeSKrzysztof Kozlowski function: 7151cd31aeSKrzysztof Kozlowski description: 7251cd31aeSKrzysztof Kozlowski Specify the alternative function to be configured for the specified 7351cd31aeSKrzysztof Kozlowski pins. 7451cd31aeSKrzysztof Kozlowski 7551cd31aeSKrzysztof Kozlowski enum: [ gpio, audio_pcm, bt, cam_mclk0, cam_mclk1, cam_mclk2, 7651cd31aeSKrzysztof Kozlowski codec_mic_i2s, codec_spkr_i2s, ext_gps, fm, gps_blanking, 7751cd31aeSKrzysztof Kozlowski gps_pps_in, gps_pps_out, gp_clk_0a, gp_clk_0b, gp_clk_1a, 7851cd31aeSKrzysztof Kozlowski gp_clk_1b, gp_clk_2a, gp_clk_2b, gp_mn, gp_pdm_0a, gp_pdm_0b, 7951cd31aeSKrzysztof Kozlowski gp_pdm_1a, gp_pdm_1b, gp_pdm_2a, gp_pdm_2b, gsbi1, 8051cd31aeSKrzysztof Kozlowski gsbi1_spi_cs1_n, gsbi1_spi_cs2a_n, gsbi1_spi_cs2b_n, 8151cd31aeSKrzysztof Kozlowski gsbi1_spi_cs3_n, gsbi2, gsbi2_spi_cs1_n, gsbi2_spi_cs2_n, 8251cd31aeSKrzysztof Kozlowski gsbi2_spi_cs3_n, gsbi3, gsbi4, gsbi4_3d_cam_i2c_l, 8351cd31aeSKrzysztof Kozlowski gsbi4_3d_cam_i2c_r, gsbi5, gsbi5_3d_cam_i2c_l, 8451cd31aeSKrzysztof Kozlowski gsbi5_3d_cam_i2c_r, gsbi6, gsbi7, gsbi8, gsbi9, gsbi10, gsbi11, 8551cd31aeSKrzysztof Kozlowski gsbi11_spi_cs1a_n, gsbi11_spi_cs1b_n, gsbi11_spi_cs2a_n, 8651cd31aeSKrzysztof Kozlowski gsbi11_spi_cs2b_n, gsbi11_spi_cs3_n, gsbi12, hdmi_cec, 8751cd31aeSKrzysztof Kozlowski hdmi_ddc_clock, hdmi_ddc_data, hdmi_hot_plug_detect, hsic, 8851cd31aeSKrzysztof Kozlowski mdp_vsync, mi2s, mic_i2s, pmb_clk, pmb_ext_ctrl, ps_hold, 8951cd31aeSKrzysztof Kozlowski rpm_wdog, sdc2, sdc4, sdc5, slimbus1, slimbus2, spkr_i2s, 9051cd31aeSKrzysztof Kozlowski ssbi1, ssbi2, ssbi_ext_gps, ssbi_pmic2, ssbi_qpa1, ssbi_ts, 9151cd31aeSKrzysztof Kozlowski tsif1, tsif2, ts_eoc, usb_fs1, usb_fs1_oe, usb_fs1_oe_n, 9251cd31aeSKrzysztof Kozlowski usb_fs2, usb_fs2_oe, usb_fs2_oe_n, vfe_camif_timer1_a, 9351cd31aeSKrzysztof Kozlowski vfe_camif_timer1_b, vfe_camif_timer2, vfe_camif_timer3_a, 9451cd31aeSKrzysztof Kozlowski vfe_camif_timer3_b, vfe_camif_timer4_a, vfe_camif_timer4_b, 9551cd31aeSKrzysztof Kozlowski vfe_camif_timer4_c, vfe_camif_timer5_a, vfe_camif_timer5_b, 9651cd31aeSKrzysztof Kozlowski vfe_camif_timer6_a, vfe_camif_timer6_b, vfe_camif_timer6_c, 9751cd31aeSKrzysztof Kozlowski vfe_camif_timer7_a, vfe_camif_timer7_b, vfe_camif_timer7_c, 9851cd31aeSKrzysztof Kozlowski wlan ] 9951cd31aeSKrzysztof Kozlowski 10051cd31aeSKrzysztof Kozlowski bias-pull-down: true 10151cd31aeSKrzysztof Kozlowski bias-pull-up: true 10251cd31aeSKrzysztof Kozlowski bias-disable: true 10351cd31aeSKrzysztof Kozlowski drive-strength: true 10451cd31aeSKrzysztof Kozlowski input-enable: true 10551cd31aeSKrzysztof Kozlowski output-high: true 10651cd31aeSKrzysztof Kozlowski output-low: true 10751cd31aeSKrzysztof Kozlowski 10851cd31aeSKrzysztof Kozlowski required: 10951cd31aeSKrzysztof Kozlowski - pins 11051cd31aeSKrzysztof Kozlowski 11151cd31aeSKrzysztof Kozlowski additionalProperties: false 11251cd31aeSKrzysztof Kozlowski 11351cd31aeSKrzysztof KozlowskiallOf: 11451cd31aeSKrzysztof Kozlowski - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 11551cd31aeSKrzysztof Kozlowski 11651cd31aeSKrzysztof Kozlowskirequired: 11751cd31aeSKrzysztof Kozlowski - compatible 11851cd31aeSKrzysztof Kozlowski - reg 11951cd31aeSKrzysztof Kozlowski 12051cd31aeSKrzysztof KozlowskiadditionalProperties: false 12151cd31aeSKrzysztof Kozlowski 12251cd31aeSKrzysztof Kozlowskiexamples: 12351cd31aeSKrzysztof Kozlowski - | 12451cd31aeSKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 12551cd31aeSKrzysztof Kozlowski 12651cd31aeSKrzysztof Kozlowski msmgpio: pinctrl@800000 { 12751cd31aeSKrzysztof Kozlowski compatible = "qcom,msm8960-pinctrl"; 12851cd31aeSKrzysztof Kozlowski reg = <0x800000 0x4000>; 12951cd31aeSKrzysztof Kozlowski #gpio-cells = <2>; 13051cd31aeSKrzysztof Kozlowski gpio-controller; 13151cd31aeSKrzysztof Kozlowski gpio-ranges = <&msmgpio 0 0 152>; 13251cd31aeSKrzysztof Kozlowski interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 13351cd31aeSKrzysztof Kozlowski interrupt-controller; 13451cd31aeSKrzysztof Kozlowski #interrupt-cells = <2>; 13551cd31aeSKrzysztof Kozlowski 13651cd31aeSKrzysztof Kozlowski spi1-default-state { 13751cd31aeSKrzysztof Kozlowski mosi-pins { 13851cd31aeSKrzysztof Kozlowski pins = "gpio6"; 13951cd31aeSKrzysztof Kozlowski function = "gsbi1"; 14051cd31aeSKrzysztof Kozlowski drive-strength = <12>; 14151cd31aeSKrzysztof Kozlowski bias-disable; 14251cd31aeSKrzysztof Kozlowski }; 14351cd31aeSKrzysztof Kozlowski 14451cd31aeSKrzysztof Kozlowski miso-pins { 14551cd31aeSKrzysztof Kozlowski pins = "gpio7"; 14651cd31aeSKrzysztof Kozlowski function = "gsbi1"; 14751cd31aeSKrzysztof Kozlowski drive-strength = <12>; 14851cd31aeSKrzysztof Kozlowski bias-disable; 14951cd31aeSKrzysztof Kozlowski }; 15051cd31aeSKrzysztof Kozlowski 15151cd31aeSKrzysztof Kozlowski cs-pins { 15251cd31aeSKrzysztof Kozlowski pins = "gpio8"; 15351cd31aeSKrzysztof Kozlowski function = "gpio"; 15451cd31aeSKrzysztof Kozlowski drive-strength = <12>; 15551cd31aeSKrzysztof Kozlowski bias-disable; 15651cd31aeSKrzysztof Kozlowski output-low; 15751cd31aeSKrzysztof Kozlowski }; 15851cd31aeSKrzysztof Kozlowski 15951cd31aeSKrzysztof Kozlowski clk-pins { 16051cd31aeSKrzysztof Kozlowski pins = "gpio9"; 16151cd31aeSKrzysztof Kozlowski function = "gsbi1"; 16251cd31aeSKrzysztof Kozlowski drive-strength = <12>; 16351cd31aeSKrzysztof Kozlowski bias-disable; 16451cd31aeSKrzysztof Kozlowski }; 16551cd31aeSKrzysztof Kozlowski }; 16651cd31aeSKrzysztof Kozlowski }; 167