From nobody Sat Sep 26 03:10:55 2026 Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) (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 554E73CA4AF; Fri, 4 Sep 2026 22:09:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.143.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788559773; cv=fail; b=k2Xh2A5gqsIKyzmgCYcxr1NpOkQhT/2ex3ZCiVLi3uUtG7qy8K7mk9nagsY09JZoX0afScrN0Hw4nRzPTzTrG5HXORYS5n5s4Z8B5fR0vrhncQAL6BVdVBPF2DN8H5nPaMDbfH0xHAHC+PI8/65beIzEc57CiEPmhfjO2PAQ4Ic= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788559773; c=relaxed/simple; bh=VS+2ZBnzQ6/shL6M4Akxi1/ONwP5emx2IUhIbgzcTzs=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=pGykt/+8ULgVmH94kEymEVvEjz5hNQn1Aj47baIv0iwRehfYVaNgXX661qfjrXSmJlgjXoDG2/mWdtKJLzXQkUoHwtHKlty/gjPxJHaeBdqP6QeJLIm7M30TDh+cNjIBYVh+Rc8lxrGAH9XW4oei2SQeQ+WtcxcE8E30C5DkGRY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=hpe.com; spf=pass smtp.mailfrom=hpe.com; dkim=pass (2048-bit key) header.d=hpe.com header.i=@hpe.com header.b=DAevnKcA; arc=fail smtp.client-ip=148.163.143.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=hpe.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=hpe.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=hpe.com header.i=@hpe.com header.b="DAevnKcA" Received: from pps.filterd (m0134424.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 684L31Nj2339369; Fri, 4 Sep 2026 22:09:15 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps0720; bh=VS +2ZBnzQ6/shL6M4Akxi1/ONwP5emx2IUhIbgzcTzs=; b=DAevnKcA5gOd3Rtrk7 w/SJGzV60AxhreKAxvVBHjBjlLVzSKn8PShL4FrSNwPjRkMLvwlQQ+jCY3tHIZIb ncMh1WzDvXcZPKVCzDk6mGC5FMFIx/LfRF2N1ph6MWwzkMOtQncMlumKJLcJLQZx +vnoZqcLNgg/wvgSybSjDSlsJxb0FYXLKGXAmnwXtILWa4hP8Y3PpO459ujO/27r dRqH9E1mDeBcX1YWyP/FCT/ezD5q3Ir1+9PfVqxmAD/3CarB+DgGPnyLB3g6bQpH STHWGUDxWXHBr//v9EXtQWCqVtu1O9r0mqbsB6NN+9jQR248PvETj5IteXTiZEfS 0Yqw== Received: from p1lg14878.it.hpe.com (p1lg14878.it.hpe.com [16.230.97.204]) by mx0b-002e3701.pphosted.com (PPS) with ESMTPS id 4gg1b0m3ec-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 04 Sep 2026 22:09:14 +0000 (GMT) Received: from p1wg14925.americas.hpqcorp.net (unknown [10.119.18.114]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by p1lg14878.it.hpe.com (Postfix) with ESMTPS id 0EA27D2EC; Fri, 4 Sep 2026 22:09:13 +0000 (UTC) Received: from p1wg14927.americas.hpqcorp.net (10.119.18.117) by p1wg14925.americas.hpqcorp.net (10.119.18.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 4 Sep 2026 10:09:12 -1200 Received: from p1wg14924.americas.hpqcorp.net (10.119.18.113) by p1wg14927.americas.hpqcorp.net (10.119.18.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 4 Sep 2026 10:09:10 -1200 Received: from P1WG14918.americas.hpqcorp.net (16.230.19.121) by p1wg14924.americas.hpqcorp.net (10.119.18.113) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43 via Frontend Transport; Fri, 4 Sep 2026 10:09:10 -1200 Received: from BL0PR07CU001.outbound.protection.outlook.com (192.58.206.35) by edge.it.hpe.com (16.230.19.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Fri, 4 Sep 2026 22:09:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KZzwqC8fCFe2C0GtAQKYw3roMsfX8DUPQl5/haWKJvuNEDhgGPGIRUPLgJ798Y7XaWFCJ4GIbzKoHzn2BPz3PZJ5pj0eqp4BFKR+iTd29krAZuBK1S09XlwHTCl1JvX3cm6x0pwAV1LI5mjOTub7+j7TxFzq6MxabfDZ2iA6cTBjAJPzValw1Vt0juLv9hG1RBCVX4QJ7baWrHNUm56H4F7Z9a07mzcy7tUf9wo6yph/FDoknZ/2OM5Ve/yu/L4nfBOjsYQA6WpJ8hHcvEoaGCQL6BtROaFNW2AHE7eNZ2RbD3NhsRfbhr0ictlGWUyiRtsxtqOLM6MnAcO9G2sTOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=VS+2ZBnzQ6/shL6M4Akxi1/ONwP5emx2IUhIbgzcTzs=; b=GAHghu0mAvVYk9EtUGqg7jkRF3vr0sfKDBHe1ggs6JPw9oYTGoCwIZzmzFm9oWbv5B0noFMz8RwW7ItlrCHIr+ZcYJLEFwz6qvW+zHp1arV1mNj+VRuE/f7a4W0mL0Glxuw2Pce7m918rdDbvGHCRNRw8U9HbDyZbs0WMhDhciofVgAwcLboJtUl9oMCuzSDWhLib65ZWRzABWzhpjE86FzTYrxJUix6YvO9ifsq8xdQHFb4kSaRTHYfSM5d+dTx6sCnVDwqJcDBHHccRivz3GnfUx5PMqbdVIyRc3QNUpgUuklCTOIjPNnANgFx0hJ5PGGf65F2w+2ruJoecFefew== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:610:1cc::7) by DM4PR84MB2118.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:8:4d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.13; Fri, 4 Sep 2026 22:09:07 +0000 Received: from CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2c54:3534:122f:e74f]) by CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2c54:3534:122f:e74f%5]) with mapi id 15.21.0360.008; Fri, 4 Sep 2026 22:09:07 +0000 From: "Pradhan, Sanman" To: Guenter Roeck , Jonathan Corbet , "Rob Herring" , Krzysztof Kozlowski , "Conor Dooley" CC: "linux-hwmon@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Sanman Pradhan , Senthil Muniyappan , "Vaibhav Agarwal" Subject: [PATCH] hwmon: (pmbus/tps53679) Add support for TPS536C7 Thread-Topic: [PATCH] hwmon: (pmbus/tps53679) Add support for TPS536C7 Thread-Index: AQHdPLoBqx7wSh77yUae8tmEbFk9eA== Date: Fri, 4 Sep 2026 22:09:07 +0000 Message-ID: <20260904220843.495082-4-sanman.pradhan@hpe.com> References: <20260904220843.495082-1-sanman.pradhan@hpe.com> In-Reply-To: <20260904220843.495082-1-sanman.pradhan@hpe.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR84MB3523:EE_|DM4PR84MB2118:EE_ x-ms-office365-filtering-correlation-id: d91ca0f5-dae7-4d62-ce66-08df0ad123e5 x-ld-processed: 105b2061-b669-4b31-92ac-24d304d195dc,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016|23010399003|38070700021|6133799003|10067099003|56012099006|18002099003|22082099003|3023799007; x-microsoft-antispam-message-info: VMlVAjHMrUeb7gOLRQP4O8WJe7Yc7IkMm5qVPsjsB3ulLqVXSg00aELBrcDhQDz8ZhZjf2uv1rubLJpfSXSxLsBUjcq1ZkrFjfWUMOgERvaJ7JR66eKt10OxaiE7/jYr0XbyskjSerF8rUl2LX4u43kQ0WJEJA1JbXKx3VJKxCaK+a+XUEYomuyq+HW/feUYFWv5s3KkEEbV3jlf0tIy/jcliPJ7cE5jNvmebbM3GuLoJZknpuIQtVfNoTXCvpPpUsdS6dDl23li4HJPkgTauOcCQRQYtlP4zqIcwlXbv51LcJCEM+D2aT4TXwSjSXOi+eqA3W0NtmKFJjMHkLcV10KBnZMPOQtZto0EdxZssWAD0wdsHfPJOZN7/dkM72ei1yLlrM1Vg8gvxXWgjgLGuci9lx3OhWIdeoIEIBAHLJNgLyoLx/Jb8YzjobU8pRnw0plw+C4p12JaOPmbragC0Eea91gmS2wdCRG1LoA4BRbno/9/9+KxUXhOdj/RuZDuyWaU/HYeAU0Ue4Xsc/2zpD+SeyQJwxrOJoltVd1fODZOAFahcR0hMQVUqohQ18bBJnLSqT1md4sAw5RWlvJGUF/j+rsmEtD/sgFeBO2x9yXSEQoVv3A34wiKDeGLSLQ60gK+aFu3fTheu207lu39JUm8T+OmvkJWD8JMJV51elLLUH+ATZN0qSZ9eiNatehSjxRFMiTAxI3V+4zueU8q1EQv6enXuiY2agTOefNylIM= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016)(23010399003)(38070700021)(6133799003)(10067099003)(56012099006)(18002099003)(22082099003)(3023799007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aTBIajlvVmlsTFdNcEVnaTdjNjUvTi92eFRxTUlXZGhqQW5kVkpZd1dtOFNR?= =?utf-8?B?SSs2dFNsUHh1UGRmd25jTTVHV3VCaGJjYVl6N3E5ZzJCc2lCb3pYU2pFLzBZ?= =?utf-8?B?Y2JlK1kvVzluSEx5NTMwc202eTMySzFLUlQ1dldoenBuMWNYOGVCeVA1ZlE3?= =?utf-8?B?YkllWTI2N05nL1poV1dhL1k2SlZqOHF0NCtNZFpJVzErVk9pWWtOVm5tVEw0?= =?utf-8?B?NGd2NVJaOE45RVRnQll0bXJZNzlucXd5K0RkM0M4Wi9ibGlmSWU4TGZ3WUti?= =?utf-8?B?OFkrN29lci80OGduUDBnY29GZGc0c1RhalF5ckZ5SFVUdlpSNUVGeWR0TElw?= =?utf-8?B?MEk3VmpyV2lIaWpNYXdxSlYxL1lOWTRFY016azlwSy9LZlJtOGdna0xXSlpq?= =?utf-8?B?ZnROUUh3N0tlRU9IZktQMnUzcFh4WE9qUXF0NFNSaTNjaklERUhxd1BqUCt0?= =?utf-8?B?QSt1SW1DRUlGa1pzVTZQVUd5OWRhaTNHTklHVWVpQjF3UmZEN3lSZktMTHF5?= =?utf-8?B?N2NGUTVld3M1a2dYQUpUWFZmWEJwREhuMDF3YmMxYktGRlN1OUJMMndIL1NG?= =?utf-8?B?VnNYa2RtVUtGR2dscnpmZjRsNFpJQTVBYXdpNG5wcjZNSGdsMGdmMG9QTHlz?= =?utf-8?B?Wll3Zi9ObGplS041a1dNSVRHK2pGMUcreTQ4ZWtQZU1xakMzbXNmUG9Mellv?= =?utf-8?B?YnN4dWpjK09md0I2ZlpOcU1CMXVsVDNyYXlyUUM2dGwyNEN0UHJHK0xUclRE?= =?utf-8?B?NytTanBWT3Vsb0hvUDMyNHpsRjNwZ2xLSVArQTB5ZVQ3TEZmbzcwMEttVXpO?= =?utf-8?B?LytpZFhOMVVYRFZuODlKMTNZeTV4WlVpazVZQURCUXpmZXRncUROZjZPNnNv?= =?utf-8?B?L2tyOVZaaVBDSVZQS3ljdTF1anN2clE3SWlSUmNYOXkrS1c5aUtMYjlqd1NQ?= =?utf-8?B?ZlYyMkt6UVJGNzA5dkxIME1zRUF4RTY2eWRmYlgxMkcyV0kvWFFKS1gyUEMw?= =?utf-8?B?U1g4bDVjQUMyZjM5Q1NXYVBya3FuOXA1eWVsZTA2NW9pMkU4ZjJmUE43U1hj?= =?utf-8?B?MUtXaXlsOHNPbTFQNm9JVDVXRjhVeW1BTDFyWGlWN2I5QmVSeS96SGVwN2Jv?= =?utf-8?B?ak9hcjlvRHNSdlhoTGptMGdaZkpGSWtJWFF3S2pKelhMa01WSW42VlRuZkE5?= =?utf-8?B?QlEwOUZzeWpSUVpzQURGWVQ4K3h5cjZMNW9YSFVSVlE0dlBhaThINXNRbktS?= =?utf-8?B?WDRVT0ZZYnlwWUNCc2o2eGI0Q21mTFcweWdpeFN0UVdYTmprSkRwZHRZSkN2?= =?utf-8?B?TUhKSDVSb2ViNEMyVmdjWXFiNUoxZ2s5MkFNRnVtODRMWmxuSkdnS3ZzQUd6?= =?utf-8?B?YUhFMnpsSHg4Z3d5UzN4WWpQMzFISGtjQjd5Uys5bllsLyttVkI1UzJQLy9q?= =?utf-8?B?bFZCSDJTa055MzZNaGNOc0Jsbnh3dExUNmk1cElFLzdpMXdXMU05c0JGNE5I?= =?utf-8?B?VjkzU2d6YlJxRDVCMmdSVTRabzA2Z0tBMitocmJhZ0Jha0RMaU9KZHBKS3Bv?= =?utf-8?B?N2IwVTFsTXlZQ1d4WVRYNFBxOG5mSUpDY2RTVnFGOEI1TzV3MlFNN05PeEI0?= =?utf-8?B?SVBDNnkyOEZjSWtLenp6ckpldGZ2MzVRTEF1UlBOZEF1cHhvTENlbzA5WTZL?= =?utf-8?B?U2dnNkR4bDRxNUQ2MkIvUWxOSTBpQUxFdDhqM3FIWVlmU296ZEdZUkhDeWV3?= =?utf-8?B?YThyaGdoa2x5bGswbXMxN0tBSXZsdjdSSnJmRjJPckRidUY1SGZLNkZtcEdS?= =?utf-8?B?MHJ4NWthNEFkTDl2dHV6anVJQjRhc3ovbTJJMktHQkhyUmlDUHFuaFJLbnlP?= =?utf-8?B?TERaQTB3MW03VklPRHd2bnc1ajA5MG5YZTVqTDhxTUlOMGgwREdOazdKZUNQ?= =?utf-8?B?bjZSVVVmRGUwc3k2Q00xVWU0bXU0K0hXMUlKdTgxVlRXNFY3Q1VWU1BNUUFP?= =?utf-8?B?WUVIVVRZbUgvbEJobVRVY0JlQ2xYSG8vUWl1VTgyT1F6Z0VVTjYvblcwVDlm?= =?utf-8?B?Sm8wS3lGTjRNa3l4VlJJbHpKRFNTZFhOeFBER3FVRHVYanRUbjMvNWJSUmlO?= =?utf-8?B?RFB4MjFWTXZmNHBSTkVJT1BXNUJpQzJ0T3lmL0czZ2FQU2w5NUpWRWtCVFBO?= =?utf-8?B?NDhZV3NoM3RXcU9leDFuV2RPd0JNMnQrMGNycUpzN3lReEV4N3FVNWxvQ05E?= =?utf-8?B?VkRKVzByRFVqYWhvZTFuM2F2Y3dLK1VwdUppSjFCckZOV0xQTHp4UFRIQ2gr?= =?utf-8?B?MVRvaEhZdzVrVy9scjZrdXNwMnE0Rk5mcTlSNmtZVVU0VkJ0aWFkUT09?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: YSbPEeTAW3L+w6jm4CbPYDeFT+t3y8OM+OcDKi0JB/eTvmuZWLniESPJQZWtPdR+Mnco99HRkAPLuoZQsIgJGzR17bOF6ZiLgt/Ptv0dJXvKFO203Kv9zfV+v9q8qW3Ln+wWdH+JnNXa1oIO+VXAnlXcBdcNEdA4JiDVn8dRTQbve7eZ8++FC1msFhrDZr+MWBRY2EUyljc+dhQlGMwoWtDabljUaSA+orJJRSCiVRby2BVek54AQz1lOUsDnOiwuRcq6GInnqP3nEUBSF11G0CXguv3lKwUpORaKaIEiLif/ZSmj1g2kSYV20eqon0rJ9bbPWGByKjwTDF3xrGttw== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR84MB3523.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: d91ca0f5-dae7-4d62-ce66-08df0ad123e5 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Sep 2026 22:09:07.6132 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4zYkXnOJRy4LrPvMZ4p8TtHABYIOuaLJ4co3+6hMDhaxZDwhQ2IxlKbHy+ACFfXNwoE+JlDetqu1oeQYo6Tt2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR84MB2118 X-OriginatorOrg: hpe.com X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTA0MDIwNSBTYWx0ZWRfXzH9W0hqccRpi lF0jDOmzNmmPApgUGwzNZHICPj3iFA1d/rApeqhnd1fV2uFW2zbSjY0aSeU0XBE+iJPiowATWt5 hI858rKYkRfF2LISkfAIR2MaImArXTJKvyhaYY0WQ5sQQUKNcx8zL3FqVojzM0H5DYiNwazwTkr Kep+Mw1EpBir3whJwK1f+BkLM7JtgJIhtU8gGvLaC3ERzh3nNxT9Vbl3bxyTXHInxwwNINFkA6K rKjwK1yyFpeZuUVkpj1sOYzAVJdbJYDzFxDf2co/Ulrvx/y0vVADrCno+FHdfLicXSoLKEmSY0B ArgjISxPLgJfKGRwj3Bk8v2IxhommEJXMaMkUFGbSjN6viW//M6Ju6URw7TEC3E/1kQA7SH70Za 4EjrizsAhPaTbaqxQ0z8ETUbkD+ChiYTWABtpdKMy0y+YcCe63tRXDUaqMEsNihoThFV4lRfO6H WEee7S0+oRYv6OxASvA== X-Authority-Analysis: v=2.4 cv=Ytw/gYYX c=1 sm=1 tr=0 ts=6a9b418b cx=c_pps a=UObrlqRbTUrrdMEdGJ+KZA==:117 a=UObrlqRbTUrrdMEdGJ+KZA==:17 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=VkNPw1HP01LnGYTKEx00:22 a=gQcMVamqm3wCPoSYhaRC:22 a=3haJ9R1Aw3gUfsUHDaCR:22 a=sozttTNsAAAA:8 a=OUXY8nFuAAAA:8 a=CbDCq_QkAAAA:8 a=rGpUJumwlA78GQ3lPn4A:9 a=QEXdDO2ut3YA:10 a=cAcMbU7R10T-QSRYIcO_:22 a=1qrBK16LubpBFNPVNq2M:22 X-Proofpoint-GUID: WPZWhSklxlThrevp7kcFBIEtJyuThZlf X-Proofpoint-Spam-Info: AW1haW4tMjYwOTA0MDIwNSBTYWx0ZWRfXzdNNxSsDVGHP DEmCWV0L0Hj2UxtRvE4OYtUsUUyhbqnlFbX6HoeZyXFbsCUBopaVmR0PWXpjDwX6dfxNXPDEFCT RmGf5o8XxHuxfxa5QEFXBjuqZyFL2bo= X-Proofpoint-ORIG-GUID: 9TD01jUxTB_ADFrD0FHKP3YXzG2z-rr- X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-04_06,2026-09-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 malwarescore=0 lowpriorityscore=0 bulkscore=0 phishscore=0 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2609040205 From: Sanman Pradhan TPS536C7 is a dual-channel D-CAP+ step-down controller whose channels are distributed across a configurable number of phases (N+M, up to 12 total). Whether channel B (PMBus page 1) exists depends on the phase configuration register, so the page count is derived at probe time. Factor the TPS53676 phase-map parsing into a shared helper and reuse it for TPS536C7. Only aggregate per-channel telemetry is exposed: leave info->phases[] unset so the PMBus core never programs the PHASE selector on every read (and because TPS536C7 can place up to 12 phases on channel A, exceeding PMBUS_PHASES). Report VOUT in linear format like TPS53676. Since the core never programs PHASE, set it to 0xff on each populated page so READ_IOUT reports the aggregate channel current, and verify it (PHASE can be write-protected). Fail identification if aggregate selection cannot be established, since otherwise a single phase current could be reported as the channel total. A configuration with no channel-A phase is rejected with -EOPNOTSUPP: the PMBus core models pages as the contiguous range 0..pages-1 and cannot represent a channel-A-absent topology. On the tested TPS536C7 (device ID 54 49 53 6c 70 00, CAPABILITY 0xd0), block reads of IC_DEVICE_ID and USER_DATA_03 return -EBADMSG with PEC enabled, while retrying those two reads without PEC returns the expected 6- and 24-byte payloads. Standard byte/word telemetry keeps using PEC, so only those two identification reads fall back to no-PEC. Co-developed-by: Senthil Muniyappan Co-developed-by: Vaibhav Agarwal Signed-off-by: Sanman Pradhan --- Documentation/hwmon/tps53679.rst | 23 ++++-- drivers/hwmon/pmbus/Kconfig | 2 +- drivers/hwmon/pmbus/tps53679.c | 128 +++++++++++++++++++++++++++---- 3 files changed, 134 insertions(+), 19 deletions(-) diff --git a/Documentation/hwmon/tps53679.rst b/Documentation/hwmon/tps5367= 9.rst index 2280e043c4de9..3d584197b3a03 100644 --- a/Documentation/hwmon/tps53679.rst +++ b/Documentation/hwmon/tps53679.rst @@ -75,6 +75,14 @@ Supported chips: =20 Datasheet: Available under NDA =20 + * Texas Instruments TPS536C7 + + Prefix: 'tps536c7' + + Addresses scanned: - + + Datasheet: https://www.ti.com/lit/gpn/TPS536C7 + =20 Authors: Vadim Pasternak @@ -85,7 +93,12 @@ Description ----------- =20 Chips in this series are multi-phase step-down converters with one or two -output channels and up to 8 phases per channel. +output channels and up to 12 phases in total, depending on the device. + +For TPS536C7 only aggregate per-channel telemetry is exposed; the +individual per-phase output currents the hardware can report are not. +Attributes for the second output channel are present only when channel B +is configured. =20 =20 Usage Notes @@ -124,7 +137,7 @@ in1_crit_alarm Input voltage critical high alarm. in[N]_label "vout[1-2]" =20 - TPS53647, TPS53667: N=3D2 - - TPS53622, TPS53659, TPS53679, TPS53688: N=3D2,3 + - TPS53622, TPS53659, TPS53679, TPS53688, TPS536C7: N=3D2,3 =20 in[N]_input Measured output voltage. =20 @@ -151,7 +164,7 @@ in[N]_crit_alarm Output voltage critical high alarm. temp[N]_input Measured temperature. =20 - TPS53647, TPS53667: N=3D1 - - TPS53622, TPS53659, TPS53679, TPS53681, TPS53688: N=3D1,2 + - TPS53622, TPS53659, TPS53679, TPS53681, TPS53688, TPS536C7: N=3D1,2 =20 temp[N]_max Maximum temperature. =20 @@ -168,7 +181,7 @@ power1_input Measured input power. power[N]_label "pout[1-2]". =20 - TPS53647, TPS53667: N=3D2 - - TPS53622, TPS53659, TPS53676, TPS53679, TPS53681, TPS53688: N=3D2,3 + - TPS53622, TPS53659, TPS53676, TPS53679, TPS53681, TPS53688, TPS536C7:= N=3D2,3 =20 power[N]_input Measured output power. =20 @@ -191,7 +204,7 @@ curr[N]_label "iout[1-2]" or "iout1.[0-5]". telemetry supported on TPS53676 and TPS53681 only. =20 - TPS53647, TPS53667: N=3D2 - - TPS53622, TPS53659, TPS53679, TPS53688: N=3D2,3 + - TPS53622, TPS53659, TPS53679, TPS53688, TPS536C7: N=3D2,3 - TPS53676: N=3D2-8 - TPS53681: N=3D2-9 =20 diff --git a/drivers/hwmon/pmbus/Kconfig b/drivers/hwmon/pmbus/Kconfig index bcfdc4ce4c100..b6658ff242ef9 100644 --- a/drivers/hwmon/pmbus/Kconfig +++ b/drivers/hwmon/pmbus/Kconfig @@ -794,7 +794,7 @@ config SENSORS_TPS53679 help If you say yes here you get hardware monitoring support for TI TPS53622, TPS53647, TPS53659, TPS53667, TPS53676, TPS53679, TPS53681, - TPS53685, and TPS53688. + TPS53685, TPS53688, and TPS536C7. =20 This driver can also be built as a module. If so, the module will be called tps53679. diff --git a/drivers/hwmon/pmbus/tps53679.c b/drivers/hwmon/pmbus/tps53679.c index 680339a6b90fe..98a68211a2bbf 100644 --- a/drivers/hwmon/pmbus/tps53679.c +++ b/drivers/hwmon/pmbus/tps53679.c @@ -17,13 +17,20 @@ =20 enum chips { tps53622, tps53647, tps53659, tps53667, tps53676, tps53679, tps53681, - tps53685, tps53688 + tps53685, tps53688, tps536c7 }; =20 #define TPS53647_PAGE_NUM 1 =20 -#define TPS53676_USER_DATA_03 0xb3 +#define TPS536XX_PHASE_CONFIG 0xb3 #define TPS53676_MAX_PHASES 7 +#define TPS536C7_MAX_PHASES 12 + +#define TPS536XX_PHASE_ENABLE BIT(7) +#define TPS536XX_PHASE_PAGE BIT(4) + +#define TPS53676_DEVICE_ID "TI\x53\x67\x60\x00" +#define TPS536C7_DEVICE_ID "TI\x53\x6c\x70\x00" =20 #define TPS53679_PROT_VR12_5MV 0x01 /* VR12.0 mode, 5-mV DAC */ #define TPS53679_PROT_VR12_5_10MV 0x02 /* VR12.5 mode, 10-mV DAC */ @@ -166,34 +173,72 @@ static int tps53681_identify(struct i2c_client *clien= t, TPS53681_DEVICE_ID); } =20 -static int tps53676_identify(struct i2c_client *client, - struct pmbus_driver_info *info) +static int tps536xx_read_block(struct i2c_client *client, u8 reg, u8 *buf, + bool retry_without_pec) +{ + int ret =3D i2c_smbus_read_block_data(client, reg, buf); + + /* + * Some TPS536C7 samples return an invalid PEC on the device-ID and + * phase-configuration block reads. Retry once without PEC; ordinary + * telemetry keeps using PEC. + */ + if (ret =3D=3D -EBADMSG && retry_without_pec && + (client->flags & I2C_CLIENT_PEC)) { + client->flags &=3D ~I2C_CLIENT_PEC; + ret =3D i2c_smbus_read_block_data(client, reg, buf); + client->flags |=3D I2C_CLIENT_PEC; + } + return ret; +} + +static int tps536xx_read_phases(struct i2c_client *client, + const char *device_id, int max_phases, + bool retry_without_pec, int *phases_a, + int *phases_b) { u8 buf[I2C_SMBUS_BLOCK_MAX]; - int phases_a =3D 0, phases_b =3D 0; int i, ret; =20 - ret =3D i2c_smbus_read_block_data(client, PMBUS_IC_DEVICE_ID, buf); + ret =3D tps536xx_read_block(client, PMBUS_IC_DEVICE_ID, buf, + retry_without_pec); if (ret < 0) return ret; - if (ret !=3D 6 || memcmp(buf, "TI\x53\x67\x60\x00", 6)) { + if (ret !=3D 6 || memcmp(buf, device_id, 6)) { dev_err(&client->dev, "Unexpected device ID: %*ph\n", ret, buf); return -ENODEV; } =20 - ret =3D i2c_smbus_read_block_data(client, TPS53676_USER_DATA_03, buf); + ret =3D tps536xx_read_block(client, TPS536XX_PHASE_CONFIG, buf, + retry_without_pec); if (ret < 0) return ret; if (ret !=3D 24) return -EIO; - for (i =3D 0; i < 2 * TPS53676_MAX_PHASES; i +=3D 2) { - if (buf[i + 1] & 0x80) { - if (buf[i] & BIT(4)) - phases_b++; + + *phases_a =3D 0; + *phases_b =3D 0; + for (i =3D 0; i < 2 * max_phases; i +=3D 2) { + if (buf[i + 1] & TPS536XX_PHASE_ENABLE) { + if (buf[i] & TPS536XX_PHASE_PAGE) + (*phases_b)++; else - phases_a++; + (*phases_a)++; } } + return 0; +} + +static int tps53676_identify(struct i2c_client *client, + struct pmbus_driver_info *info) +{ + int phases_a, phases_b, ret; + + ret =3D tps536xx_read_phases(client, TPS53676_DEVICE_ID, + TPS53676_MAX_PHASES, false, + &phases_a, &phases_b); + if (ret) + return ret; =20 info->format[PSC_VOLTAGE_OUT] =3D linear; info->pages =3D 1; @@ -205,6 +250,58 @@ static int tps53676_identify(struct i2c_client *client, return 0; } =20 +static int tps536c7_identify(struct i2c_client *client, + struct pmbus_driver_info *info) +{ + int phases_a, phases_b, page, ret; + + ret =3D tps536xx_read_phases(client, TPS536C7_DEVICE_ID, + TPS536C7_MAX_PHASES, true, + &phases_a, &phases_b); + if (ret) + return ret; + if (!phases_a) { + dev_err(&client->dev, + "TPS536C7 without channel A is not supported\n"); + return -EOPNOTSUPP; + } + + info->format[PSC_VOLTAGE_OUT] =3D linear; + /* + * TPS536C7 can place up to 12 phases on channel A, which exceeds + * PMBUS_PHASES. Report aggregate per-channel telemetry only and do + * not populate info->phases[]. + */ + info->pages =3D phases_b ? 2 : 1; + + /* + * With info->phases[] left unset the PMBus core never programs the + * PHASE selector, so make sure each page reports the aggregate + * current (PHASE =3D 0xff) rather than whatever a previous boot left. + */ + for (page =3D 0; page < info->pages; page++) { + ret =3D pmbus_read_byte_data(client, page, PMBUS_PHASE); + if (ret < 0) + return ret; + if (ret =3D=3D 0xff) + continue; + ret =3D pmbus_write_byte_data(client, page, PMBUS_PHASE, 0xff); + if (ret < 0) + return ret; + /* PHASE may be write-protected; confirm it actually changed. */ + ret =3D pmbus_read_byte_data(client, page, PMBUS_PHASE); + if (ret < 0) + return ret; + if (ret !=3D 0xff) { + dev_err(&client->dev, + "failed to select aggregate PHASE on page %d\n", + page); + return -EIO; + } + } + return 0; +} + static int tps53681_read_word_data(struct i2c_client *client, int page, int phase, int reg) { @@ -286,6 +383,9 @@ static int tps53679_probe(struct i2c_client *client) info->pages =3D TPS53679_PAGE_NUM; info->identify =3D tps53685_identify; break; + case tps536c7: + info->identify =3D tps536c7_identify; + break; default: return -ENODEV; } @@ -304,6 +404,7 @@ static const struct i2c_device_id tps53679_id[] =3D { { .name =3D "tps53681", .driver_data =3D tps53681 }, { .name =3D "tps53685", .driver_data =3D tps53685 }, { .name =3D "tps53688", .driver_data =3D tps53688 }, + { .name =3D "tps536c7", .driver_data =3D tps536c7 }, { } }; =20 @@ -319,6 +420,7 @@ static const struct of_device_id __maybe_unused tps5367= 9_of_match[] =3D { {.compatible =3D "ti,tps53681", .data =3D (void *)tps53681}, {.compatible =3D "ti,tps53685", .data =3D (void *)tps53685}, {.compatible =3D "ti,tps53688", .data =3D (void *)tps53688}, + {.compatible =3D "ti,tps536c7", .data =3D (void *)tps536c7}, {} }; MODULE_DEVICE_TABLE(of, tps53679_of_match); --=20 2.34.1