From: Kartik Rajput <kkartik@nvidia.com>
To: Vinod Koul <vkoul@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Manivannan Sadhasivam <mani@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Thierry Reding <thierry.reding@kernel.org>,
Jonathan Hunter <jonathanh@nvidia.com>,
Philipp Zabel <p.zabel@pengutronix.de>
Cc: Thierry Reding <treding@nvidia.com>,
<linux-phy@lists.infradead.org>, <devicetree@vger.kernel.org>,
<linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
Kartik Rajput <kkartik@nvidia.com>
Subject: [PATCH 1/2] dt-bindings: phy: Add nvidia,tegra264-mphy
Date: Wed, 9 Sep 2026 15:13:58 +0530 [thread overview]
Message-ID: <20260909-tegra264-mphy-v1-1-ce61a80dc065@nvidia.com> (raw)
In-Reply-To: <20260909-tegra264-mphy-v1-0-ce61a80dc065@nvidia.com>
Add binding for the MIPI M-PHY on NVIDIA Tegra264 SoCs. The M-PHY is
a hardware block with two lanes, l0 and l1, used by the Tegra264 UFS
host controller.
Signed-off-by: Kartik Rajput <kkartik@nvidia.com>
---
.../bindings/phy/nvidia,tegra264-mphy.yaml | 108 +++++++++++++++++++++
include/dt-bindings/phy/nvidia,tegra264-mphy.h | 12 +++
2 files changed, 120 insertions(+)
diff --git a/Documentation/devicetree/bindings/phy/nvidia,tegra264-mphy.yaml b/Documentation/devicetree/bindings/phy/nvidia,tegra264-mphy.yaml
new file mode 100644
index 000000000000..e2fb368e4a39
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/nvidia,tegra264-mphy.yaml
@@ -0,0 +1,108 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/phy/nvidia,tegra264-mphy.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NVIDIA Tegra264 MIPI M-PHY
+
+maintainers:
+ - Kartik Rajput <kkartik@nvidia.com>
+ - Thierry Reding <treding@nvidia.com>
+
+properties:
+ compatible:
+ const: nvidia,tegra264-mphy
+
+ reg:
+ items:
+ - description: Lane 0 register window
+ - description: Lane 1 register window
+
+ reg-names:
+ items:
+ - const: l0
+ - const: l1
+
+ clocks:
+ maxItems: 11
+
+ clock-names:
+ items:
+ - const: pll
+ - const: tx-ref
+ - const: l0-tx-sym
+ - const: l0-tx-ls
+ - const: l0-tx-hs
+ - const: l0-tx-fifo
+ - const: l0-rx-sym
+ - const: l0-rx-ana
+ - const: l0-rx-ls
+ - const: l0-rx-hs
+ - const: l1-rx-ana
+
+ resets:
+ maxItems: 5
+
+ reset-names:
+ items:
+ - const: clk-ctl
+ - const: l0-rx
+ - const: l0-tx
+ - const: l1-rx
+ - const: l1-tx
+
+ '#phy-cells':
+ description: |
+ The cell selects one M-PHY lane direction. Valid values are defined in
+ <dt-bindings/phy/nvidia,tegra264-mphy.h>: TEGRA_MPHY_L0_TX, TEGRA_MPHY_L0_RX,
+ TEGRA_MPHY_L1_TX and TEGRA_MPHY_L1_RX.
+ const: 1
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - clocks
+ - clock-names
+ - resets
+ - reset-names
+ - '#phy-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/nvidia,tegra264.h>
+ #include <dt-bindings/reset/nvidia,tegra264.h>
+ #include <dt-bindings/phy/nvidia,tegra264-mphy.h>
+
+ mphy: phy@b910000 {
+ compatible = "nvidia,tegra264-mphy";
+ reg = <0xb910000 0x10000>,
+ <0xb920000 0x10000>;
+ reg-names = "l0", "l1";
+ clocks = <&bpmp TEGRA264_CLK_MPHY_CORE_PLL_FIXED>,
+ <&bpmp TEGRA264_CLK_MPHY_TX_1MHZ_REF>,
+ <&bpmp TEGRA264_CLK_MPHY_L0_TX_SYMB>,
+ <&bpmp TEGRA264_CLK_MPHY_L0_TX_LS_3XBIT>,
+ <&bpmp TEGRA264_CLK_MPHY_L0_TX_HS_SYMB_DIV>,
+ <&bpmp TEGRA264_CLK_MPHY_L0_UPHY_TX_FIFO>,
+ <&bpmp TEGRA264_CLK_MPHY_L0_RX_SYMB>,
+ <&bpmp TEGRA264_CLK_MPHY_L0_RX_ANA>,
+ <&bpmp TEGRA264_CLK_MPHY_L0_RX_LS_BIT>,
+ <&bpmp TEGRA264_CLK_MPHY_L0_RX_HS_SYMB_DIV>,
+ <&bpmp TEGRA264_CLK_MPHY_L1_RX_ANA>;
+ clock-names = "pll", "tx-ref",
+ "l0-tx-sym", "l0-tx-ls", "l0-tx-hs", "l0-tx-fifo",
+ "l0-rx-sym", "l0-rx-ana", "l0-rx-ls", "l0-rx-hs",
+ "l1-rx-ana";
+ resets = <&bpmp TEGRA264_RESET_MPHY_CLK_CTL>,
+ <&bpmp TEGRA264_RESET_MPHY_L0_RX>,
+ <&bpmp TEGRA264_RESET_MPHY_L0_TX>,
+ <&bpmp TEGRA264_RESET_MPHY_L1_RX>,
+ <&bpmp TEGRA264_RESET_MPHY_L1_TX>;
+ reset-names = "clk-ctl", "l0-rx", "l0-tx", "l1-rx", "l1-tx";
+ #phy-cells = <1>;
+ };
+...
diff --git a/include/dt-bindings/phy/nvidia,tegra264-mphy.h b/include/dt-bindings/phy/nvidia,tegra264-mphy.h
new file mode 100644
index 000000000000..e9e253cdf9ae
--- /dev/null
+++ b/include/dt-bindings/phy/nvidia,tegra264-mphy.h
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
+/* Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. */
+
+#ifndef DT_BINDINGS_PHY_NVIDIA_TEGRA264_MPHY_H
+#define DT_BINDINGS_PHY_NVIDIA_TEGRA264_MPHY_H
+
+#define TEGRA_MPHY_L0_TX 0
+#define TEGRA_MPHY_L0_RX 1
+#define TEGRA_MPHY_L1_TX 2
+#define TEGRA_MPHY_L1_RX 3
+
+#endif /* DT_BINDINGS_PHY_NVIDIA_TEGRA264_MPHY_H */
--
2.43.0
WARNING: multiple messages have this Message-ID (diff)
From: Kartik Rajput <kkartik@nvidia.com>
To: Vinod Koul <vkoul@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Manivannan Sadhasivam <mani@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Thierry Reding <thierry.reding@kernel.org>,
Jonathan Hunter <jonathanh@nvidia.com>,
Philipp Zabel <p.zabel@pengutronix.de>
Cc: Thierry Reding <treding@nvidia.com>,
<linux-phy@lists.infradead.org>, <devicetree@vger.kernel.org>,
<linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
Kartik Rajput <kkartik@nvidia.com>
Subject: [PATCH 1/2] dt-bindings: phy: Add nvidia,tegra264-mphy
Date: Wed, 9 Sep 2026 15:13:58 +0530 [thread overview]
Message-ID: <20260909-tegra264-mphy-v1-1-ce61a80dc065@nvidia.com> (raw)
In-Reply-To: <20260909-tegra264-mphy-v1-0-ce61a80dc065@nvidia.com>
Add binding for the MIPI M-PHY on NVIDIA Tegra264 SoCs. The M-PHY is
a hardware block with two lanes, l0 and l1, used by the Tegra264 UFS
host controller.
Signed-off-by: Kartik Rajput <kkartik@nvidia.com>
---
.../bindings/phy/nvidia,tegra264-mphy.yaml | 108 +++++++++++++++++++++
include/dt-bindings/phy/nvidia,tegra264-mphy.h | 12 +++
2 files changed, 120 insertions(+)
diff --git a/Documentation/devicetree/bindings/phy/nvidia,tegra264-mphy.yaml b/Documentation/devicetree/bindings/phy/nvidia,tegra264-mphy.yaml
new file mode 100644
index 000000000000..e2fb368e4a39
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/nvidia,tegra264-mphy.yaml
@@ -0,0 +1,108 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/phy/nvidia,tegra264-mphy.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NVIDIA Tegra264 MIPI M-PHY
+
+maintainers:
+ - Kartik Rajput <kkartik@nvidia.com>
+ - Thierry Reding <treding@nvidia.com>
+
+properties:
+ compatible:
+ const: nvidia,tegra264-mphy
+
+ reg:
+ items:
+ - description: Lane 0 register window
+ - description: Lane 1 register window
+
+ reg-names:
+ items:
+ - const: l0
+ - const: l1
+
+ clocks:
+ maxItems: 11
+
+ clock-names:
+ items:
+ - const: pll
+ - const: tx-ref
+ - const: l0-tx-sym
+ - const: l0-tx-ls
+ - const: l0-tx-hs
+ - const: l0-tx-fifo
+ - const: l0-rx-sym
+ - const: l0-rx-ana
+ - const: l0-rx-ls
+ - const: l0-rx-hs
+ - const: l1-rx-ana
+
+ resets:
+ maxItems: 5
+
+ reset-names:
+ items:
+ - const: clk-ctl
+ - const: l0-rx
+ - const: l0-tx
+ - const: l1-rx
+ - const: l1-tx
+
+ '#phy-cells':
+ description: |
+ The cell selects one M-PHY lane direction. Valid values are defined in
+ <dt-bindings/phy/nvidia,tegra264-mphy.h>: TEGRA_MPHY_L0_TX, TEGRA_MPHY_L0_RX,
+ TEGRA_MPHY_L1_TX and TEGRA_MPHY_L1_RX.
+ const: 1
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - clocks
+ - clock-names
+ - resets
+ - reset-names
+ - '#phy-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/nvidia,tegra264.h>
+ #include <dt-bindings/reset/nvidia,tegra264.h>
+ #include <dt-bindings/phy/nvidia,tegra264-mphy.h>
+
+ mphy: phy@b910000 {
+ compatible = "nvidia,tegra264-mphy";
+ reg = <0xb910000 0x10000>,
+ <0xb920000 0x10000>;
+ reg-names = "l0", "l1";
+ clocks = <&bpmp TEGRA264_CLK_MPHY_CORE_PLL_FIXED>,
+ <&bpmp TEGRA264_CLK_MPHY_TX_1MHZ_REF>,
+ <&bpmp TEGRA264_CLK_MPHY_L0_TX_SYMB>,
+ <&bpmp TEGRA264_CLK_MPHY_L0_TX_LS_3XBIT>,
+ <&bpmp TEGRA264_CLK_MPHY_L0_TX_HS_SYMB_DIV>,
+ <&bpmp TEGRA264_CLK_MPHY_L0_UPHY_TX_FIFO>,
+ <&bpmp TEGRA264_CLK_MPHY_L0_RX_SYMB>,
+ <&bpmp TEGRA264_CLK_MPHY_L0_RX_ANA>,
+ <&bpmp TEGRA264_CLK_MPHY_L0_RX_LS_BIT>,
+ <&bpmp TEGRA264_CLK_MPHY_L0_RX_HS_SYMB_DIV>,
+ <&bpmp TEGRA264_CLK_MPHY_L1_RX_ANA>;
+ clock-names = "pll", "tx-ref",
+ "l0-tx-sym", "l0-tx-ls", "l0-tx-hs", "l0-tx-fifo",
+ "l0-rx-sym", "l0-rx-ana", "l0-rx-ls", "l0-rx-hs",
+ "l1-rx-ana";
+ resets = <&bpmp TEGRA264_RESET_MPHY_CLK_CTL>,
+ <&bpmp TEGRA264_RESET_MPHY_L0_RX>,
+ <&bpmp TEGRA264_RESET_MPHY_L0_TX>,
+ <&bpmp TEGRA264_RESET_MPHY_L1_RX>,
+ <&bpmp TEGRA264_RESET_MPHY_L1_TX>;
+ reset-names = "clk-ctl", "l0-rx", "l0-tx", "l1-rx", "l1-tx";
+ #phy-cells = <1>;
+ };
+...
diff --git a/include/dt-bindings/phy/nvidia,tegra264-mphy.h b/include/dt-bindings/phy/nvidia,tegra264-mphy.h
new file mode 100644
index 000000000000..e9e253cdf9ae
--- /dev/null
+++ b/include/dt-bindings/phy/nvidia,tegra264-mphy.h
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
+/* Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. */
+
+#ifndef DT_BINDINGS_PHY_NVIDIA_TEGRA264_MPHY_H
+#define DT_BINDINGS_PHY_NVIDIA_TEGRA264_MPHY_H
+
+#define TEGRA_MPHY_L0_TX 0
+#define TEGRA_MPHY_L0_RX 1
+#define TEGRA_MPHY_L1_TX 2
+#define TEGRA_MPHY_L1_RX 3
+
+#endif /* DT_BINDINGS_PHY_NVIDIA_TEGRA264_MPHY_H */
--
2.43.0
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
next prev parent reply other threads:[~2026-09-09 9:44 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-09 9:43 [PATCH 0/2] Add M-PHY support for NVIDIA Tegra264 Kartik Rajput
2026-09-09 9:43 ` Kartik Rajput
2026-09-09 9:43 ` Kartik Rajput [this message]
2026-09-09 9:43 ` [PATCH 1/2] dt-bindings: phy: Add nvidia,tegra264-mphy Kartik Rajput
2026-09-13 8:38 ` Krzysztof Kozlowski
2026-09-13 8:38 ` Krzysztof Kozlowski
2026-09-09 9:43 ` [PATCH 2/2] phy: tegra: Add Tegra264 MPHY driver Kartik Rajput
2026-09-09 9:43 ` Kartik Rajput
2026-09-09 9:54 ` sashiko-bot
2026-09-09 9:54 ` sashiko-bot
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=20260909-tegra264-mphy-v1-1-ce61a80dc065@nvidia.com \
--to=kkartik@nvidia.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jonathanh@nvidia.com \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-tegra@vger.kernel.org \
--cc=mani@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=p.zabel@pengutronix.de \
--cc=robh@kernel.org \
--cc=thierry.reding@kernel.org \
--cc=treding@nvidia.com \
--cc=vkoul@kernel.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.