Re: [PATCH v7 1/2] dt-bindings: usb: Add CIX Sky1 USBSSP controller

From: Hongliang Yang

Date: Wed Nov 11 2026 - 05:15:18 EST


> Unanswered comments from Sashiko, dropping from DT Patchwork.

They sat for five days, that is on me. I am answering both reviews in
separate mails; this one is about the binding only.

On the overlapping reg windows: the USB30 Type-A DRD RCSU block at
0x091c0000 holds the straps of the two controllers and of their PHYs,
interleaved:

0x300 STRAP_PIN0 stream ID USB4
0x304 STRAP_PIN1 stream ID USB5
0x30c STRAP_PIN3 clock enables USB4, USB5
0x314 STRAP_PIN5 awcache/arcache USB4
0x324 STRAP_PIN9 awcache/arcache USB5
0x328 STRAP_PIN10 USB2 PLL USB4
0x400 STRAP_STATUS0 AXI clock state USB4
0x410 STRAP_STATUS4 AXI clock state USB5

USB4 needs 0x314 and 0x400, USB5 needs 0x324 and 0x410, and 0x324 falls
between 0x314 and 0x400. There is no contiguous window that covers the
registers of one controller without also covering a register of the
other, so the overlap is what the hardware looks like, not a shortcut.
reg describes the window of the block that this instance's glue lives
in, and the instance only touches two words of it: the AXI cache
attribute at res->start and the AXI clock status at res->start + 0xec.

The driver maps that window with devm_ioremap() rather than
devm_platform_ioremap_resource(), so no memory region is requested and
the second instance cannot fail with -EBUSY on the first one. That is
deliberate, and it is why Sashiko's failure mode does not happen here.

I did look for a shape without the overlap:

- syscon for the block: you already rejected that in v4 - "If you have
here MMIO for some glue over IP block, then it is unlikely to be a
syscon." I agree, this is USB glue, not a miscellaneous register set.

- a container node with the two controllers as children and their index
in the block as reg: of_platform_default_populate() only descends into
simple-bus, simple-mfd and isa nodes, and a container with no driver
would never have its children instantiated.

So v8 keeps the v7 shape. I have it ready and am not posting it before
you answer this, so that the next version is final on this point. If you
think the overlap should not be described this way, please tell me which
shape you want and I will send that instead.

The other Sashiko findings are driver bugs and are fixed in v8; they
will be answered in the other thread. The PHY series is unchanged.

Best regards,
Hongliang Yang