[PATCH next v2 5/6] power: rk8xx: properly print all supported PMICs name

Kever Yang kever.yang at rock-chips.com
Thu Jun 6 10:15:21 CEST 2024


On 2024/6/5 23:56, 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).
>
> Signed-off-by: Quentin Schulz <quentin.schulz at cherry.de>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>

Thanks,
- Kever
> ---
>   drivers/power/pmic/rk8xx.c | 5 ++---
>   1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/power/pmic/rk8xx.c b/drivers/power/pmic/rk8xx.c
> index 12ff26a0855..4d07e630579 100644
> --- a/drivers/power/pmic/rk8xx.c
> +++ b/drivers/power/pmic/rk8xx.c
> @@ -277,10 +277,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 */
>   		break;
>   	case RK805_ID:
>   	case RK816_ID:
> @@ -311,7 +310,7 @@ static int rk8xx_probe(struct udevice *dev)
>   		init_data_num = ARRAY_SIZE(rk806_init_reg);
>   		break;
>   	default:
> -		printf("Unknown PMIC: RK%x!!\n", priv->variant);
> +		printf("Unknown PMIC: RK%x!!\n", show_variant);
>   		return -EINVAL;
>   	}
>   
>


More information about the U-Boot mailing list