From patchwork Thu Apr 27 23:30:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakob Hauser X-Patchwork-Id: 677656 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BDFF5C77B61 for ; Thu, 27 Apr 2023 23:30:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344408AbjD0Xan (ORCPT ); Thu, 27 Apr 2023 19:30:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37250 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344413AbjD0Xal (ORCPT ); Thu, 27 Apr 2023 19:30:41 -0400 Received: from sonic307-7.consmr.mail.ir2.yahoo.com (sonic307-7.consmr.mail.ir2.yahoo.com [87.248.110.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5E1864232 for ; Thu, 27 Apr 2023 16:30:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rocketmail.com; s=s2048; t=1682638234; bh=tWxmac8mwRjMj71krRu9An5Rypa20FdRhR7NzHl2dAk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From:Subject:Reply-To; b=qyl5QOZKJR1uJ5cJEQdHB6GQivVff1J1Re7SpKiZs6yBFpa95G4NtVX1ySYMgih4uiIZTmxBvKs8Tu8w6DIfE/vtJjxiw0C+qi0lkPIReBF+C85iHFZzJz+NIu7go2St/iQeveq7HiXeCz15F/Yw8lpc0uDu0uWPSn+0KWfekmKbTtpmwoW1awr7PsSrnB4S8+9sK3YCoCh01Upsa/A82Vi5wwGtDrwkgraz1QjZM11+E5pf6+YlRDU9zQlSEJ0Y8xAtphat0CnPAJWuc57nSM69dChryY7F8hkB2FHUdDIFoajDQdS8DK1ADxxmCyLZyAtiqC9tRmzChAwRtWIXKw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1682638234; bh=E8shyK6oiWaHIQoUePMgE24PvumwHbB6imJB7heussg=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=F7TF9x2rMD0s5KHd7+SMmFgrI+BpZ+SyT4XRSoquWuqcG1b/eR0c6SRo+PwBN7UQ1ivBiUG2uImeSc4RwhNl0fwk9fnPXqCBTKcInZxJcaoaooEBrVIeEbrNh/2/6NlglWf4smuvLMUWOorIs+gulm5KLQCcat5I0RulRl/WPANndzTe1GkE2wBEcePmmZfteHj6fbJKqjGfL83jrBpjnanW9uVvwRmfjvbE6MhnlDStuudhaFJ52jMSvmc3rA/uqI3fVFrvOQHqAAH2DXfBYznEkrO0HiwvolXia/Gz88vNXxIc+/DtTYllDaj3axiaHrr0w4vHJqvg+ucyKUQGRg== X-YMail-OSG: sOLyiosVM1lcjUTFeP3Q_IEVUmN8ewO53k7X3CH7xzYDdJ_9VgCynVyeNPyDF.V ZZH5ybd.dJpCXQhGRTGfm3.oN7.iJ5glWpWncdfwNZv5Z9czOn3RJ5ML9xv0UanBRTSaQgwbS5np 3yCLG_JLcb.b_6XvoEsUOlNPdYZZrwFREumItDgRz35w30l.ETL_RN0Id.5l2xpXBej6kWnQ9w.A _KKru5dod9Av.1Q9x33DgaTXbYaxcEi0I4cc5PTIiP2_BbwNfRrlUL5R.ehxG.ZTp7jwsawH7Nkf K_dO34yr0mhR2obHtfi9PXmWp1hb7yvdkGtY.ROtcAf2M4Fahaxs5x4so39S1xrglI5aXs5KqiUk FDIDpzPXkhU4p7hRd.KVbtq6dIW0m1DH_ntjZfM2d.gGpCpIog_GxeyxuH37OZ_s7C46ekmA79p. pSs4zoKmuME1DzjCUSP953Vm.7kViina4o2_06OGYU_aPXrjk2hcSY617sMvg273p0NGcN84yqz2 uctWozqThHNdJZSzy_6gIVo4T4KntLlaiAA5d5H3k.C2DYdqYKdjo4sZiJToVew6SADpHiHBY3fv gaA7pYiJy_7dMHN97fqWtmJGZ9zuBmz1WcdXbAyXR868DcVEKBuDbiJGL6I9VNRnF86AswKxRMkD UQOVdCTANfyFz8V1cQRix_.pPsBVaCEhy5JQ6tffB3eZ2kGi6G37sagI4kOF4zWvsRm7xm6CSkX. qFPct23dl2p5u7.xZ.UKmAyuTkuzgVQq3rzSwyslISMHC3fixG4vEk658YXC.kMkhg2cobSpMRF9 CoAcEAf_uXpEhojX8c5UwQDW.zpL9t8gMl7jZ7VZH9QTCBPwken7dKvdREvsr8g.I..8wPkJEFCV AVJHgvCWDLmgUtDmk.PtEG.jLjyrx9DkIRH.RQ6f5FmQNyy1Smc88csblF66XQhn9Su4LEyUp4Yt 56L1LZf6n8hKBasvIU0BRX4aDsxciOzs0_PF4a0qR.EGJBWwmow4zf5MlbXhZ7UFQqar.G0Pew3G q8mTtNtwRFLAo9lCICdJ9jG99mbkkuT764l.G9qHIgFhOIRsRfgYf1FejzNgEKWE6p35HCtcgRwB wt3xleRCmzLms5GueICvEgtbDwQzkiwyKM9pveWGzfeGOnq8uwEmLr7LpA_eY7c9OKig7ETLnsbX xvFBxP6ye0LpboXF9AhHQuuuoDDiY5MhKvOuHagJp_2mjqKUz_q5A2FlvWEbx0fJtTFymhiQ355Z 9Iw__ynjKwm9Hse7G2nPsLZZdN5.VhD4HoHFFHvkLgx6hCKJrBqHwstddodFY_lm9dKQRpu72axj W_jFXe9IGLxM_L_AIPRCi4bpoiFOjumoKBrvwch8MQuUqVzR73Ek0keJx8DBb6mmWHTgUb48BCUq kYvc.w5.Hpywp1ZaGqFRbBlQ7S_OMyuPd27a2RVuomBpk5WXzT6XbNUCF.IiJqSCb9VjDmYuTGlv GKmjVpPVAZCxLWgcYm1cH6MN97kcZCIzzSJItE3otQaWLN11purSLD_TfN7JKlzBwCh0Et9smrXa D9y2Aeh6pZSuEWYMvVNoZmoRPyPQNDshEA6W_8Qd1V_pInWZWnzCLJ_D0AuV2S4PIL9P5cEIM1oI fJnxWEcB0rVpbsFt3mimIwvCkBcyPHuMaEIgC76f38TUYRJqyIo4TB18zueTM7KBqsf.4KO.q7im fGWA2kKVRRea1_pBqlDfr9M9i4uFH7YkKwhmlXf.3Nb6duQ1xsOASFL3FLYk_uvhVIAQ00LGFDrT vNLA1F3HV_PJi1qWbl3S6UQwIBVdrmeWtbVkJzcXJl2b9Ab3JaxN3QGKOmlGFRDeCTe._bRRVTMD xJ7h3jxk9yVyujki8SCtFv7BNTHP2f8F2fZsLdhgdpokFZQYBaQhA3vlpM4wCDj_9apPG6ZuIgxF 6mkRsv1Oabrk8HHU1XsyWVT_bJI8FiwfAdEimgMwtasf2gBDOarZpCmlvjOmbaYoI3kdR_OqgkE4 TVYNOQzzjdP0tTmxywirhGz_4JxDO6dwj60Y0GMsp3mfuJk1RLIZOBFNmS_UPG_9DdEDARTtdSn7 ju6IYdn62uAAHDqq1gNK1DEpTjenUw6prM_tOmT1OV1MhsSXLtCAgq0GLlmr0L8wPlH6k0vqG62a Ln_MHUGf9Jtz5NauZ_c2OlecPZiWOv4ccMQRCdW.e.0Q.MDns.Ylj7Ue03YbVgE94Sn8LyUY88Jb dFThK6QC42S99QYxnrXkGg1zS9Z1GEYBjI9udhrTQxvEnrbj.zKLNdYDmg1cS1Ck88EOQvy_e7il 56ISKOAe29mHZVhlZjU6X10A- X-Sonic-MF: X-Sonic-ID: 496de9a9-910d-43ca-9817-720c78d0d241 Received: from sonic.gate.mail.ne1.yahoo.com by sonic307.consmr.mail.ir2.yahoo.com with HTTP; Thu, 27 Apr 2023 23:30:34 +0000 Received: by hermes--production-ir2-74cd8fc864-9w846 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 912b1d1a256b22e43f453e00130c1256; Thu, 27 Apr 2023 23:30:33 +0000 (UTC) From: Jakob Hauser To: Sebastian Reichel , Lee Jones , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski Cc: Beomho Seo , Chanwoo Choi , Stephan Gerhold , Raymond Hackley , Pavel Machek , Axel Lin , ChiYuan Huang , Linus Walleij , linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, phone-devel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, Lee Jones , Jakob Hauser Subject: [PATCH v3 1/8] mfd: rt5033: Drop rt5033-battery sub-device Date: Fri, 28 Apr 2023 01:30:04 +0200 Message-Id: <16f1dabc331513ba69162d0b2496cee0961276fc.1682636929.git.jahau@rocketmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org From: Stephan Gerhold The fuel gauge in the RT5033 PMIC (rt5033-battery) has its own I2C bus and interrupt lines. Therefore, it is not part of the MFD device and needs to be specified separately in the device tree. Cc: Beomho Seo Cc: Chanwoo Choi Fixes: 0b271258544b ("mfd: rt5033: Add Richtek RT5033 driver core.") Signed-off-by: Stephan Gerhold Acked-by: Lee Jones Signed-off-by: Jakob Hauser Reviewed-by: Linus Walleij --- drivers/mfd/rt5033.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/mfd/rt5033.c b/drivers/mfd/rt5033.c index a5e520fe50a1..8029d444b794 100644 --- a/drivers/mfd/rt5033.c +++ b/drivers/mfd/rt5033.c @@ -40,9 +40,6 @@ static const struct mfd_cell rt5033_devs[] = { { .name = "rt5033-charger", .of_compatible = "richtek,rt5033-charger", - }, { - .name = "rt5033-battery", - .of_compatible = "richtek,rt5033-battery", }, { .name = "rt5033-led", .of_compatible = "richtek,rt5033-led", From patchwork Thu Apr 27 23:30:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakob Hauser X-Patchwork-Id: 677655 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id AA500C77B7C for ; Thu, 27 Apr 2023 23:30:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344431AbjD0Xao (ORCPT ); Thu, 27 Apr 2023 19:30:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37250 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344424AbjD0Xam (ORCPT ); Thu, 27 Apr 2023 19:30:42 -0400 Received: from sonic313-21.consmr.mail.ir2.yahoo.com (sonic313-21.consmr.mail.ir2.yahoo.com [77.238.179.188]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7A8DB421A for ; Thu, 27 Apr 2023 16:30:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rocketmail.com; s=s2048; t=1682638236; bh=Fg8O9S7CQWLvLBXMCmKEFeFmz8DxFrOra+7NQGOwBwo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From:Subject:Reply-To; b=izqek3gebLUiMUc++qyVsn6UxbtTlO6eLBY78E6g1uHBnCFMspBzLw89x9hcC7Us5j/b6Ap84i7bRwDiUgKP+kDN47oRG6ncHm5hbDALcZf+aYQaBYIypQ1qlK311wuGWgsQ4PaOey1crKi6vA2/qIyOctLCY2a33HL+mLTx+IemPx/+kkKdYnjS94K4OvAG6xInl775mh/gStsu9nFaXiRJWPkb93uRQeml9+z0WRJpL2sBmkI3DSnNeZIMK7hDmXupoSi4WeN6ZOuBFN+lceSD8ePbbjT1ud8SnCzs29DdegZTP3/dxhWRn2n9O9PJ0+ix3Ew0MuqkRdO91tBY6Q== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1682638236; bh=dWiTtY/4/MaCv5v/MxK2MH2OmOYdRFb5lS37KN6alH5=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=c3d29tgYDQngI638H8pobPDqyF5s82vN6sFnYq7oOkftxPp+p9d78hNuJ2sE00SpX1e6Jth6/lKa0aczWU8Na5kNNd1yPbJY0jDJcnCxQRjU2XiKIy4FqQVkHFKNshyDcUHIXI5Z2uPHVFmP+gkbrpvVS3p/rY1bFu4ntczPPFmBlkX8a/q5Hysj+CHqrLEAU5cq1Fwammbh9OLt1zzt6VUF6ZDVIS6PM7rKmqqG1PGDqs1/rL159C1j3Kpjtws+9IhlNLFQsBM7H4qrGCBSrb6TxqeHM1HUV3Sj9caRs7UI1eLRmShmDAiMU7xGH3KeEUMCiEF9+y0VhyR9uTXsHQ== X-YMail-OSG: xV6o_T8VM1mMCxldKnBSjCDCAU3ScFxjRdNVVrb2DUwiGWI3hIGgLk0f6YWtMNM Zx9DCNWXIe.BCma2rty502vbXglqxTsWun3D4Sg1r0ZVoh7W0fusCHjyrwxKQDdq6Xl4sX_zzu8n 6z4PAVrdBaRuTu_YATDyZsBE37OvL3ld.a9Buo631ix7hxPn3IXHFgv2WQa5Dpt4pW8r5EdvLWt9 B75XxLvKNzLJCueFzLSuF8rNZ39vC7N.1PIVn4njzMdbHRkPRhNRfLe4kwZ2w2mGx2nSBon8i5Uc gFG4s.i8tyXu_ZkrGQJiJAgUH67ug0rMXxoxYg95pUDx8i6h6WHQdZEsdTGVyHhigRgpDgtryolx een1ULFX4oYOBM_2s0so_jwxBCee.978VZdEvuXbo90uOZ8rLUE00zF0mIna9C.dVrPvPq4rh6kI w4uIgfJcJP2qylb0vXI_tZst5qWBFUDSRzKqja6lFNbJLbnJBGvAWMSZ8ri6p8GRwegBgcuL5Jfq Ci5i1MbK_1Of1kihOBzMtOEIzYKgffsRA.i.HN4in.MS3GDrAS9.ddRZCkLHIQimkBa5fn.54oCj k6La0dxU.AD10tlC2VA81J.LiT2ymmH7yHXo3z3ZKtwrfTXbZVAEO5ijfiIckD3bS6_5WDlFhZZS RGEW4AEv3yBdptrg71xMzgA4MIEiU7yrBGibHdk3AxoavOEHOrP4G9m8BxlSG8DO5psk_EZiGSID GdrdvxxdxSMtzGvq5UtvLT5X1retWVzYFs_4fDwNPUps.R_GfioEDcgSoRVm1fuwWcAFJ7bg44kt r3yvuhuJZn4TUwXCwRlL7te.p22dsZEQFe5w12dwd0zMnvA1H29Rxg1zggBOPJ37IlipGfqqv9I9 NwinsVRAZRlSOYMut5T8KWnTcYdyRIQUtJgTcV.OTKUUdVE1fzUE1p3Sg3EiWc2Y9VcUVd4v4N5X aU2QLLksW7IiZ.4YCJ5zndpCkWysgXRJG9_74HSRQOSA8hmXSVKWiatLU5voi1ujV4zI8RF9TE_d YPTvdQo70PgzFq4.U6E8hUqmdbdPnAg6Dsc6Y3IXyd00fKA3oZ9A9.cnjibkyo5RzIBZ5ZAmDGNs LAxFtL11ey.h8qYTJ2yghMMttGuv1gXL5wKkozjN32AEsMUe.AzZuzMzebpeDcBEYKEpLPDbn9oR J6.PYRIb3n06QBBErEog0ZMZSrbnu8dk727kaEog.0m4uN0KXxlrGd0m3ybMsR_WYBvfexrChaLX ZQeXhe3DAW2ALFr3Oe.bn7Q42ylnPS5UDEEKhRZuPYzI15oGgoISNvnAaGkOqOJcZ9uPfYPHmID8 MFUuMxuXJ88bWSi0x7t947dHl1pjHGaCZOgrZ.GI6i46lNfNsmk1EVRbxXSR4lCwuiEMwcDs.GfW KpL9IQKIrPyKYdR5ZRj0jmzVK4qmbZe2fHBHFhRaWJFJmv1kw0enVa6tqAadF1ksi91AxVYLxVPv LAXvMoKc6tMeV3DJI3de7CG2wYiBtptDYpqJX5Gbr4dlXbaP.qf1vZ_zP.iE9k.PuAOTkHm3a2_c 3Ofrcvq4xUDXQCS0UUcHKvNIj9XyHEJchYe0tzGkoZmCaowxdSXeBkKneKfLNpat8oDKRs6SmdVn Cld51L5MYcbNj9EoUWo5H1ARGokXTgHWPkvGQA5DqL2qwX4RIheFnyIZheu6DDKXC4vfzekvBJs9 Txjum4dZuCJ5aghNvHZVPTrzz7GFs.WCAnplrvuuDjJdju2opqAAu3pR6HIQz8OymWwmiMSIESrM CVAhSDUaZnYX.V79rwsw3BPPGcozLgEndmyYpYfL4h2c0Wdsn3WUvSbxJ6b4pR20c7Io4H4_AAI6 Fp.oCNdWMgR9ViPmLk4csOQNzCt7vhzWREIkGBxlru9kn2JVdlNiqffW6I3yQCTG0kkFGQF_rlFR YSUfAGjyLLBxL39Gwy6zkpzejCINQ4PmfpbguWF74sMmZCkrj8gwGZanS1_nrwMcCh03BN6Uv6M4 RSE47uf242B4jZrFezkeR7JXXxn7Aw5wrucbvRFQijOYUy5fcynwRnRZJ6TiWxFsz3JprIRWqINv 0An_KVzh2d_Z26xVQ0mGgN1J5HpM2oSfdO998ZtIVA_zOJXesdtVI_hJaZ9YWe527pcGUhVVjybu UWXRFnKQGs76TIEp1ZmncXIJtzXInQirfrHZK.GG_1konzXfsGj9N8x3bHBZ4hFSuiVXLAf5wmHY 3baoYku9FQLU1GnECNx_JOWvBAWFJ.RR2ltvUqkhexCM9lw1Jp2yoVtM2_EVQv0qedaxW3Vzqmwy 7x0DCrymQUNf_RrKJnidErQ-- X-Sonic-MF: X-Sonic-ID: 2e63afa5-df03-43b5-bf09-af9c6ec7a812 Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.ir2.yahoo.com with HTTP; Thu, 27 Apr 2023 23:30:36 +0000 Received: by hermes--production-ir2-74cd8fc864-9w846 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 912b1d1a256b22e43f453e00130c1256; Thu, 27 Apr 2023 23:30:34 +0000 (UTC) From: Jakob Hauser To: Sebastian Reichel , Lee Jones , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski Cc: Beomho Seo , Chanwoo Choi , Stephan Gerhold , Raymond Hackley , Pavel Machek , Axel Lin , ChiYuan Huang , Linus Walleij , linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, phone-devel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, Jakob Hauser Subject: [PATCH v3 2/8] mfd: rt5033: Fix chip revision readout Date: Fri, 28 Apr 2023 01:30:05 +0200 Message-Id: <36e5dfcd1c724060e44798dbb1eeee2321cac583.1682636929.git.jahau@rocketmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org After reading the data from the DEVICE_ID register, mask 0x0f needs to be applied to extract the revision of the chip [1]. The other part of the DEVICE_ID register, mask 0xf0, is a vendor identification code. That's how it is set up at similar products of Richtek, e.g. RT9455 [2] page 21 top. [1] https://github.com/msm8916-mainline/linux-downstream/blob/GT-I9195I/drivers/mfd/rt5033_core.c#L484 [2] https://www.richtek.com/assets/product_file/RT9455/DS9455-00.pdf Signed-off-by: Jakob Hauser --- drivers/mfd/rt5033.c | 5 +++-- include/linux/mfd/rt5033-private.h | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/mfd/rt5033.c b/drivers/mfd/rt5033.c index 8029d444b794..3eee4242ee02 100644 --- a/drivers/mfd/rt5033.c +++ b/drivers/mfd/rt5033.c @@ -55,7 +55,7 @@ static const struct regmap_config rt5033_regmap_config = { static int rt5033_i2c_probe(struct i2c_client *i2c) { struct rt5033_dev *rt5033; - unsigned int dev_id; + unsigned int dev_id, chip_rev; int ret; rt5033 = devm_kzalloc(&i2c->dev, sizeof(*rt5033), GFP_KERNEL); @@ -78,7 +78,8 @@ static int rt5033_i2c_probe(struct i2c_client *i2c) dev_err(&i2c->dev, "Device not found\n"); return -ENODEV; } - dev_info(&i2c->dev, "Device found Device ID: %04x\n", dev_id); + chip_rev = dev_id & RT5033_CHIP_REV_MASK; + dev_info(&i2c->dev, "Device found (rev. %d)\n", chip_rev); ret = regmap_add_irq_chip(rt5033->regmap, rt5033->irq, IRQF_TRIGGER_FALLING | IRQF_ONESHOT, diff --git a/include/linux/mfd/rt5033-private.h b/include/linux/mfd/rt5033-private.h index 6bb432f6a96c..b035a67cec73 100644 --- a/include/linux/mfd/rt5033-private.h +++ b/include/linux/mfd/rt5033-private.h @@ -71,6 +71,10 @@ enum rt5033_reg { /* RT5033 CHGCTRL2 register */ #define RT5033_CHGCTRL2_CV_MASK 0xfc +/* RT5033 DEVICE_ID register */ +#define RT5033_VENDOR_ID_MASK 0xf0 +#define RT5033_CHIP_REV_MASK 0x0f + /* RT5033 CHGCTRL3 register */ #define RT5033_CHGCTRL3_CFO_EN_MASK 0x40 #define RT5033_CHGCTRL3_TIMER_MASK 0x38 From patchwork Thu Apr 27 23:30:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakob Hauser X-Patchwork-Id: 677654 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EEA38C7EE21 for ; Thu, 27 Apr 2023 23:30:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344455AbjD0Xaw (ORCPT ); Thu, 27 Apr 2023 19:30:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37444 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344438AbjD0Xaq (ORCPT ); Thu, 27 Apr 2023 19:30:46 -0400 Received: from sonic303-21.consmr.mail.ir2.yahoo.com (sonic303-21.consmr.mail.ir2.yahoo.com [77.238.178.202]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BFC2C30E9 for ; Thu, 27 Apr 2023 16:30:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rocketmail.com; s=s2048; t=1682638240; bh=5w6Shyycf9TKW8fxiIBkdZ0V7BL6iy8PZMl/Ylzmv2k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From:Subject:Reply-To; b=lIO/G6G0791liF6HsWkUX3fRrnRTeR40wXCW7myx4n1RJxqWB3xIK0ZPCazMbHMfOvtX1LVGIbh5K4l6GRxaA0J5YRJ9xJyo8NVfQvsco1Au8+0dWGkvO0bp/n1F3a5xB1BdtXQ/8hIn3ZeoZTvuh/sZYTO4nvpLnxbIeRFOYorbw6jF6jUoPBbcwDLkIKgVeXODshUUZwjVm1H6fvcu1Deib+P3ksqBjrHjXNeaH+d4x16SlGZ2l2MZrNLphg0cxxdpTuLMea8DiltbRKdOl98+gi0+DRC44K+jNopaxCFDeD1+0LBf45GQ2yO5qe+z6tYp1H5xnDuC/S9K+W2d0w== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1682638240; bh=7AwfMWhIcIpV+xE2e+9RfQ22UQGUhT+EcKvKOlDcxZl=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=KVhEIfUmooyuGQCXI8LlgZ0t9gL0MHbJ6QHXJzKx9N9MZTfqeMDQXfX3vJUGJmET/Oe8aAAQRx/G8m7th0Q9juaR1SFonD/3WNZoaXbhQtdmcBGeh6EiHVN5UDfeODDBCCH2zbfEe9u8hhqcgtEM30FsLpygTt5+T/zJCiDWKaGCznPflAFSVZ6lbSX0OaXlHyKFPAYqgKRM7mt9QZx1TWknQO0d0lqFSwpj0XIgy5k1SwgcUzH8X6cAmfvQiOzN4Jh/8NvDeyufwUs1WWeR6Cy+yezq78WsbqVfNZ/lYVnF13dQtf9pwBoCBN8CLoazOicV3hh7QwHsLLKZa5o2PA== X-YMail-OSG: JQFEhTAVM1nVEnx7AGEET9qVTJY1EzA4MO1ecXl8CjOgeVtBuCE4qgCvJHdp3_7 wStUaNVC3dv5fTgIL1uZiRYR40lwyKV9UYG1HP2BJYom8Rkoy7g27WzyX3juj9y7fypv0b6JbDvB USYiyUdTcJz1TAveRvRgW6mJygqiHjoK53blXCFObKxhO5Uec59zrIS7ZkGrd1Ad324LCE1HwKB1 gQx46VXpuWOcnQnwjgNLH7swRNHRHTvRIy.S256ECsVPX3PdWFxfjmjrTeqnzyS_XymM75RcepXZ _SpcSgqGcmW4G7jPmBALat_gwKyGRGi2KsxYenmr2jrKTyhXQ7.PwouzkRMHYKO5ZxFia1tclIZz DKh8WWRl3s.Ijy5DEwUzQ9INpSlYB03u9MvJoj8RH0MnXFOS8QkN2g478YVTqOimZWJdwuL_YL6m oHLtmtAP6ZrpVgMKe923SX0EXdASHuTHB0pXE.kO8sAx7FLkTAbHic_qXPPzZrVpdpQI76XRwSAg BZ41sbm7LK_sFH3CaiAbt9Ak.dZO_6Le8UqxCOLS9bVnD5tYF1y7v.c6VmgeNy6L0NL3OU.MzNEu vVFTmy5bKm7OizUx2AyFmBB6XoRPdGoSJ54tusLRdSYJBDle.ezhI49xCJtXXDA44DYPvBq80wgm JTsd5oiFs5bSf6_xzGqhc6uWptuQS4_vD0ptwrpFuOeUvI_lrhqUkyUfpx9gBRkZeofUIfyeXMB4 3KuX6mTm7OYzZJBB1cld4B9hpiN399lVUCMOJh5hBIrkpp9p1ZxWTMb20SaF3vQqv9S8zu_.JcjG cX19TvMX_wtqzd3oITXOH9PDJdxdin5Hb7BzNp7V_rtsojhvUjEweaLmU5_sfnlE6MgmHSmjFDPB ouEFrWv622XGl00Vxz_KHBnWoJbXsPUMPPJqBBk95C6SUERn463MP_p8061MzV1dTnCSB2Xk6uyR NpoHPdVLPHgwvuTZMaXQoWOHnQn.lrZ5mQgYE4FXyOr1OTsODJw4oXrjjZECfERGjb0kB4AiCant Bml97dCTZfzffj.P2aCX3FQH4HTiyTvfe8Sjk.enqsWjCzZOrBqq7ejk_99qKcD5yafKeA9EebyZ zk0NgNPKbwotEgCepB.tRDZFC_RKS2o4P73iREL0OCehqBbIfP0erBOc_4b7Rt.F.PvAZKGqPzDl nOHEGMdTavPkHBlfZDxDDljxR6zqjIWaqSOniTjXnsTMDVNEoi2nCbcmeuxd4I6HjwPt1O44o3RO 9PpvlW0cAuKW4B8DhAP7fW1_z3.imXxRF.fXVc_nuQjBlYUeH1CWxygR3qC4I45f_PrGpOVFcHQ3 16xS4xeuN6zxPcATRKa3HvFeUY_UdOuOVzyfVEhP5CijzUBC3KVWuwHvjIDtZk8yY.DsEE4BVVDb rMCsOJ._4M5zweG01nAYrCIeOyhZQCWVVf7ulMCZtpMg6EtzUmys9mEIafvW4S.y41uK09.cLrZi xwSs_x2bawei2kgnwCC_ouOiFXcdYFC6ebymEPEaZv9Ca0O6dNDcbYS_gvg_kuijzjj68w62krEU JQxSSPDlgQvfucIdEz1OUvc8ITYBy9M_tq0xe5oN.O9_ulaZSxhoKr114jJ_wgHdUEVkPrj4mn9M 0FyVeycms4gmkgnp_9rIFKH_WabeO4CS3zWsGy9VozOpu8Yuu4YI2EF2m9jrFfngo1nKeRMZzI66 pDmTMN5FqMeMEh_W2QnfgroaOX.Z27R7NHsEjY6TDJmZ4oEbCatsuAfWQvxL8v3ikHXDg.KJshYr aWBim1Si0p1_P0CTYqN6.rklnpZ1pS9sm7sfXIqNJuqcswx.kPU4rqv.NSzyiJXEI06Q0rwv_xio 8FIqgxNXEfAzH0vU2iIIHlJS_9nXVCwJgb6ePQIiJHg1bfcSsXD5llTdevaOaZjkei.GyZLIXB6s nY3o8YX3pzuz6wc_PTt4A2AhHa1ySFV1NJ2lUx9r71zYRvnUSbArjcIM6uWWnETKfuBFuIg7Z3oV 9iTzKtnJR2DTifazORl6ecOaxZa9g4x.X4l.mCy0aQvLtLkTZ8hHNZTHYpPVUjw9B0D0jipgxDs6 i9MeL2Fzl_sPprwmyZekW2TcULxPihz2Bmb0mAByAiD9wVQt3xAqWRZwZekmNhnXNiycolAXPdKD R64HPx..OkMvmN5eaiABzU4fKrqPeynNbdziIIbEnSfLX00RSQJVdnMeqZ_bIFjVYGfWP.n3JKiT 4bo6n0M5jz5Yf0FmQbF9a8Vti1SsplulEUHWnbVO6R9vv8O6l9V4ZNPIWRMBpu9euP6YxnRK8.cE be0Q39cXgTmAcSk6aY36bhi3B X-Sonic-MF: X-Sonic-ID: 0a167e92-6dd8-4fb9-b86e-24f661fe5a24 Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.ir2.yahoo.com with HTTP; Thu, 27 Apr 2023 23:30:40 +0000 Received: by hermes--production-ir2-74cd8fc864-9w846 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 912b1d1a256b22e43f453e00130c1256; Thu, 27 Apr 2023 23:30:37 +0000 (UTC) From: Jakob Hauser To: Sebastian Reichel , Lee Jones , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski Cc: Beomho Seo , Chanwoo Choi , Stephan Gerhold , Raymond Hackley , Pavel Machek , Axel Lin , ChiYuan Huang , Linus Walleij , linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, phone-devel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, Jakob Hauser Subject: [PATCH v3 4/8] mfd: rt5033: Apply preparatory changes before adding rt5033-charger driver Date: Fri, 28 Apr 2023 01:30:07 +0200 Message-Id: X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org Order the register blocks to have the masks in descending manner. Add new defines for constant voltage shift (RT5033_CHGCTRL2_CV_SHIFT), MIVR mask (RT5033_CHGCTRL4_MIVR_MASK), pre-charge current shift (RT5033_CHGCTRL4_IPREC_SHIFT), internal timer disable (RT5033_INT_TIMER_DISABLE), termination disable (RT5033_TE_DISABLE), CFO disable (RT5033_CFO_DISABLE), UUG disable (RT5033_CHARGER_UUG_DISABLE). The fast charge timer type needs to be written on mask 0x38 (RT5033_CHGCTRL3_TIMER_MASK). To avoid a bit shift on application, change the values of the timer types to fit the mask. Added the timout duration as a comment. And the timer between TIMER8 and TIMER12 is most likely TIMER10, see e.g. RT5036 [1] page 28 bottom. Add value options for MIVR (Minimum Input Voltage Regulation). Move RT5033_TE_ENABLE_MASK to the block "RT5033 CHGCTRL1 register", in order to have the masks of the register collected there. To fit the naming scheme, rename it to RT5033_CHGCTRL1_TE_EN_MASK. Move RT5033_CHG_MAX_CURRENT to the block "RT5033 charger fast-charge current". Add new defines RT5033_CV_MAX_VOLTAGE and RT5033_CHG_MAX_PRE_CURRENT to the blocks "RT5033 charger constant charge voltage" and "RT5033 charger pre-charge current limits". In include/linux/mfd/rt5033.h, turn power_supply "psy" into a pointer in order to use it in devm_power_supply_register(). [1] https://media.digikey.com/pdf/Data%20Sheets/Richtek%20PDF/RT5036%20%20Preliminary.pdf Signed-off-by: Jakob Hauser --- include/linux/mfd/rt5033-private.h | 53 ++++++++++++++++++++---------- include/linux/mfd/rt5033.h | 2 +- 2 files changed, 36 insertions(+), 19 deletions(-) diff --git a/include/linux/mfd/rt5033-private.h b/include/linux/mfd/rt5033-private.h index b6773ebf4e6b..0221f806d139 100644 --- a/include/linux/mfd/rt5033-private.h +++ b/include/linux/mfd/rt5033-private.h @@ -55,22 +55,24 @@ enum rt5033_reg { }; /* RT5033 Charger state register */ +#define RT5033_CHG_STAT_TYPE_MASK 0x60 +#define RT5033_CHG_STAT_TYPE_PRE 0x20 +#define RT5033_CHG_STAT_TYPE_FAST 0x60 #define RT5033_CHG_STAT_MASK 0x30 #define RT5033_CHG_STAT_DISCHARGING 0x00 #define RT5033_CHG_STAT_FULL 0x10 #define RT5033_CHG_STAT_CHARGING 0x20 #define RT5033_CHG_STAT_NOT_CHARGING 0x30 -#define RT5033_CHG_STAT_TYPE_MASK 0x60 -#define RT5033_CHG_STAT_TYPE_PRE 0x20 -#define RT5033_CHG_STAT_TYPE_FAST 0x60 /* RT5033 CHGCTRL1 register */ #define RT5033_CHGCTRL1_IAICR_MASK 0xe0 -#define RT5033_CHGCTRL1_MODE_MASK 0x01 +#define RT5033_CHGCTRL1_TE_EN_MASK 0x08 #define RT5033_CHGCTRL1_HZ_MASK 0x02 +#define RT5033_CHGCTRL1_MODE_MASK 0x01 /* RT5033 CHGCTRL2 register */ #define RT5033_CHGCTRL2_CV_MASK 0xfc +#define RT5033_CHGCTRL2_CV_SHIFT 0x02 /* RT5033 DEVICE_ID register */ #define RT5033_VENDOR_ID_MASK 0xf0 @@ -82,14 +84,15 @@ enum rt5033_reg { #define RT5033_CHGCTRL3_TIMER_EN_MASK 0x01 /* RT5033 CHGCTRL4 register */ -#define RT5033_CHGCTRL4_EOC_MASK 0x07 +#define RT5033_CHGCTRL4_MIVR_MASK 0xe0 #define RT5033_CHGCTRL4_IPREC_MASK 0x18 +#define RT5033_CHGCTRL4_IPREC_SHIFT 0x03 +#define RT5033_CHGCTRL4_EOC_MASK 0x07 /* RT5033 CHGCTRL5 register */ -#define RT5033_CHGCTRL5_VPREC_MASK 0x0f #define RT5033_CHGCTRL5_ICHG_MASK 0xf0 #define RT5033_CHGCTRL5_ICHG_SHIFT 0x04 -#define RT5033_CHG_MAX_CURRENT 0x0d +#define RT5033_CHGCTRL5_VPREC_MASK 0x0f /* RT5033 RT CTRL1 register */ #define RT5033_RT_CTRL1_UUG_MASK 0x02 @@ -128,20 +131,28 @@ enum rt5033_reg { #define RT5033_AICR_1500_MODE 0xc0 #define RT5033_AICR_2000_MODE 0xe0 -/* RT5033 use internal timer need to set time */ -#define RT5033_FAST_CHARGE_TIMER4 0x00 -#define RT5033_FAST_CHARGE_TIMER6 0x01 -#define RT5033_FAST_CHARGE_TIMER8 0x02 -#define RT5033_FAST_CHARGE_TIMER9 0x03 -#define RT5033_FAST_CHARGE_TIMER12 0x04 -#define RT5033_FAST_CHARGE_TIMER14 0x05 -#define RT5033_FAST_CHARGE_TIMER16 0x06 +/* RT5033 charger minimum input voltage regulation */ +#define RT5033_CHARGER_MIVR_DISABLE 0x00 +#define RT5033_CHARGER_MIVR_4200MV 0x20 +#define RT5033_CHARGER_MIVR_4300MV 0x40 +#define RT5033_CHARGER_MIVR_4400MV 0x60 +#define RT5033_CHARGER_MIVR_4500MV 0x80 +#define RT5033_CHARGER_MIVR_4600MV 0xa0 +#define RT5033_CHARGER_MIVR_4700MV 0xc0 +#define RT5033_CHARGER_MIVR_4800MV 0xe0 +/* RT5033 use internal timer need to set time */ +#define RT5033_FAST_CHARGE_TIMER4 0x00 /* 4 hrs */ +#define RT5033_FAST_CHARGE_TIMER6 0x08 /* 6 hrs */ +#define RT5033_FAST_CHARGE_TIMER8 0x10 /* 8 hrs */ +#define RT5033_FAST_CHARGE_TIMER10 0x18 /* 10 hrs */ +#define RT5033_FAST_CHARGE_TIMER12 0x20 /* 12 hrs */ +#define RT5033_FAST_CHARGE_TIMER14 0x28 /* 14 hrs */ +#define RT5033_FAST_CHARGE_TIMER16 0x30 /* 16 hrs */ + +#define RT5033_INT_TIMER_DISABLE 0x00 #define RT5033_INT_TIMER_ENABLE 0x01 -/* RT5033 charger termination enable mask */ -#define RT5033_TE_ENABLE_MASK 0x08 - /* * RT5033 charger opa mode. RT5033 has two opa modes for OTG: charger mode * and boost mode. @@ -150,25 +161,30 @@ enum rt5033_reg { #define RT5033_BOOST_MODE 0x01 /* RT5033 charger termination enable */ +#define RT5033_TE_DISABLE 0x00 #define RT5033_TE_ENABLE 0x08 /* RT5033 charger CFO enable */ +#define RT5033_CFO_DISABLE 0x00 #define RT5033_CFO_ENABLE 0x40 /* RT5033 charger constant charge voltage (as in CHGCTRL2 register), uV */ #define RT5033_CHARGER_CONST_VOLTAGE_LIMIT_MIN 3650000U #define RT5033_CHARGER_CONST_VOLTAGE_STEP_NUM 25000U #define RT5033_CHARGER_CONST_VOLTAGE_LIMIT_MAX 4400000U +#define RT5033_CV_MAX_VOLTAGE 0x1e /* RT5033 charger pre-charge current limits (as in CHGCTRL4 register), uA */ #define RT5033_CHARGER_PRE_CURRENT_LIMIT_MIN 350000U #define RT5033_CHARGER_PRE_CURRENT_STEP_NUM 100000U #define RT5033_CHARGER_PRE_CURRENT_LIMIT_MAX 650000U +#define RT5033_CHG_MAX_PRE_CURRENT 0x03 /* RT5033 charger fast-charge current (as in CHGCTRL5 register), uA */ #define RT5033_CHARGER_FAST_CURRENT_MIN 700000U #define RT5033_CHARGER_FAST_CURRENT_STEP_NUM 100000U #define RT5033_CHARGER_FAST_CURRENT_MAX 2000000U +#define RT5033_CHG_MAX_CURRENT 0x0d /* * RT5033 charger const-charge end of charger current ( @@ -192,6 +208,7 @@ enum rt5033_reg { * RT5033 charger UUG. It enables MOS auto control by H/W charger * circuit. */ +#define RT5033_CHARGER_UUG_DISABLE 0x00 #define RT5033_CHARGER_UUG_ENABLE 0x02 /* RT5033 charger high impedance mode */ diff --git a/include/linux/mfd/rt5033.h b/include/linux/mfd/rt5033.h index 8f306ac15a27..e99e2ab0c1c1 100644 --- a/include/linux/mfd/rt5033.h +++ b/include/linux/mfd/rt5033.h @@ -51,7 +51,7 @@ struct rt5033_charger_data { struct rt5033_charger { struct device *dev; struct rt5033_dev *rt5033; - struct power_supply psy; + struct power_supply *psy; struct rt5033_charger_data *chg; }; From patchwork Thu Apr 27 23:30:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakob Hauser X-Patchwork-Id: 677652 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 15F6DC77B73 for ; Thu, 27 Apr 2023 23:36:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344308AbjD0XgR (ORCPT ); Thu, 27 Apr 2023 19:36:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42530 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344335AbjD0XgN (ORCPT ); Thu, 27 Apr 2023 19:36:13 -0400 Received: from sonic301-22.consmr.mail.ir2.yahoo.com (sonic301-22.consmr.mail.ir2.yahoo.com [77.238.176.99]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AAADC3C01 for ; Thu, 27 Apr 2023 16:36:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rocketmail.com; s=s2048; t=1682638568; bh=TVyy9/b03N8nbazd1B41Q2wdYfTHpwuv2C4n1t0mm1Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From:Subject:Reply-To; b=EaLOn+/XmXNN5NFCL8n1L944a6/vsnMqagPbWxd3/nPRBB0Sr+FBxCNoUpDKFCSlol+8tmPnk8R1wmRhUHTcm61YbSuez31WXeKWNbqr8ys7iavHwydNKplNoJeR3cNFCuh9Ga+bh2e4U0C1ySK9iJUBQpluNExPZPHFv1an3WGHCggPiWfFPBn8E+0Lgr0S2NuRNCPi52/DfVCtJNzC+KEVdFdRKCmMifeKBxSEIMI7fgIlCXIplnuyjPMdDvf4GBgVDdSz0mOTrvVJFWmKG35ShCDv6eM+HrqQ9Q5FzrHOcOjQOsNjucDIVgg+Sht754s54geGZRtQY3zKzusTSA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1682638568; bh=H6QAeUAfPU8qA9SFl4JWKCkwkojo3613EmzTYADDT/f=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=i2P8RaevaCe+BjtX/tY7kyCt6QvD65fNG5WjQ4wW7SPdcYhVZkEa1UlSyRRgOL7truX53tZA5XI+mpr8x/AYwsQaCqqt1YiCGhGPEu5Y26lEe0aZq8jntWgrmuWWoKySz/xj8lawjprmMYGENWhBILiN/Di1JzkADLzdJLxieRbJUMowbtElV9AssxTzySCKYs31YdOyd05xqMrup+Sep3hLt8UXC7RG/dFqHFyvByviYfHwPhnLgyGHND9UE1NaYyvgox6u09gZ2anCpyspZOaTulErtjS1vXNnaO84egpIEMOTX7exjJJ1JmlKx7mzFlqqPyHCvK8IB+hiK5JpQQ== X-YMail-OSG: GxSgUtUVM1mDps3zNb2GewA1aDRc7SuXvavYTqd8fqOfd3pmslChq0hsY4SAgPZ szi1nfGO89PxaeJDdmcuco7XrLzn_vb6fQUWyMfYu5Jp04RvNbHCc9KlLXzZONzP3OhYB09QjPLe 1.ylwdZH0L0rDNLh9Y_dyYsKZB6ThvwON3rQahCpQdu57KYbHO_IXujOr.6wSyxanze.lu6ilFIr QSzirJ5HuZeaZRLh3tLEASd4yHyuhLaQeplZRAWfnKokd8CHRLT95Qsv5i_I6wWTyWKWvQ9QBkCP OcpuVFnX8uLYs33xoWKFKdR5uw5jq0mUJhJOtstkJEuxinurELp6LGWrk1zvo0oKQ9Ze54khgzXR .Sqt6wd2hIRSMJq_xOv5097gQ1QlH9jJ2RF1QEEqJki_ejsI8Cwg5YlTMlCDWC6Q6gRYBB6IXl_j XVQWBZcq5qxnc4.DmgI3eqa.hUrScCTtzmPepLG21dmHC6H8zsoWg0qcmLlMpcYWzdvlti_v2Yfd M_pst146wQqamFV4.pBlc76virLLpoWeMUYaw61KIO3kkWU9jJzhH5v4oC0_fJ12su6MLqrQUpYZ UDZj6R4g4qLWfp32ImHe9294Ga7HfVfrYIgxrlsi34cS4l.QIaBnI557R2iLtZHBQtPNot160GFl t9i._MvDs8EHFtEMrfalRl8WzRJFqAEW6qrim0J8aEQWO5lxvDrf1sxiTgiCQrBkRh4bWEr0_SVg ZpC5nWPxzDtitzW1hks9K4.2g7jKjhQQ3HZx1.JttGMUuJ08TuqM0BK3iPigGoV6Ci04XKLtxkao 8CBLIm2teCwywktfzcnqgT3NMLu0DyolNx6gJ2A_X6EjVY8JH5L5hiCQtnASHctDyLp5oogOuiR2 zVO72L4FdvVQigH_qRXF5YfcHuQReXOPPwdfP9.1swjbpS_31gUIgKbRVXIRQ_RkyRQRs.Tv9aea ZYehwgfeUChaofeHZIyn5DXEQ9HnDTFx3qwgTmmEZsDlxPsUkISB9KUgMAXEO9TF_w7f5p_HgR3l sCn_.zG3XO6sf.YUIdl1Kfj6WNHqD0RXWRHUV0wZ2RVOyn6rWueNAIbpn4h5YJf8f2Fza9zhOBxr 9r1XFB2FR_VrnKLylfl5sOPSGG5b4uW_qmfYa1oAnXqEIr8UK2UggyZ4D2I.MW2Qx4wZy5spKCiv jKjlVOQYFw2bTdkadm9YzXfcNX4cNx0ghYytBcGQDvsoE3irlpMEcKnoc1FdFwQAu3a4j.4uJ0di gBOD_UsK7_Z8WLF5QOSSRiiAmfmALDl71vaPzrD38VOTfU938oi1UK3dbkpz_AW9VNgExuPfOSgN RlrcsvreX9MQoxkFfhoqWxAikoi1e0vwC4Psh2H6.ieaDP2w7ZGDWk7GD3aBKpwgBaX3L3GwwpDT Nxdek0AD4LiGcMqnVhP9IMl.S.rNVHsjpVQr14N2UJ6Y7u0wa7f6ewfuBn7oQqh.E_NTMSp5DuS7 .LKBUzEniiXEk6DtB5n5qBHxX4qAOHB8N5FmlXB10C_OH9toVw5s81T2P.B4rDVU85Xb.yj4NTBZ n4c0Ept9_ZG4C6tCplBwimG3rRmaT6a8AQttdPnr4LXhOFxDyR4Gtj3bh9XLP0cWF26bONa.ksxO XfXleSMJ3yFDJSFOvpvAuqb301ai2vioS05Y8Ke.qS2rR_m2GNI5Aw84F0vIN8GrLcGCdgTuNCfI NW0PejYQrMKiN4KygFHgSiDoDX1kzfWhD_6608hURIyjE93sFbFoeIZhEcnZRs0jqCzPVZLyy4fg x.J5p0MgY4Fmll5BJTGMmGFVWedKnhUQPCgDjWWfoLVjX5l2z6rkcRv8UF1VtR_ZWcUHj8afvW81 TGTokowmSJF0eHmMqvNywbMIP0ZmZYISvEIRU2TyVCZQlPnpK.K3tNE3DWuyCJD18uiTC2ok9mJ0 nE_9anX5ewbjV_kxyEuPsQdDUJ48YeFdQkBWCcnwtx_NsTP65rC5eBJ5SCcMKVjR0vJ_xZEZdg0x 9tBm547gKJiIZN.UMgcZUedYsXqbOPvuLLhoSC0MN_7pIGNscdOUn5xCjTdEZx.5Zg5LgxLdiQFC W3HYxQI9KC4D5adsoOdbBhz3mRuuW4eFVznLqVoMSSp4mlcPDwguWtpal7iiUj9Pfc6e356lWJm7 e6cRa4tfxbfGj3mioOk4LIzw_3EzZ5HThE0fL6qagUT91K3zuvwPvesl.mlp9dzBtWsK1qPof98O X7lSM8Cy2v9be_ALe1Xl9S.0ckFyJKkUYXCmq_eDdY56UGVuA_7wSYcCSGmhMIQ_B_9ngqbqaibD etHGEMGkrvGf4cc2bG16a7R97.6Aq X-Sonic-MF: X-Sonic-ID: 8394d146-4d61-4725-9ab6-e269909a2dbd Received: from sonic.gate.mail.ne1.yahoo.com by sonic301.consmr.mail.ir2.yahoo.com with HTTP; Thu, 27 Apr 2023 23:36:08 +0000 Received: by hermes--production-ir2-74cd8fc864-d5c78 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID b559be960ee93a958c6ba15207aea559; Thu, 27 Apr 2023 23:36:03 +0000 (UTC) From: Jakob Hauser To: Sebastian Reichel , Lee Jones , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski Cc: Beomho Seo , Chanwoo Choi , Stephan Gerhold , Raymond Hackley , Pavel Machek , Axel Lin , ChiYuan Huang , Linus Walleij , linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, phone-devel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, Jakob Hauser Subject: [PATCH v3 7/8] power: supply: rt5033_battery: Adopt status property from charger Date: Fri, 28 Apr 2023 01:30:10 +0200 Message-Id: X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org The rt5033-battery fuelgauge can't get a status by itself. The rt5033-charger can, let's get this value. Tested-by: Raymond Hackley Signed-off-by: Jakob Hauser --- drivers/power/supply/rt5033_battery.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/power/supply/rt5033_battery.c b/drivers/power/supply/rt5033_battery.c index 5c04cf305219..a6520716d813 100644 --- a/drivers/power/supply/rt5033_battery.c +++ b/drivers/power/supply/rt5033_battery.c @@ -12,6 +12,26 @@ #include #include +static int rt5033_battery_get_status(struct i2c_client *client) +{ + struct power_supply *charger; + union power_supply_propval val; + int ret; + + charger = power_supply_get_by_name("rt5033-charger"); + if (!charger) + return POWER_SUPPLY_STATUS_UNKNOWN; + + ret = power_supply_get_property(charger, POWER_SUPPLY_PROP_STATUS, &val); + if (ret) { + power_supply_put(charger); + return POWER_SUPPLY_STATUS_UNKNOWN; + } + + power_supply_put(charger); + return val.intval; +} + static int rt5033_battery_get_capacity(struct i2c_client *client) { struct rt5033_battery *battery = i2c_get_clientdata(client); @@ -84,6 +104,9 @@ static int rt5033_battery_get_property(struct power_supply *psy, case POWER_SUPPLY_PROP_CAPACITY: val->intval = rt5033_battery_get_capacity(battery->client); break; + case POWER_SUPPLY_PROP_STATUS: + val->intval = rt5033_battery_get_status(battery->client); + break; default: return -EINVAL; } @@ -96,6 +119,7 @@ static enum power_supply_property rt5033_battery_props[] = { POWER_SUPPLY_PROP_VOLTAGE_OCV, POWER_SUPPLY_PROP_PRESENT, POWER_SUPPLY_PROP_CAPACITY, + POWER_SUPPLY_PROP_STATUS, }; static const struct regmap_config rt5033_battery_regmap_config = { From patchwork Thu Apr 27 23:30:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakob Hauser X-Patchwork-Id: 677653 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4D0F7C77B61 for ; Thu, 27 Apr 2023 23:36:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344289AbjD0XgL (ORCPT ); Thu, 27 Apr 2023 19:36:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42490 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229912AbjD0XgK (ORCPT ); Thu, 27 Apr 2023 19:36:10 -0400 Received: from sonic312-26.consmr.mail.ir2.yahoo.com (sonic312-26.consmr.mail.ir2.yahoo.com [77.238.178.97]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BBA4D2703 for ; Thu, 27 Apr 2023 16:36:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rocketmail.com; s=s2048; t=1682638566; bh=Eyax2bKePMQ2l+ilv5VKF3wXpgbhV5+aqNkVo61NHn0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From:Subject:Reply-To; b=R3C8m8nezvdXpCtLNyDtVpCy+btvFGmO9kA4FtkrMyhbGJWtlnSvjTfmK/5P7DnxzLgaTuH7aDtWTWnSG/80bYowH0PS1/m5b5QO4ximUSxdtR8vmp136B6LJXNlUrfLKK1eIIX+5SIdv9DpTivgiASvtcIauZy13VLPKLTtbX2/4WlQ1k9+KoVTTJElW7gNEVlA3sx2cUQgqmlBnVFnSGPSaoDNZli8KQTwPy9qcFC0DG1SPWCprxgUcy+elfYO2sR2sYRadRNjTiLoOPUWW2V96hgkqqMZfIG3EpmpV/CFdKIkKHagqcnv04xdiVV1KIQoxSxDMsamD18SF7P90A== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1682638566; bh=+WQH72n4J6AInZ2KIrKpj3gM3CbWQ64ag+uXlbnsm5H=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=mEwmmvKx45rZ/C8VSice7L+lJkOtEFTIZkeurzruV5Rwc0dgUzBi67mVgo8x54In1PGH6b9d1xj5EN+D+HMnFFPJEWg+It/KKgbVE5+TzsfHaKUcJ8xtmJHzIzLwnF7ND6SSdc+pnq1Mlp5ylZgZUqqKtWrH4uwwT7MZ7l/IkGOItbCORtFgFbFTTHDYu1wP5de4R2RDJ9JeVoPiRvbObLxpYEXMW4B7iMCUot77Xv5lViKye7hzUyZytQ0Vi+JHvkOJfX5nhugiXLDrTuBPcR73vsMiOmlcr05Bcomoe6ivc66etpfygwZg9iGcP678Lxz/PbWxnhTyax22RMirkQ== X-YMail-OSG: Prn9KpQVM1kIkUCe_1gXUjPEfUgBQylRwXI8Gm5YkyC2K2D_oWsyOUY3NmIX8_6 EtezlFjzi0H0iBU4XrApA2a.k4_RujwI8Z4qL4nLBnN.Dw2WpzXhzOaJuOLikAFmCGQxh_KyByxo mmGc1utHaXkK3UbQXs.Jowb55YSchw3qmPszQG5kY2mrfBwKhtGyO0VLOEhnvQ3ZHkGRVSHFksNs l0Memw9B8aGDMHGhpEOxzh2IdKoMtylrP.XlVOu66zLfL87Gd96u7iH2OliRHQpqHsQPBWa4g_.r INXph9c9clGMWNJJbs_PMPoTh9Va6doLEOUCHBecgxL_QXH4ZssqaN51U4LF569dz7pMZgmqwYmg TewTHXD9xHAuaIBQRPQgxaXEqqB1M_Q1gdBVohKl7vhL.AdezWs.pCElnRaMShqZe7_qE.Je_ATM jWzOeBeEc0jU93oFblEmlo2SJpWUas_mgecp64GTIcTFKxaKT5dwHru2GlAkIinN4YlDVlDXw41K uFwcls1hVIZtMdef8kiCKtTycWwS256u5fUxDuwt6mAPDTbUQLCdeMay9xjDOF8lPAFVZlgXaWPh uqr.vkNN7Oi6FGIL0YbEONwP153kyBfvOcdSwYOgmt2ClnfSnzCAJ7GcaHb6HtnO7EjKWsBUGM.H a9o6vmVsAZVmfP9q6gIWwrZbfQHWotX6T5IxWVnFVpn_KQchFa9urPsDP80jDAHAkpvKvM2oGmSx Z9dd443Lz2cbEHbrhs4Fogy5Olcvq.jRdjMf8BJogCHLU4BGCN9qDkIQawLrn3MoeK2Ie4GYnReZ 4PkNQx3CfFsmMymDM2R56rkdNf6ebWCoPbkXRpskCosenuUVH7_I7L6eLwAyLnZowsoK0Eb7UJPJ kP39KlUF6qtXu69iZj21wZQQ9CMLGVEkRvrLKn5cTOSBAs_SEzkmfutwZNXh.JEOR78q7U3.E.M. KWEqQzgftHzqft5igAX_bWAdA5WfjSZzvbgUR9uxwM60Gcr034nQte1td1bCWKyiFv9mrlHNoI4I mBHKB_.QyhFDCDlOtef5aY9_ydOggPLq50ChY.lTbH6skLoACiVW7MzZmCqhS3MCpGCBuayDkI9J j_16zVd0f8KiRuiL7wjipAJ0WG6RIxFjML1yoOzf5zhqg7mEwiKIJ8kfd5ExteiToo5JplOjdhvk j8cnS4UxJDJJrJG0kEn4H2FPXXKJPywTppEzx0j19Cl9OpBaPdlZt0ArEGhYtl1dyPtPh14OpA6K 13gG5UlXkBmzvQ5Kme190ftdr3ZUg5uzvAs61vciK8yzgMNvO2BLanazdUcLftBMdEcZOeAYcD1. LK0rwkMrSkpPvilpMInkZJFAKUfkfLPfGH2Ac4kPaQH3P_3Eda64.EIUNJvue23AIEogPcOOJfFQ zQfgYckkfd.pRezOdBkiynablrElQVFZI30ACzDQ518a37Ong3a.Kf4HFBwKRRB96KGgB0SzN3WN p9moUWva2MJ8QIIvhi5C8XDkn5sL7GJRS9M_d_uy4VrD3vb2POOJKj1Hhq44qoIJjh4f7.HGJTBh BgzRXX6zlWjTDnnoenGs.O2McUPC6AukI24.v0W09dmOxTcfGYMnhP.YsSN1zo2NGVa3mzdi23LJ 2Iu8QcCHNfeb0sk5UZT3AUGrw3udnEJKT6rlW6tLQQj.IK7jW.Oy7e7CzjohuXTTDZVBvceKRVFS vYfdxNFwlZS.kSUVSFe0nx2OYpFCuCAx5sbB_VquMMYYHblAFDPR_mk_YMBl209Ddp8D7xMPGl4h AdnmWNZq0nY120hhTgm5hl_2sHcWylkaVRM4f6WY_upb_TPVvK6t7rwkiEAEtyn3hkaA4.bvfaR0 9d7Mzq5fKDnC5bQBwQ4dhL470El2w2WxjgXylbu03L6pIpH5PPPBrWUPEUZE0bsZ8wJBXDBsTtnU 6S5AxWo03TfZGGe.p_N44NkYlfsuMCwbUd.n0M8RT_Zfnw5JsXkcsZJLGzsBGiAYWzHdxvWy8azl 4o7zkZsVm1aWu4PjGY8oiqwVjg2qw_mmgUXryIoYc6m5lJPvNaSak_dISwDUXV_wzXBwCZuMHbog OtZFyEQT2FEM8O5mwzdt646R4.AKqH2I9.Ii2TD6IZfDyeqNWX3AIUyKsnGwLEcfkpcIxBH.espS DPpbZ.9RC3hjwmCjVR_ri43BnELBcPxBIrjdLQJYW1pCI6VVNeL1qi8sWbNNCGdJx46RDBBnLf7n DRSVM33Ay9mAbaqMJBeXBTtAv_yPYZDIbFZ4n_hGqhls3UPgPysUBzvjALWyAJbbyGgAWQd9fG0O 4k.gr0sDQIGea0tDGEtzPjuDuH3O8dw-- X-Sonic-MF: X-Sonic-ID: 6d200f06-61ac-4d49-9de7-a5f911c864e1 Received: from sonic.gate.mail.ne1.yahoo.com by sonic312.consmr.mail.ir2.yahoo.com with HTTP; Thu, 27 Apr 2023 23:36:06 +0000 Received: by hermes--production-ir2-74cd8fc864-d5c78 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID b559be960ee93a958c6ba15207aea559; Thu, 27 Apr 2023 23:36:04 +0000 (UTC) From: Jakob Hauser To: Sebastian Reichel , Lee Jones , Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski Cc: Beomho Seo , Chanwoo Choi , Stephan Gerhold , Raymond Hackley , Pavel Machek , Axel Lin , ChiYuan Huang , Linus Walleij , linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, phone-devel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, Jakob Hauser Subject: [PATCH v3 8/8] dt-bindings: Add rt5033 mfd, regulator and charger Date: Fri, 28 Apr 2023 01:30:11 +0200 Message-Id: <5bd8b90713a61129acf292a941eb7fb5ccaa3db4.1682636929.git.jahau@rocketmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org Add device tree binding documentation for rt5033 multifunction device, voltage regulator and battery charger. Cc: Beomho Seo Cc: Chanwoo Choi Signed-off-by: Jakob Hauser Reviewed-by: Linus Walleij --- The patch is based on next-20230413. The drivers for rt5033 (mfd) and rt5033-regulator are existing. Whereas the the driver rt5033-charger is new in this patchset. The extcon phandle is still there, as I didn't know what Rob meant by "standard connector bindings". Changes in v3: - Removed redundant "documentation" in the commit title. - Squashed regulator into the mfd binding. - Restored the regulator node names to uppercase because it is an existing driver. - In the charger binding replaced the vendor properties by "battery" node style. Accodringly updated the example in the mfd. .../bindings/mfd/richtek,rt5033.yaml | 105 ++++++++++++++++++ .../power/supply/richtek,rt5033-charger.yaml | 63 +++++++++++ 2 files changed, 168 insertions(+) create mode 100644 Documentation/devicetree/bindings/mfd/richtek,rt5033.yaml create mode 100644 Documentation/devicetree/bindings/power/supply/richtek,rt5033-charger.yaml diff --git a/Documentation/devicetree/bindings/mfd/richtek,rt5033.yaml b/Documentation/devicetree/bindings/mfd/richtek,rt5033.yaml new file mode 100644 index 000000000000..ee704914201f --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/richtek,rt5033.yaml @@ -0,0 +1,105 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/richtek,rt5033.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Richtek RT5033 Power Management Integrated Circuit + +maintainers: + - Jakob Hauser + +description: + RT5033 is a multifunction device which includes battery charger, fuel gauge, + flash LED current source, LDO and synchronous Buck converter for portable + applications. It is interfaced to host controller using I2C interface. The + battery fuel gauge uses a separate I2C bus. + +properties: + compatible: + const: richtek,rt5033 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + regulators: + description: + The regulators of RT5033 have to be instantiated under a sub-node named + "regulators". For SAFE_LDO voltage there is only one value of 4.9 V. LDO + voltage ranges from 1.2 V to 3.0 V in 0.1 V steps. BUCK voltage ranges + from 1.0 V to 3.0 V in 0.1 V steps. + type: object + patternProperties: + "^(SAFE_LDO|LDO|BUCK)$": + type: object + $ref: /schemas/regulator/regulator.yaml# + unevaluatedProperties: false + additionalProperties: false + + charger: + type: object + $ref: /schemas/power/supply/richtek,rt5033-charger.yaml# + +required: + - compatible + - reg + - interrupts + +additionalProperties: false + +examples: + - | + #include + + battery: battery { + compatible = "simple-battery"; + precharge-current-microamp = <450000>; + constant-charge-current-max-microamp = <1000000>; + charge-term-current-microamp = <150000>; + precharge-upper-limit-microvolt = <3500000>; + constant-charge-voltage-max-microvolt = <4350000>; + }; + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + pmic@34 { + compatible = "richtek,rt5033"; + reg = <0x34>; + + interrupt-parent = <&msmgpio>; + interrupts = <62 IRQ_TYPE_EDGE_FALLING>; + + pinctrl-names = "default"; + pinctrl-0 = <&pmic_int_default>; + + regulators { + safe_ldo_reg: SAFE_LDO { + regulator-name = "SAFE_LDO"; + regulator-min-microvolt = <4900000>; + regulator-max-microvolt = <4900000>; + regulator-always-on; + }; + ldo_reg: LDO { + regulator-name = "LDO"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + buck_reg: BUCK { + regulator-name = "BUCK"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + }; + + charger { + compatible = "richtek,rt5033-charger"; + monitored-battery = <&battery>; + extcon = <&muic>; + }; + }; + }; diff --git a/Documentation/devicetree/bindings/power/supply/richtek,rt5033-charger.yaml b/Documentation/devicetree/bindings/power/supply/richtek,rt5033-charger.yaml new file mode 100644 index 000000000000..bf08e8db365e --- /dev/null +++ b/Documentation/devicetree/bindings/power/supply/richtek,rt5033-charger.yaml @@ -0,0 +1,63 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/power/supply/richtek,rt5033-charger.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Richtek RT5033 PIMC Battery Charger + +maintainers: + - Jakob Hauser + +description: + The battery charger of the multifunction device RT5033 has to be instantiated + under sub-node named "charger" using the following format. + +properties: + compatible: + const: richtek,rt5033-charger + + monitored-battery: + description: | + Phandle to the monitored battery according to battery.yaml. The battery + node needs to contain five parameters. + + precharge-current-microamp: + Current of pre-charge mode. The pre-charge current levels are 350 mA + to 650 mA programmed by I2C per 100 mA. + + constant-charge-current-max-microamp: + Current of fast-charge mode. The fast-charge current levels are 700 mA + to 2000 mA programmed by I2C per 100 mA. + + charge-term-current-microamp: + This property is end of charge current. Its level ranges from 150 mA + to 600 mA. Between 150 mA and 300 mA in 50 mA steps, between 300 mA and + 600 mA in 100 mA steps. + + precharge-upper-limit-microvolt: + Voltage of pre-charge mode. If the battery voltage is below the pre-charge + threshold voltage, the charger is in pre-charge mode with pre-charge + current. Its levels are 2.3 V to 3.8 V programmed by I2C per 0.1 V. + + constant-charge-voltage-max-microvolt: + Battery regulation voltage of constant voltage mode. This voltage levels + from 3.65 V to 4.4 V by I2C per 0.025 V. + + extcon: + description: + Phandle to the extcon device. + maxItems: 1 + +required: + - monitored-battery + +additionalProperties: false + +examples: + - | + charger { + compatible = "richtek,rt5033-charger"; + monitored-battery = <&battery>; + extcon = <&muic>; + };