From: Rob Herring <robh@kernel.org>
To: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
Manivannan Sadhasivam <mani@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Bartosz Golaszewski <brgl@bgdev.pl>,
Damien Le Moal <dlemoal@kernel.org>,
Niklas Cassel <cassel@kernel.org>,
Linus Walleij <linus.walleij@linaro.org>,
Bartosz Golaszewski <brgl@kernel.org>,
linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org,
Stephan Gerhold <stephan.gerhold@linaro.org>,
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
linux-pm@vger.kernel.org, linux-ide@vger.kernel.org,
Frank Li <Frank.Li@nxp.com>
Subject: Re: [PATCH v5 2/5] dt-bindings: connector: Add PCIe M.2 Mechanical Key M connector
Date: Tue, 13 Jan 2026 10:37:33 -0600 [thread overview]
Message-ID: <20260113163733.GA3743579-robh@kernel.org> (raw)
In-Reply-To: <20260107-pci-m2-v5-2-8173d8a72641@oss.qualcomm.com>
On Wed, Jan 07, 2026 at 07:41:24PM +0530, Manivannan Sadhasivam wrote:
> 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.
>
> 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 <Frank.Li@nxp.com>
> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
> ---
> .../bindings/connector/pcie-m2-m-connector.yaml | 133 +++++++++++++++++++++
> 1 file changed, 133 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/connector/pcie-m2-m-connector.yaml b/Documentation/devicetree/bindings/connector/pcie-m2-m-connector.yaml
> 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 <manivannan.sadhasivam@oss.qualcomm.com>
> +
> +description:
> + A PCIe M.2 M connector node represents a physical PCIe M.2 Mechanical Key M
> + connector. The Mechanical Key M connectors are used to connect SSDs to the
> + host system over PCIe/SATA interfaces. These connectors also offer optional
> + 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, every
> + 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
This belongs outside of 'ports'. I would expect you'd get an error if
you tried to put it here as '/schemas/graph.yaml#/properties/ports'
shouldn't allow it. Please include the property in the example.
> +
> + required:
> + - port@0
> +
> + clocks:
> + description: 32.768 KHz Suspend Clock (SUSCLK) input from the host system 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 host
> + systems to determine the communication protocol that the M.2 card uses;
> + 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 the
> + card supports an independent IO voltage domain for the sideband signals.
> + Refer, PCI Express M.2 Specification r4.0, sec 3.1.15.1 for more details.
> + 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 power
> + 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. This
GPIO input?
> + 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
All the GPIOs are really optional?
> +
> +additionalProperties: false
> +
> +examples:
> + # PCI M.2 Key M connector for SSDs with PCIe interface
> + - |
> + connector {
> + compatible = "pcie-m2-m-connector";
> + vpcie3v3-supply = <&vreg_nvme>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + reg = <0>;
> +
> + endpoint@0 {
> + reg = <0>;
> + remote-endpoint = <&pcie6_port0_ep>;
> + };
Please make the example as complete as possible.
> + };
> + };
> + };
>
> --
> 2.48.1
>
next prev parent reply other threads:[~2026-01-13 16:37 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-07 14:11 [PATCH v5 0/5] PCI: Add initial support for handling PCIe M.2 connectors in devicetree Manivannan Sadhasivam
2026-01-07 14:11 ` Manivannan Sadhasivam via B4 Relay
2026-01-07 14:11 ` [PATCH v5 1/5] dt-bindings: ata: sata: Document the graph port Manivannan Sadhasivam
2026-01-07 14:11 ` Manivannan Sadhasivam via B4 Relay
2026-01-13 16:37 ` Rob Herring (Arm)
2026-01-14 10:31 ` Damien Le Moal
2026-01-07 14:11 ` [PATCH v5 2/5] dt-bindings: connector: Add PCIe M.2 Mechanical Key M connector Manivannan Sadhasivam
2026-01-07 14:11 ` Manivannan Sadhasivam via B4 Relay
2026-01-13 16:37 ` Rob Herring [this message]
2026-01-13 16:48 ` Manivannan Sadhasivam
2026-01-07 14:11 ` [PATCH v5 3/5] PCI/pwrctrl: Add support for handling PCIe M.2 connectors Manivannan Sadhasivam
2026-01-07 14:11 ` Manivannan Sadhasivam via B4 Relay
2026-01-07 14:11 ` [PATCH v5 4/5] PCI/pwrctrl: Create pwrctrl device if the graph port is found Manivannan Sadhasivam
2026-01-07 14:11 ` Manivannan Sadhasivam via B4 Relay
2026-01-07 14:11 ` [PATCH v5 5/5] power: sequencing: Add the Power Sequencing driver for the PCIe M.2 connectors Manivannan Sadhasivam
2026-01-07 14:11 ` Manivannan Sadhasivam via B4 Relay
2026-01-08 12:15 ` Bartosz Golaszewski
2026-01-09 6:02 ` Manivannan Sadhasivam
2026-01-09 8:24 ` Bartosz Golaszewski
2026-01-09 9:02 ` Damien Le Moal
2026-01-12 7:58 ` Manivannan Sadhasivam
2026-01-07 14:36 ` [PATCH v5 0/5] PCI: Add initial support for handling PCIe M.2 connectors in devicetree Niklas Cassel
2026-01-07 16:48 ` Manivannan Sadhasivam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260113163733.GA3743579-robh@kernel.org \
--to=robh@kernel.org \
--cc=Frank.Li@nxp.com \
--cc=bhelgaas@google.com \
--cc=brgl@bgdev.pl \
--cc=brgl@kernel.org \
--cc=cassel@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlemoal@kernel.org \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=krzk+dt@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mani@kernel.org \
--cc=manivannan.sadhasivam@oss.qualcomm.com \
--cc=stephan.gerhold@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.