From: Hongliang Yang <hongliang.yang@cixtech.com>
To: krzk@kernel.org
Cc: cix-kernel-upstream@cixtech.com, conor+dt@kernel.org,
devicetree@vger.kernel.org, fugang.duan@cixtech.com,
gregkh@linuxfoundation.org, hongliang.yang@cixtech.com,
krzk+dt@kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org,
linux-usb@vger.kernel.org, neil.armstrong@linaro.org,
p.zabel@pengutronix.de, pawell@cadence.com,
peter.chen@kernel.org, robh@kernel.org, rogerq@kernel.org,
vkoul@kernel.org
Subject: Re: [PATCH v1 1/4] dt-bindings: Add CIX Sky1 USB bindings
Date: Wed, 2 Sep 2026 11:23:06 +0800 [thread overview]
Message-ID: <20260902032306.1182941-1-hongliang.yang@cixtech.com> (raw)
In-Reply-To: <503e87d9-3311-413a-98c0-e02a02c4a354@kernel.org>
Hi Krzysztof,
Thank you for the review. Most of the comments are already addressed in
v2 [1]; the remaining points are answered inline below.
[1] https://lore.kernel.org/all/20260902032134.1182634-1-hongliang.yang@cixtech.com/
On 01/09/2026 07:47, Krzysztof Kozlowski wrote:
> Please use subject prefixes matching the subsystem. You can get them for
> example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory
> your patch is touching. For bindings, the preferred subjects are
> explained here:
> https://www.kernel.org/doc/html/latest/devicetree/bindings/submitting-patches.html#i-for-patch-submitters
>
> A nit, subject: drop second/last, redundant "bindings". The
> "dt-bindings" prefix is already stating that these are bindings.
> See also:
> https://elixir.bootlin.com/linux/v7.1-rc7/source/Documentation/devicetree/bindings/submitting-patches.rst#L23
>
> And do not combine USB patches with other subsystems.
Done in v2: the combined bindings patch is split into separate patches
with "dt-bindings: phy:" and "dt-bindings: usb:" subject prefixes, one
schema per patch, e.g.
dt-bindings: phy: Add CIX Sky1 USB3 PHY
dt-bindings: usb: Add CIX Sky1 USBSSP controller
> Please read and follow DTS coding style.
Done in v2: the schemas and the new DTS regions now pass
dt-check-style in strict mode.
> > +unevaluatedProperties: false
>
> Which other schema do you want to reference?
None. Changed to additionalProperties: false in v2.
> > + reg:
> > + items:
> > + - description: AXI property configuration register
> > + - description: Controller status register
>
> Registers are not address spaces. Devices do not have address spaces of
> one register, so this is not a real device.
I understand the concern, and we looked at this again against the SoC
documentation. These two registers are RCSU (system configuration
unit) registers, but each of them is dedicated to one USB controller
and not shared with any other device:
- The first register is the controller's Control Register for the AXI
cache attributes. Its bit fields are awcache[3:0] (bits 3:0) and
arcache[3:0] (bits 7:4), i.e. the AXI cache attributes of the
controller's own AXI master interface. The glue driver programs it
once during initialization.
- The second register is a status register providing the AXI clock
valid status the driver polls while enabling the controller.
The two instances submitted in this series illustrate the per-device
offsets: the USB4 controller uses 0x091c0314 (AXI cache attributes)
and 0x091c0400 (status), while USB5 uses 0x091c0324 and 0x091c0410.
The reason they end up in a separate node from the Cadence USBSSP core
is purely physical: on Sky1 the controller's control registers and the
Cadence USBSSP core registers are two disjoint regions in the address
map (e.g. 0x091c0314 vs 0x091d0000 for the USB4 controller). The glue
node therefore describes the Sky1-specific control registers, clocks
and resets, while the core node is the Cadence USBSSP core itself,
describing the actual register windows the cdns3 driver maps
("otg", "xhci", "dev").
That said, the register windows are admittedly tiny, so if you prefer
this modelled differently we are open to suggestions. One alternative
we considered was folding the control register file into the core node
and referencing the Sky1 glue properties from there, but that would
mix the Cadence core registers with Sky1-specific ones and lose the
1:1 mapping to the hardware topology.
> > + - const: axi_property
>
> axi
>
> > + - const: controller_status
>
> controller
Renamed in v2 (reg-names = "axi", "controller").
> > + cix,usb_syscon:
> > + $ref: /schemas/types.yaml#/definitions/phandle
> > + description:
> > + Phandle to the Sky1 S5 system controller used to program USB mode
> > + strap controls.
>
> So this is part of that device most likely.
The OTG mode strap bits live in the S5 power-management controller,
which is a separate hardware block shared by several subsystems, so
they are not part of the USB controller's register file. That is why
the strap is accessed through the syscon phandle instead of a reg
entry, while the per-controller registers discussed above stay in the
USB node's own reg.
> > + axi_bmax_value:
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > + default: 0x7
> > + description:
> > + AXI bus maximum burst length configuration value.
Dropped in v2: the value is fixed for the SoC, so the driver now uses a
compile-time constant and the property is gone.
> > +patternProperties:
> > + "^usb-controller@[0-9a-f]+$":
>
> Why using completely different names than entire Linux kernel?
Renamed to "usb@..." in v2, matching the cdns,usb3 nodes elsewhere.
> > + $ref: cdns,usb3.yaml#
> > + description:
> > + The Cadence USBSSP core controller node. See cdns,usb3.yaml
> > + for properties such as dr_mode, maximum-speed, phys, and interrupts.
>
> Redundant description.
Shortened in v2.
Best regards,
Hongliang Yang
next prev parent reply other threads:[~2026-09-02 3:23 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-31 8:23 [PATCH v1 0/4] Add CIX Sky1 USB3/USBSSP support Hongliang Yang
2026-08-31 8:23 ` [PATCH v1 1/4] dt-bindings: Add CIX Sky1 USB bindings Hongliang Yang
2026-08-31 8:32 ` sashiko-bot
2026-08-31 16:07 ` Conor Dooley
2026-09-01 5:47 ` Krzysztof Kozlowski
2026-09-02 3:23 ` Hongliang Yang [this message]
2026-08-31 8:23 ` [PATCH v1 2/4] phy: cix: Add CIX Sky1 USB3 PHY driver Hongliang Yang
2026-08-31 8:33 ` sashiko-bot
2026-08-31 8:23 ` [PATCH v1 3/4] usb: cdns3: Add CIX Sky1 glue driver Hongliang Yang
2026-08-31 8:41 ` sashiko-bot
2026-08-31 8:57 ` Philipp Zabel
2026-08-31 8:23 ` [PATCH v1 4/4] arm64: dts: cix: Add USB4/USB5 nodes for Sky1 Hongliang Yang
2026-08-31 8:33 ` sashiko-bot
2026-09-02 3:21 ` [PATCH v2 0/5] Add CIX Sky1 USB3/USBSSP support Hongliang Yang
2026-09-02 3:21 ` [PATCH v2 1/5] dt-bindings: phy: Add CIX Sky1 USB3 PHY Hongliang Yang
2026-09-02 3:21 ` [PATCH v2 2/5] dt-bindings: usb: Add CIX Sky1 USBSSP controller Hongliang Yang
2026-09-02 3:21 ` [PATCH v2 3/5] phy: cix: Add CIX Sky1 USB3 PHY driver Hongliang Yang
2026-09-02 3:32 ` sashiko-bot
2026-09-02 3:21 ` [PATCH v2 4/5] usb: cdns3: Add CIX Sky1 glue driver Hongliang Yang
2026-09-02 3:32 ` sashiko-bot
2026-09-02 3:21 ` [PATCH v2 5/5] arm64: dts: cix: Add USB4/USB5 nodes for Sky1 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=20260902032306.1182941-1-hongliang.yang@cixtech.com \
--to=hongliang.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-phy@lists.infradead.org \
--cc=linux-usb@vger.kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=p.zabel@pengutronix.de \
--cc=pawell@cadence.com \
--cc=peter.chen@kernel.org \
--cc=robh@kernel.org \
--cc=rogerq@kernel.org \
--cc=vkoul@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