[PATCH next v3 5/6] power: rk8xx: properly print all supported PMICs name
Dragan Simic
dsimic at manjaro.org
Mon Jun 17 16:58:05 CEST 2024
Hello Quentin,
On 2024-06-17 16:10, Quentin Schulz wrote:
> On 6/6/24 10:45 AM, Quentin Schulz wrote:
>> From: Quentin Schulz <quentin.schulz at cherry.de>
>>
>> The ID of the PMIC is stored in the 2 16b registers but the only part
>> that matters right now is the 3 MSB, which make the 3 digits (in hex)
>> of
>> the part number.
>>
>> Right now, only RK808 was properly displayed, with this all currently
>> supported PMICs should display the proper part number.
>>
>> Additionally, when the PMIC variant is not found, print that value
>> instead of the masked unshifted value as all PMICs we support for now
>> have their LSB ignored to represent the actual part number.
>>
>> Tested on RK806 (RK3588 Jaguar), RK808 (RK3399 Puma) and RK809 (PX30
>> Ringneck).
>>
>> Reviewed-by: Kever Yang <kever.yang at rock-chips.com>
>> Signed-off-by: Quentin Schulz <quentin.schulz at cherry.de>
>> ---
>> drivers/power/pmic/rk8xx.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/power/pmic/rk8xx.c b/drivers/power/pmic/rk8xx.c
>> index 12ff26a0855..617bb511e4e 100644
>> --- a/drivers/power/pmic/rk8xx.c
>> +++ b/drivers/power/pmic/rk8xx.c
>> @@ -6,6 +6,7 @@
>> #include <dm.h>
>> #include <dm/lists.h>
>> +#include <bitfield.h>
>> #include <errno.h>
>> #include <log.h>
>> #include <linux/bitfield.h>
>> @@ -277,10 +278,9 @@ static int rk8xx_probe(struct udevice *dev)
>> return ret;
>> priv->variant = ((msb << 8) | lsb) & RK8XX_ID_MSK;
>> - show_variant = priv->variant;
>> + show_variant = bitfield_extract_by_mask(priv->variant,
>> RK8XX_ID_MSK);
>> switch (priv->variant) {
>> case RK808_ID:
>> - show_variant = 0x808; /* RK808 hardware ID is 0 */
>
> This line removal is actually incorrect, I should have left this in as
> we cannot use the same logic as other PMICs for RK808 as it returns 0,
> so 0 masked/shifted is still zero.
Thanks for catching this! Moreover, I think we should skip reading
the msb and lsb values entirely for the RK808, because its datasheet
lists the default ID_MSB (0x17) and ID_LSB (0x18) registers as reserved,
and provides no information about gathering the chip variant.
> I saw that Kever has already sent a merge request for next with this
> patch, so we have two options: reject the merge and I send another
> patch for next branch, or Kever cancels the merge request, I send a v4
> for this patch and Kever sends a new merge request? How do we want to
> proceed with this. I have a feeling the additional patch is going to
> be easier for everyone as 1) it's for next branch, 2) isn't breaking
> anything except some info message, which was already wrong (but for
> all non-RK808 PMICs :) ).
I think the latter is the way to go, because the pull request has
been already merged.
More information about the U-Boot
mailing list