Re: [PATCH v2 1/2] dt-bindings: dwc2: Add bindings for new Ingenic SoCs.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Nikolaus,

On 2022/4/14 上午3:30, H. Nikolaus Schaller wrote:
Hi,


Am 13.04.2022 um 20:55 schrieb Zhou Yanjie <zhouyanjie@xxxxxxxxxxxxxx>:

Hi Nikolaus,

On 2022/4/13 下午3:22, H. Nikolaus Schaller wrote:
Hi,


Am 12.04.2022 um 20:30 schrieb 周琰杰 (Zhou Yanjie) <zhouyanjie@xxxxxxxxxxxxxx>
:

Add the dwc2 bindings for the JZ4775 SoC, the JZ4780 SoC, the X1000
SoC, the X1600 SoC, the X1700 SoC, the X1830 SoC, and the X2000 SoC
from Ingenic.

Signed-off-by: 周琰杰 (Zhou Yanjie)
<zhouyanjie@xxxxxxxxxxxxxx>

Acked-by: Rob Herring
<robh@xxxxxxxxxx>

---

Notes:
    v1->v2:
    Add Rob Herring's Acked-by.

Documentation/devicetree/bindings/usb/dwc2.yaml | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/dwc2.yaml b/Documentation/devicetree/bindings/usb/dwc2.yaml
index 4cebce6..c6e8c0b 100644
--- a/Documentation/devicetree/bindings/usb/dwc2.yaml
+++ b/Documentation/devicetree/bindings/usb/dwc2.yaml
@@ -17,6 +17,13 @@ properties:
     oneOf:
       - const: brcm,bcm2835-usb
       - const: hisilicon,hi6220-usb
+      - const: ingenic,jz4775-otg
+      - const: ingenic,jz4780-otg
+      - const: ingenic,x1000-otg
+      - const: ingenic,x1600-otg
+      - const: ingenic,x1700-otg
+      - const: ingenic,x1830-otg
+      - const: ingenic,x2000-otg

I have merged it with my recently proposed removal of
ingenic,jz4780-otg in jz4780.dtsi but there was no dtbscheck
complaint about missing snps,dwc2.

So I think should it be:

       - items:
           - enum:
               - const: ingenic,jz4775-otg
               - const: ingenic,jz4780-otg
               - const: ingenic,x1000-otg
               - const: ingenic,x1600-otg
               - const: ingenic,x1700-otg
               - const: ingenic,x1830-otg
               - const: ingenic,x2000-otg

PS: the const: above should be removed (I hadn't run it through the compiler).

           - const: snps,dwc2
here it is needed.

similar to the entry for amlogic?


Or we can just remove the "snps,dwc2" from jz4780.dtsi?
Well, my recent proposal to fix dtbscheck was the other way round:
remove "ingenic,jz4780-otg" from jz4780.dtsi and leave it out here.

I'm not too sure, but since we already have a dedicated "ingenic, jz4780-otg", it seems "snps,dwc2" is redundant.
As far as I see there is no driver specialization compatible to
"ingenic,jz4780-otg". `grep ingenic,jz4780-otg *` only shows the .dtsi (and the new .yaml).

So we need "snps,dwc2" to get any driver match and I thought the "ingenic,jz4780-otg" is redundant.

But maintainers convinced me to keep it as a dummy compatible in the .dtsi for potential future
specialization (which does not exist and seems not to be necessary). Unless I can convince them
that this is never ever needed. Which is beyond my knowledge and almost everyone.

So we can't remove the "snps,dwc2" here.

Well, we can with more work elsewhere.
You have to extend the dwc2_of_match_table to include all ingenic devices.

Therefore we now know 3 potential solutions:
a) remove "ingenic,jz4780-otg" from jz4780.dtsi (my proposal)
b) add "ingenic,jz4780-otg" to dwc2.yaml together with "snps,dwc2" (your proposal + my suggestion here)
c) add only "ingenic,jz4780-otg" to dwc2.yaml and extend the match table in drivers//usb/dwc2/params.c (new proposals)

 From consistency point of view I think variant b) is the right one. a) was rejected and c) only adds redundant code.


You are probably right, I forgot that the OTG driver only exists in my local
repository and is not merged into the mainline. If we remove "snps,dwc2",
the OTG of the JZ4780 in the current version will not work properly.

I will send v3 tomorrow.


Thanks and best regards!


I am open to anything as long as the dtbscheck doesn't complain any more.

BR an thanks,
Nikolaus



[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux