get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/809538/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 809538,
    "url": "http://patchwork.ozlabs.org/api/patches/809538/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/1504506242-31430-7-git-send-email-rajesh.bhagat@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": "<1504506242-31430-7-git-send-email-rajesh.bhagat@nxp.com>",
    "list_archive_url": null,
    "date": "2017-09-04T06:24:01",
    "name": "[U-Boot,RESEND,v3,6/7] board: common: vid: Add support for LTC3882 voltage regulator chip",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": false,
    "hash": "96e7ee48800f41d1392bb6521df00f2f2cf22619",
    "submitter": {
        "id": 68498,
        "url": "http://patchwork.ozlabs.org/api/people/68498/?format=api",
        "name": "Rajesh Bhagat",
        "email": "rajesh.bhagat@nxp.com"
    },
    "delegate": {
        "id": 2666,
        "url": "http://patchwork.ozlabs.org/api/users/2666/?format=api",
        "username": "yorksun",
        "first_name": "York",
        "last_name": "Sun",
        "email": "yorksun@freescale.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/1504506242-31430-7-git-send-email-rajesh.bhagat@nxp.com/mbox/",
    "series": [
        {
            "id": 1314,
            "url": "http://patchwork.ozlabs.org/api/series/1314/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=1314",
            "date": "2017-09-04T06:23:56",
            "name": "Add VID support for QDS and RDB platforms",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/1314/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/809538/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/809538/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<u-boot-bounces@lists.denx.de>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)",
            "spf=fail (sender IP is 192.88.168.50)\n\tsmtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed)\n\theader.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com;"
        ],
        "Received": [
            "from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xm0Jk2XZKz9s75\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon,  4 Sep 2017 16:27:50 +1000 (AEST)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 005A0C21E05; Mon,  4 Sep 2017 06:26:35 +0000 (UTC)",
            "from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 9AACCC21F1C;\n\tMon,  4 Sep 2017 06:24:46 +0000 (UTC)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 5F3C2C21EF2; Mon,  4 Sep 2017 06:24:35 +0000 (UTC)",
            "from NAM02-SN1-obe.outbound.protection.outlook.com\n\t(mail-sn1nam02on0086.outbound.protection.outlook.com [104.47.36.86])\n\tby lists.denx.de (Postfix) with ESMTPS id 6F7E7C21ECA\n\tfor <u-boot@lists.denx.de>; Mon,  4 Sep 2017 06:24:27 +0000 (UTC)",
            "from BN6PR03CA0080.namprd03.prod.outlook.com (2603:10b6:405:6f::18)\n\tby SN2PR03MB2270.namprd03.prod.outlook.com (2603:10b6:804:d::15) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10;\n\tMon, 4 Sep 2017 06:24:24 +0000",
            "from BY2FFO11FD025.protection.gbl (2a01:111:f400:7c0c::179) by\n\tBN6PR03CA0080.outlook.office365.com (2603:10b6:405:6f::18) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10 via\n\tFrontend Transport; Mon, 4 Sep 2017 06:24:24 +0000",
            "from tx30smr01.am.freescale.net (192.88.168.50) by\n\tBY2FFO11FD025.mail.protection.outlook.com (10.1.15.214) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1385.11\n\tvia Frontend Transport; Mon, 4 Sep 2017 06:24:24 +0000",
            "from ubuntu1604.ap.freescale.net (ubuntu1604.ap.freescale.net\n\t[10.232.133.7])\n\tby tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id\n\tv846O6ld020202; Sun, 3 Sep 2017 23:24:21 -0700"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=-1.0 required=5.0 tests=BAD_ENC_HEADER,\n\tRCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,\n\tSPF_HELO_PASS\n\tautolearn=unavailable autolearn_force=no version=3.4.0",
        "Received-SPF": "Fail (protection.outlook.com: domain of nxp.com does not\n\tdesignate 192.88.168.50 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=192.88.168.50; helo=tx30smr01.am.freescale.net;",
        "From": "Rajesh Bhagat <rajesh.bhagat@nxp.com>",
        "To": "<u-boot@lists.denx.de>",
        "Date": "Mon, 4 Sep 2017 11:54:01 +0530",
        "Message-ID": "<1504506242-31430-7-git-send-email-rajesh.bhagat@nxp.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1504506242-31430-1-git-send-email-rajesh.bhagat@nxp.com>",
        "References": "<1504506242-31430-1-git-send-email-rajesh.bhagat@nxp.com>",
        "X-EOPAttributedMessage": "0",
        "X-Matching-Connectors": "131489798645772512;\n\t(91ab9b29-cfa4-454e-5278-08d120cd25b8); ()",
        "X-Forefront-Antispam-Report": "CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI;\n\tSFV:NSPM;\n\tSFS:(10009020)(979002)(6009001)(336005)(39380400002)(39860400002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(53936002)(498600001)(77096006)(110136004)(68736007)(8656003)(50466002)(4326008)(575784001)(48376002)(86362001)(54906002)(626005)(97736004)(2906002)(189998001)(5660300001)(33646002)(47776003)(8936002)(50226002)(8676002)(81166006)(106466001)(2351001)(356003)(105606002)(104016004)(2950100002)(6666003)(6916009)(5003940100001)(36756003)(85426001)(76176999)(50986999)(305945005)(81156014)(217873001)(969003)(989001)(999001)(1009001)(1019001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR03MB2270;\n\tH:tx30smr01.am.freescale.net; \n\tFPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BY2FFO11FD025;\n\t1:yFg5h6rBTPhh7HuTIOkVpsW9s7YgGwGTItOhtOs+KAkZn+SLTbjMB5VIetMDjkRDgl6g31GhAxSUizoYkyH1T+7fyH7XVg6ijewzzQCt0Xni+WSAoTAdOoOTn4oh2DO2",
            "1; SN2PR03MB2270;\n\t3:A+N7AfpDjRPupUKrY7lVthFi4vuf6jYpOfx66fjKWefbJRPw/8TTpmvZgHAJZCgZKow9EWEjlmofz1lWSnROQJznLIdopidGeOOLZio2pAPsfHhnNuITOB8kl/7h5oC0KACrdlOuhYvZaBlDSN8TdjayLvDtq617cop/xBzYVwJed0Qb1PJdqM+7R0OKxUgtLN/LemNGRqflIwvhIgIzOsmTsDGNn6WAJoHb+C4r/QtJPTLyLVRv5J1qXA1NWdBd8c6DOn1ps3KdTPK8IhjckW1GFD5N5S8YEmog5ooMsL70qfKXS+0w7IslD9uQXcYbQfGMJqj2nOmXk5qToM7hlPHAJxEoi0jlv03lgY+T8Ak=;\n\t25:0pZ8uGdfMVjE8y4rhQ08wxGCJIOfyWXWlVb4/Bb+jiqYD/KYuBEa0IIJiYtYTStJZkoucVsWJVnskCkq+xTSG7WlEm2ei9lSffzB3WOCD1vxqP73VSwqRWvJs+4W1+ZV6hG3ywIsIJOXXSjK4+06IbsYseK2UBZdLtlw5L+IMQkmqWpTkwpkq/LNP+fJmreA887CT55lsuOVwu571FF3fhYr8FN/M09JOlKTZDidRiGnOElzzkICfYtcoi85irEtv7YQO9epGReupzfupDwsctJ8DH59a60XLmz9sAEX7S582t3WuFzcNOGSLm0zk4J8qkFIqdtHvOgGlOShBggI1A==",
            "1; SN2PR03MB2270;\n\t31:RvQZthctnLiXxHgwVBnEASKBhQeVJCN0x4rxyF8xMpMvq9wGKs1RfK9JwSSRrgLMOwh05At0OzV2afSMDmiTEWhjmXyrSr/vei8qC5KNTIC5NQmQPqOAz5Lt5aEipEi3EKbFRcY9dZtNcAdghMVa2/JmxFEqivMSQcvaDZvKt8cLvS6yjDh2CbK3w/P1Kso8Mj3lhNe58xk7Ew/VWuSm3OK8xiblqNYfnewvDbK3gzc=;\n\t4:+YXiLfeL8Nq2Jrd9JyRg20hXbYLep1rf+G3nslFagPEdNYrE9Zdvm+flOlq7DBVAx4//OcYPS5UtriyiCNHske7zlbffuv6pkAlDcFamDlkOjZ+07KYT7NEBWRmMoF2qZvOB0s/mfynV7Kqx6s6lO88GG7V9ybdVkFniSKFTdKk7F5PYagLkkGjlIjxgLZ7YlLeZs5xQcDbLjneQIte5fw8VX0sCANA8sc64TmPq56JIsTGazrlrGLFX9OyIsA0UfUzk7UnEXM/l2OlrLD7llmxK/QTgs2d3e5bLeev/y/w=",
            "=?us-ascii?Q?1; SN2PR03MB2270;\n\t23:V8nrzAioJauD/cjYnyCpXTKydIJZO2c63DfK4hOgq?=\n\tpYEsPVd5F/31PSGoi81faS9HYwusHXH9+ndbkNbMjZfCwJWqNd0TVpGFlBPbGafUn0GP1jGeX7fj/K8tdSnz96a4AKkW774DvL1Ir6S0LMJzSPHhv/wocUbV3DUZGXK+OkuBZD3s01lig6oUikGhjVYMrxEpEhI6QXjvFILcZt+xts+r2W+wQwkO5N9VwpK+Hujpl0PEPxAhhyYwOwRAwmTTQ9AQ12+6HUQqcQOBKMTNqPvavhtza6LYFojzXh411Whp35xtg8+T7zZbTyOCj+5RXzL2vMI//rpncY2gTa/oj7PjQJ/O5pkVk+dTxu/mk/Rx5m01le8zirJQik2DUDj56vQKYIT0A8qt8HueJEycjO1L0YTjwRPr37rAI5UBFN9s2OKeS6nFK3bvkZLlji0AsE2OSPQQoKxD/JnYG1hKtctGa9N3e6YTV45L52FtBZEI3QSPqxdxdvN+mUQ+5xGz1NFp3LZnU0hokrgrdwH63+MDBlvI8aovmJxSf3IGe//4L9LUqAIoro6Dz2npvzmueb7SfoeVDTd6c8ZceC5ZiADFHGSMHqvcqapAuSq2WxSrPmX2PmHVNJ8ALAMtJgbpO/QMv/6+n0yAHQy5sYsnuBzAdlThK+1Fx2Sr39NghnbRcQXA42h0b0nJW8JQ4i5RHgxq62XhMyQliOQ1Df5kI+PKqYk6VwRd1JWnUr0GlGPz7RIkBNDws5AInPmW9ggJKRrq55VCMWz5i+PfqyoHzDCoof+rTCYEOgVt0XCjbWBwjeXeWQcg9OyiWQGVQOxyza6Bo1SbFcRy4YuevYVg28TN57LAVOC7tq6kYc/00w4MU28nQ3/6rnDfsxyEomB1EIgfi32beT6talQN/yVo3ubX4Ww66e2MaGIWJY8DoEOI322HUmgdIS4RB+5jj4AEiYych2IrXoX8cmg5xAZ9eZzlgrKv5X+CIkBwqWrkUqNVfYOb3Ar86Lv/y9EjU+yxwmI9bWViVkvCNwqW4Qro5VWV0YzyEjoHNyg0Co6U4boSQ8VWJKEQzaFH24d9es/vjujF5NQX0h80L7sT1MxRA77XPNWnx8b6T48ku+rTveSCQDbLUctqwNnh7sKC1VJwSC01jz6xrwthJa1Yn74WM/ScdSjQWP4UnoCCTNatUkIA9JEJw9s72C1sRsyRTtSmxF0oJT4xTPuxQoROv+khZ96ihVv3y+s5uJYesN01FZeP3g5ONOKc1dHFMGwO+UH",
            "1; SN2PR03MB2270;\n\t6:3f4EdbHivUzwh6QyzslizfbitOMBcMfOZvynUZfmhhlZoM8rTXCbqXN2sPgEthfIkCb0AB3jW4benqOgUIEGpQqVBikaaDT/QzZ0bT6adFBUaTZucPlo6TP65Zlf/ozSg5UpuXtYy8QTUQptguUwdIN3KUqLE+hn+7Q7CdQHRoicsK1HCmqr3pJbVLLjcuICHpdRfSPBP4OX/UvU9u3sNS50xSIBA9+FO45oCosf76wKW0EHMtET1CQlHsYU6i9tCzaguT+E6pwpSgsLnoRmXntndUsUuhEaYgZWCio1+ez1S3Bnc7M2c0jcGFf5dBgU4/O4mP9b6yBHAiL5L269GA==;\n\t5:YBWVFcQC/+1wN2a45tYyfSd4mV20VQR/tPSOj1sYt4D+1zgO2B5KLy7mwz1e66HvrEf4HlkgeS+kFW4rfHqnfi0eHrQsuXOzXg6fGM5rS7A6TCYpIrsft1zw3TeNnWAnufMUW19VE5vOVqRZxcgr3Q==;\n\t24:8Cg6GiuT4BoHrT24bImZYSiIk/dlFHDtU+Nd2Pp7Rbd0jGmJaM80b6XwFMp2kwhUDQA8pFNONo+NJW48Odw5YMntgYYtlo7Zhs3ZifRMSMo=;\n\t7:l0Ho1cw+NFF4e9DtKLNI1+fwCYqZ1Q6CTQJRhixBURE+i8n5W48uq/mUzB3yGpCB4++krwp65r2xKVU6VtF6gGVFVJ46KnSxvO9A2OpT2gaAkiX4qrs4NPGYJ2MigZxXMR1XvFXxInZ1ZeCyGLu+IanF6y0aVQzI8vUka1bHyTAvRM1tx3dz2NgJLHfEAvM+sdMXADbIs4zfHTjwb2AEdI8uwfQP/fcG2dwVSCxT9as="
        ],
        "MIME-Version": "1.0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "a31cdc8e-da97-4195-65e0-08d4f35d9642",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603199)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:SN2PR03MB2270; ",
        "X-MS-TrafficTypeDiagnostic": "SN2PR03MB2270:",
        "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197);",
        "X-Microsoft-Antispam-PRVS": "<SN2PR03MB2270FEB8965ACA03727179F5E3910@SN2PR03MB2270.namprd03.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(3002001)(93006095)(93001095)(6055026)(6096035)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123565025)(20161123559100)(20161123563025)(20161123556025)(20161123561025)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:SN2PR03MB2270; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:SN2PR03MB2270; ",
        "X-Forefront-PRVS": "0420213CCD",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "04 Sep 2017 06:24:24.2808\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Id": "5afe0b00-7697-4969-b663-5eab37d5f47e",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;\n\tIp=[192.88.168.50]; \n\tHelo=[tx30smr01.am.freescale.net]",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "SN2PR03MB2270",
        "Subject": "[U-Boot] [RESEND PATCH v3 6/7] board: common: vid: Add support for\n\tLTC3882 voltage regulator chip",
        "X-BeenThere": "u-boot@lists.denx.de",
        "X-Mailman-Version": "2.1.18",
        "Precedence": "list",
        "List-Id": "U-Boot discussion <u-boot.lists.denx.de>",
        "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>",
        "List-Archive": "<http://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\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "u-boot-bounces@lists.denx.de",
        "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>"
    },
    "content": "Restructures common driver to support LTC3882 voltage regulator\nchip.\n\nSigned-off-by: Ashish Kumar <Ashish.Kumar@nxp.com>\nSigned-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>\n---\nChanges in v3:\n Restructured LS1088A VID support to use common VID driver\n Added the coding for voltage in comments i.e. 1/4096V\n Removed APIs getLSB/MSB and used bit operations.\n\nChanges in v2:\n Checkpatch errors fixed\n\n .../include/asm/arch-fsl-layerscape/immap_lsch3.h  |  9 ++-\n board/freescale/common/vid.c                       | 76 ++++++++++++++++++++++\n include/configs/ls1088aqds.h                       | 16 +++++\n include/configs/ls1088ardb.h                       | 15 +++++\n 4 files changed, 114 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h\nindex 2706ea8..1394b75 100644\n--- a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h\n+++ b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h\n@@ -184,10 +184,15 @@ struct ccsr_gur {\n \tu32\tgpporcr3;\n \tu32\tgpporcr4;\n \tu8\tres_030[0x60-0x30];\n-#define FSL_CHASSIS3_DCFG_FUSESR_VID_SHIFT\t2\n #define FSL_CHASSIS3_DCFG_FUSESR_VID_MASK\t0x1F\n-#define FSL_CHASSIS3_DCFG_FUSESR_ALTVID_SHIFT\t7\n #define FSL_CHASSIS3_DCFG_FUSESR_ALTVID_MASK\t0x1F\n+#if defined(CONFIG_ARCH_LS1088A)\n+#define FSL_CHASSIS3_DCFG_FUSESR_VID_SHIFT\t25\n+#define FSL_CHASSIS3_DCFG_FUSESR_ALTVID_SHIFT\t20\n+#else\n+#define FSL_CHASSIS3_DCFG_FUSESR_VID_SHIFT\t2\n+#define FSL_CHASSIS3_DCFG_FUSESR_ALTVID_SHIFT\t7\n+#endif\n \tu32\tdcfg_fusesr;\t/* Fuse status register */\n \tu8\tres_064[0x70-0x64];\n \tu32\tdevdisr;\t/* Device disable control 1 */\ndiff --git a/board/freescale/common/vid.c b/board/freescale/common/vid.c\nindex cdf877d..42201d3 100644\n--- a/board/freescale/common/vid.c\n+++ b/board/freescale/common/vid.c\n@@ -171,6 +171,36 @@ static int read_voltage_from_IR(int i2caddress)\n }\n #endif\n \n+#ifdef CONFIG_VOL_MONITOR_LTC3882_READ\n+/* read the current value of the LTC Regulator Voltage */\n+static int read_voltage_from_LTC(int i2caddress)\n+{\n+\tint  ret, vcode = 0;\n+\tu8 chan = PWM_CHANNEL0;\n+\n+\t/* select the PAGE 0 using PMBus commands PAGE for VDD*/\n+\tret = i2c_write(I2C_VOL_MONITOR_ADDR,\n+\t\t\tPMBUS_CMD_PAGE, 1, &chan, 1);\n+\tif (ret) {\n+\t\tprintf(\"VID: failed to select VDD Page 0\\n\");\n+\t\treturn ret;\n+\t}\n+\n+\t/*read the output voltage using PMBus command READ_VOUT*/\n+\tret = i2c_read(I2C_VOL_MONITOR_ADDR,\n+\t\t       PMBUS_CMD_READ_VOUT, 1, (void *)&vcode, 2);\n+\tif (ret) {\n+\t\tprintf(\"VID: failed to read the volatge\\n\");\n+\t\treturn ret;\n+\t}\n+\n+\t/* Scale down to the real mV as LTC resolution is 1/4096V,rounding up */\n+\tvcode = DIV_ROUND_UP(vcode * 1000, 4096);\n+\n+\treturn vcode;\n+}\n+#endif\n+\n static int read_voltage(int i2caddress)\n {\n \tint voltage_read;\n@@ -178,6 +208,8 @@ static int read_voltage(int i2caddress)\n \tvoltage_read = read_voltage_from_INA220(i2caddress);\n #elif defined CONFIG_VOL_MONITOR_IR36021_READ\n \tvoltage_read = read_voltage_from_IR(i2caddress);\n+#elif defined CONFIG_VOL_MONITOR_LTC3882_READ\n+\tvoltage_read = read_voltage_from_LTC(i2caddress);\n #else\n \treturn -1;\n #endif\n@@ -278,6 +310,42 @@ static int set_voltage_to_IR(int i2caddress, int vdd)\n \tdebug(\"VID: Current voltage is %d mV\\n\", vdd_last);\n \treturn vdd_last;\n }\n+\n+#endif\n+\n+#ifdef CONFIG_VOL_MONITOR_LTC3882_SET\n+/* this function sets the VDD and returns the value set */\n+static int set_voltage_to_LTC(int i2caddress, int vdd)\n+{\n+\tint ret, vdd_last, vdd_target = vdd;\n+\n+\t/* Scale up to the LTC resolution is 1/4096V */\n+\tvdd = (vdd * 4096) / 1000;\n+\n+\t/* 5-byte buffer which needs to be sent following the\n+\t * PMBus command PAGE_PLUS_WRITE.\n+\t */\n+\tu8 buff[5] = {0x04, PWM_CHANNEL0, PMBUS_CMD_VOUT_COMMAND,\n+\t\t\tvdd & 0xFF, (vdd & 0xFF00) >> 8};\n+\n+\t/* Write the desired voltage code to the regulator */\n+\tret = i2c_write(I2C_VOL_MONITOR_ADDR,\n+\t\t\tPMBUS_CMD_PAGE_PLUS_WRITE, 1, (void *)&buff, 5);\n+\tif (ret) {\n+\t\tprintf(\"VID: I2C failed to write to the volatge regulator\\n\");\n+\t\treturn -1;\n+\t}\n+\n+\t/* Wait for the volatge to get to the desired value */\n+\tdo {\n+\t\tvdd_last = read_voltage_from_LTC(i2caddress);\n+\t\tif (vdd_last < 0) {\n+\t\t\tprintf(\"VID: Couldn't read sensor abort VID adjust\\n\");\n+\t\t\treturn -1;\n+\t\t}\n+\t} while (vdd_last != vdd_target);\n+\treturn vdd_last;\n+}\n #endif\n \n static int set_voltage(int i2caddress, int vdd)\n@@ -286,6 +354,8 @@ static int set_voltage(int i2caddress, int vdd)\n \n #ifdef CONFIG_VOL_MONITOR_IR36021_SET\n \tvdd_last = set_voltage_to_IR(i2caddress, vdd);\n+#elif defined CONFIG_VOL_MONITOR_LTC3882_SET\n+\tvdd_last = set_voltage_to_LTC(i2caddress, vdd);\n #else\n \t#error Specific voltage monitor must be defined\n #endif\n@@ -452,6 +522,11 @@ int adjust_vdd(ulong vdd_override)\n \t}\n \tvdd_current = vdd_last;\n \tdebug(\"VID: Core voltage is currently at %d mV\\n\", vdd_last);\n+\n+#ifdef CONFIG_VOL_MONITOR_LTC3882_SET\n+\t/* Set the target voltage */\n+\tvdd_last = vdd_current = set_voltage(i2caddress, vdd_target);\n+#else\n \t/*\n \t  * Adjust voltage to at or one step above target.\n \t  * As measurements are less precise than setting the values\n@@ -469,6 +544,7 @@ int adjust_vdd(ulong vdd_override)\n \t\tvdd_last = set_voltage(i2caddress, vdd_current);\n \t}\n \n+#endif\n \tif (board_adjust_vdd(vdd_target) < 0) {\n \t\tret = -1;\n \t\tgoto exit;\ndiff --git a/include/configs/ls1088aqds.h b/include/configs/ls1088aqds.h\nindex 3547b0b..8ae98e1 100644\n--- a/include/configs/ls1088aqds.h\n+++ b/include/configs/ls1088aqds.h\n@@ -277,6 +277,22 @@ unsigned long get_board_ddr_clk(void);\n #define I2C_MUX_CH_DEFAULT\t\t0x8\n #define I2C_MUX_CH5\t\t\t0xD\n \n+#define I2C_MUX_CH_VOL_MONITOR          0xA\n+\n+/* Voltage monitor on channel 2*/\n+#define I2C_VOL_MONITOR_ADDR           0x63\n+#define I2C_VOL_MONITOR_BUS_V_OFFSET   0x2\n+#define I2C_VOL_MONITOR_BUS_V_OVF      0x1\n+#define I2C_VOL_MONITOR_BUS_V_SHIFT    3\n+\n+/* PM Bus commands code for LTC3882*/\n+#define PMBUS_CMD_PAGE                  0x0\n+#define PMBUS_CMD_READ_VOUT             0x8B\n+#define PMBUS_CMD_PAGE_PLUS_WRITE       0x05\n+#define PMBUS_CMD_VOUT_COMMAND          0x21\n+\n+#define PWM_CHANNEL0                    0x0\n+\n /*\n * RTC configuration\n */\ndiff --git a/include/configs/ls1088ardb.h b/include/configs/ls1088ardb.h\nindex d943fa4..86fa033 100644\n--- a/include/configs/ls1088ardb.h\n+++ b/include/configs/ls1088ardb.h\n@@ -210,6 +210,21 @@\n \n #define CONFIG_SYS_LS_MC_BOOT_TIMEOUT_MS 5000\n \n+#define I2C_MUX_CH_VOL_MONITOR          0xA\n+/* Voltage monitor on channel 2*/\n+#define I2C_VOL_MONITOR_ADDR           0x63\n+#define I2C_VOL_MONITOR_BUS_V_OFFSET   0x2\n+#define I2C_VOL_MONITOR_BUS_V_OVF      0x1\n+#define I2C_VOL_MONITOR_BUS_V_SHIFT    3\n+\n+/* PM Bus commands code for LTC3882*/\n+#define PMBUS_CMD_PAGE                  0x0\n+#define PMBUS_CMD_READ_VOUT             0x8B\n+#define PMBUS_CMD_PAGE_PLUS_WRITE       0x05\n+#define PMBUS_CMD_VOUT_COMMAND          0x21\n+\n+#define PWM_CHANNEL0                    0x0\n+\n /*\n  * I2C bus multiplexer\n  */\n",
    "prefixes": [
        "U-Boot",
        "RESEND",
        "v3",
        "6/7"
    ]
}