Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2224768/?format=api
{ "id": 2224768, "url": "http://patchwork.ozlabs.org/api/patches/2224768/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20260418-pfuze100-v1-2-80d2a96dd927@nxp.com/", "project": { "id": 18, "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api", "name": "U-Boot", "link_name": "uboot", "list_id": "u-boot.lists.denx.de", "list_email": "u-boot@lists.denx.de", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260418-pfuze100-v1-2-80d2a96dd927@nxp.com>", "list_archive_url": null, "date": "2026-04-18T12:37:33", "name": "[2/4] power: regulator: pfuze100: support high output voltage mode", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "b279b97099c22ee190535cc69ccbe9c07ab936aa", "submitter": { "id": 80723, "url": "http://patchwork.ozlabs.org/api/people/80723/?format=api", "name": "Peng Fan", "email": "peng.fan@oss.nxp.com" }, "delegate": { "id": 12423, "url": "http://patchwork.ozlabs.org/api/users/12423/?format=api", "username": "Jaehoon", "first_name": "Jaehoon", "last_name": "Chung", "email": "jh80.chung@samsung.com" }, "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20260418-pfuze100-v1-2-80d2a96dd927@nxp.com/mbox/", "series": [ { "id": 500437, "url": "http://patchwork.ozlabs.org/api/series/500437/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=500437", "date": "2026-04-18T12:37:31", "name": "power: regulator: various fix for pfuze100", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/500437/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2224768/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2224768/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<u-boot-bounces@lists.denx.de>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com\n header.a=rsa-sha256 header.s=selector1-NXP1-onmicrosoft-com\n header.b=t+Hk4Kbj;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)", "phobos.denx.de;\n dmarc=none (p=none dis=none) header.from=oss.nxp.com", "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de", "phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com\n header.b=\"t+Hk4Kbj\";\n\tdkim-atps=neutral", "phobos.denx.de;\n dmarc=none (p=none dis=none) header.from=oss.nxp.com", "phobos.denx.de;\n spf=pass smtp.mailfrom=peng.fan@oss.nxp.com", "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=oss.nxp.com;" ], "Received": [ "from phobos.denx.de (phobos.denx.de\n [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fyTpq3p3Dz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 18 Apr 2026 21:21:39 +1000 (AEST)", "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id F26D584214;\n\tSat, 18 Apr 2026 13:21:22 +0200 (CEST)", "by phobos.denx.de (Postfix, from userid 109)\n id 20DFD842C2; Sat, 18 Apr 2026 13:21:18 +0200 (CEST)", "from AS8PR04CU009.outbound.protection.outlook.com\n (mail-westeuropeazlp170110003.outbound.protection.outlook.com\n [IPv6:2a01:111:f403:c201::3])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 0FC8D8405A\n for <u-boot@lists.denx.de>; Sat, 18 Apr 2026 13:21:15 +0200 (CEST)", "from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15)\n by GVXPR04MB10756.eurprd04.prod.outlook.com (2603:10a6:150:226::18)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.30; Sat, 18 Apr\n 2026 11:21:13 +0000", "from PAXPR04MB8459.eurprd04.prod.outlook.com\n ([fe80::4972:7eaa:b9f6:7b5e]) by PAXPR04MB8459.eurprd04.prod.outlook.com\n ([fe80::4972:7eaa:b9f6:7b5e%3]) with mapi id 15.20.9818.023; Sat, 18 Apr 2026\n 11:21:13 +0000" ], "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de", "X-Spam-Level": "", "X-Spam-Status": "No, score=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,FORGED_SPF_HELO,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_PASS,\n T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2", "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=mPYurvtoMplePXT6pY52e0UDemXDP2dQVuMDpgIik+HQ2H8RCYMJrwndLlTji65fDQ64Zyfef7K+k84F2po8lOXqtqIgIVBV8/wycozXNSPK1tmYVWeC75WHKnz3qvPy1OX40RXwGGPKvfNLSYadgq7Y5xpmePnokogkeuI28orQqdZmphKXfUfY99JePzc+06t6rtXkKO+377MLjP9UsdztwpC1IMknnzOsCNExaKX075Ub4eqcB5YVl96v1dO7kj2zG/GBQjmdSOUBq2RLhw3vf1SXeiwsGNv7A9TyvKULjgKuBRI36iMCJj0DMj/9DSCsAybTOy4E8zPS6h8jQg==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=RDziDMJIHLrLkO9bJX2+0jbWgndM4UPxcXl585Z7LS0=;\n b=FETHtWQQvCymzIdVgVpO/ENQVK85Aoaxf/YLEVson+WFWekRrXWatpz8zq2Y+XXHVCLb2j0Dev5sJDd3G0C/CYzG0xKeu665weM5CyQ+dIn1DO+81zFApjKSm3yq9q+BCxadcgxEJ1okvTWr/OiKtbveEkwKhqTFtdN4M7bC7fVVteJmd9ogiapXgMxfDqRSv2t6BbOpke5QWyBpge3gm7TDBqezP1S6zGPAlz4+QYNvL5ZnOg37iddwWyrG3mUwNQgMEDBUQA7FszvepJPkRi519YqL0VnCTr5UJ40FSm2ARny17McIkcLJC9Sd1aIWqSC9WjXEFHcFTNEf3ujljw==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;\n dkim=pass header.d=oss.nxp.com; arc=none", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;\n s=selector1-NXP1-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=RDziDMJIHLrLkO9bJX2+0jbWgndM4UPxcXl585Z7LS0=;\n b=t+Hk4KbjkTxlxbIIbo4i2gishz3uwE+N2E5zcEYyDJmcWpSoAQJoqvLDfaPeEjCJ6j8R9liKNPbYCtnKC720s/Au2IhGL7bnSaDN9otjcYPCXNspeDYen4KSjWbnozg4cSrpWXrtkMvk9RCUlZ/Jmq4+NcePqz7fUw+0V2crBTIfGziIAgDaGiJ6WdRSG6ahOmwv2THA8bNvaXTeRbIf0n95jrs5TCFGQKhlxxAw6KYiTrNMuo0v0zpfgeRKOXwfRcB5FkipUmmneoU2F9qWPyh8pxO1J7e0FNi9RpooPkJ1THxZf9gCJsJ3danGl9oxCDXXSdA5W8uER7tz6/WTyA==", "From": "\"Peng Fan (OSS)\" <peng.fan@oss.nxp.com>", "Date": "Sat, 18 Apr 2026 20:37:33 +0800", "Subject": "[PATCH 2/4] power: regulator: pfuze100: support high output\n voltage mode", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "<20260418-pfuze100-v1-2-80d2a96dd927@nxp.com>", "References": "<20260418-pfuze100-v1-0-80d2a96dd927@nxp.com>", "In-Reply-To": "<20260418-pfuze100-v1-0-80d2a96dd927@nxp.com>", "To": "u-boot@lists.denx.de", "Cc": "uboot-imx@nxp.com, Jaehoon Chung <jh80.chung@samsung.com>,\n Tom Rini <trini@konsulko.com>, Peng Fan <peng.fan@nxp.com>", "X-Mailer": "b4 0.14.3", "X-ClientProxiedBy": "MA0PR01CA0029.INDPRD01.PROD.OUTLOOK.COM\n (2603:1096:a01:b8::11) To PAXPR04MB8459.eurprd04.prod.outlook.com\n (2603:10a6:102:1da::15)", "MIME-Version": "1.0", "X-MS-Exchange-MessageSentRepresentingType": "1", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "PAXPR04MB8459:EE_|GVXPR04MB10756:EE_", "X-MS-Office365-Filtering-Correlation-Id": "8df1b00a-6ca9-4be3-ff6b-08de9d3c994f", "X-MS-Exchange-SharedMailbox-RoutingAgent-Processed": "True", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|366016|52116014|376014|1800799024|19092799006|38350700014|56012099003|22082099003|18002099003;", "X-Microsoft-Antispam-Message-Info": "\n LmUywq7mWrFfwEfM8NtfVvMyZMhF4a33PvZ21ie1xUvE1FocuE/oGtCpn5EQwYbYk7K6UYr0e/lEriarpGq/t9ZguC8IRFfztMfazju/csJSBV4seljw5/kQtbtAH/s5sUev6d/V3WLEfeFN+sTnQ3Ps0hV/0zLD2x2VuYphLAykZvZWVylpCJbWIv9iHPnG8J9hzMP3fgwaAa7DDT3O4OqIObkCpqYZXsUNhF0XDlvpw3LEdCbR4mgvUC7bB7RZJkw5f03sJ0Hp1hf+gHYNpZTtDCqO70yy9dOI3zE4lOvHJtw5Zwd+EvMj5TaxUNZ4Bh75XZepQfbFeUqu88IPNCSkcI6E05qlqMP0gICMPoEnWt4dUOsLYKe6U4aAEVc4ZaMQgpjneJ7aPVIV3gi1Nw3Yb6Y9C90dg4D2ZtREoLC1bdOe5iIOvSTaQFYBtBsIfFJPw/RRWRg7f3ha2zrmaFlorxBemWYEqzo4yvgxrXb3OrtepXCVus70aKoVlywIx0fQxFIz41f+NQn+sHzvCAD7BmfBio5slRKnQAadTc3ja3CCqQLJCeSVs8mTYNDC51bpG8vLvd54MkDzoQ3e75lp4tq0KChPJoYnNhG4CrTGuS3l7BeIb+rn++y3st/7fTKhmGL0nAanmjZ4m0mRWOthsGV6dOptvBwYhQTfLYKicIqKEfMlejs58l9nN9v8OUBD0YV2Rz5RIxMa0IersYpNY7EYOriPF2fV/o6mG0AB5eWGcbgK35lU9iAqaNZeRfw4xjOUNZMEFEkNVevgKJNOOp8wFiFjj6LRZ2W8p0Y=", "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:PAXPR04MB8459.eurprd04.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230040)(366016)(52116014)(376014)(1800799024)(19092799006)(38350700014)(56012099003)(22082099003)(18002099003);\n DIR:OUT; SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "=?utf-8?q?3o0UIC3YfmYdhp+mEshk4ADyTiJf?=\n\t=?utf-8?q?Usrl0wWBytdcIRUKGG3RCIJ4iAMBgfWwxtIC1yBf5cozuUpYNW5J07EhWP9fvKd2j?=\n\t=?utf-8?q?2XIFw4nEVHtTKw6o/NcDP747qTjIXqgkOaytFhQFzs/dveMFEv7dBN2m8+G6DsC5D?=\n\t=?utf-8?q?Pxg7gR60BZI61jj3+vPSNBXJq8VkU66YeCImzCoXYCvWzEAooZPu/vgI1To+5p9ZF?=\n\t=?utf-8?q?WXjHddko1ciyId+rpEZ61O7xBSj1vzGJ/m5ywFtWlFvFKwKYLpkh7d1bE+knejWDQ?=\n\t=?utf-8?q?CUgNQr4nMTPsKlMY3pC86caANeiXOc/Li17S54oDN0z0D9ABMgUsA9qGkaSIKwknk?=\n\t=?utf-8?q?lOo0oS6PwRbD2zwC+WKXsjfIacmq6NBSyTlZlKoQ2OiVidkuDlWT3bcyPrPbWpDTy?=\n\t=?utf-8?q?Jf8ZO4e9pGMYPc5HY3DFDr12q6iExqJYnzGkEr5AiC9cCzKFf5HF6yifNNCHXbS3f?=\n\t=?utf-8?q?YBVC8sq2CRIzd7HNIshF4KurhTazklsDVELd5okxdWtItEcIojggtO/W9TTapVVsM?=\n\t=?utf-8?q?1wCf5rweRaH1VihkfH6/fmP/ZhPkiK0cw3v0D1/ySkaPwDpwZ1lRjhI1sidOevyrd?=\n\t=?utf-8?q?e4KkJHNmsV14kl00M8MFAfypVdiXBeQkP57KxjRaZThuYbiWoZTrw3yGsswjHCNjk?=\n\t=?utf-8?q?n2mfnE6plpWFxFHyhwXvSEOcPqHu+Y3u2MZ/YYKD3N9WxqBZsYx+VFtyuqYXsWzdp?=\n\t=?utf-8?q?BYPu0LSQrI04HPe0688YKY2gSCpEN1T1ldefnd4pRUlX0U9obGB2ybFn9e25s20VI?=\n\t=?utf-8?q?9Oa9HJiIFViGYrKwQmeH65ViLJ+IqQJPhb2hBQiDrgxXVs7tXBeiQnu7g5//4OaX7?=\n\t=?utf-8?q?4PgBjxgXSbCjyxGsjTKsgD70KQhJzZ4FglYag5vc/uf5TIAT4DW6oOxK0rHxmPNz4?=\n\t=?utf-8?q?XGBdPaQv9HVvC1yCBFW41DbTBoHgiY6JLEFkoUggRe+w4p+RKmLJuBNv8JZtPYaEz?=\n\t=?utf-8?q?7rcM48ve1xFWju1bCaKJjfi4URPb1e0Bwdpop64Xoh7asLPj8uoUhCo8Lhe8vziav?=\n\t=?utf-8?q?YM26SV3H9/bUti3sRD3cGymjqCZ+w5X+wtFmXpIqStkCOOgID0lIgiU5HuZnC7Geq?=\n\t=?utf-8?q?g7WyT9lEuXXJ+//mxoHoW8B6XYwbMnQocmBOxLpWhAAYZEBOUTaB6SgZmWfCmdzll?=\n\t=?utf-8?q?fsMJRbzui7CXWZq6ylRxo7evdUnEFdtMmKBtgmeFD3nAQrl6SVFtTRlIaiyJMfXop?=\n\t=?utf-8?q?ULWydJboh0uVU/i9heq7PpzSD+2v061QHnAKVf7ZPfPCsC1X/Cql6+ZLSBwgsu0DK?=\n\t=?utf-8?q?V2rR83SQcqPJdMq89nlrYDBoM7Zz8xcZzQbWCj8V300Jb55CxyiNcid6tAv0+pjFE?=\n\t=?utf-8?q?xTN9oM2ucN3+rQWmJxCDSGWMeJoDX9FhW5NymQMlktaT02GY/dt1XqqWLSeNdkT/y?=\n\t=?utf-8?q?S5rXaP5O175FLvyup53vHbPFsjCc9EwSOQpS8DqgWgmtZGTxIVh7kmNCBATKrqgfW?=\n\t=?utf-8?q?NTmEJ0QjphcCGbD7zaXVmTLkeNeU9I52SBGKBGJAYqQ3HFiYWznurWybG38+Cu0Ze?=\n\t=?utf-8?q?Z4LI8t+myvIvBevcO1ePq59ZKmRLDkmF78ECYMSm6WL/qIeNGkNn0n5DT5dwOJUZR?=\n\t=?utf-8?q?h33hISIBjHUVaD/JH13dGkc53iPSPADh1tQo6FI5s2wZhVX7AEionvpxkYKblfA4j?=\n\t=?utf-8?q?XNpPOf29MlnNbiMO1qZoeSvI74US4J2A=3D=3D?=", "X-OriginatorOrg": "oss.nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 8df1b00a-6ca9-4be3-ff6b-08de9d3c994f", "X-MS-Exchange-CrossTenant-AuthSource": "PAXPR04MB8459.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "18 Apr 2026 11:21:13.0097 (UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635", "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED", "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n jljK/fCIJ0xI/Prm+Red9Dj9s816V3HR8mogz3RgAyLtPCbb2oD/OxqPCitA6ykd4V7sVIjR+j47auJNt0jNuA==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "GVXPR04MB10756", "X-BeenThere": "u-boot@lists.denx.de", "X-Mailman-Version": "2.1.39", "Precedence": "list", "List-Id": "U-Boot discussion <u-boot.lists.denx.de>", "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>", "List-Archive": "<https://lists.denx.de/pipermail/u-boot/>", "List-Post": "<mailto:u-boot@lists.denx.de>", "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>", "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>", "Errors-To": "u-boot-bounces@lists.denx.de", "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>", "X-Virus-Scanned": "clamav-milter 0.103.8 at phobos.denx.de", "X-Virus-Status": "Clean" }, "content": "From: Peng Fan <peng.fan@nxp.com>\n\nSome PFUZE regulators can operate in either low or high output voltage mode,\nwith different minimum voltages and voltage step sizes selected by a hardware\ncontrol bit. However, the current PFUZE100 regulator driver assumes low output\nvoltage mode only, resulting in incorrect voltage calculation and programming\nwhen high voltage mode is enabled.\n\nExtend the regulator descriptor to describe high output voltage mode by adding\na mask to detect the mode and a dedicated voltage description (min_uV and\nstep size). Update voltage get/set handling to dynamically select the correct\nvoltage parameters based on the high voltage mode bit.\n\nSigned-off-by: Peng Fan <peng.fan@nxp.com>\n---\n drivers/power/regulator/pfuze100.c | 62 ++++++++++++++++++++++++++++----------\n 1 file changed, 46 insertions(+), 16 deletions(-)", "diff": "diff --git a/drivers/power/regulator/pfuze100.c b/drivers/power/regulator/pfuze100.c\nindex f055c610ad1..ed69e6e14c3 100644\n--- a/drivers/power/regulator/pfuze100.c\n+++ b/drivers/power/regulator/pfuze100.c\n@@ -13,6 +13,11 @@\n #include <power/regulator.h>\n #include <power/pfuze100_pmic.h>\n \n+struct pfuze100_high_volt_desc {\n+\tunsigned int uV_step;\n+\tunsigned int min_uV;\n+};\n+\n /**\n * struct pfuze100_regulator_desc - regulator descriptor\n *\n@@ -26,6 +31,8 @@\n * @stby_mask: Mask bit for setting regulator voltage for standby.\n * @volt_table: Voltage mapping table (if table based mapping).\n * @voltage: Current voltage for REGULATOR_TYPE_FIXED type regulator.\n+ * @high_volt_mask: Low or High Output voltage mode mask\n+ * @high_volt_desc: High Output voltage description\n */\n struct pfuze100_regulator_desc {\n \tchar *name;\n@@ -38,6 +45,8 @@ struct pfuze100_regulator_desc {\n \tunsigned int stby_mask;\n \tunsigned int *volt_table;\n \tunsigned int voltage;\n+\tunsigned int high_volt_mask;\n+\tstruct pfuze100_high_volt_desc *high_volt_desc;\n };\n \n /**\n@@ -56,7 +65,7 @@ struct pfuze100_regulator_plat {\n \t\t.voltage\t=\t(vol),\t\t\t\t\\\n \t}\n \n-#define PFUZE100_SW_REG(_name, base, step, min)\t\t\t\t\\\n+#define PFUZE100_SW_REG(_name, base, step, min, desc, mask)\t\t\\\n \t{\t\t\t\t\t\t\t\t\\\n \t\t.name\t\t=\t#_name,\t\t\t\t\\\n \t\t.type\t\t=\tREGULATOR_TYPE_BUCK,\t\t\\\n@@ -66,6 +75,8 @@ struct pfuze100_regulator_plat {\n \t\t.vsel_mask\t=\t0x3F,\t\t\t\t\\\n \t\t.stby_reg\t=\t(base) + PFUZE100_STBY_OFFSET,\t\\\n \t\t.stby_mask\t=\t0x3F,\t\t\t\t\\\n+\t\t.high_volt_desc\t=\t(desc),\t\t\t\t\\\n+\t\t.high_volt_mask\t=\t(mask),\t\t\t\t\\\n \t}\n \n #define PFUZE100_SWB_REG(_name, base, mask, step, voltages)\t\t\\\n@@ -162,14 +173,19 @@ static unsigned int pfuze3000_sw2lo[] = {\n \t1500000, 1550000, 1600000, 1650000, 1700000, 1750000, 1800000, 1850000\n };\n \n+static struct pfuze100_high_volt_desc high_desc = {\n+\t.min_uV = 800000,\n+\t.uV_step = 50000,\n+};\n+\n /* PFUZE100 */\n static struct pfuze100_regulator_desc pfuze100_regulators[] = {\n-\tPFUZE100_SW_REG(sw1ab, PFUZE100_SW1ABVOL, 25000, 300000),\n-\tPFUZE100_SW_REG(sw1c, PFUZE100_SW1CVOL, 25000, 300000),\n-\tPFUZE100_SW_REG(sw2, PFUZE100_SW2VOL, 25000, 400000),\n-\tPFUZE100_SW_REG(sw3a, PFUZE100_SW3AVOL, 25000, 400000),\n-\tPFUZE100_SW_REG(sw3b, PFUZE100_SW3BVOL, 25000, 400000),\n-\tPFUZE100_SW_REG(sw4, PFUZE100_SW4VOL, 25000, 400000),\n+\tPFUZE100_SW_REG(sw1ab, PFUZE100_SW1ABVOL, 25000, 300000, NULL, 0),\n+\tPFUZE100_SW_REG(sw1c, PFUZE100_SW1CVOL, 25000, 300000, NULL, 0),\n+\tPFUZE100_SW_REG(sw2, PFUZE100_SW2VOL, 25000, 400000, &high_desc, BIT(6)),\n+\tPFUZE100_SW_REG(sw3a, PFUZE100_SW3AVOL, 25000, 400000, &high_desc, BIT(6)),\n+\tPFUZE100_SW_REG(sw3b, PFUZE100_SW3BVOL, 25000, 400000, &high_desc, BIT(6)),\n+\tPFUZE100_SW_REG(sw4, PFUZE100_SW4VOL, 25000, 400000, &high_desc, BIT(6)),\n \tPFUZE100_SWB_REG(swbst, PFUZE100_SWBSTCON1, 0x3, 50000, pfuze100_swbst),\n \tPFUZE100_SNVS_REG(vsnvs, PFUZE100_VSNVSVOL, 0x7, pfuze100_vsnvs),\n \tPFUZE100_FIXED_REG(vrefddr, PFUZE100_VREFDDRCON, 750000),\n@@ -183,10 +199,10 @@ static struct pfuze100_regulator_desc pfuze100_regulators[] = {\n \n /* PFUZE200 */\n static struct pfuze100_regulator_desc pfuze200_regulators[] = {\n-\tPFUZE100_SW_REG(sw1ab, PFUZE100_SW1ABVOL, 25000, 300000),\n-\tPFUZE100_SW_REG(sw2, PFUZE100_SW2VOL, 25000, 400000),\n-\tPFUZE100_SW_REG(sw3a, PFUZE100_SW3AVOL, 25000, 400000),\n-\tPFUZE100_SW_REG(sw3b, PFUZE100_SW3BVOL, 25000, 400000),\n+\tPFUZE100_SW_REG(sw1ab, PFUZE100_SW1ABVOL, 25000, 300000, NULL, 0),\n+\tPFUZE100_SW_REG(sw2, PFUZE100_SW2VOL, 25000, 400000, &high_desc, BIT(6)),\n+\tPFUZE100_SW_REG(sw3a, PFUZE100_SW3AVOL, 25000, 400000, &high_desc, BIT(6)),\n+\tPFUZE100_SW_REG(sw3b, PFUZE100_SW3BVOL, 25000, 400000, &high_desc, BIT(6)),\n \tPFUZE100_SWB_REG(swbst, PFUZE100_SWBSTCON1, 0x3, 50000, pfuze100_swbst),\n \tPFUZE100_SNVS_REG(vsnvs, PFUZE100_VSNVSVOL, 0x7, pfuze100_vsnvs),\n \tPFUZE100_FIXED_REG(vrefddr, PFUZE100_VREFDDRCON, 750000),\n@@ -443,7 +459,7 @@ static int pfuze100_regulator_enable(struct udevice *dev, int op, bool *enable)\n static int pfuze100_regulator_val(struct udevice *dev, int op, int *uV)\n {\n \tint i;\n-\tint val, min_uV;\n+\tint val, min_uV, uV_step;\n \tstruct pfuze100_regulator_plat *plat = dev_get_plat(dev);\n \tstruct pfuze100_regulator_desc *desc = plat->desc;\n \tstruct dm_regulator_uclass_plat *uc_pdata =\n@@ -467,9 +483,15 @@ static int pfuze100_regulator_val(struct udevice *dev, int op, int *uV)\n \t\t\tval = pmic_reg_read(dev->parent, desc->vsel_reg);\n \t\t\tif (val < 0)\n \t\t\t\treturn val;\n+\t\t\tif (desc->high_volt_mask && (val & desc->high_volt_mask)) {\n+\t\t\t\tmin_uV = desc->high_volt_desc->min_uV;\n+\t\t\t\tuV_step = desc->high_volt_desc->uV_step;\n+\t\t\t} else {\n+\t\t\t\tmin_uV = desc->min_uV ?: uc_pdata->min_uV;\n+\t\t\t\tuV_step = desc->uV_step;\n+\t\t\t}\n \t\t\tval &= desc->vsel_mask;\n-\t\t\tmin_uV = desc->min_uV ?: uc_pdata->min_uV;\n-\t\t\t*uV = min_uV + (int)val * desc->uV_step;\n+\t\t\t*uV = min_uV + (int)val * uV_step;\n \t\t}\n \n \t\treturn 0;\n@@ -495,10 +517,18 @@ static int pfuze100_regulator_val(struct udevice *dev, int op, int *uV)\n \t\t\tdebug(\"Need to provide min_uV in dts.\\n\");\n \t\t\treturn -EINVAL;\n \t\t}\n-\t\tmin_uV = desc->min_uV ?: uc_pdata->min_uV;\n+\t\tval = pmic_reg_read(dev->parent, desc->vsel_reg);\n+\t\tif (desc->high_volt_mask && (val & desc->high_volt_mask)) {\n+\t\t\tmin_uV = desc->high_volt_desc->min_uV;\n+\t\t\tuV_step = desc->high_volt_desc->uV_step;\n+\t\t} else {\n+\t\t\tmin_uV = desc->min_uV ?: uc_pdata->min_uV;\n+\t\t\tuV_step = desc->uV_step;\n+\t\t}\n+\n \t\treturn pmic_clrsetbits(dev->parent, desc->vsel_reg,\n \t\t\t\t desc->vsel_mask,\n-\t\t\t\t (*uV - min_uV) / desc->uV_step);\n+\t\t\t\t (*uV - min_uV) / uV_step);\n \t}\n \n \treturn 0;\n", "prefixes": [ "2/4" ] }