From nobody Mon Mar 23 19:52:08 2026 Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3EB78248F6F; Mon, 23 Mar 2026 15:02:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.246.85.4 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278180; cv=none; b=az9qIrgBvUQj9Dwur2oWUiEMXEKYzzX0G0X2IJk7KCB3lirPeE4a5yp/pDkAlo/A9FRI+0L4pef5zQzVrOnrD0ZTHcQIYw2jSyURZJr8HwoIa7e1usYuhdklzBLpHp73mBpHWVyjJZ/xcBiF0dyRG9iB320QHcvaHvaqISmfx3M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278180; c=relaxed/simple; bh=RZ05fnOTL36RbaEJ7PXDwSaGMbnBPKVWLVV46u9AL7s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=g/oZdE7R6hajSyQgwxvKNlyubz5vZ9k3wEdq/6va/woYvSUaeWmhiq2d+zWz2ioXoKk7JrO8KJz6UtHKSb5Y92WTgcreHLQRSD04efCOisNFSN+90Q9yeFfapHjQP6pT1kuC/ksktIIJnugr/0rOShnE50vDn9DHCNuB0kRwzXw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=cHLe6CVF; arc=none smtp.client-ip=185.246.85.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="cHLe6CVF" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id BB59C4E427B1; Mon, 23 Mar 2026 15:02:55 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 93B0D5FEF6; Mon, 23 Mar 2026 15:02:55 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 6F1DB10450FC6; Mon, 23 Mar 2026 16:02:53 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1774278174; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=D6IKIdRvwM2R3lKzRFHKfHPihb9IxMVhpD6K+aGvwec=; b=cHLe6CVFn8B4vtUTT9G5iXO6l9rxYJD6AyrSeaXaaBGXf4FQ5FKqesbCPiI/KmxXBGt3Fc wrgu5Yryh1mxFFp/Oc4JGr7eR2AE2j7PhhxBRp1jwdL1/KrTQczGG4aSE8igHYcby8R0pQ A0c3AEj6QDp5GtaADqxXrljJGMXH/1x8+RYJrq3+m5ifFXtzVmNf3VieA2PFLzx1hp3exL 9YkDpm8jDWveFK/fzVJFBx7xhym0xckVCFrnJZQnva/ww/mkisUz3nl00i/SXdWcUhTVCL dKKmlYSTpu9LBpCXaqYF/+7MfeFD97dWS7hx7PhpbMwlMhHZP4nY1p/k1XDhiQ== From: Thomas Richard Date: Mon, 23 Mar 2026 16:02:42 +0100 Subject: [PATCH 1/8] regulator: pbias: Add pbias SIM regulator for OMAP4 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260323-omap4-fix-usb-support-v1-1-b668132124ac@bootlin.com> References: <20260323-omap4-fix-usb-support-v1-0-b668132124ac@bootlin.com> In-Reply-To: <20260323-omap4-fix-usb-support-v1-0-b668132124ac@bootlin.com> To: Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones Cc: Thomas Petazzoni , linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Thomas Richard X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 Add support for the pbias SIM regulator found on OMAP4 (for USB I/O cell). Signed-off-by: Thomas Richard --- drivers/regulator/pbias-regulator.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/regulator/pbias-regulator.c b/drivers/regulator/pbias-= regulator.c index cd5a0d7e44555f04d1e44470036c6e3d9feb7be6..10c4940e73635293bebd26bf99a= 9067eb6e39107 100644 --- a/drivers/regulator/pbias-regulator.c +++ b/drivers/regulator/pbias-regulator.c @@ -81,6 +81,16 @@ static const struct pbias_reg_info pbias_sim_omap3 =3D { .name =3D "pbias_sim_omap3" }; =20 +static const struct pbias_reg_info pbias_sim_omap4 =3D { + .enable =3D BIT(28) | BIT(20), + .enable_mask =3D BIT(31) | BIT(28) | BIT(20), + .vmode =3D BIT(31), + .enable_time =3D 100, + .pbias_volt_table =3D pbias_volt_table_3_0V, + .n_voltages =3D 2, + .name =3D "pbias_sim_omap4" +}; + static const struct pbias_reg_info pbias_mmc_omap4 =3D { .enable =3D BIT(26) | BIT(22), .enable_mask =3D BIT(26) | BIT(25) | BIT(22), @@ -108,6 +118,7 @@ static struct of_regulator_match pbias_matches[] =3D { { .name =3D "pbias_sim_omap3", .driver_data =3D (void *)&pbias_sim_omap3}, { .name =3D "pbias_mmc_omap4", .driver_data =3D (void *)&pbias_mmc_omap4}, { .name =3D "pbias_mmc_omap5", .driver_data =3D (void *)&pbias_mmc_omap5}, + { .name =3D "pbias_sim_omap4", .driver_data =3D (void *)&pbias_sim_omap4}, }; #define PBIAS_NUM_REGS ARRAY_SIZE(pbias_matches) =20 --=20 2.53.0 From nobody Mon Mar 23 19:52:08 2026 Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A846436681E; Mon, 23 Mar 2026 15:02:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.171.202.116 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278180; cv=none; b=LZWJDIKBNXdRQ/pi1H5nosI6IOt/aOUEjq0VPh//x6q0PM7f1HZn+fnCHUHOcd/pj19nQQajbZOaxG3HduD6JfIqQCdSDpk6gNMW00TM/UCpn1u/FlYYCqLwqk3sHoR8I/ttphMIAKNFzrgU49jYQHPRStW09ojO5SxNf6KsXsI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278180; c=relaxed/simple; bh=0O4TBdZ9JeIZhQVsh4ZaCpriAX2OdR1rhbqhuVxZ1ps=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=O6QE4NLQ/M/ayJlNwHtDL7IiCJPEbE78sDsMvc43LJnQxZ684sYLsJndZJGnvFxaz9HvB+5I2Wqw5kBweWjjQ6wsppEsKCybPhOncF6v0Z1UWRGRhVuwkMeYPuziMmNLJhNZmimyCObMh67U6kZL+zfuu7a1br/El7jgwzqjiMU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=O1SegjN1; arc=none smtp.client-ip=185.171.202.116 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="O1SegjN1" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id 389A9C58083; Mon, 23 Mar 2026 15:03:24 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 554405FEF6; Mon, 23 Mar 2026 15:02:57 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 04E6B10450FE4; Mon, 23 Mar 2026 16:02:54 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1774278176; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=s7ieGxUorH5vEoclzdFlJzFlL8c4gOCHik9ITpDwHlE=; b=O1SegjN1pZ3JtKr06ywQW66Y8aNGXNiUT1vFYKH34ry43kFmpcAGKqP2Rq1KFeWqQ25lQA wdhZEYQByuyCkukSs6pNZ0m9um/e0hihsJ/TreZuQWCj+16FeaaorDdswwT0ldQAsWNHUi fTbLdGVjrNKCMo1tEvishTWJcb1OykpUiWNpTV0Zwf/ghWexSsNbci/pTU1jhbxtsfi+pm FCaYvojKkPljbqGHP5AnorY4d3EFYWDtBTvI0zhx9LZ3vUgAxZDu0RKJk+v8gnxnyH2t7U blf/uFgbDtQ2dO9Tx5AFPAvISe6COt50SN5XWOTedXZpXwxgzwADfyzSgSs/8g== From: Thomas Richard Date: Mon, 23 Mar 2026 16:02:43 +0100 Subject: [PATCH 2/8] ARM: dts: ti: omap4: Add pbias SIM regulator Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260323-omap4-fix-usb-support-v1-2-b668132124ac@bootlin.com> References: <20260323-omap4-fix-usb-support-v1-0-b668132124ac@bootlin.com> In-Reply-To: <20260323-omap4-fix-usb-support-v1-0-b668132124ac@bootlin.com> To: Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones Cc: Thomas Petazzoni , linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Thomas Richard X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 Add the pbias SIM regulator node for OMAP4. Signed-off-by: Thomas Richard --- arch/arm/boot/dts/ti/omap/omap4-l4.dtsi | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/boot/dts/ti/omap/omap4-l4.dtsi b/arch/arm/boot/dts/ti= /omap/omap4-l4.dtsi index 4881dd6743930dee65eaeab802d1e3766f480ce0..6904a84a1700527443cee19f628= 70904082eb48a 100644 --- a/arch/arm/boot/dts/ti/omap/omap4-l4.dtsi +++ b/arch/arm/boot/dts/ti/omap/omap4-l4.dtsi @@ -697,6 +697,12 @@ pbias_mmc_reg: pbias_mmc_omap4 { regulator-min-microvolt =3D <1800000>; regulator-max-microvolt =3D <3000000>; }; + + pbias_sim_reg: pbias_sim_omap4 { + regulator-name =3D "pbias_sim_omap4"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <3000000>; + }; }; }; }; --=20 2.53.0 From nobody Mon Mar 23 19:52:08 2026 Received: from smtpout-02.galae.net (smtpout-02.galae.net [185.246.84.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 302A63AC0EB for ; Mon, 23 Mar 2026 15:03:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.246.84.56 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278181; cv=none; b=XrUbl5HKEpMJPBBq9qAbtZO4aB9NNiH9m9mZ8E10O1Rdu8Rtyd1iK8AhZV59wedi93YGvwkYW3REZBXMs+U8ZSI75DYOn+oUYNPejMq9va+erCjMfhAxMzPpGY3WIXJNVXH7cqZea0EQQwTgIAM0Ot29QfUuKY45HIGE3+tYrCk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278181; c=relaxed/simple; bh=SNBxAyWvlbMQrJWj5T5wU/4LhKzcMaoZk2JRIEOETlE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RDYUTWyyqWKOpiIbRHMWcSLTrrqUMZ/4FgfA8f9l/20VohKP8lRxJuET0GASzC+o6/JWE3ZLwwm3wGYgZZ1DHvYHIPHGnHq37VL7k5qwF8T7BJs+JLlOkA1A9ngPdSsBBwjum2bXhn2kAxkNqHY83WZf6mzNUfxC/hcoP+PEx+k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=pmOmFRo/; arc=none smtp.client-ip=185.246.84.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="pmOmFRo/" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-02.galae.net (Postfix) with ESMTPS id EF7231A2FA3; Mon, 23 Mar 2026 15:02:58 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id C56715FEF6; Mon, 23 Mar 2026 15:02:58 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id C19BA10450FFB; Mon, 23 Mar 2026 16:02:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1774278177; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=oz2H0XLN3AH8WWxUIwmA2AJxtlH1SW2FIDqDP+bCqtQ=; b=pmOmFRo/o8H23SQfKGnLfOZIFvfUv01uLjr+1EPWeMTJ77CdTbTXknT64+jls/0YOirXni LyHI3r2cl9Ouk2xIzrtcOBCYdiWiUk4VEibzBIlaPCACKP0K/OnDXjgvEQjYlJTiTuJSP6 JSxUFO9S8zJPhc17xJu6v3r71gsVUs2aA36GMSYbEyfMTwTpF62LQ4RFunwh2wQgRYCkAa Jfqhl6jrW/jjXISGVRvnRpNvEkXQSXYbGSZ8zwFaAhOdkTZrYUVEIJt16J7eTIKaDGvf9s MFE8UprTLmsfE7QnOAyTYmuNPgbVmWCnB+e+HRq+dXceMzREHX8boYTxMyftPQ== From: Thomas Richard Date: Mon, 23 Mar 2026 16:02:44 +0100 Subject: [PATCH 3/8] mfd: omap-usb-host: Cleanup header includes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260323-omap4-fix-usb-support-v1-3-b668132124ac@bootlin.com> References: <20260323-omap4-fix-usb-support-v1-0-b668132124ac@bootlin.com> In-Reply-To: <20260323-omap4-fix-usb-support-v1-0-b668132124ac@bootlin.com> To: Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones Cc: Thomas Petazzoni , linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Thomas Richard X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 Remove unused includes (linux/kernel.h, linux/types.h and linux/delay.h). Sort the remaining ones alphabetically. Signed-off-by: Thomas Richard --- drivers/mfd/omap-usb-host.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c index 4d29a6e2ed87abf2a0f6d5a704525baaa6f0cbcb..4e066a17cef0400edbfcb3012a1= 6ceee06e52140 100644 --- a/drivers/mfd/omap-usb-host.c +++ b/drivers/mfd/omap-usb-host.c @@ -6,19 +6,15 @@ * Author: Keshava Munegowda * Author: Roger Quadros */ -#include -#include -#include -#include -#include #include #include -#include +#include +#include #include +#include #include #include #include -#include =20 #include "omap-usb.h" =20 --=20 2.53.0 From nobody Mon Mar 23 19:52:08 2026 Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F9953B27C5; Mon, 23 Mar 2026 15:03:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.246.85.4 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278183; cv=none; b=fwjuQ9CjXeoNrK/V/eVeGY6RYN5MfSLQZVp87gGmIVQVfUe2RfuwbFY3KIdAXU7g7V9C6vQXMqUs+dGVx7ewOsdWYV+YQgY086/OhwIpni6Tfybqob7SKDj/cn9GAuGOzhmLy2Mr4DhqioXZBTwxlvG5HZVHjZNnWa18WWlxOqQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278183; c=relaxed/simple; bh=1llMV2XrxLGYKxlvoSuxQuMv7LW/C1l7c6ICeXPKteU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Y6OguBChEMhPJV3I9b05mmLi0wm3jwUzeXoP+w4414/LSzroKF1SmB3Nt+hGPAQZ2tc1lkz76HPiCVr1CZAwKsCC0g8LlidLXtjQ98E02tPPb6OXAjrTQIoS5LcJ0tT90ZmTQXI1j6wD2Yc1RoUkjfIB72ecKhsktQooSRIBLNU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=Tt8Z6K+W; arc=none smtp.client-ip=185.246.85.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="Tt8Z6K+W" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id BDA964E427B1; Mon, 23 Mar 2026 15:03:00 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 93D1D5FEF6; Mon, 23 Mar 2026 15:03:00 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 442D010450FE8; Mon, 23 Mar 2026 16:02:58 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1774278179; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=mEj6I82Butstr1tfMlJeMGpvyxIOHycoQhYhLpOxC0A=; b=Tt8Z6K+W3HeAm+5jR2H7G0rHNIWDzjitLz6jlbcmPHaySRV54ZVpEbQSIRqa8f3Zi+R8+Q GWfUj9uvxKvA/sKRZ61hkcE/a/uKaNrhxziW6MDMvWg1wsoJaBvYjNJvqbgRrSJfYvvVd8 t5nl+z8ly8rFcZ856f6rIVHJb64H91IhuO0r+HAfYj0qG7ueVxm4nw4VrrxxGkrm5Ynnfy b+IH6DxjFZo+wEXnCDO1+iOYNa617kShn1DVs9n6O+FWjn2eZd9Q1IyDV2MUgwcIi9ZUev afC2eYFcWx7PwZ/jZ7y0p6C6b42SpM7nlh90tzOUDhldmQd0lT98WCbqbypUdQ== From: Thomas Richard Date: Mon, 23 Mar 2026 16:02:45 +0100 Subject: [PATCH 4/8] mfd: omap-usb-host: Sanitize error path in the probe() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260323-omap4-fix-usb-support-v1-4-b668132124ac@bootlin.com> References: <20260323-omap4-fix-usb-support-v1-0-b668132124ac@bootlin.com> In-Reply-To: <20260323-omap4-fix-usb-support-v1-0-b668132124ac@bootlin.com> To: Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones Cc: Thomas Petazzoni , linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Thomas Richard X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 Use dev_err_probe() to simplify the code and standardize the error output. Remove -ENOMEM messages, there's already enough output. Signed-off-by: Thomas Richard --- drivers/mfd/omap-usb-host.c | 81 +++++++++++++++++++----------------------= ---- 1 file changed, 34 insertions(+), 47 deletions(-) diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c index 4e066a17cef0400edbfcb3012a16ceee06e52140..ac974285be341fa579ef198d189= 3b77af428b5f8 100644 --- a/drivers/mfd/omap-usb-host.c +++ b/drivers/mfd/omap-usb-host.c @@ -546,22 +546,17 @@ static int usbhs_omap_probe(struct platform_device *p= dev) dev->platform_data =3D pdata; } =20 - if (!pdata) { - dev_err(dev, "Missing platform data\n"); - return -ENODEV; - } + if (!pdata) + return dev_err_probe(dev, -ENODEV, "Missing platform data\n"); =20 - if (pdata->nports > OMAP3_HS_USB_PORTS) { - dev_info(dev, "Too many num_ports <%d> in platform_data. Max %d\n", - pdata->nports, OMAP3_HS_USB_PORTS); - return -ENODEV; - } + if (pdata->nports > OMAP3_HS_USB_PORTS) + return dev_err_probe(dev, -ENODEV, + "Too many num_ports <%d> in platform_data. Max %d\n", + pdata->nports, OMAP3_HS_USB_PORTS); =20 omap =3D devm_kzalloc(dev, sizeof(*omap), GFP_KERNEL); - if (!omap) { - dev_err(dev, "Memory allocation failed\n"); + if (!omap) return -ENOMEM; - } =20 omap->uhh_base =3D devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(omap->uhh_base)) @@ -614,7 +609,6 @@ static int usbhs_omap_probe(struct platform_device *pde= v) omap->hsic60m_clk =3D devm_kzalloc(dev, i, GFP_KERNEL); =20 if (!omap->utmi_clk || !omap->hsic480m_clk || !omap->hsic60m_clk) { - dev_err(dev, "Memory allocation failed\n"); ret =3D -ENOMEM; goto err_mem; } @@ -648,9 +642,8 @@ static int usbhs_omap_probe(struct platform_device *pde= v) omap->ehci_logic_fck =3D devm_clk_get(dev, "usbhost_120m_fck"); if (IS_ERR(omap->ehci_logic_fck)) { - ret =3D PTR_ERR(omap->ehci_logic_fck); - dev_err(dev, "usbhost_120m_fck failed:%d\n", - ret); + ret =3D dev_err_probe(dev, PTR_ERR(omap->ehci_logic_fck), + "usbhost_120m_fck failed\n"); goto err_mem; } } @@ -660,36 +653,36 @@ static int usbhs_omap_probe(struct platform_device *p= dev) /* for OMAP4+ i.e. USBHS REV2+ */ omap->utmi_p1_gfclk =3D devm_clk_get(dev, "utmi_p1_gfclk"); if (IS_ERR(omap->utmi_p1_gfclk)) { - ret =3D PTR_ERR(omap->utmi_p1_gfclk); - dev_err(dev, "utmi_p1_gfclk failed error:%d\n", ret); + ret =3D dev_err_probe(dev, PTR_ERR(omap->utmi_p1_gfclk), + "utmi_p1_gfclk failed error\n"); goto err_mem; } =20 omap->utmi_p2_gfclk =3D devm_clk_get(dev, "utmi_p2_gfclk"); if (IS_ERR(omap->utmi_p2_gfclk)) { - ret =3D PTR_ERR(omap->utmi_p2_gfclk); - dev_err(dev, "utmi_p2_gfclk failed error:%d\n", ret); + ret =3D dev_err_probe(dev, PTR_ERR(omap->utmi_p2_gfclk), + "utmi_p2_gfclk failed error\n"); goto err_mem; } =20 omap->xclk60mhsp1_ck =3D devm_clk_get(dev, "refclk_60m_ext_p1"); if (IS_ERR(omap->xclk60mhsp1_ck)) { - ret =3D PTR_ERR(omap->xclk60mhsp1_ck); - dev_err(dev, "refclk_60m_ext_p1 failed error:%d\n", ret); + ret =3D dev_err_probe(dev, PTR_ERR(omap->xclk60mhsp1_ck), + "refclk_60m_ext_p1 failed error\n"); goto err_mem; } =20 omap->xclk60mhsp2_ck =3D devm_clk_get(dev, "refclk_60m_ext_p2"); if (IS_ERR(omap->xclk60mhsp2_ck)) { - ret =3D PTR_ERR(omap->xclk60mhsp2_ck); - dev_err(dev, "refclk_60m_ext_p2 failed error:%d\n", ret); + ret =3D dev_err_probe(dev, PTR_ERR(omap->xclk60mhsp2_ck), + "refclk_60m_ext_p2 failed error\n"); goto err_mem; } =20 omap->init_60m_fclk =3D devm_clk_get(dev, "refclk_60m_int"); if (IS_ERR(omap->init_60m_fclk)) { - ret =3D PTR_ERR(omap->init_60m_fclk); - dev_err(dev, "refclk_60m_int failed error:%d\n", ret); + ret =3D dev_err_probe(dev, PTR_ERR(omap->init_60m_fclk), + "refclk_60m_int failed error\n"); goto err_mem; } =20 @@ -706,9 +699,9 @@ static int usbhs_omap_probe(struct platform_device *pde= v) */ omap->utmi_clk[i] =3D devm_clk_get(dev, clkname); if (IS_ERR(omap->utmi_clk[i])) { - ret =3D PTR_ERR(omap->utmi_clk[i]); - dev_err(dev, "Failed to get clock : %s : %d\n", - clkname, ret); + ret =3D dev_err_probe(dev, PTR_ERR(omap->utmi_clk[i]), + "Failed to get clock : %s\n", + clkname); goto err_mem; } =20 @@ -716,9 +709,9 @@ static int usbhs_omap_probe(struct platform_device *pde= v) "usb_host_hs_hsic480m_p%d_clk", i + 1); omap->hsic480m_clk[i] =3D devm_clk_get(dev, clkname); if (IS_ERR(omap->hsic480m_clk[i])) { - ret =3D PTR_ERR(omap->hsic480m_clk[i]); - dev_err(dev, "Failed to get clock : %s : %d\n", - clkname, ret); + ret =3D dev_err_probe(dev, PTR_ERR(omap->hsic480m_clk[i]), + "Failed to get clock : %s\n", + clkname); goto err_mem; } =20 @@ -726,9 +719,9 @@ static int usbhs_omap_probe(struct platform_device *pde= v) "usb_host_hs_hsic60m_p%d_clk", i + 1); omap->hsic60m_clk[i] =3D devm_clk_get(dev, clkname); if (IS_ERR(omap->hsic60m_clk[i])) { - ret =3D PTR_ERR(omap->hsic60m_clk[i]); - dev_err(dev, "Failed to get clock : %s : %d\n", - clkname, ret); + ret =3D dev_err_probe(dev, PTR_ERR(omap->hsic60m_clk[i]), + "Failed to get clock : %s\n", + clkname); goto err_mem; } } @@ -737,16 +730,14 @@ static int usbhs_omap_probe(struct platform_device *p= dev) ret =3D clk_set_parent(omap->utmi_p1_gfclk, omap->xclk60mhsp1_ck); if (ret !=3D 0) { - dev_err(dev, "xclk60mhsp1_ck set parent failed: %d\n", - ret); + dev_err_probe(dev, ret, "xclk60mhsp1_ck set parent failed\n"); goto err_mem; } } else if (is_ehci_tll_mode(pdata->port_mode[0])) { ret =3D clk_set_parent(omap->utmi_p1_gfclk, omap->init_60m_fclk); if (ret !=3D 0) { - dev_err(dev, "P0 init_60m_fclk set parent failed: %d\n", - ret); + dev_err_probe(dev, ret, "P0 init_60m_fclk set parent failed\n"); goto err_mem; } } @@ -755,16 +746,14 @@ static int usbhs_omap_probe(struct platform_device *p= dev) ret =3D clk_set_parent(omap->utmi_p2_gfclk, omap->xclk60mhsp2_ck); if (ret !=3D 0) { - dev_err(dev, "xclk60mhsp2_ck set parent failed: %d\n", - ret); + dev_err_probe(dev, ret, "xclk60mhsp2_ck set parent failed\n"); goto err_mem; } } else if (is_ehci_tll_mode(pdata->port_mode[1])) { ret =3D clk_set_parent(omap->utmi_p2_gfclk, omap->init_60m_fclk); if (ret !=3D 0) { - dev_err(dev, "P1 init_60m_fclk set parent failed: %d\n", - ret); + dev_err_probe(dev, ret, "P1 init_60m_fclk set parent failed\n"); goto err_mem; } } @@ -775,17 +764,15 @@ static int usbhs_omap_probe(struct platform_device *p= dev) if (dev->of_node) { ret =3D of_platform_populate(dev->of_node, usbhs_child_match_table, NULL, dev); - if (ret) { - dev_err(dev, "Failed to create DT children: %d\n", ret); + dev_err_probe(dev, ret, "Failed to create DT children\n"); goto err_mem; } =20 } else { ret =3D omap_usbhs_alloc_children(pdev); if (ret) { - dev_err(dev, "omap_usbhs_alloc_children failed: %d\n", - ret); + dev_err_probe(dev, ret, "omap_usbhs_alloc_children failed\n"); goto err_mem; } } --=20 2.53.0 From nobody Mon Mar 23 19:52:08 2026 Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 717C5269CE6 for ; Mon, 23 Mar 2026 15:03:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.171.202.116 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278185; cv=none; b=Fl4REnZNJ4HG5dR77GysbqsiVM06ECMU/suQGCR+eHTo6lr1LAXqwefyVDhgJWVPoYzPQGWeSIu1e6Eie11a3U8LceJh34Vj6XheDpM1szI5zn74sDPA+Dh0QcG3MaGLG8oAks/YljCK7cdgiZqFvuKWfwYLkYyoiZe01LAmyQw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278185; c=relaxed/simple; bh=SQ0tVpelw5gTioGeYexAskj+zZqRZRumKOwNGWTMR4w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Pw4b1k1zp6RLPdpfTY489FqznV2Ae6qfNFjxw21WdvPMqNvkWgogvMJu8qbvOiAt9z8NnP/LkdjzqgUWWpVKE8pHiOKgUzw4jc3dmL1AaRzK7n21ck5TNuVRDeRFwO08ADikJ6LMfMmWrYEOLiBEHC4BVFZ0thFLcjTs3b+/Mi0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=hQnbXqRI; arc=none smtp.client-ip=185.171.202.116 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="hQnbXqRI" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id 0901DC58082; Mon, 23 Mar 2026 15:03:29 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 2B46B5FEF6; Mon, 23 Mar 2026 15:03:02 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id F028C10450FC6; Mon, 23 Mar 2026 16:02:59 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1774278181; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=nzMhpUhFMgmicdXs6rb/lVvOvdoLRNH76pVL85a8Emc=; b=hQnbXqRIkmXv+fq57SL4Adqi4DsBGYSRJ4aKtq0lnhPcE2pD/CfnTKYUcPeDO8jijmWDyD QKESozZUhFE1LOjnzvL+Rvcq5pl8JWD3bz9a0pmCo5KbP60w3yYRWhkP3J0l+bwyPudQGl 6aMDECqew1o+KjkGYZ9jfJ0VmJ2oPAxX1sIHyozlV9z3seDMStGNXdQXsKshcmLDKi67Js ar57e4pq3+FtuZzbq6ReS06tygDSflHc4yu3g/BCcV0QrW54oWM0Od1NfDPhb/inpII1/m gZppL6LzVzIyUmd5pLX2mHz5YAi+KBWuzYQubfEpBouxn5vds/NbzuehqTpubA== From: Thomas Richard Date: Mon, 23 Mar 2026 16:02:46 +0100 Subject: [PATCH 5/8] dt-bindings: mfd: ti,omap-usb-host: Convert to DT schema Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260323-omap4-fix-usb-support-v1-5-b668132124ac@bootlin.com> References: <20260323-omap4-fix-usb-support-v1-0-b668132124ac@bootlin.com> In-Reply-To: <20260323-omap4-fix-usb-support-v1-0-b668132124ac@bootlin.com> To: Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones Cc: Thomas Petazzoni , linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Thomas Richard X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 Convert OMAP HS USB Host binding to DT schema. The 'ti,hwmods' property is not mandatory anymore as it is no longer required when the omap-usb-host node is a child of a new interconnect target (ti,sysc). Signed-off-by: Thomas Richard --- .../devicetree/bindings/mfd/omap-usb-host.txt | 103 ---------------- .../devicetree/bindings/mfd/ti,omap-usb-host.yaml | 131 +++++++++++++++++= ++++ MAINTAINERS | 1 + 3 files changed, 132 insertions(+), 103 deletions(-) diff --git a/Documentation/devicetree/bindings/mfd/omap-usb-host.txt b/Docu= mentation/devicetree/bindings/mfd/omap-usb-host.txt deleted file mode 100644 index a0d8c30c2631e534cae50dfc7183cd04e744f31f..000000000000000000000000000= 0000000000000 --- a/Documentation/devicetree/bindings/mfd/omap-usb-host.txt +++ /dev/null @@ -1,103 +0,0 @@ -OMAP HS USB Host - -Required properties: - -- compatible: should be "ti,usbhs-host" -- reg: should contain one register range i.e. start and length -- ti,hwmods: must contain "usb_host_hs" - -Optional properties: - -- num-ports: number of USB ports. Usually this is automatically detected - from the IP's revision register but can be overridden by specifying - this property. A maximum of 3 ports are supported at the moment. - -- portN-mode: String specifying the port mode for port N, where N can be - from 1 to 3. If the port mode is not specified, that port is treated - as unused. When specified, it must be one of the following. - "ehci-phy", - "ehci-tll", - "ehci-hsic", - "ohci-phy-6pin-datse0", - "ohci-phy-6pin-dpdm", - "ohci-phy-3pin-datse0", - "ohci-phy-4pin-dpdm", - "ohci-tll-6pin-datse0", - "ohci-tll-6pin-dpdm", - "ohci-tll-3pin-datse0", - "ohci-tll-4pin-dpdm", - "ohci-tll-2pin-datse0", - "ohci-tll-2pin-dpdm", - -- single-ulpi-bypass: Must be present if the controller contains a single - ULPI bypass control bit. e.g. OMAP3 silicon <=3D ES2.1 - -- clocks: a list of phandles and clock-specifier pairs, one for each entry= in - clock-names. - -- clock-names: should include: - For OMAP3 - * "usbhost_120m_fck" - 120MHz Functional clock. - - For OMAP4+ - * "refclk_60m_int" - 60MHz internal reference clock for UTMI clock mux - * "refclk_60m_ext_p1" - 60MHz external ref. clock for Port 1's UTMI cloc= k mux. - * "refclk_60m_ext_p2" - 60MHz external ref. clock for Port 2's UTMI cloc= k mux - * "utmi_p1_gfclk" - Port 1 UTMI clock mux. - * "utmi_p2_gfclk" - Port 2 UTMI clock mux. - * "usb_host_hs_utmi_p1_clk" - Port 1 UTMI clock gate. - * "usb_host_hs_utmi_p2_clk" - Port 2 UTMI clock gate. - * "usb_host_hs_utmi_p3_clk" - Port 3 UTMI clock gate. - * "usb_host_hs_hsic480m_p1_clk" - Port 1 480MHz HSIC clock gate. - * "usb_host_hs_hsic480m_p2_clk" - Port 2 480MHz HSIC clock gate. - * "usb_host_hs_hsic480m_p3_clk" - Port 3 480MHz HSIC clock gate. - * "usb_host_hs_hsic60m_p1_clk" - Port 1 60MHz HSIC clock gate. - * "usb_host_hs_hsic60m_p2_clk" - Port 2 60MHz HSIC clock gate. - * "usb_host_hs_hsic60m_p3_clk" - Port 3 60MHz HSIC clock gate. - -Required properties if child node exists: - -- #address-cells: Must be 1 -- #size-cells: Must be 1 -- ranges: must be present - -Properties for children: - -The OMAP HS USB Host subsystem contains EHCI and OHCI controllers. -See Documentation/devicetree/bindings/usb/generic-ehci.yaml and -Documentation/devicetree/bindings/usb/generic-ohci.yaml. - -Example for OMAP4: - -usbhshost: usbhshost@4a064000 { - compatible =3D "ti,usbhs-host"; - reg =3D <0x4a064000 0x800>; - ti,hwmods =3D "usb_host_hs"; - #address-cells =3D <1>; - #size-cells =3D <1>; - ranges; - - usbhsohci: ohci@4a064800 { - compatible =3D "ti,ohci-omap3"; - reg =3D <0x4a064800 0x400>; - interrupt-parent =3D <&gic>; - interrupts =3D <0 76 0x4>; - }; - - usbhsehci: ehci@4a064c00 { - compatible =3D "ti,ehci-omap"; - reg =3D <0x4a064c00 0x400>; - interrupt-parent =3D <&gic>; - interrupts =3D <0 77 0x4>; - }; -}; - -&usbhshost { - port1-mode =3D "ehci-phy"; - port2-mode =3D "ehci-tll"; - port3-mode =3D "ehci-phy"; -}; - -&usbhsehci { - phys =3D <&hsusb1_phy 0 &hsusb3_phy>; -}; diff --git a/Documentation/devicetree/bindings/mfd/ti,omap-usb-host.yaml b/= Documentation/devicetree/bindings/mfd/ti,omap-usb-host.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7831ad891229aee650d83adcd82= 405c9dde472a8 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/ti,omap-usb-host.yaml @@ -0,0 +1,131 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/ti,omap-usb-host.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: OMAP HS USB Host + +maintainers: + - Thomas Richard + +description: | + description + +properties: + compatible: + const: ti,usbhs-host + + reg: + maxItems: 1 + + ti,hwmods: + const: usb_host_hs + + num-ports: + description: + number of USB ports. Usually this is automatically detected from the= IP's + revision register but can be overridden by specifying this property.= A + maximum of 3 ports are supported at the moment. + maximum: 3 + + single-ulpi-bypass: + $ref: /schemas/types.yaml#/definitions/flag + description: + Must be present if the controller contains a single ULPI bypass cont= rol + bit. e.g. OMAP3 silicon <=3D ES2.1ULPI bypass control bit. + e.g. OMAP3 silicon <=3D ES2.1. + + clocks: + description: clock-specifier + + clock-names: + oneOf: + - items: + - const: usbhost_120m_fck + - items: + - const: refclk_60m_int + - const: refclk_60m_ext_p1 + - const: refclk_60m_ext_p2 + + "#address-cells": + const: 1 + + "#size-cells": + const: 1 + + ranges: true + +patternProperties: + "^port[0-3]-mode$": + $ref: /schemas/types.yaml#/definitions/string + description: + String specifying the port mode for port N, where N can be from 1 to= 3. + the port mode is not specified, that port is treated as unused. When + specified, it must be one of the following. + enum: + - ehci-phy + - ehci-tll + - ehci-hsic + - ohci-phy-6pin-datse0 + - ohci-phy-6pin-dpdm + - ohci-phy-3pin-datse0 + - ohci-phy-4pin-dpdm + - ohci-tll-6pin-datse0 + - ohci-tll-6pin-dpdm + - ohci-tll-3pin-datse0 + - ohci-tll-4pin-dpdm + - ohci-tll-2pin-datse0 + - ohci-tll-2pin-dpdm + + "^usb@": + type: object + +required: + - compatible + - reg + +allOf: + - if: + patternProperties: + "^usb@": true + then: + required: + - ranges + - "#address-cells" + - "#size-cells" + +additionalProperties: false + +examples: + - | + bus { + #address-cells =3D <1>; + #size-cells =3D <1>; + + usbhshost: usbhshost@4a064000 { + compatible =3D "ti,usbhs-host"; + reg =3D <0x4a064000 0x800>; + ti,hwmods =3D "usb_host_hs"; + port1-mode =3D "ehci-phy"; + port2-mode =3D "ehci-tll"; + port3-mode =3D "ehci-phy"; + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges; + + usbhsohci: usb@4a064800 { + compatible =3D "ti,ohci-omap3"; + reg =3D <0x4a064800 0x400>; + interrupt-parent =3D <&gic>; + interrupts =3D <0 76 0x4>; + }; + + usbhsehci: usb@4a064c00 { + compatible =3D "ti,ehci-omap"; + reg =3D <0x4a064c00 0x400>; + interrupt-parent =3D <&gic>; + interrupts =3D <0 77 0x4>; + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 7d10988cbc62b77515aa1a1fee1c7d3e594869fa..28da3ac5896681bcdab29c23c98= eff3612dc181d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -19397,6 +19397,7 @@ W: http://linux.omap.com/ Q: http://patchwork.kernel.org/project/linux-omap/list/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git F: Documentation/devicetree/bindings/arm/ti/omap.yaml +F: Documentation/devicetree/bindings/mfd/ti,omap-usb-host.yaml F: arch/arm/configs/omap2plus_defconfig F: arch/arm/mach-omap2/ F: drivers/bus/omap*.[ch] --=20 2.53.0 From nobody Mon Mar 23 19:52:08 2026 Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E40243B3884; Mon, 23 Mar 2026 15:03:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.171.202.116 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278186; cv=none; b=C0RQoaRa+4XtnNPMu+4TwIg7uglMer6/X7ujl59d+FNUrm3ostVF9n/mArf5/Lr6kWM8Kin6MtLrE2YZrTdDrda3mfEjQIiGlo7SKp4vXUQ1Yb/WVDzmtSdG7G0TMEhWLnZentta/eKHkYG9skx+pjAwOpMiOJwEDpHjr0DcQ0A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278186; c=relaxed/simple; bh=0fceF0cVwQlCGxddCO3QL7u/MrNVgrZpDC+/xLKaCHM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fUk5wbODb2J2JtOf6IpQdGDyl6eaSDGVD5ZiiEHUPt4v5IuKOFiz8I1gozt50fGsWmfg651urnJweYxUAjWHh3amdWObbiDkJAWQv16Cmi0G6neObRe1BTJlZMopcFr2O4lN5grTSCmXoyj++6rJeVhyyRWMPKuGVbYj5YowQOg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=JgW3SLpI; arc=none smtp.client-ip=185.171.202.116 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="JgW3SLpI" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id 76E26C58085; Mon, 23 Mar 2026 15:03:30 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 9A9ED5FEF6; Mon, 23 Mar 2026 15:03:03 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 9362E10450FE4; Mon, 23 Mar 2026 16:03:01 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1774278182; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=49frKNUVvOfaVYtlewLBdpOk3TUCuKezoYZbv3SlSSc=; b=JgW3SLpIat/2bTNFofkY32z+zAVCNtcNe24J3VwTFZvv25KZnbvKcRn5hiFTGsoGEYG6lO vqUQasvwK1Wi2tjGa2BhZ0dCtCG9vGVtrpXjUFqZjBe8FiVZUoivSonBYc80tsUMkGzBSO aOnZ/2x5fgFu2zeAteJw4QIm0qIWPx89fQQDZsalVEjMapThfU9AjmbMr7tUHqsiC6rn5O Z4oY0/btggCuMCb4Fr6UM2L/VUJx+7binQ7K+r40Rv2q5RwNcNNIjX73z0PHnE6hChXm8k jH7d1EHo2Dqrn1PbsAEePn4E1sa8IAXfDwCs4CPwlnPPJ+p0AqWW/ER5YzkcMg== From: Thomas Richard Date: Mon, 23 Mar 2026 16:02:47 +0100 Subject: [PATCH 6/8] dt-bindings: mfd: ti,omap-usb-host: Add 'pbias-supply' property Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260323-omap4-fix-usb-support-v1-6-b668132124ac@bootlin.com> References: <20260323-omap4-fix-usb-support-v1-0-b668132124ac@bootlin.com> In-Reply-To: <20260323-omap4-fix-usb-support-v1-0-b668132124ac@bootlin.com> To: Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones Cc: Thomas Petazzoni , linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Thomas Richard X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 Add the 'pbias-supply' property, it is used to specify the voltage regulator that provides the bias voltage for USB cell. Signed-off-by: Thomas Richard --- Documentation/devicetree/bindings/mfd/ti,omap-usb-host.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/mfd/ti,omap-usb-host.yaml b/= Documentation/devicetree/bindings/mfd/ti,omap-usb-host.yaml index 7831ad891229aee650d83adcd82405c9dde472a8..8ec354ac2bcb6e381744506f6af= c57a04d460df1 100644 --- a/Documentation/devicetree/bindings/mfd/ti,omap-usb-host.yaml +++ b/Documentation/devicetree/bindings/mfd/ti,omap-usb-host.yaml @@ -56,6 +56,11 @@ properties: =20 ranges: true =20 + pbias-supply: + description: + It is used to specify the voltage regulator that provides the bias + voltage for certain analog or I/O pads. + patternProperties: "^port[0-3]-mode$": $ref: /schemas/types.yaml#/definitions/string --=20 2.53.0 From nobody Mon Mar 23 19:52:08 2026 Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F31193B3C18 for ; Mon, 23 Mar 2026 15:03:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.246.85.4 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278188; cv=none; b=auEZgDmVyBt+koaN3YoAqlxFPk3d0fu9VIAlPKiCfhWfx2ZrE9ohnWjkyaEJTfRNlG0FJUQM7Nijk0X61rKHgndLtTL/0/9p4d7j70Qmy/jqIShYjwD+hv2rcM0/pCQxO9komYvtgkJ0fkZFI0CF+VOpDyGR3p3OuTefoFlkxhE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278188; c=relaxed/simple; bh=p3ek0DJZ6dB5BRbHVbnnupyq4AxNJh+QqudvnzMubQI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ToQpN9nu6qrcjFhI2YZPxB4Q6Lf+xAw3V3N9rfW82YY3j8WV5fXtcnmElCbHbwFzGrTfgyHqkVGqwS9XYeitBv6utrfFyHIAf/J1/8YwU64OUVUJA2VvH1jQ52/v35vMNAyrqDQ5GKU6P7IuYYyuDIk8pdMsVxaq4uDAZRGkSRM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=CA0W/K+7; arc=none smtp.client-ip=185.246.85.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="CA0W/K+7" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id C07924E427B1; Mon, 23 Mar 2026 15:03:05 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 93BCC5FEF6; Mon, 23 Mar 2026 15:03:05 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 1B05F10450FFB; Mon, 23 Mar 2026 16:03:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1774278184; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=VQsfiU7pydAF8i4b/kHlBnS6SzX1tiqz2w4BnOsq9ws=; b=CA0W/K+72mkvKUBbOXbiX9FmqZuYVoK9tqAQnq5zCjgQzp62OyT6mT83di687D4StxIgkV ZeSLaBtLuRS/EUVunxh6qfST89sZRXB08mM4DeCld4dF0wBVGo+PBfI5k7pzGZPKxXeSWK 86KlXJz2MI0fsd8uuXYBlTPWB0YjKU8X4uCqk1TME6XjT4quZnkpYZsr+XpH7TFOKjG0PA 46STu/qKf6FmRzz5fCJ21wJlmmGj7DbvvwP49AH851tWp4xXrMPdAgvtmFGLWDL/WTzg1c RZpFczHjjbaSZ3lj4UCTvhx7yXfTV1cgh48hoSEMUkbxQyoKVvVy+gL+FtMiHQ== From: Thomas Richard Date: Mon, 23 Mar 2026 16:02:48 +0100 Subject: [PATCH 7/8] mfd: omap-usb-host: Add pbias regulator support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260323-omap4-fix-usb-support-v1-7-b668132124ac@bootlin.com> References: <20260323-omap4-fix-usb-support-v1-0-b668132124ac@bootlin.com> In-Reply-To: <20260323-omap4-fix-usb-support-v1-0-b668132124ac@bootlin.com> To: Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones Cc: Thomas Petazzoni , linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Thomas Richard X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 Add pbias regulator support to enable SIM_VDDS supply and unlock USB I/O cell. Previously, this was handled by the bootloader, now the kernel can take responsibility for managing the PBIAS regulator, ensuring correct operation regardless of the bootloader. Signed-off-by: Thomas Richard --- drivers/mfd/omap-usb-host.c | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c index ac974285be341fa579ef198d1893b77af428b5f8..9e254e00183e940b775d5bde6e8= 91f0d26af27b0 100644 --- a/drivers/mfd/omap-usb-host.c +++ b/drivers/mfd/omap-usb-host.c @@ -15,6 +15,9 @@ #include #include #include +#include +#include + =20 #include "omap-usb.h" =20 @@ -95,6 +98,8 @@ struct usbhs_hcd_omap { struct usbhs_omap_platform_data *pdata; =20 u32 usbhs_rev; + + struct regulator *pbias; }; /*------------------------------------------------------------------------= -*/ =20 @@ -270,6 +275,25 @@ static bool is_ohci_port(enum usbhs_omap_port_mode pmo= de) } } =20 +static int omap_usbhs_set_pbias(struct device *dev, bool power_on) +{ + struct usbhs_hcd_omap *omap =3D dev_get_drvdata(dev); + int ret; + + if (!omap->pbias) + return 0; + + if (power_on) + ret =3D regulator_enable(omap->pbias); + else + ret =3D regulator_disable(omap->pbias); + + if (ret) + dev_err(dev, "pbias reg %s failed\n", str_enable_disable(power_on)); + + return ret; +} + static int usbhs_runtime_resume(struct device *dev) { struct usbhs_hcd_omap *omap =3D dev_get_drvdata(dev); @@ -278,6 +302,10 @@ static int usbhs_runtime_resume(struct device *dev) =20 dev_dbg(dev, "usbhs_runtime_resume\n"); =20 + r =3D omap_usbhs_set_pbias(dev, true); + if (r) + return r; + omap_tll_enable(pdata); =20 if (!IS_ERR(omap->ehci_logic_fck)) @@ -355,7 +383,7 @@ static int usbhs_runtime_suspend(struct device *dev) =20 omap_tll_disable(pdata); =20 - return 0; + return omap_usbhs_set_pbias(dev, false); } =20 static unsigned omap_usbhs_rev1_hostconfig(struct usbhs_hcd_omap *omap, @@ -564,6 +592,11 @@ static int usbhs_omap_probe(struct platform_device *pd= ev) =20 omap->pdata =3D pdata; =20 + omap->pbias =3D devm_regulator_get_optional(dev, "pbias"); + if (IS_ERR(omap->pbias)) + return dev_err_probe(dev, PTR_ERR(omap->pbias), + "unable to get pbias regulator\n"); + /* Initialize the TLL subsystem */ omap_tll_init(pdata); =20 @@ -759,6 +792,10 @@ static int usbhs_omap_probe(struct platform_device *pd= ev) } =20 initialize: + ret =3D omap_usbhs_set_pbias(dev, true); + if (ret) + goto err_mem; + omap_usbhs_init(dev); =20 if (dev->of_node) { @@ -806,6 +843,8 @@ static void usbhs_omap_remove(struct platform_device *p= dev) of_platform_depopulate(&pdev->dev); else device_for_each_child(&pdev->dev, NULL, usbhs_omap_remove_child); + + omap_usbhs_set_pbias(&pdev->dev, false); } =20 static const struct dev_pm_ops usbhsomap_dev_pm_ops =3D { --=20 2.53.0 From nobody Mon Mar 23 19:52:08 2026 Received: from smtpout-02.galae.net (smtpout-02.galae.net [185.246.84.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C33C1275AF5 for ; Mon, 23 Mar 2026 15:03:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.246.84.56 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278190; cv=none; b=Imjn8FaR51hYRpRqrzBKXm7Gy9ITuuzmt5/d68J+3Jxh84x7bc3rw/KLKZ3U/4U4ZJX5OOMASBrhuDx0THQ9MPbDrAMAnbBrp4K2BnjkNbAVHVkrJFXk4R18Xwlr/7Qo4MOiyYynlYhW/43zZJXe4LV/fpBg0hDZs9qMm+KUoRU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278190; c=relaxed/simple; bh=ZPVCXjWtMahTBEvZJUWDRcuMUceBoTdYYYSPZeTrreY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oeVk6OcTQCEq0VQMFjo+a10VawM2QFdYpy+9M9aSMcOsZWs36NhV54aD2mChVJNsRfNucH9mOTvh4FkjgJKo/tHXgqZuZMDgv3hHRPjsTy0d20mlGVgcWckmZKbYycUQ3O1rwtApvnB0qiUZAJJEJ7HJGpQW5ePNlKIxU2N+jpw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=02c7ku1U; arc=none smtp.client-ip=185.246.84.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="02c7ku1U" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-02.galae.net (Postfix) with ESMTPS id 8F7131A2FA2; Mon, 23 Mar 2026 15:03:07 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 65BF55FEF6; Mon, 23 Mar 2026 15:03:07 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 081E510451002; Mon, 23 Mar 2026 16:03:04 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1774278186; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=N/VF95md6eNMeBqvNWEaFR/cXPvLYmIHkRFLU2V6JHY=; b=02c7ku1UVuYDZY44tBfDUU5ANEl13AV8VYnXu1CRg4OT8sy4W5u904KIRh407fvt/dlG0C 7gyVKW28uG/wKD74J6Mtc4r5jahOI161+Ody5YUF1ekRySxtUy0mBINgYblgOn9ko8WicL 8KzgQut43gCxG+dViw3foV1sAKwKcCOiKEavUV/eFBX90OHqHLBoB6Kwfj0L5bP876G/Ji zrFWe6I+Kmq7tc6A9cO3tn3wCiPjkoRYxqkY4q+ar/rvr5p3MmEAAEbdj4rlxZ26ZkdGNk SZOZ5p0QZaMVTbuyRVJfAWYvEVQ2YYANAYc44/+v9smsFpy+waQDtZZB1HKpEw== From: Thomas Richard Date: Mon, 23 Mar 2026 16:02:49 +0100 Subject: [PATCH 8/8] ARM: dts: ti: omap4: Add pbias regulator to the HS USB Host Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260323-omap4-fix-usb-support-v1-8-b668132124ac@bootlin.com> References: <20260323-omap4-fix-usb-support-v1-0-b668132124ac@bootlin.com> In-Reply-To: <20260323-omap4-fix-usb-support-v1-0-b668132124ac@bootlin.com> To: Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones Cc: Thomas Petazzoni , linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Thomas Richard X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 On OMAP4 add the pbias SIM regulator to the OMAP HS USB Host. Signed-off-by: Thomas Richard --- arch/arm/boot/dts/ti/omap/omap4-l4.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/boot/dts/ti/omap/omap4-l4.dtsi b/arch/arm/boot/dts/ti= /omap/omap4-l4.dtsi index 6904a84a1700527443cee19f62870904082eb48a..c5e097f9cd17b0ff0966437a9de= eff3bdf8134a1 100644 --- a/arch/arm/boot/dts/ti/omap/omap4-l4.dtsi +++ b/arch/arm/boot/dts/ti/omap/omap4-l4.dtsi @@ -301,6 +301,7 @@ usbhshost: usbhshost@0 { clock-names =3D "refclk_60m_int", "refclk_60m_ext_p1", "refclk_60m_ext_p2"; + pbias-supply =3D <&pbias_sim_reg>; =20 usbhsohci: usb@800 { compatible =3D "ti,ohci-omap3"; --=20 2.53.0