From patchwork Wed May 28 19:57:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Carpenter X-Patchwork-Id: 893098 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) (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 65D681E8332 for ; Wed, 28 May 2025 19:57:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748462240; cv=none; b=GgbTr7mF+jkL0PVAV76nRk8Yfz7fX/jrBSC4kQUWGN6U+h+oZuEfgUsKnxT4AltVoRsy2wN2s1B9RUUZcV+HzlwDeZJ4SALKaZVGkxf2+wNOXpBcgH3mIhQTmpXJNo6Eq+tUXZbD1rWHieg0JolHYMCb+ScMidybDZhSoPY+Qo4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748462240; c=relaxed/simple; bh=pVQoY2tMvY1bG+KKCYoQBM+7JiHkA5uoBLgsR0UXjf4=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=mca+7CwVnG85RNiXeIXaJx/Y98r3iMw6HccVVmPa/tHVsPbdUXpK3buEkioCE+SULcrqY2kaDSPhvZyA1UGraX1RUzd5oXepwy+CV8V0qnyYkCw4xnTcV2PMatie3qWlqf60T8S4rIFmimgvk5zV59faUAspAXP9NvUTXVB/j2I= 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=JCfi0B6U; arc=none smtp.client-ip=209.85.221.45 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="JCfi0B6U" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-3a37d24e607so183678f8f.1 for ; Wed, 28 May 2025 12:57:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748462236; x=1749067036; 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=uZkzIt+VTNDuOeuHZJXYBs4wfX/HzzJDRDfTN1kT4V4=; b=JCfi0B6UVftMUrPg88K/tbg7gcIb/TByL6ZVTPSwsnAQXuTUJPd9if8Fy79+nVD9c5 wZ2BSUPHbi44tu3zFFZu4MWm6PwIQwARKGKbiO9FbTqKXKaH7yc+kN344C24BZyEcLyK l8GIRZJbTcpVp/hCzSALzzS43M0WDTSZu+87KCLHrOs0G0bvSQOY6rpuTLE8ndD2WkeI od8Bl8wDwHfGJmT4EJQ1Lc//UNvYMR3slCvzOr+y0wkIrJRsTLrqEOwFmDWtoP8luZpy ILCTxNK13Qfv0F7VCbYDfzo33jzQPkpxJVw3QXDjhDqgQulBp7s+tP7Lnk1iY0C6GutU NYmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748462236; x=1749067036; 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=uZkzIt+VTNDuOeuHZJXYBs4wfX/HzzJDRDfTN1kT4V4=; b=Jo1AhfXh+xZzy1aiLLmxek9/2NEEaBFQDSJhFLzkc/vLKfEDk0UqVDmSl5MJOUWHKy xkwjZSRHZu+vERNQcCdwi0NH8m5XWaDH23O/EWNRhWZ/G+kBrqp1LMhXA0P4GE4w7FT4 erk42NVOoiKHm41rNzYN2voX8tNqfd6uwOj1XYKkqkiLiFo3MheyNXHtCxhUYCi7mVE9 msn5yvgHGVZXA4umUj6//eXnElceGAPVs68S1uj9ax0kUhqCy5jMebkiUza5PrMubuXm 9332nyWQNPQ5zzCC7IFPtyaHmoDTomCAKJ/uuWSgypjn8PuoHhbL2OjazVKcFuu9mjTB yZcw== X-Forwarded-Encrypted: i=1; AJvYcCUwSOgyyAXnOScvEPLW9bdqvHse/RN0wE5qzDPoWIf84kHGs7b97rE0JX2KOOT1JERw8Cde9Ijs+Co=@vger.kernel.org X-Gm-Message-State: AOJu0Yxo+EeSwT6c9g4yNve8siQT2ZS0IUFBoRoLvL1zTa0LmBTqnUrS so9X+Lq5vDzJqyyqdKsLnp4BwOwn/+5wKjpYFJX2RyyN2yau6sjZUH6yVLp03L/pujQ= X-Gm-Gg: ASbGncvDIgKZwOv0EEwAQczUtOrwIADiY90VoADG7RbrdPpV+kdv60ChpAMjw3GeD1Z 2ixPTbBV70MosAat8E5zeCoz4E1LC3tBiCL4571ItnHFR6GjajlfSVlbqB6w/0jPUuJ0FpYmuX0 NMYIUgl0HdYfSdT4EcHZq3NgV+R/XGUWGl8g2164WFQQVI58buG/WNc6XWLQbfzQ+EA6WIMZTrA P87WhJNKEA6xkM+yla/NRZMiZdoeVZOe1bMXF0/XZLsrVPMwSBx1LFA7IiLpB/pK0IbyM3TXLhh bhSRjg/pj/FQMwS6PXGQix9eEz5Sxz+/Sr6b/3RYm2Hid3t5zQ8NOZetSYslOywBrA== X-Google-Smtp-Source: AGHT+IHIxmmykQrqu735nSLQ1ET0rx6h2/v3wuHEtKjqqdqG51esqr6GYjEdXnpcisfuQFGupRBg5w== X-Received: by 2002:a05:6000:178d:b0:3a0:a0d1:1131 with SMTP id ffacd0b85a97d-3a4cb43dae1mr15437245f8f.7.1748462235728; Wed, 28 May 2025 12:57:15 -0700 (PDT) Received: from localhost ([41.210.143.146]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3a4eace3bc1sm2360397f8f.99.2025.05.28.12.57.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 12:57:15 -0700 (PDT) Date: Wed, 28 May 2025 22:57:10 +0300 From: Dan Carpenter 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, Ghennadi Procopciuc , s32@nxp.com, linaro-s32@linaro.org, Larisa Grigore , Ionut Vicovan Subject: [PATCH 1/4] dt-bindings: usb: Add compatible strings for s32g2/s32g3 Message-ID: <2a4317353557e4fac2a7bfa4261a75886eebe41b.1748453565.git.dan.carpenter@linaro.org> References: Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: From: Ghennadi Procopciuc Add the compatible strings for the NXP s32g2 and s32g3. Signed-off-by: Larisa Grigore Signed-off-by: Ionut Vicovan Signed-off-by: Ghennadi Procopciuc Signed-off-by: Dan Carpenter --- 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 From patchwork Wed May 28 19:57:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Carpenter X-Patchwork-Id: 893309 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 DE4E62206BC for ; Wed, 28 May 2025 19:57:26 +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=1748462250; cv=none; b=iHpbLuWZkhg7PRtZB1E+uVd0bt/AaeIVMaDyiTzweG4XFRk8u4LTTzCcu2zkocEIkh7CL3MsTyRDOER0+EGKhzVYXn/z1ydRboX70eOaYEDkWh4UYLpe5UIOSosmr0lbjEK69IHHrXiVFc7AJxpAlZ4QH+s2qWQwNqPngHqJnco= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748462250; c=relaxed/simple; bh=NSe9RzYFBpq47/dJ5qqWUOPu2I/KiKwtwt0jkoCunaY=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=WK4tNbyOA73w3+htIXuWdOPp4UIPMRz3E3IU5jxh4YD7WQdQD+oPuNBJeie4uyznJJRFSQPPDTSJjJ50tFCWkl6mOcJ94N+HIZxDDMIZlHvlfTSPqION3Q2HZYcTihF1aGOp9CGkAhc3IgppfppB6CwYFVf7N1X57lDVoz+h0SA= 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=CFQ7G+io; 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="CFQ7G+io" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-442f5b3c710so2237435e9.1 for ; Wed, 28 May 2025 12:57:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748462245; x=1749067045; 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=jox9SekNR3rtKHNYCobALo8p2iBIaUa3VzzVOakwrMQ=; b=CFQ7G+iogz9ohwn6ms/590G4KfsuI77AWtGZuvgyCydOokQxrzdBayAgp1JLSpXysF zHr7llscxlMVmyj5iBH+jD7FWXlext/3Zkzm39jdkNdowuKnpZYZusVmRPI9RDA1ciIa u5KBitHC5f6ZwhqnGt+X2dhAJXIqxQlitaOXJhyION7ErzGKv3keH+qAJ5A2pPye0C3d CcQCpLHGGgLdA5vWFPmR0KSwgX+jXhGTQI3XXfNJ3G7LfD/0Bv6IBhPdHO5WYmACEb1h r0pq4XNQ6uDHiLOXK91+9S0yQ2YacH8jAhnUx0T4TGmWfnaqRb1fvhk4QsnWHKhIQ00G UQDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748462245; x=1749067045; 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=jox9SekNR3rtKHNYCobALo8p2iBIaUa3VzzVOakwrMQ=; b=MMf7WQkOl4Rk381Dmnu0t96cjzX9wmT0/FgUrVJICV1ycIbuA+N3ZXYbZ1J2W25xcY qT8vJrJJbsTTcbUoTT+HOZMMSCK5aTLR+gVe7sytgbuo5FzhJryIXIR8pajMe+o/JRwy 45+sMghSywn0qpRWKKMOmdpViNBnkmF1vcFhc37xKUYm1PJ/d21LYmioZPKLzKgfLJpM s16Z7E1eVN7fSX9WGPUyVV1/qGDkX4NpMFfeGUeQWD9Iri/+6zKsTpiYjM+ewXl6iCa7 iVLhrDWLohjOUbB7AHEadrZx3U6xvsvxvRMFr5vhP62NdO3dhifzsEC1y0hhVMAJHinm QzJQ== X-Forwarded-Encrypted: i=1; AJvYcCXceAnrBf4wF8/QhmvA5tae4+k8h4K5/2ozc1eh8JfhIwWdtIJJ6SVW49wFp0QrW0eTVnJuzmJK81A=@vger.kernel.org X-Gm-Message-State: AOJu0YwETmEC9+LqZ0ozcNbiZ6N0gAZKLpp3GqA0cVa4IC/1tPmkOdr/ MIUUCQQ6GEVI2/SICUvR3tn+HrSoG349EVX024hWWB5KKX4ZiyITVxbGn9Y1JJ7dmGU= X-Gm-Gg: ASbGncuxVq67473QYlO3TrkG+tUKQovTn8vZsTx1syemi/UEmHQaqNn6jVr/sejwiCY 3XVXI26lMbJuq+MCgYfB+QcT1TQzB6hWYDIGMgTJ7g8+WfCQm8A81FZP4J28eTF1dNtnnd/PdEA fmeOH/BFllvf25V3PMKicmXsTGV+KTWEoFuiSMG3Dul0Goy1nGkrNPiiiOXeN+rLWNI0H5blgxo 76cdKQFhnzphLhrGFHM5Vm6/J0qgLEWy8NCKswthLeL0IKmU5lN8ist/0+Nrmza6LQQkxdFEjmH ai6cBq2u0hv+0TAUin0ykPLhompAHVNN15phLcFRwXgfKzOGQGrrtaWJ0C7jPWGkDw== X-Google-Smtp-Source: AGHT+IGFimIQlDKktgw+rSB1HgWLv0+JQH4Uvai1EVQNKILhkigc431Q3x3/98hg2t4hXWqFBll7vg== X-Received: by 2002:a05:600c:4f43:b0:442:e0e0:250 with SMTP id 5b1f17b1804b1-44c933ed7efmr166096775e9.29.1748462245206; Wed, 28 May 2025 12:57:25 -0700 (PDT) Received: from localhost ([41.210.143.146]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-450cfc2d383sm586565e9.32.2025.05.28.12.57.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 12:57:24 -0700 (PDT) Date: Wed, 28 May 2025 22:57:20 +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, Ghennadi Procopciuc , s32@nxp.com, linaro-s32@linaro.org Subject: [PATCH 2/4] usb: chipidea: usbmisc: s32g: Add a REINIT_DURING_RESUME flag Message-ID: References: Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: From: Ghennadi Procopciuc 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 Signed-off-by: Dan Carpenter --- 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) { From patchwork Wed May 28 19:57:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Carpenter X-Patchwork-Id: 893097 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (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 7DA1B2206A7 for ; Wed, 28 May 2025 19:57:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748462257; cv=none; b=IyiMnIEXmZGp00zAWiQD03aFocqBr7i/eWpIjeLkS18nKgJq5TdpVVHn4y/sjHL5oDi9AmrTxBIaK/JVHCsLTVXRBPLEE7XWPb4x+MWSrv6MAclVvKlGe4YFP3wQkibOUPEuzwP+p1vWL22EUkNXxPUQDM6tMyaPF17hGoRuDaI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748462257; c=relaxed/simple; bh=i2dxoD/ntV/m+7Q5jL4UXhdg7tXX+Sj+P2vtWuv/Nn4=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition:In-Reply-To; b=tU0vTP+liFgTo/8VyL6TxxsT14SYrWuNJKyKLaMLUDCpR2zeWwKX3R4hIOy/zaP9lNrOb9UBMlPPcsQHRXoR7vKWupNr/xmp9l76v7P2XO4l8DzGI8mU55geBnVloNLw10KEhIC2JBxS0eP+2+gHoo3s8Eu/uz8kUgJskogHCcY= 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=x5p+Z5cp; arc=none smtp.client-ip=209.85.128.53 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="x5p+Z5cp" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-450cd6b511cso1721105e9.2 for ; Wed, 28 May 2025 12:57:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748462254; x=1749067054; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:message-id:subject:cc :to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=GKc4b0imfgOxaE41XqyuXMz1AcDIj93rLftfhbVsUB0=; b=x5p+Z5cp3iigc+XhOFpPpFP3KF99hSqYV8Ao6gW5S1evsPIZOGF5R48a3sLEqpJmSS 7Oh/Jq6uLYIFQ7FQFLaowTrJ0k/pGsVfTOn6uhruyedQNG5m8ZMpHM0mHLk8bhBnNr4r f09FzZoY/7HTm4jCzWS2cK9QXUtW8i3KNJ2CMAm1klTAY7tm3rO0YAIodauUE9mKdKsh yBGBr37U5a+y6M4nRqtGy1heYhPNONmMfPHQtIymuS8wq+JFSsY/DHKx2kbk70tQmNPn 7B8xHtVTdxo5xQD93Yb1GOleFUcjXc/2YjZ3jgGIatwJ+pkdtfu9LqkX7xKSMBgirLs6 C07Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748462254; x=1749067054; h=in-reply-to:content-disposition:mime-version:message-id:subject:cc :to:from:date:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=GKc4b0imfgOxaE41XqyuXMz1AcDIj93rLftfhbVsUB0=; b=lpeC1A2cE9g9N1AMQ/xNrkhOg08KB/Mq4b7lPAfDx6KJC42gjYkv8+GJEn0BuC8gq0 gOCnfzW7tgkEDRLETtqOTLz8UGV0YFaHvbQb6FHIz6fe/fOjnMqgmS4TqLVDvVmzuvEv ydCztkh8bDRzbSp/qu75nDwf41BVuKnTgCyxFU24W37iumvNNPN7MFliQ1Y0vhf/GAAI 8c6gzQiBiD6iX5Q5nGaPDBA06YURU0gCySq7gYcpmEjUAhg6I+brPgL8r69bMWDNIH35 2MCjyz7E1ve9WL8SMuMbjVPtywXAUJ4OVuA39zZKLhYuuN7RdEonGaN3R38Ydh/vMsd/ DhQg== X-Forwarded-Encrypted: i=1; AJvYcCWUxPMNQOko0c7ABtZCAJsL0yKChQNFblD7dx175I2qjvBEHFW58jtqUV64jx+2y7lwDGOb7wLloNY=@vger.kernel.org X-Gm-Message-State: AOJu0YxEYFJBcwUjh6+ljV82gUX5qPD0ea6OIMjXLK4dAv3B/ZICCrbU sGfznwrxUsNBeqXFkEOiBaLvVt9MxhwXXF9QJ9/4SJuhC54bo/t1iMpU4cEG/vHQo8s= X-Gm-Gg: ASbGncuxo7Oe7Rf7TuEGVKi0ogsAEgRUzAtenUMv1oGFF2Ofi+AWgoBvuXF9c68A82K 0f5mippA5bdBXRpDHKJt+ZHzumJs7yWxCFD8uxI2qBwMvd3t/IYoyRAownfBJlaAMyoaI5ayE5X rYwGuqsqXpbbOM7LFom+vOIPuPNY6TjtiBwQkwZsVlIVUzOyzXTl9ZWdahBLQB8HAnLu92HlJ9r Svm/XooGb2KOztTaLp8rphe6v2r4zzkXUXYIy7i50lFw25ex8tvc4IvHsOiTM5PujmZEf699KPP 4JEfBIUFarq9X8ehAGAG9HR6SaXGmjSAjv4bGWfv86OzO0TETLt4KB8= X-Google-Smtp-Source: AGHT+IGn7oYiU84+Os9KZ1JyFhYBfIsC6UZXONKWGrt/yYdV1Jw5Q48vqbVCHgdSg+N6FNSblY8qrw== X-Received: by 2002:a05:600c:a00e:b0:43c:fe90:1279 with SMTP id 5b1f17b1804b1-45077d424bbmr33816665e9.21.1748462253763; Wed, 28 May 2025 12:57:33 -0700 (PDT) Received: from localhost ([41.210.143.146]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3a4eacd7909sm2308059f8f.78.2025.05.28.12.57.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 12:57:32 -0700 (PDT) Date: Wed, 28 May 2025 22:57:27 +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, Ghennadi Procopciuc , s32@nxp.com, linaro-s32@linaro.org Subject: [PATCH 3/4] usb: chipidea: s32g: Add usb support for s32g2 Message-ID: <7407d9e557bfce2a5541fd002d36c15a041c0cc2.1748461536.git.dan.carpenter@linaro.org> Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: From: Ghennadi Procopciuc Enable USB driver for s32g2. Signed-off-by: Ghennadi Procopciuc Signed-off-by: Dan Carpenter --- 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 * 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 @@ -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); From patchwork Wed May 28 19:57:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Carpenter X-Patchwork-Id: 893308 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (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 B031721ABB7 for ; Wed, 28 May 2025 19:57:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748462267; cv=none; b=QeJPWGb/Iow83+mm5yBwsdQo9NZhbTqGjQ7QS074nVK141pAviFfXEs3q75ApmBvLoJXpze0JEHhjzsEjRlUoxhG96lsdh8sk5A2IAPVvl5+ZgTceFXWKceVtR80MMIpstwWdtY21Qq9haY3meavxKDtATlHDK//86HsXIj9OlA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748462267; c=relaxed/simple; bh=HxJNYY9IRB2fTnRgpeLfBfNMV4c9x5sL0a7Gxl/lSqw=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition:In-Reply-To; b=DYS1NpiS4YVaQm5iBAs+yfalCSydU4dxXLrD9lvSwufUnBuuQawHsv1E3bUZr75pk4y5TNHnQYvSOggJ7azZavBoxgZVSOXj5Zn7eNYjgXxU+BRzFo6nqNFj/kLrDPDaC4/tWzquI8d9MRiTaCLn8tYnvdlYu6kTVxKnlKFTEQc= 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=WvsJoBS4; arc=none smtp.client-ip=209.85.128.49 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="WvsJoBS4" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-450cfb6a794so262045e9.1 for ; Wed, 28 May 2025 12:57:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748462264; x=1749067064; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:message-id:subject:cc :to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=daVisNFo2JYOWor9frp9fd1E3MXvxdVufApsYKXj4R0=; b=WvsJoBS4r3XoWTURdvUVsEgn9z1Pkwv0XjMjWl17B7CcJq6trEszWb90LOm+F/GMxF 5cVYwzlqqISHt/uGKPlXLCV1uHq08X7Dq7noE+9eFz3+6MpJULRyaxS2WYZtsrCcKYTD fN9u1e0flhF6ebl03OEkqdZKiJPfRh2lOH/S4SBl83jwmx73ZL2O6C3NranZMwHkH9vU 6lyEnmyEsjNc3VUcBWfouppZb6Q18LgfRH3zum9AF0bmxunmr/7Gv8Fhlbt0h2fBguL3 ljjfyJ7s0ersC/Npx8/4ceDrSJseofX4eA/+ybSUbrepBcdNqkHcCQlJzm5+Qcb7QM05 cPRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748462264; x=1749067064; h=in-reply-to:content-disposition:mime-version:message-id:subject:cc :to:from:date:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=daVisNFo2JYOWor9frp9fd1E3MXvxdVufApsYKXj4R0=; b=xS6GNP5B93A9erIX4Jpdyrx29YUmFdCs1ggMbnSCg89aK+5MF6Q21aL1uqjxIa7gSF z5kbVaT7SYnudlIr/u2LMpvGcscCi+tznALALgKVRZHm4BQgaSrLUfsQMlfxclMH9sxA 4AqnBByOijknA9n9B65FULW7eayjqHwOyZwfZ0pEAQOeaUi7TUj6rjAKtQOEcCwDZE0y tbt7BWCO6usXKSR8dE2X8JmQa8BvPIbt85RRaWNHSlKluOFhBi2/ttTyytRNczknNRK2 rx23kRkGwBAD6cx9Ii1yE1Izh/tmqUh6ptfMn4dzKkMdMksTWICIhmey9APRTQvhcf2o JF8Q== X-Forwarded-Encrypted: i=1; AJvYcCUQ531mF45oj1PesCkxMFgQ3RGTguzPyDR/xVEsAihs6p2OWzrSob02bl8dyls5/FEr1vd6GoznyMA=@vger.kernel.org X-Gm-Message-State: AOJu0Yy9YxIbIBkEJsGV82O5H647DYRMYC5nD6I2hF6GyP2WAK6uSWPC C7EhZ+BHBfGW01gqwwpZpF3kAO7JGGHTe10yK6wJCNkSftSCnyFpt/3kfNO2GGWzefg= X-Gm-Gg: ASbGncuNWLCNk2yuqCQsxsgISBbQs3i8cRTyabBe+mpYldI0qC+tvsNKl+T4w39ZNLb sSg1CVFF9MI1GbaXnJuF14uq6M1DYpTHhnWVhS2V+dAzHv+gsEXQeOCUsy4qu59/Np2xtTEyHvC kUKLz9kKFpOwG98mZe6jZ1wKnjFKdMVHSKmo4vdwA/+tn7jMJDbtxnRHdcU93ksxQioDN5Yi2iq EdPN5QSiUw8kg/E/UuljCz53tf1LLIoEj14yWAY+qEUj9elCDw27TkzyZFPfgRIqzBq9+v3XlEN 6bJxXc+QyVYkUW+1RgQfP6eDGwk77hMsAvMEf4lc1jMvz9p8Hv1UI/8= X-Google-Smtp-Source: AGHT+IHg9XasKs+N0t/qumXHpJiiJ8sMTppJmHwcsmrYSwVnYilz8ut2u+dvhBQCw0zXqxv2hFdsXA== X-Received: by 2002:a05:6000:240d:b0:3a4:d6ed:8df8 with SMTP id ffacd0b85a97d-3a4d6eda63bmr10797738f8f.39.1748462264092; Wed, 28 May 2025 12:57:44 -0700 (PDT) Received: from localhost ([41.210.143.146]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3a4eace3260sm2353096f8f.90.2025.05.28.12.57.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 12:57:43 -0700 (PDT) Date: Wed, 28 May 2025 22:57:39 +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, Ghennadi Procopciuc , s32@nxp.com, linaro-s32@linaro.org Subject: [PATCH 4/4] usb: chipidea: s32g: Add usb support for s32g3 Message-ID: Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: From: Ghennadi Procopciuc Enable USB driver for the s32g3 USB device. Signed-off-by: Ghennadi Procopciuc Signed-off-by: Dan Carpenter --- 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);