From nobody Mon Jun 8 20:54:37 2026 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) (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 A15423537E0 for ; Tue, 26 May 2026 19:15:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779822921; cv=none; b=dQLNnBxUSOPQCmWEF1U3j2e+CC1pAzLVgQwpWtN+rHH1ETug0byMgey/h7kr0RqIWji2qtsGo6ruNHmVjsTsqXXvLMFKI8YprSxwF5y6Gw1aeSr6IXpKNFR7oGtLxl6+gHLvyQf61GT2ux5Zcu/HspZclRHAAqLkP+aJI4KBiIk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779822921; c=relaxed/simple; bh=npy+hadqe6yQ6MJRKfNu5zTOKK2FcCG6C9YH+9UAZ14=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Q/OchwJK3AEt+utANk7lDFcRondiEhCZsZ88BxClbdMpOma+d34dT+Y/R0+/Toq1MGj2MQoutz31CK0KhNuwLU5mPB3OLyIcHgICEvB6tjmSofyjLxRb98rXYFQrpQrRJdcFAmgeq8zNjUoXcYwtO/dxsI4LeGvbj+2dkv2hF04= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Q1Wu0sOr; arc=none smtp.client-ip=209.85.221.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Q1Wu0sOr" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-43d77f6092eso6266768f8f.2 for ; Tue, 26 May 2026 12:15:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779822918; x=1780427718; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=nYH2L56KpXSfSkcfo0wbOq3ubSGPGkqpLJelz2krcNs=; b=Q1Wu0sOrCwrljEYns5Fe76w9rahfuu9GnqirtGJUb9ZN05uQjVSvC7T0OuH/i2VS6s MXolcQQcoAV94NSsAmN7+cMxD+nIs+cNmtqwx51Yl3vRRifP0x/RE939GwOQzz3R0ImP 2rU1WcRGojuYpDXyEpVGlOo12Jh/gFa1aEsMqHoY59YzliOp3/WuQeP71eKiBoOnMszm QAD8Hc6Heg65/brcNUOqoMITse/WnPOMAiXMLdTRenuKe0LdVlNcsB5PHQAjSnCYDkxL 7+AY7d/s3PW7POyA70bd+ZePu8weVTd5/kBWyQd7H/n+1iIsI4tA99B9ni4vL1Kirewn Bdlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779822918; x=1780427718; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=nYH2L56KpXSfSkcfo0wbOq3ubSGPGkqpLJelz2krcNs=; b=Q+NAERyICnBhkCuiiT1+wF12Pl/bDMu2d0YUWswag45xVxQCbEWjbnRPIm0J/SNJZM DnxhMrqbSr7YLUKz5bDpArmsek6wLlLHDsIaZRKTXeqKU2R9Y+9/R1Ncglud897JHvjx LXNFU7/pwCwoUrV9TLeVOLzme7WV3iXuyj3h6u9TQbSugOlBaPyp+pWa6QLblMfGXAxF P1+m7pDMjIaqCTbdFcDS6+B+9HXm0y9WBi+A6ZZUP+WQi6iNrYknnyZ9be04yuBizmrG y5bpptMXKlQsWH9de3oJdPED5AFh9torUKm8aKNmrT6JSawpB4oxM9qIU2Wx9vMy7y5X 5hQA== X-Forwarded-Encrypted: i=1; AFNElJ+XtHKo1YSavTYya+htpWaLJTdPVhhxZUUvPBzOuuveRmvUdUF7R1yGRQdYJnTj3MT3iP746XgHL8FccQM=@vger.kernel.org X-Gm-Message-State: AOJu0Yy1Lr2owBCgS2kHerREYpXY6ynmGz07juoQI3Q37jBpKB2DrF4x IRmHQqWkxbM/ePieM4fnOU207iBXgpXGrWRWQag7TX6WoW5mNrW+KnLJ X-Gm-Gg: Acq92OHHNMTDIJ4KK0FymWdQ6wGUgsu1sEXMFR0vyLKyoiZG8zwX8SNObSBGwBi/aUM FJ2wJEOxV3jzjFcwJGa1irBgT9Rj/CHBh5RN8lXtMLGFN9viJaRTwdhY6YjpGN9BsxQF7RdQ5MD xvRHnDxbp/R5u70aCAVCBA7WfgX6j3FEMgl6ga6YRFvjgjwVhU6ViMs1Kh59lC4z8IHHYVTjj1M jbJnyh3A11np8ctGbq+TVE6CRlk6yK/0P4vfp2zxfn6iBUm4OT9Da4FwW4A3rAKgUytHGOMfjI1 sDFjvXjoH/7EgEgzA4DJ8ux5tSWoNZX62W0KS4pBznunHqK8ZUAK3EPd44sYTHJjPC+ryZxYMT5 sSCyJIorRWWX6pyKFljCYMLeu6axfk/98v2RLySQ9hLMBcCch2Gw9yqWuClaRFpqUchNWI9nFiq t/e0li7xwAJbeLeitzzlkTaj4Gmnic6ioH9uBMCk5vbWZcIVbNVQL3KGVNqt30ymm/IyHNAl1Ll Z+9Sqh34S/KLPtmVxUK X-Received: by 2002:a05:6000:4684:b0:45e:d843:27fc with SMTP id ffacd0b85a97d-45ed8432acfmr4284847f8f.16.1779822917930; Tue, 26 May 2026 12:15:17 -0700 (PDT) Received: from [127.0.1.1] (93-143-222-3.adsl.net.t-com.hr. [93.143.222.3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45edb5b1c7bsm261529f8f.29.2026.05.26.12.15.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 12:15:17 -0700 (PDT) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Tue, 26 May 2026 21:14:47 +0200 Subject: [PATCH 1/3] dt-bindings: mfd: 88pm886: Allow vbus 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: <20260526-88pm886-vbus-v1-1-f2bd1fd3c19e@dujemihanovic.xyz> References: <20260526-88pm886-vbus-v1-0-f2bd1fd3c19e@dujemihanovic.xyz> In-Reply-To: <20260526-88pm886-vbus-v1-0-f2bd1fd3c19e@dujemihanovic.xyz> To: Karel Balej , Lee Jones , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Liam Girdwood , Mark Brown Cc: devicetree@vger.kernel.org, phone-devel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, linux-kernel@vger.kernel.org, =?utf-8?q?Duje_Mihanovi=C4=87?= X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=949; i=duje@dujemihanovic.xyz; s=20260328; h=from:subject:message-id; bh=w9yI8wCwzbrK5f5g107nAXx9VFMEYrQgjOz4ll/v96I=; b=owGbwMvMwCW2z0j3+uHIyKOMp9WSGLJEPzqtt9r4r/us16d7UiLfJh103/4s+MSviLMSH+Oz0 t/GiOuLd5SyMIhxMciKKbIwL5W7xJcaPtGhyDYJZg4rE8gQBi5OAZjIsS0M/4Nl9ohtjnbdfPOy QbBQU3zBi9d/J8ulxTMfmmQt8y0p8h3D/3rZgmDdUxzv3XYb3H34ZoX3NFlH2b7NO1N/uUp/1Qu /xQIA X-Developer-Key: i=duje@dujemihanovic.xyz; a=openpgp; fpr=9BD463017690089DAA8DC266275F544B3B1B4792 From: Duje Mihanovi=C4=87 Add vbus to patternProperties for the regulators node to allow for the PMIC's vbus regulator to be exposed. Signed-off-by: Duje Mihanovi=C4=87 Acked-by: Conor Dooley Reviewed-by: Karel Balej --- Documentation/devicetree/bindings/mfd/marvell,88pm886-a1.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/mfd/marvell,88pm886-a1.yaml = b/Documentation/devicetree/bindings/mfd/marvell,88pm886-a1.yaml index 92a72a99fd79..940262898353 100644 --- a/Documentation/devicetree/bindings/mfd/marvell,88pm886-a1.yaml +++ b/Documentation/devicetree/bindings/mfd/marvell,88pm886-a1.yaml @@ -29,7 +29,7 @@ properties: type: object additionalProperties: false patternProperties: - "^(ldo(1[0-6]|[1-9])|buck[1-5])$": + "^(ldo(1[0-6]|[1-9])|buck[1-5]|vbus)$": type: object $ref: /schemas/regulator/regulator.yaml# description: LDO or buck regulator. --=20 2.54.0 From nobody Mon Jun 8 20:54:37 2026 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.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 2232E397B06 for ; Tue, 26 May 2026 19:15:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779822923; cv=none; b=Id1Hi7W/Hzl3ZBlgtTq1v+Ghg0Zv0k08nLoWt080iP3KJTGHt6HuN51uuAOZtFsEn/us0raJMjCdruIG/YyYUKxDzTw1YJ3vblsgiOuV41lIWQzBJ42W81CIdMNKrRBYYnuMk5MzZr0bzoNrGMtEI6srtDr48NYRO1dNS2saKRo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779822923; c=relaxed/simple; bh=O80sOveWh7+q8m49G2VDuDRHgugS9eQUKZJ0tgqKlaA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=orIGzA8OnLRKCW+RTgNNGB0ctmOVeFdw1AcZJMyKCizAAXEv77XaY+ZeASkekX2EshZtSCXjiXj9PeK1K5qBphirAk4FUocQ/GAWku8N/QR3ZVsu0o1Q5+lp12KiSGZQToiJjHgPvDxax0NQ0vfwtolwfoHGE8BbDc0KT9EfKTg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kTSuzArY; arc=none smtp.client-ip=209.85.221.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kTSuzArY" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-45e8a834cc2so6251827f8f.1 for ; Tue, 26 May 2026 12:15:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779822919; x=1780427719; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=pSkiAAdOhxILHP16mj1+mW4P+CxLLoXpXuUjc9FKagg=; b=kTSuzArYYWiwxCfsRq3vXIUTYz96Wab10G+vBH255xeF3CkB2w5i9CohxeBSyUS+KG ad/FDCX5EIEdLkh9Nkx48MB+w467Xg0fyDhaNdzgHyVqT0pu7yWE/nfMVuE191WK3God 7IhMq7rQuqEt9peBD+KBB/Bk+zGOp51Z3esKvc1HFOpmFkkmyc+dpzj3+DimFADklGau u6Ndhf8pGzUKaaPQl+OIA0k2Bn8xzx0lSauBLdLmpG2Nq7K9K5LRd+JKCgqKa6DAn+zp SoGRzCfPzzXtNemZ1UvloNDdqILLq80ErtH0D3jN/fvyZbBR365pDnsMMJkazz1YSPq6 CI5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779822919; x=1780427719; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=pSkiAAdOhxILHP16mj1+mW4P+CxLLoXpXuUjc9FKagg=; b=Do4EatbTbD6p+6pK6tVmyoTtnvdu1WhBsD7O1jX3KZRvc74Q63aiDI8b/IYTW/K0h/ yNC/veLcIBEprKKZs5t+yK5a/q2TftlM6SJi/B/y6x+x8pQs8xNIdYMh93Z1eJhW72aU cf3+58J4S+m9EK1NSsyjp0DHTbDFqLVOWQF77ZNfMyT9RcEFYQGgcAyTuRzcQ88lzcIP zuc3U2MWdClaiv/B9y0JkqK+QyoWu0O4wHAYl/y9vz1eWq2e4/X+xHOX0tWPPBzK+Qs6 Pzot5IQlKPchL8U7VmQgY55lMzJzb9+Cvm7knuaFymrWnZelSxbr7OKR19l8XHMaFbw9 Uihw== X-Forwarded-Encrypted: i=1; AFNElJ/3ZLqW7fnaQ9eUXOgnDgmq2dj57IHmXWK9U4EljwR3aQjfHl9DlDgbB21V+V2fT+yOmVpViQ9y66sC3Zs=@vger.kernel.org X-Gm-Message-State: AOJu0YyFssjJy99bHbjLg2+V5nY7MbhxU64Ilw2j4IlajIDwCAmkMYWP qui+rB6HTfDCMu4t4tbyGAY6ARwFS+UQRtEL26zrEdeMBS5JRazZMfpz X-Gm-Gg: Acq92OHrFiL+mbeiRXRd3grsVz+WXeegAHEv6Aq0f9PCZYLROEQrUN/i2iN+QYOTEfl EfAd5Q64PdN35WB9YfqY7HbqJH72lG54vhxmpaTzhoVlO923MKX85PZGrh1GSczd4mIPAaQ7DHI wKcZL/5BrLTItpn5flNVZrTM8EXn6bu5qGiSTrQeuYkSu3DBWF48Jz/HN5DyLsczlxOR1q1VF6H OTPHwJIXcgk/Q00NszPHtZX8QNblljZp/K3uhDExn4qCvz2CpfaaE+qz99ExC2cs4r0lj/mHn68 wvCJgIjL7ocArak/f5ONcaEgQTIBQ9VLhJePIEBCy6JdMG1PSJWQQeBaZz7o9f7jNQs+8t3vRDO VF7IG56AAc0VMfJrzsPiXMZO3hWct+5P5pVy8pUqvIBwHxwoJkmn03YeEN/ImIiwdhXx8QROi3v 2XST2nXLV0voVTaveVfcZSVR1KlnRM4bOeGV30M6g9I7ia9SumPLVVkrsXRkp9GZkcsBR35T4It nXp/dXerwLEZitlPH0B X-Received: by 2002:a5d:6f09:0:b0:452:3677:3fb3 with SMTP id ffacd0b85a97d-45eb36920c4mr31129992f8f.1.1779822919477; Tue, 26 May 2026 12:15:19 -0700 (PDT) Received: from [127.0.1.1] (93-143-222-3.adsl.net.t-com.hr. [93.143.222.3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45edb5b1c7bsm261529f8f.29.2026.05.26.12.15.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 12:15:18 -0700 (PDT) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Tue, 26 May 2026 21:14:48 +0200 Subject: [PATCH 2/3] mfd: 88pm886: Initialize battery page 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: <20260526-88pm886-vbus-v1-2-f2bd1fd3c19e@dujemihanovic.xyz> References: <20260526-88pm886-vbus-v1-0-f2bd1fd3c19e@dujemihanovic.xyz> In-Reply-To: <20260526-88pm886-vbus-v1-0-f2bd1fd3c19e@dujemihanovic.xyz> To: Karel Balej , Lee Jones , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Liam Girdwood , Mark Brown Cc: devicetree@vger.kernel.org, phone-devel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, linux-kernel@vger.kernel.org, =?utf-8?q?Duje_Mihanovi=C4=87?= X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2866; i=duje@dujemihanovic.xyz; s=20260328; h=from:subject:message-id; bh=VEK817YRLY8v3pwJAur2aKRdqAXnVfcCXyzWnj9CXEY=; b=owGbwMvMwCW2z0j3+uHIyKOMp9WSGLJEPzpVezi7+EnX3Uv5naH6yG66wldhY0mdpa5vd59TL pos/Kmlo5SFQYyLQVZMkYV5qdwlvtTwiQ5Ftkkwc1iZQIYwcHEKwEQirzEyTGV6Neuseo9NU7bi qpDbi+pMhSKj/s3f2s6tyLNA+qmfDMP/4mC5aD+jL7WnbvxjNHy7Pvb34vhJP5ZIrve75Pnl6vz PPAA= X-Developer-Key: i=duje@dujemihanovic.xyz; a=openpgp; fpr=9BD463017690089DAA8DC266275F544B3B1B4792 From: Duje Mihanovi=C4=87 Initialize the PMIC's battery page. The battery page registers are shared between Vbus regulator, charger, fuelgauge and camera flash blocks, hence the commonization of the page. Signed-off-by: Duje Mihanovi=C4=87 Reviewed-by: Karel Balej --- drivers/mfd/88pm886.c | 21 ++++++++++++++++++++- include/linux/mfd/88pm886.h | 5 +++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/drivers/mfd/88pm886.c b/drivers/mfd/88pm886.c index e411d8dee554..73102e638eba 100644 --- a/drivers/mfd/88pm886.c +++ b/drivers/mfd/88pm886.c @@ -16,6 +16,12 @@ static const struct regmap_config pm886_regmap_config = =3D { .max_register =3D PM886_REG_RTC_SPARE6, }; =20 +static const struct regmap_config pm886_regmap_battery_config =3D { + .reg_bits =3D 8, + .val_bits =3D 8, + .max_register =3D PM886_REG_CLS_CONFIG1, +}; + static const struct regmap_irq pm886_regmap_irqs[] =3D { REGMAP_IRQ_REG(PM886_IRQ_ONKEY, 0, PM886_INT_ENA1_ONKEY), }; @@ -88,7 +94,8 @@ static int pm886_probe(struct i2c_client *client) struct regmap_irq_chip_data *irq_data; struct device *dev =3D &client->dev; struct pm886_chip *chip; - struct regmap *regmap; + struct regmap *regmap, *regmap_battery; + struct i2c_client *battery_page; unsigned int chip_id; int err; =20 @@ -105,6 +112,18 @@ static int pm886_probe(struct i2c_client *client) return dev_err_probe(dev, PTR_ERR(regmap), "Failed to initialize regmap\= n"); chip->regmap =3D regmap; =20 + battery_page =3D devm_i2c_new_dummy_device(dev, client->adapter, + client->addr + PM886_PAGE_OFFSET_BATTERY); + if (IS_ERR(battery_page)) + return dev_err_probe(dev, PTR_ERR(battery_page), + "Failed to initialize battery page\n"); + + regmap_battery =3D devm_regmap_init_i2c(battery_page, &pm886_regmap_batte= ry_config); + if (IS_ERR(regmap_battery)) + return dev_err_probe(dev, PTR_ERR(regmap_battery), + "Failed to initialize battery regmap\n"); + chip->regmap_battery =3D regmap_battery; + err =3D regmap_read(regmap, PM886_REG_ID, &chip_id); if (err) return dev_err_probe(dev, err, "Failed to read chip ID\n"); diff --git a/include/linux/mfd/88pm886.h b/include/linux/mfd/88pm886.h index 38892ba7b8a4..2c24dd3032ab 100644 --- a/include/linux/mfd/88pm886.h +++ b/include/linux/mfd/88pm886.h @@ -11,6 +11,7 @@ =20 #define PM886_PAGE_OFFSET_REGULATORS 1 #define PM886_PAGE_OFFSET_GPADC 2 +#define PM886_PAGE_OFFSET_BATTERY 3 =20 #define PM886_REG_ID 0x00 =20 @@ -128,9 +129,13 @@ #define PM886_GPADC_BIAS_LEVELS 16 #define PM886_GPADC_INDEX_TO_BIAS_uA(i) (1 + (i) * 5) =20 +/* Battery block register definitions */ +#define PM886_REG_CLS_CONFIG1 0x71 + struct pm886_chip { struct i2c_client *client; unsigned int chip_id; struct regmap *regmap; + struct regmap *regmap_battery; }; #endif /* __MFD_88PM886_H */ --=20 2.54.0 From nobody Mon Jun 8 20:54:37 2026 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (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 8783D2F7F0C for ; Tue, 26 May 2026 19:15:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779822924; cv=none; b=Md/XKEBcEzwTc02GwAb4btXnc5ugZnxzAOf1NePsCzbNcEyx2/gFHl4TAfRTJxJahd1U7xoadeXUIhyYx0S3xp23a4byy1zmRdNBDI5vo3N+d0B8HSZQ2q9iR4APeZGu1yPa61KfEGOaTXe6QTDkWvXP61y4zTXxi6FUHAyw4t8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779822924; c=relaxed/simple; bh=WKZkaR6hChcbvtz9fnQ2Xzs217Ktz7BqwB17pHAI4co=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AbDhSG0+G+1Vs3MaaOdleAfe9AphoPN6/xJo07dFnNoRkJjtejHUa3WzCr/f4WbRniSKnLEEgZHLjC5TkPXc8RiR2tyEk1fDW5hK1JhkV8vODZhrDbNHTi3rM5RQp17RZUrlKVFGlNlMWCkzHzrhYLQYPJMJqeQQua+mLGwwfbc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=IeI+nPq0; arc=none smtp.client-ip=209.85.221.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IeI+nPq0" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-44509921fbcso7021833f8f.3 for ; Tue, 26 May 2026 12:15:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779822921; x=1780427721; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=m8YeelUo9iIehmhHQzzwQiFcrxsyE1qDmhCGrmArbqU=; b=IeI+nPq0366Nw3LT70q3fQC5vdYL3B1kg2crei7yl28sIV3Za3cDk8fK7wxOwIeXgw j0mhHXibwbIkM+c+SIABsPr61vrrcjUyEaAURvsNeMwOcMtwJQOHoRqK7oA3NGllGAKy bzBPGl6GZHfzFhxJgpSGTmN2HxQoQxQSDz5zxhSKkxowUV5SYBaoglnN7bJZS3wi3BaI 67YH81Y4VNu/O9gGLZCpaE/isxER9TDlNrwJ+/F5HbSBycO+Pd7r4UJIb+1L1w8TShUh RZxf6JyylldCGevgIEsSxHTvTPT6LkaBCZfIew0vPq5nVBi5cCojRkYor1vYwOeU+4H1 AsDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779822921; x=1780427721; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=m8YeelUo9iIehmhHQzzwQiFcrxsyE1qDmhCGrmArbqU=; b=JtG1ZI+DRrWNHH+L7sqBJ8x0SaHFqSQUDKQPA6lwK7VKgULhn2quyumlM8sbyJfWkZ mT+GGgdKRu75i6mAQ4ko9S4ub1qGbCR/U/nlqLzgi0WM4ewHvSHmB5zDat7OUowt5YwU iyQZn3+pNWC84TajiW3sekGTASpkC6B0wpHFK16ezHJn7hZg6ytcjbgQm9j3q/QvAC0U K4+KEnKugZ80RuXIjDru7XNZUfuJGcCgE2rHKvnqKEiJTT9IA8qvplesnJgtMMYQn/sj GRjITaTSYy784e15WOVmxk8/IR/5CkzKIKRkOZgS9Uqzr3BcXeuFm/hzc1SVR95LcGoy /Crw== X-Forwarded-Encrypted: i=1; AFNElJ/ya8Us0FeCOMHncHMFGlN3/G+bURb7il3wGa2FXGoLgRALdZEzcbUiFMIDxDoX+tA2SD/PngUnMsF7GNY=@vger.kernel.org X-Gm-Message-State: AOJu0YwnXek88XbUU/0PAvLell0+R7peAkHMzp2jH2EQv8/rlMYBEyh2 eRF/00Oj8uzh6opmc2DbVMYjRF7YKeGThlmRkd+eRjr2cZXLeixrYI84 X-Gm-Gg: Acq92OGzOgmp1/myPtSRC3INh4axpjrV9/b8Y/B2B/6RmyvKNwyar5gNpX3kn2a0K9p SC+c6yG4Jxjw+bX0GU1MOKPj4HqTPLCjqQPdcP4RAiIOLMIYivqaAZHtrpMjfti6hJs9LKnemQR vrDFpdbaIjAgP8fM0Rm0CttCWtVpA4xhzQ3KlSHe0/Zv75gB9Qh2ExmQXvvg2gIVWSg4ORpaiQV q8eo+SbMzdKnbGFcl9Z1oFsmau9zeON4LlXb9CA1pZ4TH1fBG3Ar7W6bC4LBR6nhOZyi+xihRvw 1SQZGVdWJ5x8Ht0+7ueNtpmgUwPTx9R9FB7lbT8nd0kPI5dcKe6F2R5za1NU/XDepGyuLhRU//v oMSAaw7YxflqRwJZgdOf5TSsn5+Xqsv0gRV7RxZf1QNg2z2LgZIGvLoBu76rWg12ZApiJ6/0kQf SpJf2hu0QUXbPsKh6JT1Miljx6ld9V93E+KTXOMahJNLG+zA1NvLLrSh4TW2RD9CLxkIVw2uVwI m4T6MUOvnBBxP/a7xvO X-Received: by 2002:a05:6000:1a87:b0:43f:e2b7:7160 with SMTP id ffacd0b85a97d-45eb3673319mr35763136f8f.4.1779822920781; Tue, 26 May 2026 12:15:20 -0700 (PDT) Received: from [127.0.1.1] (93-143-222-3.adsl.net.t-com.hr. [93.143.222.3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45edb5b1c7bsm261529f8f.29.2026.05.26.12.15.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 12:15:20 -0700 (PDT) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Tue, 26 May 2026 21:14:49 +0200 Subject: [PATCH 3/3] regulator: 88pm886: Add Vbus 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: <20260526-88pm886-vbus-v1-3-f2bd1fd3c19e@dujemihanovic.xyz> References: <20260526-88pm886-vbus-v1-0-f2bd1fd3c19e@dujemihanovic.xyz> In-Reply-To: <20260526-88pm886-vbus-v1-0-f2bd1fd3c19e@dujemihanovic.xyz> To: Karel Balej , Lee Jones , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Liam Girdwood , Mark Brown Cc: devicetree@vger.kernel.org, phone-devel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, linux-kernel@vger.kernel.org, =?utf-8?q?Duje_Mihanovi=C4=87?= X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2696; i=duje@dujemihanovic.xyz; s=20260328; h=from:subject:message-id; bh=igfFYzore1LEJO4dQE+H7uVZripYWsm4WlNjLV+7NNE=; b=owGbwMvMwCW2z0j3+uHIyKOMp9WSGLJEPzpxHJ/LVK433y2g1engkYm9DaypW7s/bSubtMaNp bQ+RLS3o5SFQYyLQVZMkYV5qdwlvtTwiQ5Ftkkwc1iZQIYwcHEKwEScvjEyLAqcfM12mdiFOwUu IRHPP5dyCTxfpRVds+fonVbWo2v9djH8lSsy69m3sHprW7f7hQdOUm1rM6bcenRq3xPjaaqBLya ZsgIA X-Developer-Key: i=duje@dujemihanovic.xyz; a=openpgp; fpr=9BD463017690089DAA8DC266275F544B3B1B4792 From: Duje Mihanovi=C4=87 Add support for the PMIC's Vbus regulator. This regulator is mandatory for USB OTG support on boards using the PMIC. Signed-off-by: Duje Mihanovi=C4=87 Reviewed-by: Karel Balej --- drivers/regulator/88pm886-regulator.c | 27 +++++++++++++++++++++++++++ include/linux/mfd/88pm886.h | 7 +++++++ 2 files changed, 34 insertions(+) diff --git a/drivers/regulator/88pm886-regulator.c b/drivers/regulator/88pm= 886-regulator.c index a38bd4f312b7..039822e86ec8 100644 --- a/drivers/regulator/88pm886-regulator.c +++ b/drivers/regulator/88pm886-regulator.c @@ -4,6 +4,7 @@ #include #include #include +#include =20 #include =20 @@ -337,6 +338,25 @@ static struct regulator_desc pm886_regulators[] =3D { }, }; =20 +static const struct linear_range pm886_vbus_volt_ranges[] =3D { + REGULATOR_LINEAR_RANGE(3750000, 0, 7, 250000) +}; + +static struct regulator_desc pm886_vbus_regulator =3D { + .name =3D "vbus", + .regulators_node =3D "regulators", + .of_match =3D "vbus", + .ops =3D &pm886_buck_ops, + .type =3D REGULATOR_VOLTAGE, + .n_voltages =3D 8, + .linear_ranges =3D pm886_vbus_volt_ranges, + .n_linear_ranges =3D ARRAY_SIZE(pm886_vbus_volt_ranges), + .vsel_reg =3D PM886_REG_BOOST_CONFIG1, + .vsel_mask =3D PM886_REG_BOOST_MASK, + .enable_reg =3D PM886_REG_BATTERY_CONFIG1, + .enable_mask =3D PM886_REG_VBUS_EN, +}; + static int pm886_regulator_probe(struct platform_device *pdev) { struct pm886_chip *chip =3D dev_get_drvdata(pdev->dev.parent); @@ -369,6 +389,13 @@ static int pm886_regulator_probe(struct platform_devic= e *pdev) "Failed to register %s\n", rdesc->name); } =20 + rcfg.regmap =3D chip->regmap_battery; + rdesc =3D &pm886_vbus_regulator; + rdev =3D devm_regulator_register(dev, rdesc, &rcfg); + if (IS_ERR(rdev)) + return dev_err_probe(dev, PTR_ERR(rdev), + "Failed to register %s\n", rdesc->name); + return 0; } =20 diff --git a/include/linux/mfd/88pm886.h b/include/linux/mfd/88pm886.h index 2c24dd3032ab..9e96d2cb92f5 100644 --- a/include/linux/mfd/88pm886.h +++ b/include/linux/mfd/88pm886.h @@ -2,6 +2,7 @@ #ifndef __MFD_88PM886_H #define __MFD_88PM886_H =20 +#include #include #include =20 @@ -130,6 +131,12 @@ #define PM886_GPADC_INDEX_TO_BIAS_uA(i) (1 + (i) * 5) =20 /* Battery block register definitions */ +#define PM886_REG_BATTERY_CONFIG1 0x28 +#define PM886_REG_VBUS_EN BIT(7) + +#define PM886_REG_BOOST_CONFIG1 0x6b +#define PM886_REG_BOOST_MASK GENMASK(2, 0) + #define PM886_REG_CLS_CONFIG1 0x71 =20 struct pm886_chip { --=20 2.54.0