From nobody Tue Feb 10 12:57:24 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5F3E11D86FF for ; Sun, 28 Dec 2025 17:01:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766941298; cv=none; b=QKLi3gsCH/pnp5WWDdDIDst8iK/gFrqWfVnwS6ne8OrdvYwujp8Cua4VaV5KNc5th6j5cwhkOBUjNYDqihXU3jv7/kmY/uhUubvM8abBvQiW/3lfGLt7yYMknz6esj+eDshepyX/dOByFvwRmlPO5/+j+CJKi0Jn13fuL6Oee7o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766941298; c=relaxed/simple; bh=Z3Uvt1g22UCAzzm9Ye5G+m0KkYhJ6zD99kCW5R0yLXs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fPFjjp20cHUyA5tjjwa/0wHobeBgCgL4rqMYHld72JIzRRi2xNPFJosKKPk+TjvKnL6vZm1BDzswHfLoGZOVz6NsEV4ue3UaBuF9ie69fgM/PKDcH73ISGqUTTtlK+Lser13zSo9pK6RIW6HAGtaHvqa/wFYSVoFB3Co3pBOAQ0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=OxIe5rbp; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=O08UfKTK; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="OxIe5rbp"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="O08UfKTK" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BS4pQvC1940873 for ; Sun, 28 Dec 2025 17:01:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= EgkVy6DtzgeepUjDzeDturVG3Tl9T2Q5JP6w6jnsXWk=; b=OxIe5rbp2AI8i7+J sleeImxYtFB3KisFURIXpg9dmVXd4NIXyRYm0tQJ5b48Hn0bowHUTIKrkZYveCir nYoggDNWbkg+78ugS03nRjCLWajSISquA4pA4JAkfiDbh/ZFzjb+R2dmvoSZSUIN NMyJjDm/ROaw61QVK06iQ0c/OYldcJesoP4oVJzWxobvYBNslwT8IDlCkBnPp9zG uOJMW5vppnC+tCKeXGfJo0HfilqH0H2CId8joKYbv+cN5TUGrNDXXdscYSke6qwP Bu7g96MuPfLHbDEqcoMmePWlhBKQpvV1YdSF8ONIwdfEv006lzMfJngDBHmiMSqZ PItqRQ== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ba87btf11-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 28 Dec 2025 17:01:34 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-29f25e494c2so96745615ad.0 for ; Sun, 28 Dec 2025 09:01:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766941294; x=1767546094; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=EgkVy6DtzgeepUjDzeDturVG3Tl9T2Q5JP6w6jnsXWk=; b=O08UfKTKll9pgju0XhcdemHNR+SJftZieUdJata09mygTNMNtqCIDxU4nLg4uOroR5 WFZrkHf2jDWC5yLxO2JWehU02kzIUEksnAqasv7Z/Eb2Y3vfISh5uQAvkycvxFrtXDWK vfVUB+fsaD0pegaJRyKwjJS9gFmYi9JYGicPqgK2rFOIiSZBM3yO6Z5dTcW96mop0DpX JQl0foKVNPlhizh2Hpw2+QjDbGYURURE4XJXF/BNOxfyKS95sHjCDzFgGx7zjK7WpXci KR3sizDPZ+h5pzwt7J9yI3JuxT1VBrxbYJ/NolkViUQer6r0xBM8esqUJ4uhtD8l4EOe 7cag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766941294; x=1767546094; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=EgkVy6DtzgeepUjDzeDturVG3Tl9T2Q5JP6w6jnsXWk=; b=SY006wvzUcTywLCT1VqJiLSczh6dQWQKZ2n4a4pJml4ctNg5F5t20+/LMq/4khYH5/ GIAN98DHxQt4AZ/NkLeQ3KdnbVCSWdhYsF6+SbjOmqX8tJntyQwQWnR8yEn67aLU6bTX XH2HctSu7+sjoSmIRiQyiR03b8nb0XsOvPV04Nypo43033IXgGF6G5PcmmflXWsD9LhJ AAFej2wkBrNRqPO13+pgw8jztaTSABYosqsmmWhr7Q5asPkw350fXe/a26C3YjBoTtBC CDCtjpYTkpJjCa2LbSx0BorktdwrzsPiFWXXd+4PWxXm0vgEqoZ64rKdMrlWNxVZtRkX w3lw== X-Gm-Message-State: AOJu0YxUp4GuaYC1X/Jv3SabBSNV1cDRgPIltUFVON/CsZDdoLedNFXA 6GMsxMTabvgq0nPE63pDxHPhDg6EAciLcWDOP8Ib9rcWKDu/aWLqfZ4N1mBPUE3lp7RtGW1H9M0 B4h7+R4w3BBrjoSfIgYa4UNvFzq4mES8NEzYOHcB3vIadt/w+ouhSvf0Kxo0l/VTWN8vzt7yNmR g= X-Gm-Gg: AY/fxX61rVddQyLAipCgWU14nGpRUr+6P+K3QOd0v9yioq6OC/WurJujl5PXbYOx2F6 Av3qU4bbyF57Ny3tXk1bNoyoIb95nPAQu5c830WDcXbmbstMQgz1BlprZaHXUezX+E2+9lwbprY yO0gA5uHADp/VspIku8LYxWIX4EuATtJmOlgP/HG9M7+XO8uEnjKPCL/gJ6cu5rw22eBEQBIBCw BgLoYQtqhPBmu6I8YsQL5X+Gr2npVHkzjR5ZiUePgU/knt3qna2SHhCf015EtgDcODRub49nvBm pm0jFmFiL5ecNlCCYLwJmyTpdpY9LYkdTpNAFwW0gd4Cwi6dKFjeL/vzTKnOUrTSBoxTDOCHGJS bmm8W7jB2DMI8EIQaGMK3mPruXcy46Tq2B0M= X-Received: by 2002:a17:902:f641:b0:2a0:acdb:ce0c with SMTP id d9443c01a7336-2a2f0d5e6b6mr328165605ad.29.1766941291494; Sun, 28 Dec 2025 09:01:31 -0800 (PST) X-Google-Smtp-Source: AGHT+IFkVDTis+MO+jJ2XVc11RH1dUAvWYZWPtIZDBfV3hoUR9sZUoKcqO5XGZRumnuBx6nmZp35pg== X-Received: by 2002:a17:902:f641:b0:2a0:acdb:ce0c with SMTP id d9443c01a7336-2a2f0d5e6b6mr328165215ad.29.1766941290854; Sun, 28 Dec 2025 09:01:30 -0800 (PST) Received: from work.lan ([2409:4091:a0f4:6806:90aa:5191:e297:e185]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7ff7ae354easm27053925b3a.16.2025.12.28.09.01.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Dec 2025 09:01:30 -0800 (PST) From: Manivannan Sadhasivam Date: Sun, 28 Dec 2025 22:31:02 +0530 Subject: [PATCH v4 2/5] dt-bindings: connector: Add PCIe M.2 Mechanical Key M connector Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251228-pci-m2-v4-2-5684868b0d5f@oss.qualcomm.com> References: <20251228-pci-m2-v4-0-5684868b0d5f@oss.qualcomm.com> In-Reply-To: <20251228-pci-m2-v4-0-5684868b0d5f@oss.qualcomm.com> To: Bjorn Helgaas , Manivannan Sadhasivam , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bartosz Golaszewski , Damien Le Moal , Niklas Cassel , Linus Walleij , Bartosz Golaszewski Cc: linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, Stephan Gerhold , Dmitry Baryshkov , linux-pm@vger.kernel.org, linux-ide@vger.kernel.org, Manivannan Sadhasivam , Frank Li X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=5734; i=manivannan.sadhasivam@oss.qualcomm.com; h=from:subject:message-id; bh=Z3Uvt1g22UCAzzm9Ye5G+m0KkYhJ6zD99kCW5R0yLXs=; b=owEBbQGS/pANAwAKAVWfEeb+kc71AcsmYgBpUWJZBBU6idHrl067Trml1v/iED+hvBV/J/neZ FwbwrikFlKJATMEAAEKAB0WIQRnpUMqgUjL2KRYJ5dVnxHm/pHO9QUCaVFiWQAKCRBVnxHm/pHO 9bDyCACj9sp74ccPzpkJ1IG4951rGuWl8afBwQGBEi4fAyDDMKJv57y9xb2r3E4ZhIys7s22zjT DvdKi6U+IHgpnE5DOWQCjEuWm79P/Gfx+/juIaTkCbC8JXmzFMbfdyiNKgYhHoIKUpXSvA++3kq J6qKuqASYnaMz7hlXKUsU5KHPL/Z9bHUIVX+Z/mQju/dAXsblt96Nd55mfsKgc4LfvxzsqkOTJj AuA5VUMfteeSv2DHO2PHP/kjK09m7sy3dBcwyNwk2GLqg8RW57J9vFsGq3X+YN3vyKNnVwWJewe 9j0czX0BdzpmH8hDO3DmYgLPw3qgUsRxjEi6kJBbhIFB+CMe X-Developer-Key: i=manivannan.sadhasivam@oss.qualcomm.com; a=openpgp; fpr=C668AEC3C3188E4C611465E7488550E901166008 X-Proofpoint-ORIG-GUID: SF6aPiDQR3uN43S4AJwIsPTxj08XSxC1 X-Proofpoint-GUID: SF6aPiDQR3uN43S4AJwIsPTxj08XSxC1 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjI4MDE1NiBTYWx0ZWRfX2m9JV4BtjrQU BAzbTQDfzEGsQ3DoPYfAkkt816bXD5sSRHEoXyuNyL3meVwgJ0FAE0k8/ajZl1oxCHd5PX1TEWX g/faUJYHh4f+DMqCbGu4eUxxC9fMkW2DDJ/8D837C8p3uZsNgF/irEnUWhay5eZPXZm0lqIHKkX t12hBZOH1elboetb3OvnlJCzwtRnxkerjY5W03RnzTgRxBw8yA8kOu+74U5wDdG7egKm3dbukw8 f1bWITqOO3wrsxrQAUvGWWRb5mtxilK1Gm6iKOoOE8cfPMTAU4+uIIMPOnTIE+3kk1UqPeTP7uy olYdktSyIJb9GqcqF8hz27boivv5wJp+gPeCiReWZ8TLYf5mSGTAE7TsakZpL+u6CicJd0sE2Y8 S6jgQEl+C4lpV9H5iD/m0o0oGmhbTRjuAXGAPNAFqHs8XQPBZB9leZVfMzNtcYMQ/LueywjBetw pCGAwUY+sZNqEdnOfnQ== X-Authority-Analysis: v=2.4 cv=do7Wylg4 c=1 sm=1 tr=0 ts=6951626e cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=gEfo2CItAAAA:8 a=8AirrxEcAAAA:8 a=EUspDBNiAAAA:8 a=wQxqEM7SeJhtJFFEbD4A:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 a=sptkURWiP4Gy88Gu7hUp:22 a=ST-jHhOKWsTCqRlWije3:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-28_06,2025-12-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 adultscore=0 spamscore=0 suspectscore=0 phishscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512280156 Add the devicetree binding for PCIe M.2 Mechanical Key M connector defined in the PCI Express M.2 Specification, r4.0, sec 5.3. This connector provides interfaces like PCIe and SATA to attach the Solid State Drives (SSDs) to the host machine along with additional interfaces like USB, and SMBus for debugging and supplementary features. At any point of time, the connector can only support either PCIe or SATA as the primary host interface. The connector provides a primary power supply of 3.3v, along with an optional 1.8v VIO supply for the Adapter I/O buffer circuitry operating at 1.8v sideband signaling. The connector also supplies optional signals in the form of GPIOs for fine grained power management. Reviewed-by: Frank Li Signed-off-by: Manivannan Sadhasivam --- .../bindings/connector/pcie-m2-m-connector.yaml | 133 +++++++++++++++++= ++++ 1 file changed, 133 insertions(+) diff --git a/Documentation/devicetree/bindings/connector/pcie-m2-m-connecto= r.yaml b/Documentation/devicetree/bindings/connector/pcie-m2-m-connector.ya= ml new file mode 100644 index 000000000000..e912ee6f6a59 --- /dev/null +++ b/Documentation/devicetree/bindings/connector/pcie-m2-m-connector.yaml @@ -0,0 +1,133 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/connector/pcie-m2-m-connector.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: PCIe M.2 Mechanical Key M Connector + +maintainers: + - Manivannan Sadhasivam + +description: + A PCIe M.2 M connector node represents a physical PCIe M.2 Mechanical Ke= y M + connector. The Mechanical Key M connectors are used to connect SSDs to t= he + host system over PCIe/SATA interfaces. These connectors also offer optio= nal + interfaces like USB, SMBus. + +properties: + compatible: + const: pcie-m2-m-connector + + vpcie3v3-supply: + description: A phandle to the regulator for 3.3v supply. + + vpcie1v8-supply: + description: A phandle to the regulator for VIO 1.8v supply. + + ports: + $ref: /schemas/graph.yaml#/properties/ports + description: OF graph bindings modeling the interfaces exposed on the + connector. Since a single connector can have multiple interfaces, ev= ery + interface has an assigned OF graph port number as described below. + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: Host interfaces of the connector + + properties: + endpoint@0: + $ref: /schemas/graph.yaml#/properties/endpoint + description: PCIe interface + + endpoint@1: + $ref: /schemas/graph.yaml#/properties/endpoint + description: SATA interface + + anyOf: + - required: + - endpoint@0 + - required: + - endpoint@1 + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: USB 2.0 interface + + i2c-parent: + $ref: /schemas/types.yaml#/definitions/phandle + description: SMBus interface + + required: + - port@0 + + clocks: + description: 32.768 KHz Suspend Clock (SUSCLK) input from the host sys= tem to + the M.2 card. Refer, PCI Express M.2 Specification r4.0, sec 3.1.12.= 1 for + more details. + maxItems: 1 + + pedet-gpios: + description: GPIO input to PEDET signal. This signal is used by the ho= st + systems to determine the communication protocol that the M.2 card us= es; + SATA signaling (low) or PCIe signaling (high). Refer, PCI Express M.2 + Specification r4.0, sec 3.3.4.2 for more details. + maxItems: 1 + + viocfg-gpios: + description: GPIO output to IO voltage configuration (VIO_CFG) signal.= This + signal is used by the M.2 card to indicate to the host system that t= he + card supports an independent IO voltage domain for the sideband sign= als. + Refer, PCI Express M.2 Specification r4.0, sec 3.1.15.1 for more det= ails. + maxItems: 1 + + pwrdis-gpios: + description: GPIO input to Power Disable (PWRDIS) signal. This signal = is + used by the host system to disable power on the M.2 card. Refer, PCI + Express M.2 Specification r4.0, sec 3.3.5.2 for more details. + maxItems: 1 + + pln-gpios: + description: GPIO output to Power Loss Notification (PLN#) signal. This + signal is use to notify the M.2 card by the host system that the pow= er + loss event is expected to occur. Refer, PCI Express M.2 Specification + r4.0, sec 3.2.17.1 for more details. + maxItems: 1 + + plas3-gpios: + description: GPIO output to Power Loss Acknowledge (PLA_S3#) signal. T= his + signal is used by the M.2 card to notify the host system, the status= of + the M.2 card's preparation for power loss. + maxItems: 1 + +required: + - compatible + - vpcie3v3-supply + +additionalProperties: false + +examples: + # PCI M.2 Key M connector for SSDs with PCIe interface + - | + connector { + compatible =3D "pcie-m2-m-connector"; + vpcie3v3-supply =3D <&vreg_nvme>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + #address-cells =3D <1>; + #size-cells =3D <0>; + + reg =3D <0>; + + endpoint@0 { + reg =3D <0>; + remote-endpoint =3D <&pcie6_port0_ep>; + }; + }; + }; + }; --=20 2.48.1