mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Hongliang Yang <hongliang.yang@cixtech.com>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Peter Chen <peter.chen@kernel.org>,
	Pawel Laszczak <pawell@cadence.com>,
	Roger Quadros <rogerq@kernel.org>, Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Gary Yang <Gary.Yang@cixtech.com>,
	Fugang Duan <fugang.duan@cixtech.com>,
	linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	cix-kernel-upstream@cixtech.com
Subject: Re: [PATCH v7 1/2] dt-bindings: usb: Add CIX Sky1 USBSSP controller
Date: Wed, 11 Nov 2026 18:00:38 +0800	[thread overview]
Message-ID: <1794391238.309976-1-hongliang.yang@cixtech.com> (raw)
In-Reply-To: <20261111-fictional-vigilant-serval-eea5bd@quoll>

> 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

  reply	other threads:[~2026-11-11 10:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-06 10:12 [PATCH v7 0/2] Add CIX Sky1 USBSSP controller support Hongliang Yang
2026-11-06 10:12 ` [PATCH v7 1/2] dt-bindings: usb: Add CIX Sky1 USBSSP controller Hongliang Yang
2026-11-11  8:48   ` Krzysztof Kozlowski
2026-11-11 10:00     ` Hongliang Yang [this message]
2026-11-06 10:12 ` [PATCH v7 2/2] usb: cdns3: Add CIX Sky1 glue driver Hongliang Yang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1794391238.309976-1-hongliang.yang@cixtech.com \
    --to=hongliang.yang@cixtech.com \
    --cc=Gary.Yang@cixtech.com \
    --cc=cix-kernel-upstream@cixtech.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=fugang.duan@cixtech.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=krzk+dt@kernel.org \
    --cc=krzk@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=pawell@cadence.com \
    --cc=peter.chen@kernel.org \
    --cc=robh@kernel.org \
    --cc=rogerq@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®