[PATCH v10 08/11] dt-bindings: ufs: Add NXP S32N79 UFS host controller
From: Larisa Grigore
Date: Tue Nov 03 2026 - 08:42:00 EST
Document the UFS host controller on the NXP S32N79 SoC.
The S32N79 M-PHY has two data lanes per direction and the driver programs
both of them, so restrict lanes-per-direction to 2.
The UFS core manages only the clocks added by the platform glue. Since
freq-table-hz is deprecated, the binding requires operating-points-v2 and
clock-names. As S32N79 does not scale the UFS clock, the OPP table contains
a single 0 Hz entry, which keeps the provider-configured rate while
allowing the clock to be enabled and gated.
Reviewed-by: Frank Li <Frank.Li@xxxxxxx>
Signed-off-by: Larisa Grigore <larisa.grigore@xxxxxxxxxxx>
---
.../bindings/ufs/nxp,s32n79-ufshc.yaml | 68 +++++++++++++++++++
1 file changed, 68 insertions(+)
create mode 100644 Documentation/devicetree/bindings/ufs/nxp,s32n79-ufshc.yaml
diff --git a/Documentation/devicetree/bindings/ufs/nxp,s32n79-ufshc.yaml b/Documentation/devicetree/bindings/ufs/nxp,s32n79-ufshc.yaml
new file mode 100644
index 000000000000..541b59b8c89a
--- /dev/null
+++ b/Documentation/devicetree/bindings/ufs/nxp,s32n79-ufshc.yaml
@@ -0,0 +1,68 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/ufs/nxp,s32n79-ufshc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NXP S32N79 Universal Flash Storage (UFS) Controller
+
+maintainers:
+ - Larisa Grigore <larisa.grigore@xxxxxxxxxxx>
+
+properties:
+ compatible:
+ const: nxp,s32n79-ufshc
+
+ reg:
+ items:
+ - description: UFS Host Controller registers
+ - description: System Control Module registers
+
+ reg-names:
+ items:
+ - const: ufshc
+ - const: scm
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ items:
+ - const: core
+
+ lanes-per-direction:
+ const: 2
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - clocks
+ - clock-names
+ - operating-points-v2
+
+allOf:
+ - $ref: ufs-common.yaml
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ ufshc@4ac80000 {
+ compatible = "nxp,s32n79-ufshc";
+ reg = <0x4ac80000 0x1000>, <0x4ac40000 0x1000>;
+ reg-names = "ufshc", "scm";
+ interrupt-parent = <&irqsteer_coss>;
+ interrupts = <211>;
+ clocks = <&clks 0x92>;
+ clock-names = "core";
+ operating-points-v2 = <&ufs_opp_table>;
+
+ ufs_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp-0 {
+ opp-hz = /bits/ 64 <0>;
+ };
+ };
+ };
--
2.43.0