From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D45A0C7EE2F for ; Thu, 19 Jun 2025 18:36:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=6N2L9LreKzNI67VECQyFRSZ/wNTcqogQzAeyD98zos8=; b=gsxFh+F50CfCO4 ukZZC0nJVeTfXdzjh6v5MFEVVa7bLUhaeTpCHhcE+NRkqXxTB1UZndsWa6eg2FATQSl7Rd3j/NubM AbOxFEpFnALQigHOSbeFvPZPqq8+brqFs75ymMRIVL8v+dJVPo5drx5EHrsVForYyYCTICDzMUk5R D0/SK7TfloqWmBrjEIhAz791Z5C6dyK03JX42fpl6oXU7Ju8l9LSRZ0r/YcoMgI37TGZoy7VpCQXG xPSqMkjtDZi6vacEiZDKF6LOXx5mHkdNyHXz7WdUPfV5UvQCuJnU+UXlRar5VyklIynDUrNfs+/jG DJF/iDt5q3YkKnOWy1yg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uSK7M-0000000DtLY-2W6P; Thu, 19 Jun 2025 18:36:08 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uSGRK-0000000DIXv-0GtP for linux-riscv@lists.infradead.org; Thu, 19 Jun 2025 14:40:30 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 2299C61132; Thu, 19 Jun 2025 14:40:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9AA61C4CEEA; Thu, 19 Jun 2025 14:40:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1750344028; bh=EndVB716Foytfnay2gfZHY/W0DSHsbg8IHGdjC8W7XU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=UNwlN0ijkZAqwN1f0ahwxPDVF22m5xWXxBCZSlKHVc0L5ESVMsIEsRclOn/ZQHTxG Gfe6gEaa6jhsAN+LSXpBN8xkOMaXYcrX93XZKw835JAWsEeWPEIRAEY73RB9OWNAyi doI5k164VNJ8z7A+F2rNo7lZfVHi4i1zVTsI7hd1gs9HaMwjwQY3v7BojcqlalnE09 hnFa4vGcQQMgWLhO6D90B0oXHBavRMiCOYvmuBi9OHnJoGmkhwbxPXvIaFzD2zVia3 BX/BQ3xp18MRruD0WfnvHgB5BjnzlDL7Vq9mz+r8dJv/z6ERqi7NPeqvEGADRJCUhn bBfDIgpKxWtsg== Date: Thu, 19 Jun 2025 15:40:23 +0100 From: Lee Jones To: Alex Elder Cc: lgirdwood@gmail.com, broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, dlan@gentoo.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, troymitchell988@gmail.com, guodong@riscstar.com, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/6] mfd: spacemit: add support for SpacemiT PMICs Message-ID: <20250619144023.GG795775@google.com> References: <20250613210150.1468845-1-elder@riscstar.com> <20250613210150.1468845-3-elder@riscstar.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20250613210150.1468845-3-elder@riscstar.com> X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gRnJpLCAxMyBKdW4gMjAyNSwgQWxleCBFbGRlciB3cm90ZToKCj4gQWRkIHN1cHBvcnQgZm9y IFNwYWNlbWlUIFBNSUNzLiBJbml0aWFsbHkgb25seSB0aGUgUDEgUE1JQyBpcyBzdXBwb3J0ZWQK PiBidXQgdGhlIGRyaXZlciBpcyBzdHJ1Y3R1cmVkIHRvIGFsbG93IHN1cHBvcnQgZm9yIG90aGVy cyB0byBiZSBhZGRlZC4KPiAKPiBUaGUgUDEgUE1JQyBpcyBjb250cm9sbGVkIGJ5IEkyQywgYW5k IGlzIG5vcm1hbGx5IGltcGxlbWVudGVkIHdpdGggdGhlCj4gU3BhY2VtaVQgSzEgU29DLiAgVGhp cyBQTUlDIHByb3ZpZGVzIHNpeCBidWNrIGNvbnZlcnRlcnMgYW5kIDEyIExETwoKc2l4IG9yIDEy LiAgUGxlYXNlIHBpY2sgYSBmb3JtYXQgYW5kIHJlbWFpbiBjb25zaXN0ZW50LgoKPiByZWd1bGF0 b3JzLiAgSXQgYWxzbyBpbXBsZW1lbnRzIGEgc3dpdGNoLCB3YXRjaGRvZyB0aW1lciwgcmVhbC10 aW1lIGNsb2NrLAo+IGFuZCBtb3JlLCBidXQgaW5pdGlhbGx5IHdlIHdpbGwgb25seSBzdXBwb3J0 IGl0cyByZWd1bGF0b3JzLgoKWW91IGhhdmUgdG8gcHJvdmlkZSBzdXBwb3J0IGZvciBtb3JlIHRo YW4gb25lIGRldmljZSBmb3IgdGhpcyB0byBiZQphY2NlcHRlZCBpbnRvIE1GRC4KCj4gU2lnbmVk LW9mZi1ieTogQWxleCBFbGRlciA8ZWxkZXJAcmlzY3N0YXIuY29tPgo+IC0tLQo+ICBkcml2ZXJz L21mZC9LY29uZmlnICAgICAgICAgfCAxMSArKysrKwo+ICBkcml2ZXJzL21mZC9NYWtlZmlsZSAg ICAgICAgfCAgMSArCj4gIGRyaXZlcnMvbWZkL3NwYWNlbWl0LXBtaWMuYyB8IDkxICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgMyBmaWxlcyBjaGFuZ2VkLCAxMDMgaW5z ZXJ0aW9ucygrKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZmQvc3BhY2VtaXQtcG1p Yy5jCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL0tjb25maWcgYi9kcml2ZXJzL21mZC9L Y29uZmlnCj4gaW5kZXggNmZiMzc2OGUzZDcxYy4uYzU5YWU2Y2MyZGQ4ZCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL21mZC9LY29uZmlnCj4gKysrIGIvZHJpdmVycy9tZmQvS2NvbmZpZwo+IEBAIC0x MTgyLDYgKzExODIsMTcgQEAgY29uZmlnIE1GRF9RQ09NX1JQTQo+ICAJICBTYXkgTSBoZXJlIGlm IHlvdSB3YW50IHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIFF1YWxjb21tIFJQTSBhcyBhCj4g IAkgIG1vZHVsZS4gVGhpcyB3aWxsIGJ1aWxkIGEgbW9kdWxlIGNhbGxlZCAicWNvbV9ycG0iLgo+ ICAKPiArY29uZmlnIE1GRF9TUEFDRU1JVF9QTUlDCj4gKwl0cmlzdGF0ZSAiU3BhY2VtaVQgUE1J QyIKPiArCWRlcGVuZHMgb24gQVJDSF9TUEFDRU1JVCB8fCBDT01QSUxFX1RFU1QKPiArCWRlcGVu ZHMgb24gSTJDICYmIE9GCj4gKwlzZWxlY3QgTUZEX0NPUkUKPiArCXNlbGVjdCBSRUdNQVBfSTJD Cj4gKwlkZWZhdWx0IEFSQ0hfU1BBQ0VNSVQKPiArCWhlbHAKPiArCSAgVGhpcyBvcHRpb24gZW5h YmxlcyBzdXBwb3J0IGZvciBTcGFjZW1pVCBJMkMgYmFzZWQgUE1JQ3MuICBBdAo+ICsJICB0aGlz IHRpbWUgb25seSB0aGUgUDEgUE1JQyAodXNlZCB3aXRoIHRoZSBLMSBTb0MpIGlzIHN1cHBvcnRl ZC4KPiArCj4gIGNvbmZpZyBNRkRfU1BNSV9QTUlDCj4gIAl0cmlzdGF0ZSAiUXVhbGNvbW0gU1BN SSBQTUlDcyIKPiAgCWRlcGVuZHMgb24gQVJDSF9RQ09NIHx8IENPTVBJTEVfVEVTVAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL21mZC9NYWtlZmlsZSBiL2RyaXZlcnMvbWZkL01ha2VmaWxlCj4gaW5k ZXggNzk0OTVmOWYzNDU3Yi4uNTlkMWVjOGRiM2EzZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21m ZC9NYWtlZmlsZQo+ICsrKyBiL2RyaXZlcnMvbWZkL01ha2VmaWxlCj4gQEAgLTI2Niw2ICsyNjYs NyBAQCBvYmotJChDT05GSUdfTUZEX1NVTjRJX0dQQURDKQkrPSBzdW40aS1ncGFkYy5vCj4gIG9i ai0kKENPTkZJR19NRkRfU1RNMzJfTFBUSU1FUikJKz0gc3RtMzItbHB0aW1lci5vCj4gIG9iai0k KENPTkZJR19NRkRfU1RNMzJfVElNRVJTKSAJKz0gc3RtMzItdGltZXJzLm8KPiAgb2JqLSQoQ09O RklHX01GRF9NWFNfTFJBREMpICAgICArPSBteHMtbHJhZGMubwo+ICtvYmotJChDT05GSUdfTUZE X1NQQUNFTUlUX1BNSUMpCSs9IHNwYWNlbWl0LXBtaWMubwo+ICBvYmotJChDT05GSUdfTUZEX1ND MjdYWF9QTUlDKQkrPSBzcHJkLXNjMjd4eC1zcGkubwo+ICBvYmotJChDT05GSUdfUkFWRV9TUF9D T1JFKQkrPSByYXZlLXNwLm8KPiAgb2JqLSQoQ09ORklHX01GRF9ST0hNX0JENzE4MjgpCSs9IHJv aG0tYmQ3MTgyOC5vCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL3NwYWNlbWl0LXBtaWMuYyBi L2RyaXZlcnMvbWZkL3NwYWNlbWl0LXBtaWMuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5k ZXggMDAwMDAwMDAwMDAwMC4uN2MzYzNlMjcyMzZkYQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9k cml2ZXJzL21mZC9zcGFjZW1pdC1wbWljLmMKPiBAQCAtMCwwICsxLDkxIEBACj4gKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLyoKPiArICogQ29weXJpZ2h0IChD KSAyMDI1IGJ5IFJJU0NzdGFyIFNvbHV0aW9ucyBDb3Jwb3JhdGlvbi4gIEFsbCByaWdodHMgcmVz ZXJ2ZWQuCj4gKyAqIERlcml2ZWQgZnJvbSBjb2RlIGZyb206Cj4gKyAqCUNvcHlyaWdodCAoQykg MjAyNCBUcm95IE1pdGNoZWxsIDx0cm95bWl0Y2hlbGw5ODhAZ21haWwuY29tPgo+ICsgKi8KPiAr Cj4gKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgo+ ICsjaW5jbHVkZSA8bGludXgvaTJjLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9tZmQvY29yZS5oPgo+ ICsjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9vZi5oPgo+ICsj aW5jbHVkZSA8bGludXgvcmVnbWFwLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgo+ICsK PiArc3RydWN0IHNwYWNlbWl0X3BtaWNfZGF0YSB7CgpzL2RhdGEvZGRhdGEvCgo+ICsJY29uc3Qg c3RydWN0IHJlZ21hcF9jb25maWcgKnJlZ21hcF9jb25maWc7Cj4gKwljb25zdCBzdHJ1Y3QgbWZk X2NlbGwgKm1mZF9jZWxsczsJLyogYXJyYXkgKi8KCkhtbSAuLi4gdGhpcyBpcyBhIHJlZCBmbGFn LiAgTGV0J3Mgc2VlLgoKPiArCXNpemVfdCBtZmRfY2VsbF9jb3VudDsKPiArfTsKPiArCj4gK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgcmVnbWFwX2NvbmZpZyBwMV9yZWdtYXBfY29uZmlnID0gewo+ICsJ LnJlZ19iaXRzCT0gOCwKPiArCS52YWxfYml0cwk9IDgsCj4gKwkubWF4X3JlZ2lzdGVyCT0gMHhh YSwKPiArfTsKPiArCj4gKy8qIFRoZSBuYW1lIGZpZWxkIGRlZmluZXMgdGhlICpkcml2ZXIqIG5h bWUgdGhhdCBzaG91bGQgYmluZCB0byB0aGUgZGV2aWNlICovCgpUaGlzIGNvbW1lbnQgaXMgc3Vw ZXJmbHVvdXMuCgo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG1mZF9jZWxsIHAxX2NlbGxzW10gPSB7 Cj4gKwl7Cj4gKwkJLm5hbWUJCT0gInNwYWNlbWl0LXAxLXJlZ3VsYXRvciIsCgpUaGlzIHNwYWNp bmcgaXMgd29ua3kuICBUYWtlIGEgbG9vayBhdCBhbGwgdGhlIG90aGVyIGRyaXZlcnMgaGVyZS4K CkFsc28sIHlvdSBwcm9iYWJseSB3YW50IHRvIHVzZSBNRkRfQ0VMTF9OQU1FKCkuCgpPbmUgaXMg bm90IGVub3VnaC4KCj4gKwl9LAo+ICt9Owo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBzcGFj ZW1pdF9wbWljX2RhdGEgcDFfcG1pY19kYXRhID0gewo+ICsJLnJlZ21hcF9jb25maWcJPSAmcDFf cmVnbWFwX2NvbmZpZywKPiArCS5tZmRfY2VsbHMJPSBwMV9jZWxscywKPiArCS5tZmRfY2VsbF9j b3VudAk9IEFSUkFZX1NJWkUocDFfY2VsbHMpLAo+ICt9Owo+ICsKPiArc3RhdGljIGludCBzcGFj ZW1pdF9wbWljX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3sKPiArCWNvbnN0 IHN0cnVjdCBzcGFjZW1pdF9wbWljX2RhdGEgKmRhdGE7Cj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXYg PSAmY2xpZW50LT5kZXY7Cj4gKwlzdHJ1Y3QgcmVnbWFwICpyZWdtYXA7Cj4gKwo+ICsJLyogV2Ug Y3VycmVudGx5IGhhdmUgbm8gbmVlZCBmb3IgYSBkZXZpY2Utc3BlY2lmaWMgc3RydWN0dXJlICov CgpUaGVuIHdoeSBhcmUgd2UgYWRkaW5nIG9uZT8KCj4gKwlkYXRhID0gb2ZfZGV2aWNlX2dldF9t YXRjaF9kYXRhKGRldik7Cj4gKwlyZWdtYXAgPSBkZXZtX3JlZ21hcF9pbml0X2kyYyhjbGllbnQs IGRhdGEtPnJlZ21hcF9jb25maWcpOwo+ICsJaWYgKElTX0VSUihyZWdtYXApKQo+ICsJCXJldHVy biBkZXZfZXJyX3Byb2JlKGRldiwgUFRSX0VSUihyZWdtYXApLAo+ICsJCQkJICAgICAicmVnbWFw IGluaXRpYWxpemF0aW9uIGZhaWxlZCIpOwo+ICsKPiArCXJldHVybiBkZXZtX21mZF9hZGRfZGV2 aWNlcyhkZXYsIFBMQVRGT1JNX0RFVklEX0FVVE8sCj4gKwkJCQkgICAgZGF0YS0+bWZkX2NlbGxz LCBkYXRhLT5tZmRfY2VsbF9jb3VudCwKPiArCQkJCSAgICBOVUxMLCAwLCBOVUxMKTsKPiArfQo+ ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3BhY2VtaXRfcG1pY19tYXRj aFtdID0gewo+ICsJewo+ICsJCS5jb21wYXRpYmxlCT0gInNwYWNlbWl0LHAxIiwKPiArCQkuZGF0 YQkJPSAmcDFfcG1pY19kYXRhLAoKQWgsIG5vdyBJIHNlZS4KCldlIGRvIG5vdCBhbGxvdyBvbmUg ZGF0YSBmcm9tIHJlZ2lzdHJhdGlvbiBtZWNoYW5pc20gKE1GRCkgdG8gYmUgcGlwZWQKdGhyb3Vn aCBhbm90aGVyIChPRikuICBJZiB5b3UgaGF2ZSB0byBtYXRjaCBwbGF0Zm9ybSBkYXRhIHRvIGRl dmljZSAoeW91CmRvbid0KSwgdGhlbiBwYXNzIHRocm91Z2ggaWRlbnRpZmllcnMgYW5kIG1hdGNo IG9uIHRob3NlIGluIGEgc3dpdGNoKCkKc3RhdGVtZW50IGluc3RlYWQuCgo+ICsJfSwKPiArCXsg fQo+ICt9Owo+ICtNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzcGFjZW1pdF9wbWljX21hdGNoKTsK PiArCj4gK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBzcGFjZW1pdF9wbWljX2kyY19kcml2ZXIg PSB7Cj4gKwkuZHJpdmVyID0gewo+ICsJCS5uYW1lID0gInNwYWNlbWl0LXBtaWMiLAo+ICsJCS5v Zl9tYXRjaF90YWJsZSA9IHNwYWNlbWl0X3BtaWNfbWF0Y2gsCj4gKwl9LAo+ICsJLnByb2JlICAg ID0gc3BhY2VtaXRfcG1pY19wcm9iZSwKClJlbW92ZSB0aGVzZSBvZGQgdGFicyBwbGVhc2UuCgo+ ICt9Owo+ICsKPiArc3RhdGljIGludCBfX2luaXQgc3BhY2VtaXRfcG1pY19pbml0KHZvaWQpCj4g K3sKPiArCXJldHVybiBpMmNfYWRkX2RyaXZlcigmc3BhY2VtaXRfcG1pY19pMmNfZHJpdmVyKTsK PiArfQo+ICsKPiArc3RhdGljIHZvaWQgX19leGl0IHNwYWNlbWl0X3BtaWNfZXhpdCh2b2lkKQo+ ICt7Cj4gKwlpMmNfZGVsX2RyaXZlcigmc3BhY2VtaXRfcG1pY19pMmNfZHJpdmVyKTsKPiArfQo+ ICsKClJlbW92ZSB0aGlzIGxpbmUuCgo+ICttb2R1bGVfaW5pdChzcGFjZW1pdF9wbWljX2luaXQp Owo+ICttb2R1bGVfZXhpdChzcGFjZW1pdF9wbWljX2V4aXQpOwoKQXJlIHlvdSBzdXJlIHRoZXJl IGlzbid0IHNvbWUgYm9pbGVyIHBsYXRlIHRvIGRvIGFsbCBvZiB0aGlzPwoKQWggaGE6CgogIG1v ZHVsZV9pMmNfZHJpdmVyKCkKCj4gK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKPiArTU9EVUxFX0RF U0NSSVBUSU9OKCJTcGFjZW1pVCBtdWx0aS1mdW5jdGlvbiBQTUlDIGRyaXZlciIpOwo+IC0tIAo+ IDIuNDUuMgo+IAoKLS0gCkxlZSBKb25lcyBb5p2O55C85pavXQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0Cmxp bnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 58999225A4F; Thu, 19 Jun 2025 14:40:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750344029; cv=none; b=XoeqTflnVGyVn/rXbQ/XZB8wOj/4Q1K08HzxogziFD/sC8DdjwyMqeJ00eHafNeCL1VJQbiPH8RydOb/CnzsOaX+rAlMSiKWFSxxzL+deFTMJK8KPGHLyGHI44Ayrk3i9RTCUp7ZcUQ2iC17sQg82h515E308NbvHlMUaYuvDL4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750344029; c=relaxed/simple; bh=EndVB716Foytfnay2gfZHY/W0DSHsbg8IHGdjC8W7XU=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=fJyI0fXXL2eK0dbpUohrZ2o5pT0q6DkHqaD7dqbqz58NoF9QIMb/rtRvCCM6ftD98s1kEDv+BmJlk5Df5BS1s8cFVnb8IzX+E3YixHmVKJv+sUmu0KHNzT5CsI2+11u8McGhEQp7muCmjgnG6pcngQCQzVirUjmLie90K+Yn6S8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UNwlN0ij; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="UNwlN0ij" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9AA61C4CEEA; Thu, 19 Jun 2025 14:40:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1750344028; bh=EndVB716Foytfnay2gfZHY/W0DSHsbg8IHGdjC8W7XU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=UNwlN0ijkZAqwN1f0ahwxPDVF22m5xWXxBCZSlKHVc0L5ESVMsIEsRclOn/ZQHTxG Gfe6gEaa6jhsAN+LSXpBN8xkOMaXYcrX93XZKw835JAWsEeWPEIRAEY73RB9OWNAyi doI5k164VNJ8z7A+F2rNo7lZfVHi4i1zVTsI7hd1gs9HaMwjwQY3v7BojcqlalnE09 hnFa4vGcQQMgWLhO6D90B0oXHBavRMiCOYvmuBi9OHnJoGmkhwbxPXvIaFzD2zVia3 BX/BQ3xp18MRruD0WfnvHgB5BjnzlDL7Vq9mz+r8dJv/z6ERqi7NPeqvEGADRJCUhn bBfDIgpKxWtsg== Date: Thu, 19 Jun 2025 15:40:23 +0100 From: Lee Jones To: Alex Elder Cc: lgirdwood@gmail.com, broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, dlan@gentoo.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, troymitchell988@gmail.com, guodong@riscstar.com, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/6] mfd: spacemit: add support for SpacemiT PMICs Message-ID: <20250619144023.GG795775@google.com> References: <20250613210150.1468845-1-elder@riscstar.com> <20250613210150.1468845-3-elder@riscstar.com> Precedence: bulk X-Mailing-List: spacemit@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20250613210150.1468845-3-elder@riscstar.com> On Fri, 13 Jun 2025, Alex Elder wrote: > Add support for SpacemiT PMICs. Initially only the P1 PMIC is supported > but the driver is structured to allow support for others to be added. > > The P1 PMIC is controlled by I2C, and is normally implemented with the > SpacemiT K1 SoC. This PMIC provides six buck converters and 12 LDO six or 12. Please pick a format and remain consistent. > regulators. It also implements a switch, watchdog timer, real-time clock, > and more, but initially we will only support its regulators. You have to provide support for more than one device for this to be accepted into MFD. > Signed-off-by: Alex Elder > --- > drivers/mfd/Kconfig | 11 +++++ > drivers/mfd/Makefile | 1 + > drivers/mfd/spacemit-pmic.c | 91 +++++++++++++++++++++++++++++++++++++ > 3 files changed, 103 insertions(+) > create mode 100644 drivers/mfd/spacemit-pmic.c > > diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig > index 6fb3768e3d71c..c59ae6cc2dd8d 100644 > --- a/drivers/mfd/Kconfig > +++ b/drivers/mfd/Kconfig > @@ -1182,6 +1182,17 @@ config MFD_QCOM_RPM > Say M here if you want to include support for the Qualcomm RPM as a > module. This will build a module called "qcom_rpm". > > +config MFD_SPACEMIT_PMIC > + tristate "SpacemiT PMIC" > + depends on ARCH_SPACEMIT || COMPILE_TEST > + depends on I2C && OF > + select MFD_CORE > + select REGMAP_I2C > + default ARCH_SPACEMIT > + help > + This option enables support for SpacemiT I2C based PMICs. At > + this time only the P1 PMIC (used with the K1 SoC) is supported. > + > config MFD_SPMI_PMIC > tristate "Qualcomm SPMI PMICs" > depends on ARCH_QCOM || COMPILE_TEST > diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile > index 79495f9f3457b..59d1ec8db3a3f 100644 > --- a/drivers/mfd/Makefile > +++ b/drivers/mfd/Makefile > @@ -266,6 +266,7 @@ obj-$(CONFIG_MFD_SUN4I_GPADC) += sun4i-gpadc.o > obj-$(CONFIG_MFD_STM32_LPTIMER) += stm32-lptimer.o > obj-$(CONFIG_MFD_STM32_TIMERS) += stm32-timers.o > obj-$(CONFIG_MFD_MXS_LRADC) += mxs-lradc.o > +obj-$(CONFIG_MFD_SPACEMIT_PMIC) += spacemit-pmic.o > obj-$(CONFIG_MFD_SC27XX_PMIC) += sprd-sc27xx-spi.o > obj-$(CONFIG_RAVE_SP_CORE) += rave-sp.o > obj-$(CONFIG_MFD_ROHM_BD71828) += rohm-bd71828.o > diff --git a/drivers/mfd/spacemit-pmic.c b/drivers/mfd/spacemit-pmic.c > new file mode 100644 > index 0000000000000..7c3c3e27236da > --- /dev/null > +++ b/drivers/mfd/spacemit-pmic.c > @@ -0,0 +1,91 @@ > +// SPDX-License-Identifier: GPL-2.0-only > +/* > + * Copyright (C) 2025 by RISCstar Solutions Corporation. All rights reserved. > + * Derived from code from: > + * Copyright (C) 2024 Troy Mitchell > + */ > + > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > + > +struct spacemit_pmic_data { s/data/ddata/ > + const struct regmap_config *regmap_config; > + const struct mfd_cell *mfd_cells; /* array */ Hmm ... this is a red flag. Let's see. > + size_t mfd_cell_count; > +}; > + > +static const struct regmap_config p1_regmap_config = { > + .reg_bits = 8, > + .val_bits = 8, > + .max_register = 0xaa, > +}; > + > +/* The name field defines the *driver* name that should bind to the device */ This comment is superfluous. > +static const struct mfd_cell p1_cells[] = { > + { > + .name = "spacemit-p1-regulator", This spacing is wonky. Take a look at all the other drivers here. Also, you probably want to use MFD_CELL_NAME(). One is not enough. > + }, > +}; > + > +static const struct spacemit_pmic_data p1_pmic_data = { > + .regmap_config = &p1_regmap_config, > + .mfd_cells = p1_cells, > + .mfd_cell_count = ARRAY_SIZE(p1_cells), > +}; > + > +static int spacemit_pmic_probe(struct i2c_client *client) > +{ > + const struct spacemit_pmic_data *data; > + struct device *dev = &client->dev; > + struct regmap *regmap; > + > + /* We currently have no need for a device-specific structure */ Then why are we adding one? > + data = of_device_get_match_data(dev); > + regmap = devm_regmap_init_i2c(client, data->regmap_config); > + if (IS_ERR(regmap)) > + return dev_err_probe(dev, PTR_ERR(regmap), > + "regmap initialization failed"); > + > + return devm_mfd_add_devices(dev, PLATFORM_DEVID_AUTO, > + data->mfd_cells, data->mfd_cell_count, > + NULL, 0, NULL); > +} > + > +static const struct of_device_id spacemit_pmic_match[] = { > + { > + .compatible = "spacemit,p1", > + .data = &p1_pmic_data, Ah, now I see. We do not allow one data from registration mechanism (MFD) to be piped through another (OF). If you have to match platform data to device (you don't), then pass through identifiers and match on those in a switch() statement instead. > + }, > + { } > +}; > +MODULE_DEVICE_TABLE(of, spacemit_pmic_match); > + > +static struct i2c_driver spacemit_pmic_i2c_driver = { > + .driver = { > + .name = "spacemit-pmic", > + .of_match_table = spacemit_pmic_match, > + }, > + .probe = spacemit_pmic_probe, Remove these odd tabs please. > +}; > + > +static int __init spacemit_pmic_init(void) > +{ > + return i2c_add_driver(&spacemit_pmic_i2c_driver); > +} > + > +static void __exit spacemit_pmic_exit(void) > +{ > + i2c_del_driver(&spacemit_pmic_i2c_driver); > +} > + Remove this line. > +module_init(spacemit_pmic_init); > +module_exit(spacemit_pmic_exit); Are you sure there isn't some boiler plate to do all of this? Ah ha: module_i2c_driver() > +MODULE_LICENSE("GPL"); > +MODULE_DESCRIPTION("SpacemiT multi-function PMIC driver"); > -- > 2.45.2 > -- Lee Jones [李琼斯]