From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: Re: [PATCH 03/13] power: max17047_battery: The temp alert values are 8-bit 2's complement Date: Fri, 14 Apr 2017 17:36:57 +0200 Message-ID: <4e27bcd0-8989-d92d-e938-15833ba6ef36@redhat.com> References: <20170414125919.25771-1-hdegoede@redhat.com> <20170414125919.25771-3-hdegoede@redhat.com> <20170414150927.eo5n2derv26dskcd@kozik-lap> <20170414152601.waxqjuu5z6tde7b4@kozik-lap> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Return-path: Received: from mx1.redhat.com ([209.132.183.28]:37386 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751720AbdDNPhF (ORCPT ); Fri, 14 Apr 2017 11:37:05 -0400 In-Reply-To: <20170414152601.waxqjuu5z6tde7b4@kozik-lap> Sender: linux-pm-owner@vger.kernel.org List-Id: linux-pm@vger.kernel.org To: Krzysztof Kozlowski Cc: Sebastian Reichel , Bartlomiej Zolnierkiewicz , linux-pm@vger.kernel.org Hi, On 14-04-17 17:26, Krzysztof Kozlowski wrote: > On Fri, Apr 14, 2017 at 05:16:32PM +0200, Hans de Goede wrote: >> Hi, >> >> On 14-04-17 17:09, Krzysztof Kozlowski wrote: >>> On Fri, Apr 14, 2017 at 02:59:09PM +0200, Hans de Goede wrote: >>>> The temp alert values are 8-bit 2's complement, so sign-extend them >>>> before reporting them back to the caller. >>> >>> Are you sure that these are reported with sign bit? I couldn't find >>> confirmation of this in datasheet. >> >> From: MAX17047-MAX17050.pdf >> >> "T ALRT Threshold Register (02h) >> The T ALRT Threshold register sets upper and lower limits >> that generate an ALRT pin interrupt if exceeded by the >> Temperature register value. The upper 8 bits set the maxi- >> mum value and the lower 8 bits set the minimum value. >> Interrupt threshold limits are stored in two’s-complement >> format" > > That does not say it is signed. It might be still from 0 to 255. Two's complement format is always signed that is its whole purpose, from: https://en.wikipedia.org/wiki/Two's_complement "Two's complement is a ... binary signed number representation" >> And the reset default of 7F80h also hints at this, >> as it is +127 for max -128 for min (aka temp based >> alerts disabled). > > In this case looks correct... but max77693 fuel gauge datasheet says > about TALRT_Th (0x02): > Reset value: 0x00FF > "...At power up, the thresholds default to their maximum settings- 7F80h > (disabled)." > which as you see contains to different reset values... Notice that that datasheet is contradicting itself, it says: "Reset value: 0x00FF" but also "at power up, the thresholds default to their maximum settings- 7F80h" I can confirm on my max17047 that the latter is correct. > Ehhh... Max17047max17050 datasheet looks a little bit more > chaotic/organized so I guess it should be used as a source. Ack. Regards, Hans