[PATCH v2 03/12] dt-bindings: media: nxp: Add support for FSD SoC

Inbaraj E posted 12 patches 1 month, 3 weeks ago
[PATCH v2 03/12] dt-bindings: media: nxp: Add support for FSD SoC
Posted by Inbaraj E 1 month, 3 weeks ago
Document the MIPI CSI2 controller device tree bindings for Tesla
FSD SoC

Signed-off-by: Inbaraj E <inbaraj.e@samsung.com>
---
 .../bindings/media/nxp,imx-mipi-csi2.yaml     | 88 ++++++++++++++-----
 1 file changed, 68 insertions(+), 20 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/nxp,imx-mipi-csi2.yaml b/Documentation/devicetree/bindings/media/nxp,imx-mipi-csi2.yaml
index 03a23a26c4f3..802fb1bd150d 100644
--- a/Documentation/devicetree/bindings/media/nxp,imx-mipi-csi2.yaml
+++ b/Documentation/devicetree/bindings/media/nxp,imx-mipi-csi2.yaml
@@ -14,7 +14,7 @@ description: |-
   The NXP i.MX7 and i.MX8 families contain SoCs that include a MIPI CSI-2
   receiver IP core named CSIS. The IP core originates from Samsung, and may be
   compatible with some of the Exynos4 and S5P SoCs. i.MX7 SoCs use CSIS version
-  3.3, and i.MX8 SoCs use CSIS version 3.6.3.
+  3.3, i.MX8 SoCs use CSIS version 3.6.3 and FSD SoC uses CSIS version 4.3.
 
   While the CSI-2 receiver is separate from the MIPI D-PHY IP core, the PHY is
   completely wrapped by the CSIS and doesn't expose a control interface of its
@@ -26,6 +26,7 @@ properties:
       - enum:
           - fsl,imx7-mipi-csi2
           - fsl,imx8mm-mipi-csi2
+          - tesla,fsd-mipi-csi2
       - items:
           - enum:
               - fsl,imx8mp-mipi-csi2
@@ -38,24 +39,21 @@ properties:
     maxItems: 1
 
   clocks:
-    minItems: 3
-    items:
-      - description: The peripheral clock (a.k.a. APB clock)
-      - description: The external clock (optionally used as the pixel clock)
-      - description: The MIPI D-PHY clock
-      - description: The AXI clock
+    minItems: 2
+    maxItems: 4
 
   clock-names:
-    minItems: 3
-    items:
-      - const: pclk
-      - const: wrap
-      - const: phy
-      - const: axi
+    minItems: 2
+    maxItems: 4
 
   power-domains:
     maxItems: 1
 
+  samsung,syscon-csis:
+    $ref: /schemas/types.yaml#/definitions/phandle-array
+    description:
+      Syscon used to hold and release the reset of MIPI D-PHY
+
   phy-supply:
     description: The MIPI D-PHY digital power supply
 
@@ -85,7 +83,8 @@ properties:
             properties:
               data-lanes:
                 description:
-                  Note that 'fsl,imx7-mipi-csi2' only supports up to 2 data lines.
+                  Note that 'fsl,imx7-mipi-csi2' only supports up to 2 data
+                  lines.
                 minItems: 1
                 items:
                   - const: 1
@@ -107,7 +106,6 @@ required:
   - interrupts
   - clocks
   - clock-names
-  - power-domains
   - ports
 
 additionalProperties: false
@@ -116,20 +114,70 @@ allOf:
   - if:
       properties:
         compatible:
-          contains:
-            const: fsl,imx7-mipi-csi2
+          const: fsl,imx7-mipi-csi2
     then:
+      properties:
+        clocks:
+          items:
+            - description: The peripheral clock (a.k.a. APB clock)
+            - description: The external clock (optionally used as the pixel
+                clock)
+            - description: The MIPI D-PHY clock
+        clock-names:
+          items:
+            - const: pclk
+            - const: wrap
+            - const: phy
+        samsung,syscon-csis: false
       required:
+        - power-domains
         - phy-supply
         - resets
-    else:
+
+  - if:
+      properties:
+        compatible:
+          const: fsl,imx8mm-mipi-csi2
+    then:
       properties:
         clocks:
-          minItems: 4
+          items:
+            - description: The peripheral clock (a.k.a. APB clock)
+            - description: The external clock (optionally used as the pixel
+                clock)
+            - description: The MIPI D-PHY clock
+            - description: The AXI clock
         clock-names:
-          minItems: 4
+          items:
+            - const: pclk
+            - const: wrap
+            - const: phy
+            - const: axi
+        samsung,syscon-csis: false
         phy-supply: false
         resets: false
+      required:
+        - power-domains
+
+  - if:
+      properties:
+        compatible:
+          const: tesla,fsd-mipi-csi2
+    then:
+      properties:
+        clocks:
+          items:
+            - description: The peripheral clock (a.k.a. APB clock)
+            - description: The DMA clock
+        clocks-names:
+          items:
+            - const: pclk
+            - const: aclk
+        phy-supply: false
+        resets: false
+        power-domains: false
+      required:
+        - samsung,syscon-csis
 
 examples:
   - |
-- 
2.49.0
Re: [PATCH v2 03/12] dt-bindings: media: nxp: Add support for FSD SoC
Posted by Krzysztof Kozlowski 1 month, 2 weeks ago
On 14/08/2025 16:09, Inbaraj E wrote:
> Document the MIPI CSI2 controller device tree bindings for Tesla
> FSD SoC

Explain the hardware.

> 
> Signed-off-by: Inbaraj E <inbaraj.e@samsung.com>
> ---
>  .../bindings/media/nxp,imx-mipi-csi2.yaml     | 88 ++++++++++++++-----
>  1 file changed, 68 insertions(+), 20 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/media/nxp,imx-mipi-csi2.yaml b/Documentation/devicetree/bindings/media/nxp,imx-mipi-csi2.yaml
> index 03a23a26c4f3..802fb1bd150d 100644
> --- a/Documentation/devicetree/bindings/media/nxp,imx-mipi-csi2.yaml
> +++ b/Documentation/devicetree/bindings/media/nxp,imx-mipi-csi2.yaml
> @@ -14,7 +14,7 @@ description: |-
>    The NXP i.MX7 and i.MX8 families contain SoCs that include a MIPI CSI-2
>    receiver IP core named CSIS. The IP core originates from Samsung, and may be
>    compatible with some of the Exynos4 and S5P SoCs. i.MX7 SoCs use CSIS version
> -  3.3, and i.MX8 SoCs use CSIS version 3.6.3.
> +  3.3, i.MX8 SoCs use CSIS version 3.6.3 and FSD SoC uses CSIS version 4.3.
>  
>    While the CSI-2 receiver is separate from the MIPI D-PHY IP core, the PHY is
>    completely wrapped by the CSIS and doesn't expose a control interface of its
> @@ -26,6 +26,7 @@ properties:
>        - enum:
>            - fsl,imx7-mipi-csi2
>            - fsl,imx8mm-mipi-csi2
> +          - tesla,fsd-mipi-csi2


Isn't this Samsung CSI IP? Why are you adding it to NXP? Nothing in
commit msg helps me to understand that.

>        - items:
>            - enum:
>                - fsl,imx8mp-mipi-csi2
> @@ -38,24 +39,21 @@ properties:
>      maxItems: 1
>  
>    clocks:
> -    minItems: 3
> -    items:
> -      - description: The peripheral clock (a.k.a. APB clock)
> -      - description: The external clock (optionally used as the pixel clock)
> -      - description: The MIPI D-PHY clock
> -      - description: The AXI clock
> +    minItems: 2
> +    maxItems: 4
>  
>    clock-names:
> -    minItems: 3
> -    items:
> -      - const: pclk
> -      - const: wrap
> -      - const: phy
> -      - const: axi
> +    minItems: 2
> +    maxItems: 4
>  
>    power-domains:
>      maxItems: 1
>  
> +  samsung,syscon-csis:

samsung, so not nxp. Even more confusing.


Best regards,
Krzysztof
RE: [PATCH v2 03/12] dt-bindings: media: nxp: Add support for FSD SoC
Posted by Inbaraj E 1 month, 1 week ago
Hi Krzysztof,

Thanks for the review.

> 
> Explain the hardware.

I'll explain in the next patchset.

> 
> >
> > Signed-off-by: Inbaraj E <inbaraj.e@samsung.com>
> > ---
> >  .../bindings/media/nxp,imx-mipi-csi2.yaml     | 88 ++++++++++++++-----
> >  1 file changed, 68 insertions(+), 20 deletions(-)
> >
> > diff --git
> > a/Documentation/devicetree/bindings/media/nxp,imx-mipi-csi2.yaml
> > b/Documentation/devicetree/bindings/media/nxp,imx-mipi-csi2.yaml
> > index 03a23a26c4f3..802fb1bd150d 100644
> > --- a/Documentation/devicetree/bindings/media/nxp,imx-mipi-csi2.yaml
> > +++ b/Documentation/devicetree/bindings/media/nxp,imx-mipi-csi2.yaml
> > @@ -14,7 +14,7 @@ description: |-
> >    The NXP i.MX7 and i.MX8 families contain SoCs that include a MIPI CSI-2
> >    receiver IP core named CSIS. The IP core originates from Samsung, and
> may be
> >    compatible with some of the Exynos4 and S5P SoCs. i.MX7 SoCs use
> > CSIS version
> > -  3.3, and i.MX8 SoCs use CSIS version 3.6.3.
> > +  3.3, i.MX8 SoCs use CSIS version 3.6.3 and FSD SoC uses CSIS version 4.3.
> >
> >    While the CSI-2 receiver is separate from the MIPI D-PHY IP core, the PHY
> is
> >    completely wrapped by the CSIS and doesn't expose a control
> > interface of its @@ -26,6 +26,7 @@ properties:
> >        - enum:
> >            - fsl,imx7-mipi-csi2
> >            - fsl,imx8mm-mipi-csi2
> > +          - tesla,fsd-mipi-csi2
> 
> 
> Isn't this Samsung CSI IP? 

Yes, it is Samsung CSI IP.

Why are you adding it to NXP?

Samsung CSIS IP core present in Exynos(samsung/exynos4-is/mipi-csis.c) series is
completely different from the one in the Tesla FSD SoC. However, it is compatible
with the samsung CSIS IP used in the NXP SoC. For better code reusability, I am
integrating it with the NXP imx-mipi-csis driver.

 
> Nothing in commit, msg helps me to understand that.

I'll explain the same in commit description as well.

> 

> >        - items:
> >            - enum:
> >                - fsl,imx8mp-mipi-csi2
> > @@ -38,24 +39,21 @@ properties:
> >      maxItems: 1
> >
> >    clocks:
> > -    minItems: 3
> > -    items:
> > -      - description: The peripheral clock (a.k.a. APB clock)
> > -      - description: The external clock (optionally used as the pixel clock)
> > -      - description: The MIPI D-PHY clock
> > -      - description: The AXI clock
> > +    minItems: 2
> > +    maxItems: 4
> >
> >    clock-names:
> > -    minItems: 3
> > -    items:
> > -      - const: pclk
> > -      - const: wrap
> > -      - const: phy
> > -      - const: axi
> > +    minItems: 2
> > +    maxItems: 4
> >
> >    power-domains:
> >      maxItems: 1
> >
> > +  samsung,syscon-csis:
> 
> samsung, so not nxp. Even more confusing.
> 

I used samsung,syscon-csis because the system controller on Tesla FSD
follows Samsung's sysreg design.

> 
> Best regards,
> Krzysztof

Regards,
Inbaraj E
Re: [PATCH v2 03/12] dt-bindings: media: nxp: Add support for FSD SoC
Posted by Krzysztof Kozlowski 1 month, 1 week ago
On 22/08/2025 15:39, Inbaraj E wrote:
>>>
>>>    power-domains:
>>>      maxItems: 1
>>>
>>> +  samsung,syscon-csis:
>>
>> samsung, so not nxp. Even more confusing.
>>
> 
> I used samsung,syscon-csis because the system controller on Tesla FSD
> follows Samsung's sysreg design.

OK, this is property for Tesla though, so please use tesla prefix.

Best regards,
Krzysztof
RE: [PATCH v2 03/12] dt-bindings: media: nxp: Add support for FSD SoC
Posted by Inbaraj E 1 month, 1 week ago
> On 22/08/2025 15:39, Inbaraj E wrote:
> >>>
> >>>    power-domains:
> >>>      maxItems: 1
> >>>
> >>> +  samsung,syscon-csis:
> >>
> >> samsung, so not nxp. Even more confusing.
> >>
> >
> > I used samsung,syscon-csis because the system controller on Tesla FSD
> > follows Samsung's sysreg design.
> 
> OK, this is property for Tesla though, so please use tesla prefix.

Using tesla,syscon-csis results in a "prefix not found" issue when running dtbs_check

Regards,
Inbaraj E
Re: [PATCH v2 03/12] dt-bindings: media: nxp: Add support for FSD SoC
Posted by Krzysztof Kozlowski 1 month, 1 week ago
On 22/08/2025 16:00, Inbaraj E wrote:
>> On 22/08/2025 15:39, Inbaraj E wrote:
>>>>>
>>>>>    power-domains:
>>>>>      maxItems: 1
>>>>>
>>>>> +  samsung,syscon-csis:
>>>>
>>>> samsung, so not nxp. Even more confusing.
>>>>
>>>
>>> I used samsung,syscon-csis because the system controller on Tesla FSD
>>> follows Samsung's sysreg design.
>>
>> OK, this is property for Tesla though, so please use tesla prefix.
> 
> Using tesla,syscon-csis results in a "prefix not found" issue when running dtbs_check
Because you develop on ancient, 10 year old downstream kernel?

You really do not try enough and this is just wasting our time.

Please think and really carefully check your replies. What prefix do you
have in compatible? This command:
git grep tesla, | wc -l

gives '99' results including obviously vendor prefix.

So your warning is basically impossible or your code is just broken.
Don't just ask maintainers on every little trouble you have. You must
debug it. Not we.

Best regards,
Krzysztof
RE: [PATCH v2 03/12] dt-bindings: media: nxp: Add support for FSD SoC
Posted by Inbaraj E 1 month, 1 week ago
Hi Krzysztof,

> >
> > Using tesla,syscon-csis results in a "prefix not found" issue when
> > running dtbs_check
> Because you develop on ancient, 10 year old downstream kernel?
> 
> You really do not try enough and this is just wasting our time.
> 
> Please think and really carefully check your replies. What prefix do you have
> in compatible? This command:
> git grep tesla, | wc -l
> 
> gives '99' results including obviously vendor prefix.
> 
> So your warning is basically impossible or your code is just broken.
> Don't just ask maintainers on every little trouble you have. You must debug
> it. Not we.
> 

Sorry, I made a mistake while  running dtbs_check. I'll use the tesla prefix in the next
patchset

Regards,
Inbaraj E