{"id":2230866,"url":"http://patchwork.ozlabs.org/api/patches/2230866/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-gpio/patch/20260430-sm6350-lpi-tlmm-v2-3-81d068025b97@fairphone.com/","project":{"id":42,"url":"http://patchwork.ozlabs.org/api/projects/42/?format=json","name":"Linux GPIO development","link_name":"linux-gpio","list_id":"linux-gpio.vger.kernel.org","list_email":"linux-gpio@vger.kernel.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260430-sm6350-lpi-tlmm-v2-3-81d068025b97@fairphone.com>","list_archive_url":null,"date":"2026-04-30T07:10:43","name":"[v2,3/5] pinctrl: qcom: Add SM6350 LPASS LPI TLMM","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"78ff83aef80475b4d304b12074fb84c89ea9f5f5","submitter":{"id":83060,"url":"http://patchwork.ozlabs.org/api/people/83060/?format=json","name":"Luca Weiss","email":"luca.weiss@fairphone.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-gpio/patch/20260430-sm6350-lpi-tlmm-v2-3-81d068025b97@fairphone.com/mbox/","series":[{"id":502221,"url":"http://patchwork.ozlabs.org/api/series/502221/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-gpio/list/?series=502221","date":"2026-04-30T07:10:40","name":"Add LPASS LPI pin controller support for SM6350","version":2,"mbox":"http://patchwork.ozlabs.org/series/502221/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2230866/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2230866/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-gpio+bounces-35829-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=fairphone.com header.i=@fairphone.com\n header.a=rsa-sha256 header.s=fair header.b=M/gByBUC;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-gpio+bounces-35829-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com\n header.b=\"M/gByBUC\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.128.41","smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=fairphone.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=fairphone.com"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g5lkL01chz1yHv\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 17:12:57 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 959DD3051BF8\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 07:11:01 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id E35C139DBEA;\n\tThu, 30 Apr 2026 07:10:57 +0000 (UTC)","from mail-wm1-f41.google.com (mail-wm1-f41.google.com\n [209.85.128.41])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 41D0B2E7BB6\n\tfor <linux-gpio@vger.kernel.org>; Thu, 30 Apr 2026 07:10:55 +0000 (UTC)","by mail-wm1-f41.google.com with SMTP id\n 5b1f17b1804b1-4891d7164ddso2772625e9.3\n        for <linux-gpio@vger.kernel.org>;\n Thu, 30 Apr 2026 00:10:55 -0700 (PDT)","from [192.168.178.36] (046124200255.public.t-mobile.at.\n [46.124.200.255])\n        by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-48a81ed6b89sm46080825e9.1.2026.04.30.00.10.52\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Thu, 30 Apr 2026 00:10:53 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777533057; cv=none;\n b=EbpIPkkp9TMBw/nIC1L89qw6/qxUjF5qlJ7uGsOZYo5ow/nCDkggim1W2wnnlqHPiOAZ6pIM4oBzxy9sugrto0HB0icEQw0AMbDNmFegB2cfpikml/g0mcPH2Q75MDYRn5u09+uWtFQB59QBWV8tWXAWSIg2Nt2Q1npu/dMWl8g=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777533057; c=relaxed/simple;\n\tbh=1VUcOzChGoZs59Eb985aPOcVmtdrVUb87O94jKmVrkU=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=LAyK3S8UGOuQwKt2K1T+YzfP+WIfgg9/NR6ZLSxWPYuYTzVTlLZsCJpLdbi+zL5ZVXnJONOZr/fzegcorbmsJL0Lx3rYNu+2+n0zThecTDPpPRyxbXme0xqdY+8IejcWKB8evn68kFTz970+tbX7S4ap4QYZLuozsZ0foy1h0/E=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=fairphone.com;\n spf=pass smtp.mailfrom=fairphone.com;\n dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com\n header.b=M/gByBUC; arc=none smtp.client-ip=209.85.128.41","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=fairphone.com; s=fair; t=1777533054; x=1778137854;\n darn=vger.kernel.org;\n        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding\n         :mime-version:subject:date:from:from:to:cc:subject:date:message-id\n         :reply-to;\n        bh=D0UofC6McxXUSJGUwTpN0UC8iJG6TGK2vbhj55AcA2g=;\n        b=M/gByBUC1v+YXk4rbv1YtUVGijZhpOqfc5aHzs0AqjLHWolUtEfKZ42r0a5gElIR+d\n         OQd7Cm1yBKcUH0u0mH+iV3Lf/m7MJveF+YBIGIQ53DRttaHsRe5f9y4uKETpGwF5+M6u\n         HqmAE2kKsjG3h4m3pVIj8V6ZOJrQHSZG6JrrSG8KnZCINXkbkprtStrkiY6jy/Egqj41\n         Biyp+azZFlLtY50f4RZ3kTRIciSmhe81j2VAD+nTETY7wj6IUkc7fKlV1fRRhVp3dQHl\n         zElPd2M0jJk1zLQnp9ocGsovBBaftjbyH0BG/DZECG2jwfoTFTcs/49m+b4mFF6+1ewV\n         FUgg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1777533054; x=1778137854;\n        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding\n         :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to\n         :cc:subject:date:message-id:reply-to;\n        bh=D0UofC6McxXUSJGUwTpN0UC8iJG6TGK2vbhj55AcA2g=;\n        b=oFwEoGcXzQmTSFwEAdx4fJs+RbN1+b6Of6ZogHvKZn9zEcQcY0BmMh/ZxmP2APlX0/\n         CXHNqaZMRt8XclY28+F5nfIQ8tvvL4+htQ52T1yeFq7OuCH8dqaH4dkHzJzMI7RzD8Ke\n         EPklBgR+O0iDruZhrvRYHfNmRiA4MDMd5dwIoORXRLvasrZguT5MaurDzS6KDd89XUlZ\n         brV5J79jKUxPV/rApMkN0Er0yqB7koMLaQDFNOAyHGdkWOT16KZTNJ/s3ILVEb6QM6sG\n         bo7CeIKAntpoEFt2bw6BXUuYynv9RfFi9EKh7ncM45Yia8megI9t8Cx8Dc57yWF5KHZC\n         FN3w==","X-Forwarded-Encrypted":"i=1;\n AFNElJ/ewVzcirMWeAGfy9S9dN6PPK5Y9DGHKlnAlVsMZJwUtWeJAxuh60TLIML7Sch1VgwhxOtgOItXBUFc@vger.kernel.org","X-Gm-Message-State":"AOJu0Yxq0+Q/sgAYDcKhCxfdNZnhF0bh8W/WKXc795KVsxCtqNnqgXVf\n\t74yb1lUgqMtOLP8WgDtb0o6s9y7Bhnmcfqy3uI6Knw63sP+h1+/uvTvKf6VUl7J+OAc=","X-Gm-Gg":"AeBDievtulLoxNSDx8SOOUMnHKi2kW7pQYrrKcaCk/Z8LrjcU7w5qS4HtN2G3zmNzoK\n\tQ10bd8tykixSETYWSi9Yjede8A49NLL+qW69AkD67hbTqFIo1adsGa2mGfQ5HMtVjPnNabprk2E\n\tuG7uCaS/gP/K9l6QAxIm4wCzIdABI9SKi3DpDVC/doQOq514PgWtmuZ2pKt1Al2NyaT0sYsZS5l\n\t246sFXFajU+sLJdoq4i2/hbO/RcF3PJOaQzgY/Ant76baN8ZkgDIAWAGCj/YPdkwQOBLgtWBiVT\n\tZtO0FPrlvCSiNZzpJMKy0mAk7/IoFa/SbnHbTk/f/rJ7BkdH9FbE5DOBG4dOrLePpsXwBPVwcKN\n\tZtplpUKGGMtRMYJZ5xbOJwZSQbHJWCIY41ndqzKBxmEXlR7MYB0JqjQmz/9+QBVe9+t/Xcc1j70\n\tW3RqMgJQW+Sq4km9fr7YU6BamyuMaJeT4BkKZ17sZyMYOf5CHlhygUdGRv90LGz/OfMGSftqoSD\n\tjeqOTBxKiFTSgxs7mQ=","X-Received":"by 2002:a05:600c:628b:b0:485:364e:9328 with SMTP id\n 5b1f17b1804b1-48a84452792mr31287615e9.16.1777533053630;\n        Thu, 30 Apr 2026 00:10:53 -0700 (PDT)","From":"Luca Weiss <luca.weiss@fairphone.com>","Date":"Thu, 30 Apr 2026 09:10:43 +0200","Subject":"[PATCH v2 3/5] pinctrl: qcom: Add SM6350 LPASS LPI TLMM","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","Message-Id":"<20260430-sm6350-lpi-tlmm-v2-3-81d068025b97@fairphone.com>","References":"<20260430-sm6350-lpi-tlmm-v2-0-81d068025b97@fairphone.com>","In-Reply-To":"<20260430-sm6350-lpi-tlmm-v2-0-81d068025b97@fairphone.com>","To":"Bjorn Andersson <andersson@kernel.org>,\n Linus Walleij <linusw@kernel.org>, Rob Herring <robh@kernel.org>,\n Krzysztof Kozlowski <krzk+dt@kernel.org>,\n Conor Dooley <conor+dt@kernel.org>, Konrad Dybcio <konradybcio@kernel.org>,\n Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>","Cc":"~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org,\n linux-arm-msm@vger.kernel.org, linux-gpio@vger.kernel.org,\n devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,\n Luca Weiss <luca.weiss@fairphone.com>,\n Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,\n Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>","X-Mailer":"b4 0.15.2","X-Developer-Signature":"v=1; a=ed25519-sha256; t=1777533047; l=7602;\n i=luca.weiss@fairphone.com; s=20250611; h=from:subject:message-id;\n bh=1VUcOzChGoZs59Eb985aPOcVmtdrVUb87O94jKmVrkU=;\n b=NOR70N9HENNOMf67HjUFcXrc6eHseNG2okNLHnUXiUGcZeS299hLbEmuV6zb/5YF1QPbZ6ska\n OdV+jHcLMYtBMHS6eD7k7MHyxkT8A57HprPvsdIWN+3gy+w1pO0wdAb","X-Developer-Key":"i=luca.weiss@fairphone.com; a=ed25519;\n pk=O1aw+AAust5lEmgrNJ1Bs7PTY0fEsJm+mdkjExA69q8="},"content":"Add support for the pin controller block on SM6350 Low Power Island.\n\nReviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>\nReviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>\nSigned-off-by: Luca Weiss <luca.weiss@fairphone.com>\n---\n drivers/pinctrl/qcom/Kconfig                    |   9 ++\n drivers/pinctrl/qcom/Makefile                   |   1 +\n drivers/pinctrl/qcom/pinctrl-sm6350-lpass-lpi.c | 149 ++++++++++++++++++++++++\n 3 files changed, 159 insertions(+)","diff":"diff --git a/drivers/pinctrl/qcom/Kconfig b/drivers/pinctrl/qcom/Kconfig\nindex 80af372a1147..ea7e10149e47 100644\n--- a/drivers/pinctrl/qcom/Kconfig\n+++ b/drivers/pinctrl/qcom/Kconfig\n@@ -118,6 +118,15 @@ config PINCTRL_SM6115_LPASS_LPI\n \t  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI\n \t  (Low Power Island) found on the Qualcomm Technologies Inc SM6115 platform.\n \n+config PINCTRL_SM6350_LPASS_LPI\n+\ttristate \"Qualcomm Technologies Inc SM6350 LPASS LPI pin controller driver\"\n+\tdepends on ARM64 || COMPILE_TEST\n+\tdepends on PINCTRL_LPASS_LPI\n+\thelp\n+\t  This is the pinctrl, pinmux, pinconf and gpiolib driver for the\n+\t  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI\n+\t  (Low Power Island) found on the Qualcomm Technologies Inc SM6350 platform.\n+\n config PINCTRL_SM8250_LPASS_LPI\n \ttristate \"Qualcomm Technologies Inc SM8250 LPASS LPI pin controller driver\"\n \tdepends on ARM64 || COMPILE_TEST\ndiff --git a/drivers/pinctrl/qcom/Makefile b/drivers/pinctrl/qcom/Makefile\nindex 84bda3ada874..94e23a66ca3e 100644\n--- a/drivers/pinctrl/qcom/Makefile\n+++ b/drivers/pinctrl/qcom/Makefile\n@@ -63,6 +63,7 @@ obj-$(CONFIG_PINCTRL_SM6115) += pinctrl-sm6115.o\n obj-$(CONFIG_PINCTRL_SM6115_LPASS_LPI) += pinctrl-sm6115-lpass-lpi.o\n obj-$(CONFIG_PINCTRL_SM6125) += pinctrl-sm6125.o\n obj-$(CONFIG_PINCTRL_SM6350) += pinctrl-sm6350.o\n+obj-$(CONFIG_PINCTRL_SM6350_LPASS_LPI) += pinctrl-sm6350-lpass-lpi.o\n obj-$(CONFIG_PINCTRL_SM6375) += pinctrl-sm6375.o\n obj-$(CONFIG_PINCTRL_SM7150) += pinctrl-sm7150.o\n obj-$(CONFIG_PINCTRL_SM8150) += pinctrl-sm8150.o\ndiff --git a/drivers/pinctrl/qcom/pinctrl-sm6350-lpass-lpi.c b/drivers/pinctrl/qcom/pinctrl-sm6350-lpass-lpi.c\nnew file mode 100644\nindex 000000000000..4d06abcfedfd\n--- /dev/null\n+++ b/drivers/pinctrl/qcom/pinctrl-sm6350-lpass-lpi.c\n@@ -0,0 +1,149 @@\n+// SPDX-License-Identifier: GPL-2.0-only\n+/*\n+ * Copyright (c) 2026, Luca Weiss <luca.weiss@fairphone.com>\n+ */\n+\n+#include <linux/gpio/driver.h>\n+#include <linux/module.h>\n+#include <linux/platform_device.h>\n+\n+#include \"pinctrl-lpass-lpi.h\"\n+\n+enum lpass_lpi_functions {\n+\tLPI_MUX_dmic1_clk,\n+\tLPI_MUX_dmic1_data,\n+\tLPI_MUX_dmic2_clk,\n+\tLPI_MUX_dmic2_data,\n+\tLPI_MUX_dmic3_clk,\n+\tLPI_MUX_dmic3_data,\n+\tLPI_MUX_i2s1_clk,\n+\tLPI_MUX_i2s1_data,\n+\tLPI_MUX_i2s1_ws,\n+\tLPI_MUX_i2s2_clk,\n+\tLPI_MUX_i2s2_data,\n+\tLPI_MUX_i2s2_ws,\n+\tLPI_MUX_qua_mi2s_data,\n+\tLPI_MUX_qua_mi2s_sclk,\n+\tLPI_MUX_qua_mi2s_ws,\n+\tLPI_MUX_swr_rx_clk,\n+\tLPI_MUX_swr_rx_data,\n+\tLPI_MUX_swr_tx_clk,\n+\tLPI_MUX_swr_tx_data,\n+\tLPI_MUX_wsa_swr_clk,\n+\tLPI_MUX_wsa_swr_data,\n+\tLPI_MUX_gpio,\n+\tLPI_MUX__,\n+};\n+\n+static const struct pinctrl_pin_desc sm6350_lpi_pins[] = {\n+\tPINCTRL_PIN(0, \"gpio0\"),\n+\tPINCTRL_PIN(1, \"gpio1\"),\n+\tPINCTRL_PIN(2, \"gpio2\"),\n+\tPINCTRL_PIN(3, \"gpio3\"),\n+\tPINCTRL_PIN(4, \"gpio4\"),\n+\tPINCTRL_PIN(5, \"gpio5\"),\n+\tPINCTRL_PIN(6, \"gpio6\"),\n+\tPINCTRL_PIN(7, \"gpio7\"),\n+\tPINCTRL_PIN(8, \"gpio8\"),\n+\tPINCTRL_PIN(9, \"gpio9\"),\n+\tPINCTRL_PIN(10, \"gpio10\"),\n+\tPINCTRL_PIN(11, \"gpio11\"),\n+\tPINCTRL_PIN(12, \"gpio12\"),\n+\tPINCTRL_PIN(13, \"gpio13\"),\n+\tPINCTRL_PIN(14, \"gpio14\"),\n+};\n+\n+static const char * const swr_tx_clk_groups[] = { \"gpio0\" };\n+static const char * const swr_tx_data_groups[] = { \"gpio1\", \"gpio2\", \"gpio14\" };\n+static const char * const swr_rx_clk_groups[] = { \"gpio3\" };\n+static const char * const swr_rx_data_groups[] = { \"gpio4\", \"gpio5\" };\n+static const char * const dmic1_clk_groups[] = { \"gpio6\" };\n+static const char * const dmic1_data_groups[] = { \"gpio7\" };\n+static const char * const dmic2_clk_groups[] = { \"gpio8\" };\n+static const char * const dmic2_data_groups[] = { \"gpio9\" };\n+static const char * const i2s2_clk_groups[] = { \"gpio10\" };\n+static const char * const i2s2_ws_groups[] = { \"gpio11\" };\n+static const char * const dmic3_clk_groups[] = { \"gpio12\" };\n+static const char * const dmic3_data_groups[] = { \"gpio13\" };\n+static const char * const qua_mi2s_sclk_groups[] = { \"gpio0\" };\n+static const char * const qua_mi2s_ws_groups[] = { \"gpio1\" };\n+static const char * const qua_mi2s_data_groups[] = { \"gpio2\", \"gpio3\", \"gpio4\", \"gpio5\" };\n+static const char * const i2s1_clk_groups[] = { \"gpio6\" };\n+static const char * const i2s1_ws_groups[] = { \"gpio7\" };\n+static const char * const i2s1_data_groups[] = { \"gpio8\", \"gpio9\" };\n+static const char * const wsa_swr_clk_groups[] = { \"gpio10\" };\n+static const char * const wsa_swr_data_groups[] = { \"gpio11\" };\n+static const char * const i2s2_data_groups[] = { \"gpio12\", \"gpio13\" };\n+\n+static const struct lpi_pingroup sm6350_groups[] = {\n+\tLPI_PINGROUP(0, 0, swr_tx_clk, qua_mi2s_sclk, _, _),\n+\tLPI_PINGROUP(1, 2, swr_tx_data, qua_mi2s_ws, _, _),\n+\tLPI_PINGROUP(2, 4, swr_tx_data, qua_mi2s_data, _, _),\n+\tLPI_PINGROUP(3, 8, swr_rx_clk, qua_mi2s_data, _, _),\n+\tLPI_PINGROUP(4, 10, swr_rx_data, qua_mi2s_data, _, _),\n+\tLPI_PINGROUP(5, 12, swr_rx_data, _, qua_mi2s_data, _),\n+\tLPI_PINGROUP(6, LPI_NO_SLEW, dmic1_clk, i2s1_clk, _,  _),\n+\tLPI_PINGROUP(7, LPI_NO_SLEW, dmic1_data, i2s1_ws, _, _),\n+\tLPI_PINGROUP(8, LPI_NO_SLEW, dmic2_clk, i2s1_data, _, _),\n+\tLPI_PINGROUP(9, LPI_NO_SLEW, dmic2_data, i2s1_data, _, _),\n+\tLPI_PINGROUP(10, 16, i2s2_clk, wsa_swr_clk, _, _),\n+\tLPI_PINGROUP(11, 18, i2s2_ws, wsa_swr_data, _, _),\n+\tLPI_PINGROUP(12, LPI_NO_SLEW, dmic3_clk, i2s2_data, _, _),\n+\tLPI_PINGROUP(13, LPI_NO_SLEW, dmic3_data, i2s2_data, _, _),\n+\tLPI_PINGROUP_SLEW_SPARE_1(14, 0, swr_tx_data, _, _, _),\n+};\n+\n+static const struct lpi_function sm6350_functions[] = {\n+\tLPI_FUNCTION(dmic1_clk),\n+\tLPI_FUNCTION(dmic1_data),\n+\tLPI_FUNCTION(dmic2_clk),\n+\tLPI_FUNCTION(dmic2_data),\n+\tLPI_FUNCTION(dmic3_clk),\n+\tLPI_FUNCTION(dmic3_data),\n+\tLPI_FUNCTION(i2s1_clk),\n+\tLPI_FUNCTION(i2s1_data),\n+\tLPI_FUNCTION(i2s1_ws),\n+\tLPI_FUNCTION(i2s2_clk),\n+\tLPI_FUNCTION(i2s2_data),\n+\tLPI_FUNCTION(i2s2_ws),\n+\tLPI_FUNCTION(qua_mi2s_data),\n+\tLPI_FUNCTION(qua_mi2s_sclk),\n+\tLPI_FUNCTION(qua_mi2s_ws),\n+\tLPI_FUNCTION(swr_rx_clk),\n+\tLPI_FUNCTION(swr_rx_data),\n+\tLPI_FUNCTION(swr_tx_clk),\n+\tLPI_FUNCTION(swr_tx_data),\n+\tLPI_FUNCTION(wsa_swr_clk),\n+\tLPI_FUNCTION(wsa_swr_data),\n+};\n+\n+static const struct lpi_pinctrl_variant_data sm6350_lpi_data = {\n+\t.pins = sm6350_lpi_pins,\n+\t.npins = ARRAY_SIZE(sm6350_lpi_pins),\n+\t.groups = sm6350_groups,\n+\t.ngroups = ARRAY_SIZE(sm6350_groups),\n+\t.functions = sm6350_functions,\n+\t.nfunctions = ARRAY_SIZE(sm6350_functions),\n+};\n+\n+static const struct of_device_id lpi_pinctrl_of_match[] = {\n+\t{\n+\t       .compatible = \"qcom,sm6350-lpass-lpi-pinctrl\",\n+\t       .data = &sm6350_lpi_data,\n+\t},\n+\t{ }\n+};\n+MODULE_DEVICE_TABLE(of, lpi_pinctrl_of_match);\n+\n+static struct platform_driver lpi_pinctrl_driver = {\n+\t.driver = {\n+\t\t   .name = \"qcom-sm6350-lpass-lpi-pinctrl\",\n+\t\t   .of_match_table = lpi_pinctrl_of_match,\n+\t},\n+\t.probe = lpi_pinctrl_probe,\n+\t.remove = lpi_pinctrl_remove,\n+};\n+\n+module_platform_driver(lpi_pinctrl_driver);\n+MODULE_DESCRIPTION(\"Qualcomm SM6350 LPI GPIO pin control driver\");\n+MODULE_LICENSE(\"GPL\");\n","prefixes":["v2","3/5"]}