All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Stanley Chang[昌育德]" <stanley_chang@realtek.com>
To: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Felipe Balbi <balbi@kernel.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: RE: [PATCH v4 1/2] usb: dwc3: core: add support for RTK SoC custom's global register start address
Date: Wed, 3 May 2023 03:08:52 +0000	[thread overview]
Message-ID: <05bcd78a37e945528ec68592eb73d755@realtek.com> (raw)
In-Reply-To: <20230502223626.uyld3tv7d7fnbt7h@synopsys.com>

Hi Thinh,

> I think you're overcomplicating things here.
> 
> Can we just match using compatible string as mentioned before? I believe I
> suggested to use that before but I think you had issue we getting it because it's
> from the parent device?
> 
> Did you try this?
> 
>         dwc_res.start = DWC3_RTK_ABC_GLOBAL_OFFSET;
> 
>         if (dev->of_node) {
>                 struct device_node *parent =
> of_get_parent(dev->of_node);
> 
>                 if (of_device_is_compatible(parent, "your-compatible"))
>                         dwc_res.start =
> DWC3_RTK_ABC_GLOBAL_OFFSET;
> 
>                 of_node_put(parent);
>         }

This is a good idea. Thanks for your suggestion.
This patch works fine and it is simply. 
For the compatible name, I use that "realtek,rtd1xxx-dwc3". 
rtd1xxx is the name of SoCs, for rtd129x, rtd139x, rtd16xx, ... etc.
Do you have any concern?

New patch as follows
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 0beaab932e7d..cd4b69541776 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -1800,6 +1800,17 @@ static int dwc3_probe(struct platform_device *pdev)
        dwc_res = *res;
        dwc_res.start += DWC3_GLOBALS_REGS_START;

+       if (dev->of_node) {
+               struct device_node *parent = of_get_parent(dev->of_node);
+
+               if (of_device_is_compatible(parent, "realtek,rtd1xxx-dwc3")) {
+                       dwc_res.start -= DWC3_GLOBALS_REGS_START;
+                       dwc_res.start += RTK_RTD1XXX_DWC3_GLOBALS_REGS_START;
+               }
+
+               of_node_put(parent);
+       }
+
        regs = devm_ioremap_resource(dev, &dwc_res);
        if (IS_ERR(regs))
                return PTR_ERR(regs);
diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index d56457c02996..db48aae211be 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -84,6 +84,8 @@
 #define DWC3_OTG_REGS_START            0xcc00
 #define DWC3_OTG_REGS_END              0xccff

+#define RTK_RTD1XXX_DWC3_GLOBALS_REGS_START    0x8100
+
 /* Global Registers */
 #define DWC3_GSBUSCFG0         0xc100
 #define DWC3_GSBUSCFG1         0xc104


  parent reply	other threads:[~2023-05-03  3:09 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-02  5:04 [PATCH v4 1/2] usb: dwc3: core: add support for RTK SoC custom's global register start address Stanley Chang
2023-05-02  5:04 ` [PATCH v4 2/2] dt-bindings: usb: snps,dwc3: Add the compatible name 'snps,dwc3-rtk-soc' Stanley Chang
2023-05-02  7:40   ` Krzysztof Kozlowski
2023-05-02  8:05     ` Stanley Chang[昌育德]
2023-05-02  8:44       ` Krzysztof Kozlowski
2023-05-02  8:56         ` Stanley Chang[昌育德]
2023-05-02 10:15           ` Krzysztof Kozlowski
2023-05-02 10:37             ` Stanley Chang[昌育德]
2023-05-02 19:27               ` Krzysztof Kozlowski
2023-05-03  3:14                 ` Stanley Chang[昌育德]
2023-05-02 22:36 ` [PATCH v4 1/2] usb: dwc3: core: add support for RTK SoC custom's global register start address Thinh Nguyen
2023-05-02 22:39   ` Thinh Nguyen
2023-05-03  3:08   ` Stanley Chang[昌育德] [this message]
2023-05-03 22:37     ` Thinh Nguyen
2023-05-04  3:28       ` Stanley Chang[昌育德]

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=05bcd78a37e945528ec68592eb73d755@realtek.com \
    --to=stanley_chang@realtek.com \
    --cc=Thinh.Nguyen@synopsys.com \
    --cc=balbi@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=robh+dt@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.