linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] usb: chipidea: Add support for s32g2 and s32g3
@ 2025-05-28 19:57 Dan Carpenter
  2025-05-28 19:57 ` [PATCH 1/4] dt-bindings: usb: Add compatible strings for s32g2/s32g3 Dan Carpenter
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Dan Carpenter @ 2025-05-28 19:57 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Conor Dooley, devicetree, Fabio Estevam, imx, Krzysztof Kozlowski,
	linux-arm-kernel, linux-kernel, linux-usb, Peng Fan,
	Pengutronix Kernel Team, Peter Chen, Rob Herring, Sascha Hauer,
	Shawn Guo, Xu Yang, Ghennadi Procopciuc, s32, linaro-s32

This patchset adds support for the s32g2 and s32g3 chips.

Dan Carpenter (4):
  dt-bindings: usb: Add compatible strings for s32g2/s32g3
  usb: chipidea: usbmisc: s32g: Re-apply init settings during resume
  usb: chipidea: s32g: Add usb support for s32g2
  usb: chipidea: s32g: Add usb support for s32g3

 .../devicetree/bindings/usb/ci-hdrc-usb2.yaml |  2 +
 .../devicetree/bindings/usb/fsl,usbmisc.yaml  |  2 +
 drivers/usb/chipidea/ci_hdrc_imx.c            |  6 ++
 drivers/usb/chipidea/usbmisc_imx.c            | 91 +++++++++++++++++++
 4 files changed, 101 insertions(+)

-- 
2.47.2


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 1/4] dt-bindings: usb: Add compatible strings for s32g2/s32g3
  2025-05-28 19:57 [PATCH 0/4] usb: chipidea: Add support for s32g2 and s32g3 Dan Carpenter
@ 2025-05-28 19:57 ` Dan Carpenter
  2025-05-28 21:22   ` Frank Li
  2025-05-29  9:32   ` Krzysztof Kozlowski
  2025-05-28 19:57 ` [PATCH 2/4] usb: chipidea: usbmisc: s32g: Add a REINIT_DURING_RESUME flag Dan Carpenter
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 14+ messages in thread
From: Dan Carpenter @ 2025-05-28 19:57 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Xu Yang, Peng Fan,
	linux-usb, devicetree, linux-kernel, Ghennadi Procopciuc, s32,
	linaro-s32, Larisa Grigore, Ionut Vicovan

From: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>

Add the compatible strings for the NXP s32g2 and s32g3.

Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com>
Signed-off-by: Ionut Vicovan <Ionut.Vicovan@nxp.com>
Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml | 2 ++
 Documentation/devicetree/bindings/usb/fsl,usbmisc.yaml  | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
index cc5787a8cfa3..400d885fea96 100644
--- a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
+++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
@@ -24,6 +24,8 @@ properties:
           - nvidia,tegra114-udc
           - nvidia,tegra124-udc
           - qcom,ci-hdrc
+          - nxp,s32g2-usb
+          - nxp,s32g3-usb
       - items:
           - enum:
               - nvidia,tegra114-ehci
diff --git a/Documentation/devicetree/bindings/usb/fsl,usbmisc.yaml b/Documentation/devicetree/bindings/usb/fsl,usbmisc.yaml
index 019435540df0..ca677d1a8274 100644
--- a/Documentation/devicetree/bindings/usb/fsl,usbmisc.yaml
+++ b/Documentation/devicetree/bindings/usb/fsl,usbmisc.yaml
@@ -21,6 +21,8 @@ properties:
           - fsl,imx53-usbmisc
           - fsl,imx6q-usbmisc
           - fsl,vf610-usbmisc
+          - nxp,s32g2-usbmisc
+          - nxp,s32g3-usbmisc
       - items:
           - enum:
               - fsl,imx6ul-usbmisc
-- 
2.47.2


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 2/4] usb: chipidea: usbmisc: s32g: Add a REINIT_DURING_RESUME flag
  2025-05-28 19:57 [PATCH 0/4] usb: chipidea: Add support for s32g2 and s32g3 Dan Carpenter
  2025-05-28 19:57 ` [PATCH 1/4] dt-bindings: usb: Add compatible strings for s32g2/s32g3 Dan Carpenter
@ 2025-05-28 19:57 ` Dan Carpenter
  2025-05-28 21:27   ` Frank Li
  2025-05-28 19:57 ` [PATCH 3/4] usb: chipidea: s32g: Add usb support for s32g2 Dan Carpenter
  2025-05-28 19:57 ` [PATCH 4/4] usb: chipidea: s32g: Add usb support for s32g3 Dan Carpenter
  3 siblings, 1 reply; 14+ messages in thread
From: Dan Carpenter @ 2025-05-28 19:57 UTC (permalink / raw)
  To: Peter Chen
  Cc: Greg Kroah-Hartman, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, linux-usb, imx,
	linux-arm-kernel, linux-kernel, Ghennadi Procopciuc, s32,
	linaro-s32

From: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>

The s32g2 and s32g3 chips will need to re-initialize in the resume path.
Add a REINIT_DURING_RESUME flag which will trigger the reinitialization.

Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/usb/chipidea/usbmisc_imx.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/usb/chipidea/usbmisc_imx.c b/drivers/usb/chipidea/usbmisc_imx.c
index 118b9a68496b..95759a4ec60c 100644
--- a/drivers/usb/chipidea/usbmisc_imx.c
+++ b/drivers/usb/chipidea/usbmisc_imx.c
@@ -155,6 +155,9 @@
 					 BLKCTL_OTG_VBUS_WAKEUP_EN | \
 					 BLKCTL_OTG_DPDM_WAKEUP_EN)
 
+/* Flags for 'struct imx_usbmisc' */
+#define REINIT_DURING_RESUME	BIT(1)
+
 struct usbmisc_ops {
 	/* It's called once when probe a usb device */
 	int (*init)(struct imx_usbmisc_data *data);
@@ -171,6 +174,7 @@ struct usbmisc_ops {
 	/* It's called when system resume from usb power lost */
 	int (*power_lost_check)(struct imx_usbmisc_data *data);
 	void (*vbus_comparator_on)(struct imx_usbmisc_data *data, bool on);
+	u32 flags;
 };
 
 struct imx_usbmisc {
@@ -1266,6 +1270,9 @@ int imx_usbmisc_resume(struct imx_usbmisc_data *data, bool wakeup)
 
 	usbmisc = dev_get_drvdata(data->dev);
 
+	if ((usbmisc->ops->flags & REINIT_DURING_RESUME) && usbmisc->ops->init)
+		usbmisc->ops->init(data);
+
 	if (usbmisc->ops->power_lost_check)
 		ret = usbmisc->ops->power_lost_check(data);
 	if (ret > 0) {
-- 
2.47.2


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 3/4] usb: chipidea: s32g: Add usb support for s32g2
  2025-05-28 19:57 [PATCH 0/4] usb: chipidea: Add support for s32g2 and s32g3 Dan Carpenter
  2025-05-28 19:57 ` [PATCH 1/4] dt-bindings: usb: Add compatible strings for s32g2/s32g3 Dan Carpenter
  2025-05-28 19:57 ` [PATCH 2/4] usb: chipidea: usbmisc: s32g: Add a REINIT_DURING_RESUME flag Dan Carpenter
@ 2025-05-28 19:57 ` Dan Carpenter
  2025-05-28 21:37   ` Frank Li
  2025-05-28 19:57 ` [PATCH 4/4] usb: chipidea: s32g: Add usb support for s32g3 Dan Carpenter
  3 siblings, 1 reply; 14+ messages in thread
From: Dan Carpenter @ 2025-05-28 19:57 UTC (permalink / raw)
  To: Peter Chen
  Cc: Greg Kroah-Hartman, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, linux-usb, imx,
	linux-arm-kernel, linux-kernel, Ghennadi Procopciuc, s32,
	linaro-s32

From: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>

Enable USB driver for s32g2.

Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/usb/chipidea/ci_hdrc_imx.c |  6 +++
 drivers/usb/chipidea/usbmisc_imx.c | 69 ++++++++++++++++++++++++++++++
 2 files changed, 75 insertions(+)

diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c
index 780f4d151345..ce207f8566d5 100644
--- a/drivers/usb/chipidea/ci_hdrc_imx.c
+++ b/drivers/usb/chipidea/ci_hdrc_imx.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright 2012 Freescale Semiconductor, Inc.
+ * Copyright 2020 NXP
  * Copyright (C) 2012 Marek Vasut <marex@denx.de>
  * on behalf of DENX Software Engineering GmbH
  */
@@ -78,6 +79,10 @@ static const struct ci_hdrc_imx_platform_flag imx8ulp_usb_data = {
 		CI_HDRC_HAS_PORTSC_PEC_MISSED,
 };
 
+static const struct ci_hdrc_imx_platform_flag s32g_usb_data = {
+	.flags = CI_HDRC_DISABLE_HOST_STREAMING,
+};
+
 static const struct of_device_id ci_hdrc_imx_dt_ids[] = {
 	{ .compatible = "fsl,imx23-usb", .data = &imx23_usb_data},
 	{ .compatible = "fsl,imx28-usb", .data = &imx28_usb_data},
@@ -89,6 +94,7 @@ static const struct of_device_id ci_hdrc_imx_dt_ids[] = {
 	{ .compatible = "fsl,imx7d-usb", .data = &imx7d_usb_data},
 	{ .compatible = "fsl,imx7ulp-usb", .data = &imx7ulp_usb_data},
 	{ .compatible = "fsl,imx8ulp-usb", .data = &imx8ulp_usb_data},
+	{ .compatible = "nxp,s32g2-usb", .data = &s32g_usb_data},
 	{ /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, ci_hdrc_imx_dt_ids);
diff --git a/drivers/usb/chipidea/usbmisc_imx.c b/drivers/usb/chipidea/usbmisc_imx.c
index 95759a4ec60c..43098a150e83 100644
--- a/drivers/usb/chipidea/usbmisc_imx.c
+++ b/drivers/usb/chipidea/usbmisc_imx.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright 2012 Freescale Semiconductor, Inc.
+ * Copyright 2020 NXP
  */
 
 #include <linux/module.h>
@@ -158,6 +159,18 @@
 /* Flags for 'struct imx_usbmisc' */
 #define REINIT_DURING_RESUME	BIT(1)
 
+#define S32G_WAKEUP_IE		BIT(0)
+#define S32G_CORE_IE		BIT(1)
+#define S32G_PWRFLTEN		BIT(7)
+#define S32G_WAKEUPCTRL		BIT(10)
+#define S32G_WAKEUPEN		BIT(11)
+
+/* Workaround errata ERR050474 (handle packages that aren't 4 byte aligned) */
+#define S32G_UCMALLBE		BIT(15)
+
+#define S32G_WAKEUP_BITS (S32G_WAKEUP_IE | S32G_CORE_IE | S32G_WAKEUPEN | \
+			  S32G_WAKEUPCTRL)
+
 struct usbmisc_ops {
 	/* It's called once when probe a usb device */
 	int (*init)(struct imx_usbmisc_data *data);
@@ -618,6 +631,52 @@ static int usbmisc_vf610_init(struct imx_usbmisc_data *data)
 	return 0;
 }
 
+static int usbmisc_s32g_set_wakeup(struct imx_usbmisc_data *data, bool enabled)
+{
+	struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev);
+	unsigned long flags;
+	u32 reg;
+
+	spin_lock_irqsave(&usbmisc->lock, flags);
+
+	reg = readl(usbmisc->base);
+	if (enabled)
+		reg |= S32G_WAKEUP_BITS;
+	else
+		reg &= ~S32G_WAKEUP_BITS;
+
+	writel(reg, usbmisc->base);
+	spin_unlock_irqrestore(&usbmisc->lock, flags);
+
+	return 0;
+}
+
+static int usbmisc_s32g_init(struct imx_usbmisc_data *data, u32 extra_flags)
+{
+	struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev);
+	unsigned long flags;
+	u32 reg;
+
+	spin_lock_irqsave(&usbmisc->lock, flags);
+
+	reg = readl(usbmisc->base);
+
+	reg |= S32G_PWRFLTEN;
+	reg |= extra_flags;
+
+	writel(reg, usbmisc->base);
+
+	spin_unlock_irqrestore(&usbmisc->lock, flags);
+	usbmisc_s32g_set_wakeup(data, false);
+
+	return 0;
+}
+
+static int usbmisc_s32g2_init(struct imx_usbmisc_data *data)
+{
+	return usbmisc_s32g_init(data, S32G_UCMALLBE);
+}
+
 static int usbmisc_imx7d_set_wakeup
 	(struct imx_usbmisc_data *data, bool enabled)
 {
@@ -1135,6 +1194,12 @@ static const struct usbmisc_ops imx95_usbmisc_ops = {
 	.vbus_comparator_on = usbmisc_imx7d_vbus_comparator_on,
 };
 
+static const struct usbmisc_ops s32g2_usbmisc_ops = {
+	.init = usbmisc_s32g2_init,
+	.set_wakeup = usbmisc_s32g_set_wakeup,
+	.flags = REINIT_DURING_RESUME,
+};
+
 static inline bool is_imx53_usbmisc(struct imx_usbmisc_data *data)
 {
 	struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev);
@@ -1363,6 +1428,10 @@ static const struct of_device_id usbmisc_imx_dt_ids[] = {
 		.compatible = "fsl,imx95-usbmisc",
 		.data = &imx95_usbmisc_ops,
 	},
+	{
+		.compatible = "nxp,s32g2-usbmisc",
+		.data = &s32g2_usbmisc_ops,
+	},
 	{ /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, usbmisc_imx_dt_ids);
-- 
2.47.2


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 4/4] usb: chipidea: s32g: Add usb support for s32g3
  2025-05-28 19:57 [PATCH 0/4] usb: chipidea: Add support for s32g2 and s32g3 Dan Carpenter
                   ` (2 preceding siblings ...)
  2025-05-28 19:57 ` [PATCH 3/4] usb: chipidea: s32g: Add usb support for s32g2 Dan Carpenter
@ 2025-05-28 19:57 ` Dan Carpenter
  2025-05-28 21:40   ` Frank Li
  3 siblings, 1 reply; 14+ messages in thread
From: Dan Carpenter @ 2025-05-28 19:57 UTC (permalink / raw)
  To: Peter Chen
  Cc: Greg Kroah-Hartman, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, linux-usb, imx,
	linux-arm-kernel, linux-kernel, Ghennadi Procopciuc, s32,
	linaro-s32

From: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>

Enable USB driver for the s32g3 USB device.

Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/usb/chipidea/ci_hdrc_imx.c |  1 +
 drivers/usb/chipidea/usbmisc_imx.c | 15 +++++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c
index ce207f8566d5..d062399ce15e 100644
--- a/drivers/usb/chipidea/ci_hdrc_imx.c
+++ b/drivers/usb/chipidea/ci_hdrc_imx.c
@@ -95,6 +95,7 @@ static const struct of_device_id ci_hdrc_imx_dt_ids[] = {
 	{ .compatible = "fsl,imx7ulp-usb", .data = &imx7ulp_usb_data},
 	{ .compatible = "fsl,imx8ulp-usb", .data = &imx8ulp_usb_data},
 	{ .compatible = "nxp,s32g2-usb", .data = &s32g_usb_data},
+	{ .compatible = "nxp,s32g3-usb", .data = &s32g_usb_data},
 	{ /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, ci_hdrc_imx_dt_ids);
diff --git a/drivers/usb/chipidea/usbmisc_imx.c b/drivers/usb/chipidea/usbmisc_imx.c
index 43098a150e83..34fd26faa303 100644
--- a/drivers/usb/chipidea/usbmisc_imx.c
+++ b/drivers/usb/chipidea/usbmisc_imx.c
@@ -677,6 +677,11 @@ static int usbmisc_s32g2_init(struct imx_usbmisc_data *data)
 	return usbmisc_s32g_init(data, S32G_UCMALLBE);
 }
 
+static int usbmisc_s32g3_init(struct imx_usbmisc_data *data)
+{
+	return usbmisc_s32g_init(data, 0);
+}
+
 static int usbmisc_imx7d_set_wakeup
 	(struct imx_usbmisc_data *data, bool enabled)
 {
@@ -1200,6 +1205,12 @@ static const struct usbmisc_ops s32g2_usbmisc_ops = {
 	.flags = REINIT_DURING_RESUME,
 };
 
+static const struct usbmisc_ops s32g3_usbmisc_ops = {
+	.init = usbmisc_s32g3_init,
+	.set_wakeup = usbmisc_s32g_set_wakeup,
+	.flags = REINIT_DURING_RESUME,
+};
+
 static inline bool is_imx53_usbmisc(struct imx_usbmisc_data *data)
 {
 	struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev);
@@ -1432,6 +1443,10 @@ static const struct of_device_id usbmisc_imx_dt_ids[] = {
 		.compatible = "nxp,s32g2-usbmisc",
 		.data = &s32g2_usbmisc_ops,
 	},
+	{
+		.compatible = "nxp,s32g3-usbmisc",
+		.data = &s32g3_usbmisc_ops,
+	},
 	{ /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, usbmisc_imx_dt_ids);
-- 
2.47.2


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/4] dt-bindings: usb: Add compatible strings for s32g2/s32g3
  2025-05-28 19:57 ` [PATCH 1/4] dt-bindings: usb: Add compatible strings for s32g2/s32g3 Dan Carpenter
@ 2025-05-28 21:22   ` Frank Li
  2025-06-02  5:49     ` Dan Carpenter
  2025-05-29  9:32   ` Krzysztof Kozlowski
  1 sibling, 1 reply; 14+ messages in thread
From: Frank Li @ 2025-05-28 21:22 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Xu Yang, Peng Fan, linux-usb, devicetree,
	linux-kernel, Ghennadi Procopciuc, s32, linaro-s32,
	Larisa Grigore, Ionut Vicovan

On Wed, May 28, 2025 at 10:57:10PM +0300, Dan Carpenter wrote:
> From: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
>
> Add the compatible strings for the NXP s32g2 and s32g3.
>
> Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com>
> Signed-off-by: Ionut Vicovan <Ionut.Vicovan@nxp.com>
> Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
>  Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml | 2 ++
>  Documentation/devicetree/bindings/usb/fsl,usbmisc.yaml  | 2 ++
>  2 files changed, 4 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> index cc5787a8cfa3..400d885fea96 100644
> --- a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> @@ -24,6 +24,8 @@ properties:
>            - nvidia,tegra114-udc
>            - nvidia,tegra124-udc
>            - qcom,ci-hdrc
> +          - nxp,s32g2-usb
> +          - nxp,s32g3-usb

keep alphabet order! Can you use b4 to send patch, look like cc list missed
imx@lists.linux.dev

Frank

>        - items:
>            - enum:
>                - nvidia,tegra114-ehci
> diff --git a/Documentation/devicetree/bindings/usb/fsl,usbmisc.yaml b/Documentation/devicetree/bindings/usb/fsl,usbmisc.yaml
> index 019435540df0..ca677d1a8274 100644
> --- a/Documentation/devicetree/bindings/usb/fsl,usbmisc.yaml
> +++ b/Documentation/devicetree/bindings/usb/fsl,usbmisc.yaml
> @@ -21,6 +21,8 @@ properties:
>            - fsl,imx53-usbmisc
>            - fsl,imx6q-usbmisc
>            - fsl,vf610-usbmisc
> +          - nxp,s32g2-usbmisc
> +          - nxp,s32g3-usbmisc
>        - items:
>            - enum:
>                - fsl,imx6ul-usbmisc
> --
> 2.47.2
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 2/4] usb: chipidea: usbmisc: s32g: Add a REINIT_DURING_RESUME flag
  2025-05-28 19:57 ` [PATCH 2/4] usb: chipidea: usbmisc: s32g: Add a REINIT_DURING_RESUME flag Dan Carpenter
@ 2025-05-28 21:27   ` Frank Li
  2025-06-02 14:01     ` Dan Carpenter
  0 siblings, 1 reply; 14+ messages in thread
From: Frank Li @ 2025-05-28 21:27 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: Peter Chen, Greg Kroah-Hartman, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, linux-usb, imx,
	linux-arm-kernel, linux-kernel, Ghennadi Procopciuc, s32,
	linaro-s32

On Wed, May 28, 2025 at 10:57:20PM +0300, Dan Carpenter wrote:
> From: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
>
> The s32g2 and s32g3 chips will need to re-initialize in the resume path.
> Add a REINIT_DURING_RESUME flag which will trigger the reinitialization.

why power_lost_check() doesn't work for you?

Frank
>
> Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
>  drivers/usb/chipidea/usbmisc_imx.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/drivers/usb/chipidea/usbmisc_imx.c b/drivers/usb/chipidea/usbmisc_imx.c
> index 118b9a68496b..95759a4ec60c 100644
> --- a/drivers/usb/chipidea/usbmisc_imx.c
> +++ b/drivers/usb/chipidea/usbmisc_imx.c
> @@ -155,6 +155,9 @@
>  					 BLKCTL_OTG_VBUS_WAKEUP_EN | \
>  					 BLKCTL_OTG_DPDM_WAKEUP_EN)
>
> +/* Flags for 'struct imx_usbmisc' */
> +#define REINIT_DURING_RESUME	BIT(1)
> +
>  struct usbmisc_ops {
>  	/* It's called once when probe a usb device */
>  	int (*init)(struct imx_usbmisc_data *data);
> @@ -171,6 +174,7 @@ struct usbmisc_ops {
>  	/* It's called when system resume from usb power lost */
>  	int (*power_lost_check)(struct imx_usbmisc_data *data);
>  	void (*vbus_comparator_on)(struct imx_usbmisc_data *data, bool on);
> +	u32 flags;
>  };
>
>  struct imx_usbmisc {
> @@ -1266,6 +1270,9 @@ int imx_usbmisc_resume(struct imx_usbmisc_data *data, bool wakeup)
>
>  	usbmisc = dev_get_drvdata(data->dev);
>
> +	if ((usbmisc->ops->flags & REINIT_DURING_RESUME) && usbmisc->ops->init)
> +		usbmisc->ops->init(data);
> +
>  	if (usbmisc->ops->power_lost_check)
>  		ret = usbmisc->ops->power_lost_check(data);
>  	if (ret > 0) {
> --
> 2.47.2
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 3/4] usb: chipidea: s32g: Add usb support for s32g2
  2025-05-28 19:57 ` [PATCH 3/4] usb: chipidea: s32g: Add usb support for s32g2 Dan Carpenter
@ 2025-05-28 21:37   ` Frank Li
  0 siblings, 0 replies; 14+ messages in thread
From: Frank Li @ 2025-05-28 21:37 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: Peter Chen, Greg Kroah-Hartman, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, linux-usb, imx,
	linux-arm-kernel, linux-kernel, Ghennadi Procopciuc, s32,
	linaro-s32

On Wed, May 28, 2025 at 10:57:27PM +0300, Dan Carpenter wrote:
> From: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
>
> Enable USB driver for s32g2.
>
> Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
>  drivers/usb/chipidea/ci_hdrc_imx.c |  6 +++
>  drivers/usb/chipidea/usbmisc_imx.c | 69 ++++++++++++++++++++++++++++++
>  2 files changed, 75 insertions(+)
>
> diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c
> index 780f4d151345..ce207f8566d5 100644
> --- a/drivers/usb/chipidea/ci_hdrc_imx.c
> +++ b/drivers/usb/chipidea/ci_hdrc_imx.c
> @@ -1,6 +1,7 @@
>  // SPDX-License-Identifier: GPL-2.0+
>  /*
>   * Copyright 2012 Freescale Semiconductor, Inc.
> + * Copyright 2020 NXP

2025?

Frank

>   * Copyright (C) 2012 Marek Vasut <marex@denx.de>
>   * on behalf of DENX Software Engineering GmbH
>   */
> @@ -78,6 +79,10 @@ static const struct ci_hdrc_imx_platform_flag imx8ulp_usb_data = {
>  		CI_HDRC_HAS_PORTSC_PEC_MISSED,
>  };
>
> +static const struct ci_hdrc_imx_platform_flag s32g_usb_data = {
> +	.flags = CI_HDRC_DISABLE_HOST_STREAMING,
> +};
> +
>  static const struct of_device_id ci_hdrc_imx_dt_ids[] = {
>  	{ .compatible = "fsl,imx23-usb", .data = &imx23_usb_data},
>  	{ .compatible = "fsl,imx28-usb", .data = &imx28_usb_data},
> @@ -89,6 +94,7 @@ static const struct of_device_id ci_hdrc_imx_dt_ids[] = {
>  	{ .compatible = "fsl,imx7d-usb", .data = &imx7d_usb_data},
>  	{ .compatible = "fsl,imx7ulp-usb", .data = &imx7ulp_usb_data},
>  	{ .compatible = "fsl,imx8ulp-usb", .data = &imx8ulp_usb_data},
> +	{ .compatible = "nxp,s32g2-usb", .data = &s32g_usb_data},
>  	{ /* sentinel */ }
>  };
>  MODULE_DEVICE_TABLE(of, ci_hdrc_imx_dt_ids);
> diff --git a/drivers/usb/chipidea/usbmisc_imx.c b/drivers/usb/chipidea/usbmisc_imx.c
> index 95759a4ec60c..43098a150e83 100644
> --- a/drivers/usb/chipidea/usbmisc_imx.c
> +++ b/drivers/usb/chipidea/usbmisc_imx.c
> @@ -1,6 +1,7 @@
>  // SPDX-License-Identifier: GPL-2.0+
>  /*
>   * Copyright 2012 Freescale Semiconductor, Inc.
> + * Copyright 2020 NXP
>   */
>
>  #include <linux/module.h>
> @@ -158,6 +159,18 @@
>  /* Flags for 'struct imx_usbmisc' */
>  #define REINIT_DURING_RESUME	BIT(1)
>
> +#define S32G_WAKEUP_IE		BIT(0)
> +#define S32G_CORE_IE		BIT(1)
> +#define S32G_PWRFLTEN		BIT(7)
> +#define S32G_WAKEUPCTRL		BIT(10)
> +#define S32G_WAKEUPEN		BIT(11)
> +
> +/* Workaround errata ERR050474 (handle packages that aren't 4 byte aligned) */
> +#define S32G_UCMALLBE		BIT(15)
> +
> +#define S32G_WAKEUP_BITS (S32G_WAKEUP_IE | S32G_CORE_IE | S32G_WAKEUPEN | \
> +			  S32G_WAKEUPCTRL)
> +
>  struct usbmisc_ops {
>  	/* It's called once when probe a usb device */
>  	int (*init)(struct imx_usbmisc_data *data);
> @@ -618,6 +631,52 @@ static int usbmisc_vf610_init(struct imx_usbmisc_data *data)
>  	return 0;
>  }
>
> +static int usbmisc_s32g_set_wakeup(struct imx_usbmisc_data *data, bool enabled)
> +{
> +	struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev);
> +	unsigned long flags;
> +	u32 reg;
> +
> +	spin_lock_irqsave(&usbmisc->lock, flags);
> +
> +	reg = readl(usbmisc->base);
> +	if (enabled)
> +		reg |= S32G_WAKEUP_BITS;
> +	else
> +		reg &= ~S32G_WAKEUP_BITS;
> +
> +	writel(reg, usbmisc->base);
> +	spin_unlock_irqrestore(&usbmisc->lock, flags);
> +
> +	return 0;
> +}
> +
> +static int usbmisc_s32g_init(struct imx_usbmisc_data *data, u32 extra_flags)
> +{
> +	struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev);
> +	unsigned long flags;
> +	u32 reg;
> +
> +	spin_lock_irqsave(&usbmisc->lock, flags);
> +
> +	reg = readl(usbmisc->base);
> +
> +	reg |= S32G_PWRFLTEN;
> +	reg |= extra_flags;
> +
> +	writel(reg, usbmisc->base);
> +
> +	spin_unlock_irqrestore(&usbmisc->lock, flags);
> +	usbmisc_s32g_set_wakeup(data, false);
> +
> +	return 0;
> +}
> +
> +static int usbmisc_s32g2_init(struct imx_usbmisc_data *data)
> +{
> +	return usbmisc_s32g_init(data, S32G_UCMALLBE);
> +}
> +
>  static int usbmisc_imx7d_set_wakeup
>  	(struct imx_usbmisc_data *data, bool enabled)
>  {
> @@ -1135,6 +1194,12 @@ static const struct usbmisc_ops imx95_usbmisc_ops = {
>  	.vbus_comparator_on = usbmisc_imx7d_vbus_comparator_on,
>  };
>
> +static const struct usbmisc_ops s32g2_usbmisc_ops = {
> +	.init = usbmisc_s32g2_init,
> +	.set_wakeup = usbmisc_s32g_set_wakeup,
> +	.flags = REINIT_DURING_RESUME,
> +};
> +
>  static inline bool is_imx53_usbmisc(struct imx_usbmisc_data *data)
>  {
>  	struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev);
> @@ -1363,6 +1428,10 @@ static const struct of_device_id usbmisc_imx_dt_ids[] = {
>  		.compatible = "fsl,imx95-usbmisc",
>  		.data = &imx95_usbmisc_ops,
>  	},
> +	{
> +		.compatible = "nxp,s32g2-usbmisc",
> +		.data = &s32g2_usbmisc_ops,
> +	},
>  	{ /* sentinel */ }
>  };
>  MODULE_DEVICE_TABLE(of, usbmisc_imx_dt_ids);
> --
> 2.47.2
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 4/4] usb: chipidea: s32g: Add usb support for s32g3
  2025-05-28 19:57 ` [PATCH 4/4] usb: chipidea: s32g: Add usb support for s32g3 Dan Carpenter
@ 2025-05-28 21:40   ` Frank Li
  2025-06-11 19:17     ` Dan Carpenter
  0 siblings, 1 reply; 14+ messages in thread
From: Frank Li @ 2025-05-28 21:40 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: Peter Chen, Greg Kroah-Hartman, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, linux-usb, imx,
	linux-arm-kernel, linux-kernel, Ghennadi Procopciuc, s32,
	linaro-s32

On Wed, May 28, 2025 at 10:57:39PM +0300, Dan Carpenter wrote:
> From: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
>
> Enable USB driver for the s32g3 USB device.
>
> Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
>  drivers/usb/chipidea/ci_hdrc_imx.c |  1 +
>  drivers/usb/chipidea/usbmisc_imx.c | 15 +++++++++++++++
>  2 files changed, 16 insertions(+)
>
> diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c
> index ce207f8566d5..d062399ce15e 100644
> --- a/drivers/usb/chipidea/ci_hdrc_imx.c
> +++ b/drivers/usb/chipidea/ci_hdrc_imx.c
> @@ -95,6 +95,7 @@ static const struct of_device_id ci_hdrc_imx_dt_ids[] = {
>  	{ .compatible = "fsl,imx7ulp-usb", .data = &imx7ulp_usb_data},
>  	{ .compatible = "fsl,imx8ulp-usb", .data = &imx8ulp_usb_data},
>  	{ .compatible = "nxp,s32g2-usb", .data = &s32g_usb_data},
> +	{ .compatible = "nxp,s32g3-usb", .data = &s32g_usb_data},

If it is same, suggest compatible string fallback to nxp,s32g2-usb

compatible = "nxp,s32g3-usb", "nxp,s32g2-usb".

Frank

>  	{ /* sentinel */ }
>  };
>  MODULE_DEVICE_TABLE(of, ci_hdrc_imx_dt_ids);
> diff --git a/drivers/usb/chipidea/usbmisc_imx.c b/drivers/usb/chipidea/usbmisc_imx.c
> index 43098a150e83..34fd26faa303 100644
> --- a/drivers/usb/chipidea/usbmisc_imx.c
> +++ b/drivers/usb/chipidea/usbmisc_imx.c
> @@ -677,6 +677,11 @@ static int usbmisc_s32g2_init(struct imx_usbmisc_data *data)
>  	return usbmisc_s32g_init(data, S32G_UCMALLBE);
>  }
>
> +static int usbmisc_s32g3_init(struct imx_usbmisc_data *data)
> +{
> +	return usbmisc_s32g_init(data, 0);
> +}
> +
>  static int usbmisc_imx7d_set_wakeup
>  	(struct imx_usbmisc_data *data, bool enabled)
>  {
> @@ -1200,6 +1205,12 @@ static const struct usbmisc_ops s32g2_usbmisc_ops = {
>  	.flags = REINIT_DURING_RESUME,
>  };
>
> +static const struct usbmisc_ops s32g3_usbmisc_ops = {
> +	.init = usbmisc_s32g3_init,
> +	.set_wakeup = usbmisc_s32g_set_wakeup,
> +	.flags = REINIT_DURING_RESUME,
> +};
> +
>  static inline bool is_imx53_usbmisc(struct imx_usbmisc_data *data)
>  {
>  	struct imx_usbmisc *usbmisc = dev_get_drvdata(data->dev);
> @@ -1432,6 +1443,10 @@ static const struct of_device_id usbmisc_imx_dt_ids[] = {
>  		.compatible = "nxp,s32g2-usbmisc",
>  		.data = &s32g2_usbmisc_ops,
>  	},
> +	{
> +		.compatible = "nxp,s32g3-usbmisc",
> +		.data = &s32g3_usbmisc_ops,
> +	},
>  	{ /* sentinel */ }
>  };
>  MODULE_DEVICE_TABLE(of, usbmisc_imx_dt_ids);
> --
> 2.47.2
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/4] dt-bindings: usb: Add compatible strings for s32g2/s32g3
  2025-05-28 19:57 ` [PATCH 1/4] dt-bindings: usb: Add compatible strings for s32g2/s32g3 Dan Carpenter
  2025-05-28 21:22   ` Frank Li
@ 2025-05-29  9:32   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-05-29  9:32 UTC (permalink / raw)
  To: Dan Carpenter, Greg Kroah-Hartman
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Xu Yang, Peng Fan,
	linux-usb, devicetree, linux-kernel, Ghennadi Procopciuc, s32,
	linaro-s32, Larisa Grigore, Ionut Vicovan

On 28/05/2025 21:57, Dan Carpenter wrote:
> From: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
> 
> Add the compatible strings for the NXP s32g2 and s32g3.


Why these are not compatible? Explain the hardware in the commit msg.
Your driver, although you did not Cc me on it, suggests they are
compatible. Anyway you have entire commit msg to explain unusual things.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/4] dt-bindings: usb: Add compatible strings for s32g2/s32g3
  2025-05-28 21:22   ` Frank Li
@ 2025-06-02  5:49     ` Dan Carpenter
  0 siblings, 0 replies; 14+ messages in thread
From: Dan Carpenter @ 2025-06-02  5:49 UTC (permalink / raw)
  To: Frank Li
  Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Xu Yang, Peng Fan, linux-usb, devicetree,
	linux-kernel, Ghennadi Procopciuc, s32, linaro-s32,
	Larisa Grigore, Ionut Vicovan

On Wed, May 28, 2025 at 05:22:36PM -0400, Frank Li wrote:
> On Wed, May 28, 2025 at 10:57:10PM +0300, Dan Carpenter wrote:
> > From: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
> >
> > Add the compatible strings for the NXP s32g2 and s32g3.
> >
> > Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com>
> > Signed-off-by: Ionut Vicovan <Ionut.Vicovan@nxp.com>
> > Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
> > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> > ---
> >  Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml | 2 ++
> >  Documentation/devicetree/bindings/usb/fsl,usbmisc.yaml  | 2 ++
> >  2 files changed, 4 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> > index cc5787a8cfa3..400d885fea96 100644
> > --- a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> > +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
> > @@ -24,6 +24,8 @@ properties:
> >            - nvidia,tegra114-udc
> >            - nvidia,tegra124-udc
> >            - qcom,ci-hdrc
> > +          - nxp,s32g2-usb
> > +          - nxp,s32g3-usb
> 
> keep alphabet order!

Ah, sure.

> Can you use b4 to send patch, look like cc list missed
> imx@lists.linux.dev

It's MAINTAINERS file which is wrong here.

$ ./scripts/get_maintainer.pl -f Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml
Greg Kroah-Hartman <gregkh@linuxfoundation.org> (maintainer:USB SUBSYSTEM)
Rob Herring <robh@kernel.org> (maintainer:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS)
Krzysztof Kozlowski <krzk+dt@kernel.org> (maintainer:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS)
Conor Dooley <conor+dt@kernel.org> (maintainer:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS)
Xu Yang <xu.yang_2@nxp.com> (in file)
Peng Fan <peng.fan@nxp.com> (in file)
linux-usb@vger.kernel.org (open list:USB SUBSYSTEM)
devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS)
linux-kernel@vger.kernel.org (open list)
USB SUBSYSTEM status: Supported

regards,
dan carpenter


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 2/4] usb: chipidea: usbmisc: s32g: Add a REINIT_DURING_RESUME flag
  2025-05-28 21:27   ` Frank Li
@ 2025-06-02 14:01     ` Dan Carpenter
  0 siblings, 0 replies; 14+ messages in thread
From: Dan Carpenter @ 2025-06-02 14:01 UTC (permalink / raw)
  To: Frank Li
  Cc: Peter Chen, Greg Kroah-Hartman, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, linux-usb, imx,
	linux-arm-kernel, linux-kernel, Ghennadi Procopciuc, s32,
	linaro-s32

On Wed, May 28, 2025 at 05:27:00PM -0400, Frank Li wrote:
> On Wed, May 28, 2025 at 10:57:20PM +0300, Dan Carpenter wrote:
> > From: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
> >
> > The s32g2 and s32g3 chips will need to re-initialize in the resume path.
> > Add a REINIT_DURING_RESUME flag which will trigger the reinitialization.
> 
> why power_lost_check() doesn't work for you?
> 

Yeah.  That looks like it should work.  Thanks.

regards,
dan carpenter


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 4/4] usb: chipidea: s32g: Add usb support for s32g3
  2025-05-28 21:40   ` Frank Li
@ 2025-06-11 19:17     ` Dan Carpenter
  2025-06-11 21:24       ` Frank Li
  0 siblings, 1 reply; 14+ messages in thread
From: Dan Carpenter @ 2025-06-11 19:17 UTC (permalink / raw)
  To: Frank Li
  Cc: Peter Chen, Greg Kroah-Hartman, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, linux-usb, imx,
	linux-arm-kernel, linux-kernel, Ghennadi Procopciuc, s32,
	linaro-s32

On Wed, May 28, 2025 at 05:40:17PM -0400, Frank Li wrote:
> On Wed, May 28, 2025 at 10:57:39PM +0300, Dan Carpenter wrote:
> > From: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
> >
> > Enable USB driver for the s32g3 USB device.
> >
> > Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
> > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> > ---
> >  drivers/usb/chipidea/ci_hdrc_imx.c |  1 +
> >  drivers/usb/chipidea/usbmisc_imx.c | 15 +++++++++++++++
> >  2 files changed, 16 insertions(+)
> >
> > diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c
> > index ce207f8566d5..d062399ce15e 100644
> > --- a/drivers/usb/chipidea/ci_hdrc_imx.c
> > +++ b/drivers/usb/chipidea/ci_hdrc_imx.c
> > @@ -95,6 +95,7 @@ static const struct of_device_id ci_hdrc_imx_dt_ids[] = {
> >  	{ .compatible = "fsl,imx7ulp-usb", .data = &imx7ulp_usb_data},
> >  	{ .compatible = "fsl,imx8ulp-usb", .data = &imx8ulp_usb_data},
> >  	{ .compatible = "nxp,s32g2-usb", .data = &s32g_usb_data},
> > +	{ .compatible = "nxp,s32g3-usb", .data = &s32g_usb_data},
> 
> If it is same, suggest compatible string fallback to nxp,s32g2-usb
> 
> compatible = "nxp,s32g3-usb", "nxp,s32g2-usb".
> 

These are the same, yeah.  I'm not sure I understand.  Did you mean just
add the "nxp,s32g2-usb" string to the driver, and put both the g2 and g3
in the devicetree file?

regards,
dan carpenter


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 4/4] usb: chipidea: s32g: Add usb support for s32g3
  2025-06-11 19:17     ` Dan Carpenter
@ 2025-06-11 21:24       ` Frank Li
  0 siblings, 0 replies; 14+ messages in thread
From: Frank Li @ 2025-06-11 21:24 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: Peter Chen, Greg Kroah-Hartman, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, linux-usb, imx,
	linux-arm-kernel, linux-kernel, Ghennadi Procopciuc, s32,
	linaro-s32

On Wed, Jun 11, 2025 at 10:17:44PM +0300, Dan Carpenter wrote:
> On Wed, May 28, 2025 at 05:40:17PM -0400, Frank Li wrote:
> > On Wed, May 28, 2025 at 10:57:39PM +0300, Dan Carpenter wrote:
> > > From: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
> > >
> > > Enable USB driver for the s32g3 USB device.
> > >
> > > Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
> > > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> > > ---
> > >  drivers/usb/chipidea/ci_hdrc_imx.c |  1 +
> > >  drivers/usb/chipidea/usbmisc_imx.c | 15 +++++++++++++++
> > >  2 files changed, 16 insertions(+)
> > >
> > > diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c
> > > index ce207f8566d5..d062399ce15e 100644
> > > --- a/drivers/usb/chipidea/ci_hdrc_imx.c
> > > +++ b/drivers/usb/chipidea/ci_hdrc_imx.c
> > > @@ -95,6 +95,7 @@ static const struct of_device_id ci_hdrc_imx_dt_ids[] = {
> > >  	{ .compatible = "fsl,imx7ulp-usb", .data = &imx7ulp_usb_data},
> > >  	{ .compatible = "fsl,imx8ulp-usb", .data = &imx8ulp_usb_data},
> > >  	{ .compatible = "nxp,s32g2-usb", .data = &s32g_usb_data},
> > > +	{ .compatible = "nxp,s32g3-usb", .data = &s32g_usb_data},
> >
> > If it is same, suggest compatible string fallback to nxp,s32g2-usb
> >
> > compatible = "nxp,s32g3-usb", "nxp,s32g2-usb".
> >
>
> These are the same, yeah.  I'm not sure I understand.  Did you mean just
> add the "nxp,s32g2-usb" string to the driver, and put both the g2 and g3
> in the devicetree file?

Yes,

Frank
>
> regards,
> dan carpenter
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2025-06-11 21:24 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-28 19:57 [PATCH 0/4] usb: chipidea: Add support for s32g2 and s32g3 Dan Carpenter
2025-05-28 19:57 ` [PATCH 1/4] dt-bindings: usb: Add compatible strings for s32g2/s32g3 Dan Carpenter
2025-05-28 21:22   ` Frank Li
2025-06-02  5:49     ` Dan Carpenter
2025-05-29  9:32   ` Krzysztof Kozlowski
2025-05-28 19:57 ` [PATCH 2/4] usb: chipidea: usbmisc: s32g: Add a REINIT_DURING_RESUME flag Dan Carpenter
2025-05-28 21:27   ` Frank Li
2025-06-02 14:01     ` Dan Carpenter
2025-05-28 19:57 ` [PATCH 3/4] usb: chipidea: s32g: Add usb support for s32g2 Dan Carpenter
2025-05-28 21:37   ` Frank Li
2025-05-28 19:57 ` [PATCH 4/4] usb: chipidea: s32g: Add usb support for s32g3 Dan Carpenter
2025-05-28 21:40   ` Frank Li
2025-06-11 19:17     ` Dan Carpenter
2025-06-11 21:24       ` Frank Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).