Re: [PATCH 08/13] dt-bindings: serial: fsl-linflexuart: add clock input properties
From: Larisa Ileana Grigore
Date: Wed Feb 18 2026 - 09:00:36 EST
On 2/18/2026 3:29 PM, Krzysztof Kozlowski wrote:
On 18/02/2026 14:26, Larisa Ileana Grigore wrote:Indeed, I also believe the binding is not fully accurate on S32V234. As I mentioned earlier, the LINFlexD clocks are not managed by Linux on this platform. They, along with several other clocks, are usually initialized by U‑Boot, and Linux does not handle them. That is likely the reason they were omitted from the S32V234 binding.
On 2/16/2026 5:10 PM, Krzysztof Kozlowski wrote:
On 16/02/2026 16:02, Larisa Grigore wrote:Hello Krzysztof,
From: Radu Pirea <radu-nicolae.pirea@xxxxxxx>
Add optional support for the two clock inputs used by the LINFlexD UART
controller:
- "lin": LIN_BAUD_CLK
- "ipg": LINFLEXD_CLK
The clock inputs are kept optional to maintain compatibility with the
S32V234 platform.
Does S32V234 have the clocks? I don't understand the "maintain
compatibility" in this context. Either you have or you have not clocks,
which should be expressed in schema (: false, see example schema).
Thanks for pointing this out! I will update both the schema and the
commit description.
S32V234 does not expose these clocks in its device tree—on this platform
the LINFlexD clocks are set up and enabled by U‑Boot, so they are not
available to the kernel.
So there are clocks. DTS is being used by bootloader, so how bootloader
is going to set up clocks for S32V234 if no one provides them?
This looks like buggy/incomplete approach, although I understand that
the original binding had the issue.
I’m willing to correct this for the S32V234 compatible by making that property optional, so we don’t break compatibility.
For S32G, I would prefer to avoid repeating the same oversight we had on S32V234 and make the property required, since the IP, as you correctly pointed out, does have dedicated clock inputs.
How would you approach this?
Thank you,
Larisa
The changes in this patch are intended specifically for S32G2/G3, where
the clocks are provided in the DT and required by the driver.
Signed-off-by: Radu Pirea <radu-nicolae.pirea@xxxxxxx>
Co-developed-by: Larisa Grigore <larisa.grigore@xxxxxxxxxxx>
Signed-off-by: Larisa Grigore <larisa.grigore@xxxxxxxxxxx>
---
.../bindings/serial/fsl,s32-linflexuart.yaml | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/Documentation/devicetree/bindings/serial/fsl,s32-linflexuart.yaml b/Documentation/devicetree/bindings/serial/fsl,s32-linflexuart.yaml
index 4171f524a928..885f0b1b3492 100644
--- a/Documentation/devicetree/bindings/serial/fsl,s32-linflexuart.yaml
+++ b/Documentation/devicetree/bindings/serial/fsl,s32-linflexuart.yaml
@@ -34,6 +34,14 @@ properties:
interrupts:
maxItems: 1
+ clocks:
+ maxItems: 2
+
+ clock-names:
+ items:
+ - const: lin
+ - const: ipg
+
required:
- compatible
- reg
@@ -48,3 +56,13 @@ examples:
reg = <0x40053000 0x1000>;
interrupts = <0 59 4>;
};
+
+ - |
+ serial@401c8000 {
+ compatible = "nxp,s32g2-linflexuart",
+ "fsl,s32v234-linflexuart";
+ reg = <0x401C8000 0x3000>;
+ interrupts = <0 82 1>;
+ clocks = <&clks 14>, <&clks 13>;
+ clock-names = "lin", "ipg";
Just add the clocks to existing example. No need for new example for
each new property.
+ };
The existing node refers to S32V234 which does not expose any clock
properties in its device tree. Because of this, I couldn’t extend that
You just said S32V234 has clocks...
example with clocks and clock-names. The additional example is there
only to illustrate the S32G2 case, where the clocks are required and
actually present in the device tree. Should I remove it?
Best regards,
Larisa
Best regards,
Krzysztof
Best regards,
Krzysztof