From patchwork Tue Feb 4 15:58:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Morgan X-Patchwork-Id: 862013 Received: from mail-oi1-f180.google.com (mail-oi1-f180.google.com [209.85.167.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 11E85AD2D; Tue, 4 Feb 2025 16:01:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738684862; cv=none; b=UWg2c/1/v/t6NSVi5gzR2qRrf2qopswI0eLwUmo5IRgC9aKPESka68LPdHgCbtCOJ9FBWqbfbz7k0HmjQSu15A0upho+T03yi1PSS56h6TvhyGNqmHkt6tfWYge02W6tw4zwBY+vXkc1F+agWgOMZH2E8Ub+3u763FPEco0NNVA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738684862; c=relaxed/simple; bh=Zw4geiqrec6cHDyNVp5ah68FGJHispIhBZyciy8rD9E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=W6wuc75OFo/0BYxRNdMe7uSye5sKCq/LdLkjTQl2hMdKcb9ZpLP6CygamlNccQsnbPpyza/ei8yLjglKtxPetTtA2kknR6bL9qFBuuT/Jqx4B/gUUigHQFkb9WgSk2kzwSkAec1O4nK6E4JelsO0P8W1YqettsaMcnSIs/knp/c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=iAHFxNBI; arc=none smtp.client-ip=209.85.167.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="iAHFxNBI" Received: by mail-oi1-f180.google.com with SMTP id 5614622812f47-3eb7f3b1342so2807434b6e.1; Tue, 04 Feb 2025 08:01:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738684860; x=1739289660; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qHlljfy889XgONy8L5QfUbtDDGX6j94H9380ihQ7yjQ=; b=iAHFxNBIfJZuTxVc/WkyDv7MVbTXyjCH9Y6RY16ybI7OVzfyvYwIJCCdxbcfGtfOOA qYKeNPoNAdqlsKT8x8OAR8ood5PCkdXBqkjkMC0MBL0mY22cV8M+xRgHjajl4GukAD/m rNKPPWYrD2qeOK5tpkg7aWp+lAs0BHEHu7GZ6GIfq5YOlWjNJml2UXpAV9PCeCETs/L9 7SWlscJdo0R9fAbvgbljyRssG1oz0XV3fA0X/gdTAih0oHNmXADg0ky/gEWhkrh490oX B1mSleJF2NdqpeX6qwWNnF/+WWBIfzezs3jVBdy7+nVeocxOW95esOol/i7JoRByMZdf nSDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738684860; x=1739289660; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qHlljfy889XgONy8L5QfUbtDDGX6j94H9380ihQ7yjQ=; b=hh32Oo/OmDgEdIhrhf+r25OkOGSc6tSg+TKYLlNcJ5GP0XEnzZJMzJNe0E+7vz85Q2 B56UDNJa+8L91psZEVR6KiA2z/4AFlg66r4OwVUZK8NMeLlMrlpFi0guLf4vf+cn9AKL LgH54+GnQEiwL11ANRXMof2k6N+/TyVPVKGQOPMRGNGA9x/NZty7Xxh3O2pp0khh0gvS VT0a4jZjFGa5BSIhdLW4/6fV0x3o89XkLUqy/V5d9lOOIShfMwK6BojmCRDhpY+AySF1 GdDH0PcsToipJJd1eBneIrhzMaS7q3KGKsIkC1xnLzkKKxTf63eJtvfYFhog0gl15TQY hJoA== X-Forwarded-Encrypted: i=1; AJvYcCUH+RzXvfeCALyqB8a7c5Ho9eHgNOKoM6lfWa5JhjASAaR0hYALSqPsDvRg1UdwNQpGWOIghxodiw==@vger.kernel.org X-Gm-Message-State: AOJu0YxK/qBSISLFq8XFKqbR4YAhDBeahEkX9MGkaObiJA7QoyPE1V5m TsDX6rWWlGjzZTKr1ZAipnEo+/fPeOq8GUsV/mKIczYeMlDr2Y77 X-Gm-Gg: ASbGncsdoHuu22ecbP50sPppJjgm/JA+DXYn1eR6Skl8lJLngfXnyzg0jDgTgNUn6Jp pMwwITpgdeHJlkiPaykFFx1/PpvWdoEnasEOmhUvO3wV+mU1xfcP8PD2L2RP58EWu9Q7w2g6heC cAhrdPjRJIWE60RMCwMR6DRhtO1fCa7PciEHdGZeWylMbg+G5ucRCKYd6vcSC6YRWh05fasg4AA S6tC8WE69UE5EJzW5SiSRAOwgWHMRm6Cy1Q3kw5BtdUWygHy+MJCtFKNtfrZHTwexCQHdL1HoEH 2sAx4/ICrbMe+sL+hH8tv+LsVpnYa1BvnqE= X-Google-Smtp-Source: AGHT+IGaIZAPvAttTrRBItEFWc9qMjMXZM9Cgd/5fO7zmh2Rf9f7b6ITgUhhswhFOvU7exbhdKvtSg== X-Received: by 2002:a05:6808:1793:b0:3f1:b153:3105 with SMTP id 5614622812f47-3f323af0374mr20723191b6e.26.1738684859999; Tue, 04 Feb 2025 08:00:59 -0800 (PST) Received: from localhost.localdomain ([2600:1700:fb0:1bcf:f8ca:b029:fcc5:5836]) by smtp.gmail.com with ESMTPSA id 5614622812f47-3f33365be86sm3039570b6e.31.2025.02.04.08.00.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Feb 2025 08:00:59 -0800 (PST) From: Chris Morgan To: linux-sunxi@lists.linux.dev Cc: devicetree@vger.kernel.org, linux-pm@vger.kernel.org, lee@kernel.org, samuel@sholland.org, jernej.skrabec@gmail.com, wens@csie.org, conor+dt@kernel.org, krzk+dt@kernel.org, robh@kernel.org, sre@kernel.org, Chris Morgan , Krzysztof Kozlowski Subject: [PATCH V2 1/4] dt-bindings: power: supply: axp20x-battery: Add x-powers,no-thermistor Date: Tue, 4 Feb 2025 09:58:31 -0600 Message-ID: <20250204155835.161973-2-macroalpha82@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250204155835.161973-1-macroalpha82@gmail.com> References: <20250204155835.161973-1-macroalpha82@gmail.com> Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Chris Morgan Add the vendor specific boolean property of x-powers,no-thermistor. This property optionally describes hardware where no thermistor is present on the battery and is specific to the AXP717. In rare circumstances this value can be set incorrectly in the efuse of the PMIC, and if it is not hard-coded the device will fail to charge. Signed-off-by: Chris Morgan Reviewed-by: Krzysztof Kozlowski --- .../x-powers,axp20x-battery-power-supply.yaml | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml index 5ccd375eb294..3504c76a01d8 100644 --- a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml +++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml @@ -14,9 +14,6 @@ maintainers: - Chen-Yu Tsai - Sebastian Reichel -allOf: - - $ref: power-supply.yaml# - properties: compatible: oneOf: @@ -35,7 +32,24 @@ properties: this gauge. $ref: /schemas/types.yaml#/definitions/phandle + x-powers,no-thermistor: + type: boolean + description: Indicates that no thermistor is connected to the TS pin + required: - compatible +allOf: + - $ref: power-supply.yaml# + - if: + not: + properties: + compatible: + contains: + enum: + - x-powers,axp717-battery-power-supply + then: + properties: + x-powers,no-thermistor: false + additionalProperties: false From patchwork Tue Feb 4 15:58:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Morgan X-Patchwork-Id: 862012 Received: from mail-oi1-f176.google.com (mail-oi1-f176.google.com [209.85.167.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9020A21518C; Tue, 4 Feb 2025 16:01:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738684864; cv=none; b=mGCwsUMk6kNnHXmTw/w8u0ki0f47aCtw6AfhPKxbvGvNuzNr/ghKqOo+gYqYIHZ8Pb9325ew3MjcWNTa1hZ8GdbpHBT24H2DRxjhm6uTG3Z/kbEk844N6Ic+4H9vpVV9w09Ylf3TY9LIaMj2Wb/7BSr39Wu9CskacU+7RFOoyd4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738684864; c=relaxed/simple; bh=KF1RI0pWVfFg5Lp0NhxhVbEfbY0U8P5jbD5u3v6nUfQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aix/KQWlQNSxbyEZxAx3/jwJgC1PCw7g7el2rcWXkW4beGJScqpsSdC0G4B0qyTap0gtWzXReZuTklRRdp506c8YrjFnYN4jypS4vjQg6CID3WCwrpjgOPrF/pKFSTi8PIUIlVp6IeDlmKhv2MYb9aqdv/D5yD8m2Gt/M6xbyYI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=UKTH7g6S; arc=none smtp.client-ip=209.85.167.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UKTH7g6S" Received: by mail-oi1-f176.google.com with SMTP id 5614622812f47-3eb98b3b63dso1523169b6e.1; Tue, 04 Feb 2025 08:01:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738684861; x=1739289661; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EreKa/glmB4TstqqkbwQwKQ5lTDJJhw97SZDxkdhrLc=; b=UKTH7g6SRCn5/SLrF8QmJkOYcp72/nNsJ1ztuMwpI3zz1JUW3RyH3R3S9yOWZBhPQ2 0yBkj+1CCGZ8BB4/z5Y5GYLxUKcoXbnzazHWmG+pJ1H4KC6jtjxzz6F2DywkwygnRAFE eAYY6CxAWjY5HRgmqbj/cBacaUBjE6/Gn56G1+f8E2S/a3hmfl4ASvshYv5vIC5gbpfm YyLGe7XhInJqvdIkY9LgIqptMCwcpixaNtfgPVy5xtb8m90l6T7XaNB7X74B35jdCIat H0b/+5JqnhH0KcrftjXgsHSr59N/t1BnLBa1fePB3EJoHHFveplH/yyFzgIDeXdbfLkU V8jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738684861; x=1739289661; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EreKa/glmB4TstqqkbwQwKQ5lTDJJhw97SZDxkdhrLc=; b=u+7KfB5KIddQn5VuAmsax1yOOdfEouRusEvquqAZmOzKH+MjPAN0hfN4UB9Qf9qjmM MHsTCRbknXLK3a9Bjx+JXZBVjCgtExpROpnQw7JcaifsI3Ipqq3BSd3CliwD4ymrjho4 oUU3OnoDfuoHUcnsTCUJ3MQQD9DJnwILEZ4GaPVyGL5rNlQIw+7hs3439Sn1ki9f73DQ JsxDZG8WgdqIrqRR0CZr3p9j3ijMKwtH0hBU5gafgVeBCFF/b7/OPvZH3pYTyjnbeaXt Ly8MmfOKfT3CdLd6QBgrm1pzZBnwrBeDqdxiUy9XuO2pnLtcAGQb2ac8W0oKFxJP101U EUEA== X-Forwarded-Encrypted: i=1; AJvYcCWy436pYszY1qsaWTlxztSRljU76W2KPVx8aHoc/DG52okOLYYnwFnuT/kw/9YtfKdtHxLkcuYOEQ==@vger.kernel.org X-Gm-Message-State: AOJu0YwyEo6/ZDmExvhy4bDlE7rMSHYq53aao+QPwuaghgzCipw2GZz+ raI6WZbcXIInkRD/+jTWAusB3Jy4VPkK/E9AwCuPSpJpchETjDBT X-Gm-Gg: ASbGncsPGUHIYitsKjOMS3Pu+bcxdKMNoXz2MhgOKDyEDqFJVqtD6GXIj1rR2w8JySU QkyhRRsJblbfLmwNKN5Zof0KRTQprn2yvL9TBLmOE4vfu7oQkMRKdzuPj1YObyc7K1sFg6j0czI 4kPfXqdsXKYKm9po6+8T/S90Xwve+Ybd1QRP3DhsFbHEqdDYPx3YkceyqbPPxAK9sdLq34e/RYo ZSofKx9N/jqVQsCjEsQP+xfIuScjRgyFQxrzg9YK148LcfhbeeYJVZwdFqy9cdFF1TZ0cIO/vbJ 4rwt3CfM9b3RkLD04IHDPA4RrOQwGOOuk/M= X-Google-Smtp-Source: AGHT+IGeGnwNAQQbAZ7tdK5UNnD+KvjhU24dSFYNW9jKpCCzvwyJZPwS0UtSP1LLuECg7rLx0xGjMA== X-Received: by 2002:a05:6808:3c8a:b0:3eb:512e:24e5 with SMTP id 5614622812f47-3f3237fc128mr18821605b6e.0.1738684861490; Tue, 04 Feb 2025 08:01:01 -0800 (PST) Received: from localhost.localdomain ([2600:1700:fb0:1bcf:f8ca:b029:fcc5:5836]) by smtp.gmail.com with ESMTPSA id 5614622812f47-3f33365be86sm3039570b6e.31.2025.02.04.08.01.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Feb 2025 08:01:01 -0800 (PST) From: Chris Morgan To: linux-sunxi@lists.linux.dev Cc: devicetree@vger.kernel.org, linux-pm@vger.kernel.org, lee@kernel.org, samuel@sholland.org, jernej.skrabec@gmail.com, wens@csie.org, conor+dt@kernel.org, krzk+dt@kernel.org, robh@kernel.org, sre@kernel.org, Chris Morgan Subject: [PATCH V2 3/4] power: supply: axp20x_battery: Update temp sensor for AXP717 from device tree Date: Tue, 4 Feb 2025 09:58:33 -0600 Message-ID: <20250204155835.161973-4-macroalpha82@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250204155835.161973-1-macroalpha82@gmail.com> References: <20250204155835.161973-1-macroalpha82@gmail.com> Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Chris Morgan Allow a boolean property of "x-powers,no-thermistor" to specify devices where the ts pin is not connected to anything. This works around an issue found with some devices where the efuse is not programmed correctly from the factory or when the register gets set erroneously. Signed-off-by: Chris Morgan --- drivers/power/supply/axp20x_battery.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/drivers/power/supply/axp20x_battery.c b/drivers/power/supply/axp20x_battery.c index 3c3158f31a48..f4cf129a0b68 100644 --- a/drivers/power/supply/axp20x_battery.c +++ b/drivers/power/supply/axp20x_battery.c @@ -89,6 +89,8 @@ #define AXP717_BAT_CC_MIN_UA 0 #define AXP717_BAT_CC_MAX_UA 3008000 +#define AXP717_TS_PIN_DISABLE BIT(4) + struct axp20x_batt_ps; struct axp_data { @@ -117,6 +119,7 @@ struct axp20x_batt_ps { /* Maximum constant charge current */ unsigned int max_ccc; const struct axp_data *data; + bool ts_disable; }; static int axp20x_battery_get_max_voltage(struct axp20x_batt_ps *axp20x_batt, @@ -984,6 +987,24 @@ static void axp717_set_battery_info(struct platform_device *pdev, int ccc = info->constant_charge_current_max_ua; int val; + axp_batt->ts_disable = (device_property_read_bool(axp_batt->dev, + "x-powers,no-thermistor")); + + /* + * Under rare conditions an incorrectly programmed efuse for + * the temp sensor on the PMIC may trigger a fault condition. + * Allow users to hard-code if the ts pin is not used to work + * around this problem. Note that this requires the battery + * be correctly defined in the device tree with a monitored + * battery node. + */ + if (axp_batt->ts_disable) { + regmap_update_bits(axp_batt->regmap, + AXP717_TS_PIN_CFG, + AXP717_TS_PIN_DISABLE, + AXP717_TS_PIN_DISABLE); + } + if (vmin > 0 && axp717_set_voltage_min_design(axp_batt, vmin)) dev_err(&pdev->dev, "couldn't set voltage_min_design\n");