From nobody Fri Oct 10 21:06:53 2025 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C07262D320E for ; Thu, 12 Jun 2025 18:50:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749754258; cv=none; b=WfgBK4+j2ENTstyWU990XamxCnbQG532t1jOD+LJJSzJzOKIaDl79sCuJ2ZEikzZbr0LB3YSmUGrLunYRTx8J3RlYzexG5jeiwtJvAj7WQmSuphBbRtJ/rpXCa7jvgjFNKuVWDeHlfp/dRPvXdRTI+WpM+Wu+p4ovtJBz4MdQ3Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749754258; c=relaxed/simple; bh=KzTTs/ugVGZL81EZM6r1DC5THbX9ekJQpMdwtR6aQYo=; h=From:Date:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=MSHB7GeRsq6GXZMC6jdb3MwnHIgCdX7Q30T/liKtGoEz7kcGB1Fi1rn7OalrAI5d16fqyX9Xya9yTpGwq55gAa+2NVbDscdT+ExkUMmlQ/07HmP079b4ce8cnNFAOoUayzHJllIuQaBR+27f0Cg7m12vzCAF2f/qOij8XN4yxvs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=xBvyZXaQ; arc=none smtp.client-ip=209.85.128.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="xBvyZXaQ" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-451ebd3d149so9092355e9.2 for ; Thu, 12 Jun 2025 11:50:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1749754255; x=1750359055; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=S/WDJPrQPxRbp8NBRHRZm/xuQ8N47zspth9KJHjwxXA=; b=xBvyZXaQ2Bz5cnyFeSnoX6Z/yRzq0YGnlNUieoHehNcwKdWDRKMzyfKhfekGv0+fg3 rFRf5JoN4zwcimmYxD3wUCawZ5Rd9MhcGpJ6j4wBU/75EXB1G0UO7NeWOcDn1ikjUsQy 4cqCkYJF2iGr6QjngOmNaaD8Sp0DGhsl2/1VnI5oMp1vBVHPHJw5g2y1+CW/GnxHvZtn o79T3xFuCGbhIum8urJSfQKKj1cZTImKh1/fFOUYtkmpVgY1/hdTBhllw+b2myWDGc7F inVSV0BeNdtZ8A9upXsEdauQB8iA1TNMQ4H+BhNBzzvY+IB+QwUY4CeEPdW3CdDPYBFd YXdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749754255; x=1750359055; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=S/WDJPrQPxRbp8NBRHRZm/xuQ8N47zspth9KJHjwxXA=; b=rSGVurMoKX9zZadbOtT/MYf8twFYL46Am5V/bpjOHiZ7s15P8KV/9pxSeJnceVaawa 88sGH5n5uNI7nFcy7Dg1a7HS4IdN2EkREo1MkiFFUddL2cJo5jZQua18YJa2fBniamc5 Xn/th+F6O1ttfRBLzB1gZwVLMsyaR1FJE+xQipBc6JhBp/8Jb9/fnZ0Elb6sX/FDsuoM LRw8WyHA6XMERY/VoGCKFmMwx4/nsJGaQfXkZFDMl8TNt+r9fnrFOjw7Jep/o3zPXBdb 2E+94tJcK7i0MuNplaMQHeLdPf6Gaxg/L7G6i8mNCuF4k48ShoIsWGzvd1Z1WKsplNGD T95Q== X-Forwarded-Encrypted: i=1; AJvYcCWhlefp+sQ85Cno3Ka+R3XAl9/krtzpUrH9/lCRpKogoJZDBn3elOOMPDhZAzHVFeEQ6dVk1hRmkmlCytU=@vger.kernel.org X-Gm-Message-State: AOJu0Yw/JCneJy83u8YSJgXpAU3+0Rs7aznR0ShV+qqAldnzAnLxqNA9 32l1vjBy5iyadOk6SIY/gkDqqLLsZ2/gE1R7i4NztE3CIGhNWz6Kl4ayrYRc+iMUAUM= X-Gm-Gg: ASbGncs7DD8z6pJIhn/GUpQrH1jNtb4gPehfNtZneDS2xK5bBvOA9Px2hREKsGxXbYR HK2DCwcFam2EXDeTfK2vtZnyqSoEpk2TWR7/oOAILhsjk0k6+0IKX6ocoXmvJa4g/W8iV9bHagb hPqRv9yl2EFMfyuNP2nF6K92KbIgkghmTxlI7eEwxcLv3EFfwEKwS5M41VuwzDWmd5GOH5SQsyW Nke6LwlOT+jiDjAxsMJK2vjR9kcNa2WKQx1RQaXGOAy5q36VHFI9tnK5dnkvVvPF7KfejWFPmBM KdLsrY8f/gLAxL1IxW59ToodSjHrdNRsplGGMifSEpbCcXQv89yedXM8fYNFgXssVbHSiHsh4t1 QL7Zxmw== X-Google-Smtp-Source: AGHT+IGzQ7CInmhyLVNO9NWc9ioy6OsDMOMV4BghZVu8RO7M8cKhgzv5GG0sczaNKS+6ukRU1kkY5g== X-Received: by 2002:a05:600c:1c86:b0:442:f4a3:8c5c with SMTP id 5b1f17b1804b1-45334a83221mr2953015e9.10.1749754254976; Thu, 12 Jun 2025 11:50:54 -0700 (PDT) Received: from localhost ([196.207.164.177]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-453305a0d9dsm22086435e9.21.2025.06.12.11.50.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 11:50:54 -0700 (PDT) From: Ghennadi Procopciuc X-Google-Original-From: Ghennadi Procopciuc Date: Thu, 12 Jun 2025 21:50:51 +0300 To: Greg Kroah-Hartman Cc: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Xu Yang , Peng Fan , linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, s32@nxp.com, linaro-s32@linaro.org, Larisa Grigore , Ionut Vicovan , Ghennadi Procopciuc Subject: [PATCH 1/3 v2] dt-bindings: usb: Add compatible strings for s32g2/s32g3 Message-ID: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ghennadi Procopciuc Add the compatible strings for the NXP s32g2 and s32g3. These chips are mostly compatible. The one difference is that the s32g2-usbmisc device has an errata ERR050474 which requires a special flag to be set for handling packages that aren't 4 byte aligned. Signed-off-by: Larisa Grigore Signed-off-by: Ionut Vicovan Signed-off-by: Ghennadi Procopciuc Signed-off-by: Dan Carpenter --- Changes since v1: 1: Alphabetize 2: Update the commit message a bit. 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/Docu= mentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml index cc5787a8cfa3..f6372b76ed5a 100644 --- a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml @@ -23,6 +23,8 @@ properties: - nvidia,tegra30-udc - nvidia,tegra114-udc - nvidia,tegra124-udc + - nxp,s32g2-usb + - nxp,s32g3-usb - qcom,ci-hdrc - items: - enum: diff --git a/Documentation/devicetree/bindings/usb/fsl,usbmisc.yaml b/Docum= entation/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 --=20 2.47.2 From nobody Fri Oct 10 21:06:53 2025 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7D27F2D1F45 for ; Thu, 12 Jun 2025 18:51:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749754266; cv=none; b=t6+nZW0ImarMAtIUteDBuJXpWwbcCiBNFPiFAXffdNCYiV+2ZJsdxyxejXaTKBhGQlVo3Ww3km5kvK0WP05sti1Xj5V2PU2NGEGl0K6BmCPvVaULxO0WvCgkL8jPy07gAI0APKmYKHONsmxcP3juLt9bGfZ+eznrqlWPk8Y2dKI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749754266; c=relaxed/simple; bh=Ti66POowjToKmJfrE+6x34fyibhTpawJRvQadMeL9L4=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=CsO6XJHowlz6WbMxP/4SmQXp167g8SCpNPlAb0WqB49V4FOXQ26SHP7eWgHYS4MJlfsp3BYCm65dyn13DaCv6N/yuSTJgB+MjHWY9SOoafw4FjSHGXtCu2GcSulbWaVZC4I6cMdpLz15ySAqvEUsM/Yr4HB2VgfYNmKbI5UQfvk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=ID5ZEFq7; arc=none smtp.client-ip=209.85.128.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ID5ZEFq7" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-4531e146a24so8989885e9.0 for ; Thu, 12 Jun 2025 11:51:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1749754263; x=1750359063; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=ItSlMM/wBlLoKev8FS4kVPMptl6b/7qaX2G05ZNLbgo=; b=ID5ZEFq7CjR9Tb3SD3f/2wgU/gVz3KrOLws0fhvuQc42I7M6zoLCRR2+oHXBbu6Hn/ nLrg3u3dv1Xag0qsikiHwH2f271wMytgmRboDP/6z/4NKZ8/cA1aV1SAyZCEIiYf7Ac8 tlVY1U4KgWrHVixq5BkbAd0L0XkaAr+zZ0hWP8bQobD0gey0jJCFnnVxqwaDI5CZ9uUW BwE+3bQf5B6N2Kzx4xyrNzn3cx9RMCQ5KH1k6nDoljyB/aUu6SwLY335J12w2cX4TGKj NPZLP3Y6QTM5VcHwRFAup7zS7ZOGE+pT/DVtCYmyplQo0amnGZgl82huZfCK+JAGBEEN aQ5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749754263; x=1750359063; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ItSlMM/wBlLoKev8FS4kVPMptl6b/7qaX2G05ZNLbgo=; b=rWrEwgWUFM0Uxe0SoCxhd78l2wR58P9DqS6rT97Noq99pmRZsT8qI9GfInlTq9hjf0 Nf+Sdk3x0/VjaE7gl88d7V3gU/uTg38F8IjGn9Z570EUKMZd9g23G4AY+RuRZCDNwfiN VYeZF8Y2u4ebg5c9zjXHDyTIl9KU8gfu1A/Myt3joIybLj909PbR5z9ID1+pl0/4EpG6 XTb+M9eibhmUGn2+nC5L4ZICy+3ugjDOGwSUnNUn3TBXOOSbGPYqRUw2ImjuNzOhW70v 2a1cWT5p5o9w+bL9XXdtD1A5ZLlOPgXBZCasLQHyaq48QdNKBTt0yIyZjs5eeRvbdZT4 YNow== X-Forwarded-Encrypted: i=1; AJvYcCVMWiLnbRCSjDp+Gv5K6XqDgA+7M4+fvA00bCGmSMouaVRI1CPEi9A1OR/zl74Ii9ToldMz0OWow3vwRBQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5qA+cGtp++krwnZSPkyrJnYAlbU+61kFJGNOsGeUxFaMqppv0 J0bJ9JK93sNPd7NZ8Cp6/mjOL9XNz6HfszPIrTopUifIy4raAWUBaQ4xPsGExZBQv1Q= X-Gm-Gg: ASbGncvy1TR9MiDo9YlUloo8GXBXK++iU3xq4C3je8r4PsH1DXDmS4GO8yAftG36oFO fX0IGbQ3yJ8qtK+3Q1aRW9FUvUIjZW4VjNZNRbiTsp0MiJ0nmOWcioWHyQ+/E4TT8Yr11ApagOY 6+j8hhztQviMx4TUXarVkGvv7R13indHVFwACQZJ6wxzdcpbEPxM+0/RC57vC+3tEMpkTbtsuUn 9Fo3YOTIP7UQUAf3F9BPTRJbFoORd4R7UWl1HGqX0pqjN5QXosFsbpTmLUT6ykddk/w0Z2QMpol spAym/pCxaMttKKVFSXNL7AEI9v9nPGkeduWwv9Q4enL8I/0uegc8gz4MP1N4TaFhoM= X-Google-Smtp-Source: AGHT+IFHEWRA4DAg4P06P/t5PYCVCvOd5SOHz1nqZMsAIFIkiNf1r1XzzAQzITnujTOEyRBzX0R3lw== X-Received: by 2002:a05:6000:420b:b0:3a0:b308:8427 with SMTP id ffacd0b85a97d-3a5686f59c8mr300638f8f.37.1749754262777; Thu, 12 Jun 2025 11:51:02 -0700 (PDT) Received: from localhost ([196.207.164.177]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-4532e2446b0sm28363045e9.21.2025.06.12.11.51.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 11:51:02 -0700 (PDT) Date: Thu, 12 Jun 2025 21:50:59 +0300 From: Dan Carpenter To: Peter Chen Cc: Greg Kroah-Hartman , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , linux-usb@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski , s32@nxp.com, linaro-s32@linaro.org, Larisa Grigore , Ionut Vicovan , Ghennadi Procopciuc Subject: [PATCH 2/3 v2] usb: chipidea: s32g: Add usb support for s32g2 Message-ID: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ghennadi Procopciuc Enable USB driver for s32g2. This chip has an errata ERR050474, so we need to set S32G_UCMALLBE for it to handle packages which aren't 4 byte aligned correctly. Signed-off-by: Ghennadi Procopciuc Signed-off-by: Dan Carpenter --- Changes since v1: * Update the copyright * Use the .power_lost_check callback. drivers/usb/chipidea/ci_hdrc_imx.c | 6 +++ drivers/usb/chipidea/usbmisc_imx.c | 74 ++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_h= drc_imx.c index 780f4d151345..e8c847eab8e3 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 2025 NXP * Copyright (C) 2012 Marek Vasut * on behalf of DENX Software Engineering GmbH */ @@ -78,6 +79,10 @@ static const struct ci_hdrc_imx_platform_flag imx8ulp_us= b_data =3D { CI_HDRC_HAS_PORTSC_PEC_MISSED, }; =20 +static const struct ci_hdrc_imx_platform_flag s32g_usb_data =3D { + .flags =3D CI_HDRC_DISABLE_HOST_STREAMING, +}; + static const struct of_device_id ci_hdrc_imx_dt_ids[] =3D { { .compatible =3D "fsl,imx23-usb", .data =3D &imx23_usb_data}, { .compatible =3D "fsl,imx28-usb", .data =3D &imx28_usb_data}, @@ -89,6 +94,7 @@ static const struct of_device_id ci_hdrc_imx_dt_ids[] =3D= { { .compatible =3D "fsl,imx7d-usb", .data =3D &imx7d_usb_data}, { .compatible =3D "fsl,imx7ulp-usb", .data =3D &imx7ulp_usb_data}, { .compatible =3D "fsl,imx8ulp-usb", .data =3D &imx8ulp_usb_data}, + { .compatible =3D "nxp,s32g2-usb", .data =3D &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/usbm= isc_imx.c index 118b9a68496b..67ff073ad806 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 2025 NXP */ =20 #include @@ -155,6 +156,18 @@ BLKCTL_OTG_VBUS_WAKEUP_EN | \ BLKCTL_OTG_DPDM_WAKEUP_EN) =20 +#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); @@ -614,6 +627,52 @@ static int usbmisc_vf610_init(struct imx_usbmisc_data = *data) return 0; } =20 +static int usbmisc_s32g_set_wakeup(struct imx_usbmisc_data *data, bool ena= bled) +{ + struct imx_usbmisc *usbmisc =3D dev_get_drvdata(data->dev); + unsigned long flags; + u32 reg; + + spin_lock_irqsave(&usbmisc->lock, flags); + + reg =3D readl(usbmisc->base); + if (enabled) + reg |=3D S32G_WAKEUP_BITS; + else + reg &=3D ~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_flag= s) +{ + struct imx_usbmisc *usbmisc =3D dev_get_drvdata(data->dev); + unsigned long flags; + u32 reg; + + spin_lock_irqsave(&usbmisc->lock, flags); + + reg =3D readl(usbmisc->base); + + reg |=3D S32G_PWRFLTEN; + reg |=3D 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) { @@ -1033,6 +1092,11 @@ static int usbmisc_imx6sx_power_lost_check(struct im= x_usbmisc_data *data) return 0; } =20 +static int usbmisc_s32g_power_lost_check(struct imx_usbmisc_data *data) +{ + return 1; +} + static u32 usbmisc_blkctl_wakeup_setting(struct imx_usbmisc_data *data) { u32 wakeup_setting =3D BLKCTL_WAKEUP_SOURCE; @@ -1131,6 +1195,12 @@ static const struct usbmisc_ops imx95_usbmisc_ops = =3D { .vbus_comparator_on =3D usbmisc_imx7d_vbus_comparator_on, }; =20 +static const struct usbmisc_ops s32g2_usbmisc_ops =3D { + .init =3D usbmisc_s32g2_init, + .set_wakeup =3D usbmisc_s32g_set_wakeup, + .power_lost_check =3D usbmisc_s32g_power_lost_check, +}; + static inline bool is_imx53_usbmisc(struct imx_usbmisc_data *data) { struct imx_usbmisc *usbmisc =3D dev_get_drvdata(data->dev); @@ -1356,6 +1426,10 @@ static const struct of_device_id usbmisc_imx_dt_ids[= ] =3D { .compatible =3D "fsl,imx95-usbmisc", .data =3D &imx95_usbmisc_ops, }, + { + .compatible =3D "nxp,s32g2-usbmisc", + .data =3D &s32g2_usbmisc_ops, + }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, usbmisc_imx_dt_ids); --=20 2.47.2 From nobody Fri Oct 10 21:06:53 2025 Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D38622D29C3 for ; Thu, 12 Jun 2025 18:51:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749754276; cv=none; b=th5rFWI0zdFeuD398+U1lx/g+tCiUQxjKs53ByzQqPU3doqeIlO3HbqBeBZ1MdDN5eblLd3jfTHuXtTWY/hJ6Vuw9wrRHPbuQdhYLxygDw8nF2YEIGrA2dYHPfExlbOPTH+FdswBXUeO/yKV8+q3JD2cdH46Ge3zErWpel6oyUU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749754276; c=relaxed/simple; bh=IWlKY+BMG19gHf6CAGx0zr0/tTNrF1H4xaMS/LlJU2U=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=SiT67J8GrLq/VjZoyeNjmjH2HcOk9K3RVjtNG7QDTMevX7hRcUIX3TJkVKPGQBxZHUZOqKnfPOG3Ay44H06RNod33eoH+TtlA/TrGmoQOnydyp/kK9+slBFKv8RKDChUdGuGrrEw5wvW5zOVR6l6FE76kZFgRLMfZdpcgwkZQw4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=LwcSVhA2; arc=none smtp.client-ip=209.85.221.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="LwcSVhA2" Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-3a365a6804eso824611f8f.3 for ; Thu, 12 Jun 2025 11:51:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1749754273; x=1750359073; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=RttzpPmx4+I2vFDRVVqMPeYipRESqQyZkl6IDrQJbiw=; b=LwcSVhA2evGpPWYLNDAJwbo2w5+fh0wRw9GnuzQUbFoRHD50Qj8t0/7fYENrz+ekAZ nldua6oEWWvKPqCMtEWNDiv5zNtXFpvjUheRFoMgI5HKJ2y5ojwYIQ1YxSxUiZCcgKJi nIq4MEmnV1geVCbAM77Qhoj3eyloy7qAM1Pdb1lT3vKbHLSjL/F6sbZ91/P2dVt7itTX Nh3Xzq2mHOJc3v/Juy3YrKl9YH0sjPw0U92G+JIis2dId7JpZ5HT3TDGaGCH8xnj8o6z V4VvkttWTkHom4B7akL5Ed+EnLNqcE3gwmhiPDfTrLd81oB4Mp2hIcOSoCNwgoDteM0S KAAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749754273; x=1750359073; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=RttzpPmx4+I2vFDRVVqMPeYipRESqQyZkl6IDrQJbiw=; b=aRMhnPVSEs0kYHgIwd7+9k7Lh5gIL5h9QtCpLzsYUdMBpbg+vlg1nrbzZB0o6ewkbT dYQscobyonOmHt3mMw0nMi38zKvvjXKD5h0eckgGP1uyzvgC+LEE2Kd8Bfr08ikdl6U4 UfAsf3QEY4gd8ugN6D+b7cL6O8GUJDJ7luY2cUbbN6DWfo9c64RNslOcf6AUp/jpwOPZ SEZpSJaRtTHHtYQrcZOKaphYoA8S8N59All0A4IeEE+guY3R40b/OysHEOgHjeuZu59A JMHrJJOpcE5+LzuW299GCFCjR0LHzKAg5wrgCJVKpZJ7Hg5Y+zv+RW0OZIhqu0ABU66J NVkg== X-Forwarded-Encrypted: i=1; AJvYcCUlaXK7EAF6jzW/RmJq5kQczBqc4v1YXPUJ1IyfPHR0XHEmc5uto1yzDKDt2UC1AvxPWeVn1r8bFtJv05w=@vger.kernel.org X-Gm-Message-State: AOJu0Yza9FOZeSeg5LgL+eu5zDkUS/xscN5iJLmTBSA1x8hH8lnXObMF ml0OlcqVhhGCHXfKMbn2LtsxV1uA6kOz867yWfWqehh0RNYc10xdaXOzcMDztlUMfzY= X-Gm-Gg: ASbGnctuAOx/cn5KhlzvpkyS+m7g3oEfZoJUYV/FeBPFHjLDq9Ki8/viU0Bq3KPGGO9 KxvFOYj3s+5FhW6yqiErDYjrdOXVaCRpDL8c0gJkSfH+HdXI/YSt18jzsUslbi69HMYo6NYxuoS FlGVJQr0h9cCO1ziBM8qnGxsHBgDgV+1vKPFRoEM9tqr01S+imXOlMr5dOgWI6HAeHMT8IBBeGu Dc0v9QZEfjlkUyxdNmYt5jbYUzNHnBdWqtxvXWYMVdDGDKhiTg6OLGyfKs26ijufC1TPxIC3L/N nGl3GVtz99HE39MORp3lC+MO/MCwiUPpQZMk81XbOCEZGvEgdTEOlqo3TofRIA5qhEU= X-Google-Smtp-Source: AGHT+IF8J8y/ngnpoyOUShRv9/aJkdzYRnZ60F/4jSk31esEVM/l95MI9oTPjOP8gHOhRdPMBTj3gA== X-Received: by 2002:a5d:5f91:0:b0:3a5:5270:a52c with SMTP id ffacd0b85a97d-3a5684cc429mr399383f8f.0.1749754273164; Thu, 12 Jun 2025 11:51:13 -0700 (PDT) Received: from localhost ([196.207.164.177]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3a568a7f8f9sm113600f8f.42.2025.06.12.11.51.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 11:51:12 -0700 (PDT) Date: Thu, 12 Jun 2025 21:51:09 +0300 From: Dan Carpenter To: Peter Chen Cc: Greg Kroah-Hartman , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , linux-usb@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski , s32@nxp.com, linaro-s32@linaro.org, Larisa Grigore , Ionut Vicovan , Ghennadi Procopciuc Subject: [PATCH 3/3 v2] usb: chipidea: s32g: Add usb support for s32g3 Message-ID: <957b91eb2270113a857474ddaa29c99198ed95ab.1749747898.git.dan.carpenter@linaro.org> References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ghennadi Procopciuc Enable USB driver for the s32g3 USB device. Signed-off-by: Ghennadi Procopciuc Signed-off-by: Dan Carpenter --- Changes since v1: * Drop the changes to ci_hdrc_imx.c since that part is compatible with the s32g2 chip. * Use the .power_lost_check() callback. drivers/usb/chipidea/usbmisc_imx.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/usb/chipidea/usbmisc_imx.c b/drivers/usb/chipidea/usbm= isc_imx.c index 67ff073ad806..d5389156e157 100644 --- a/drivers/usb/chipidea/usbmisc_imx.c +++ b/drivers/usb/chipidea/usbmisc_imx.c @@ -673,6 +673,11 @@ static int usbmisc_s32g2_init(struct imx_usbmisc_data = *data) return usbmisc_s32g_init(data, S32G_UCMALLBE); } =20 +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) { @@ -1201,6 +1206,12 @@ static const struct usbmisc_ops s32g2_usbmisc_ops = =3D { .power_lost_check =3D usbmisc_s32g_power_lost_check, }; =20 +static const struct usbmisc_ops s32g3_usbmisc_ops =3D { + .init =3D usbmisc_s32g3_init, + .set_wakeup =3D usbmisc_s32g_set_wakeup, + .power_lost_check =3D usbmisc_s32g_power_lost_check, +}; + static inline bool is_imx53_usbmisc(struct imx_usbmisc_data *data) { struct imx_usbmisc *usbmisc =3D dev_get_drvdata(data->dev); @@ -1430,6 +1441,10 @@ static const struct of_device_id usbmisc_imx_dt_ids[= ] =3D { .compatible =3D "nxp,s32g2-usbmisc", .data =3D &s32g2_usbmisc_ops, }, + { + .compatible =3D "nxp,s32g3-usbmisc", + .data =3D &s32g3_usbmisc_ops, + }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, usbmisc_imx_dt_ids); --=20 2.47.2