Thread (1 message) 1 message, 1 author, 2023-06-01

Re: [PATCH v2 3/3] dt-bindings: phy: realtek: Add the doc about the Realtek SoC USB 2.0/3.0 PHY

From: Conor Dooley <conor@kernel.org>
Date: 2023-06-01 20:13:45
Also in: linux-devicetree, linux-usb, lkml

Possibly related (same subject, not in this thread)

On Thu, Jun 01, 2023 at 02:24:28AM +0000, Stanley Chang[昌育德] wrote:
Hi Conor,
quoted
quoted
quoted
You have device-specific compatibles, which is great, but you also allow
only those two generic ones. I had a _brief_ look at the driver, and it
seems like there is no decision making done based on the compatibles,
only on the properties. Is that correct?
If it is, I would understand having "realtek,usb3phy" as a fallback
compatible for "realtek,rtd1619-usb3phy", but I do not get the current
setup.
This driver is compatible with all Realtek RTD SoCs without specifying different settings.
So use "realtek,usb3phy" as fallback compatible for all SoCs.
This is the compatible name we use.
Other compatible names simply indicate that the driver supports the SoCs.
Then you should write the binding such that having fallback compatibles
is permitted. Try plugging
compatible = "realtek,rtd1295-usb2phy", "realtek,rtd-usb2phy", "realtek,usb2phy";
into your example below and see what happens.
quoted
The name "usbNphy" and "rtd-usbNphy" seem to be more generic for all RTD SoCs,
but they are not device-specific compatible.
Do you have a better suggestion?
Write the binding so that having fallback compatibles in the DT actually
works, don't add the SoC-specific ones merely as indicators that those
SoCs are supported and don't permit "realtek,usbNphy" or
"realtek,rtd-usbNphy" in isolation ;)
As far as I understand what you mean.
I should follow other docs to define compatible.
Reference:
  Documentation/devicetree/bindings/phy/mediatek,xsphy.yaml
  drivers/phy/mediatek/phy-mtk-xsphy.c

For example:

  compatible:
    items:
      - enum:
          - realtek,rtd1295-usb2phy
          - realtek,rtd1395-usb2phy
          - realtek,rtd1619-usb2phy
          - realtek,rtd1319-usb2phy
          - realtek,rtd1619b-usb2phy
          - realtek,rtd1312c-usb2phy
          - realtek,rtd1319d-usb2phy
          - realtek,rtd1315e-usb2phy
      - const: realtek,usb2phy

examples:
  -
    dwc3_u3drd_usb2phy: dwc3_u3drd_usb2phy@98013e14 {
        compatible = "realtek,rtd1319-usb2phy", "realtek,usb2phy";
  
And use only "Realtek, usb2phy" in the driver.
static const struct of_device_id usbphy_rtk_dt_match[] = {
        { .compatible = "realtek,usb2phy", },
        {},
};
Yes, this would be a vast improvement, thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help