[PATCH 2/3] power: pmic: rk8xx: bind rk808 RTC

Kever Yang kever.yang at rock-chips.com
Tue Apr 28 16:05:46 CEST 2020


On 2020/4/23 上午12:11, sunil at amarulasolutions.com wrote:
> From: Suniel Mahesh <sunil at amarulasolutions.com>
>
> RK808 PMIC is a multi functional device with an RTC. In order to access
> RTC, bind to its parent device i.e. RK808 PMIC.
>
> Signed-off-by: Suniel Mahesh <sunil at amarulasolutions.com>


Reviewed-by: Kever Yang <kever.yang at rock-chips.com>

Thanks,
- Kever
> ---
>   drivers/power/pmic/rk8xx.c | 19 ++++++++++++++++++-
>   1 file changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/power/pmic/rk8xx.c b/drivers/power/pmic/rk8xx.c
> index 52e6d9d..8d6b64e 100644
> --- a/drivers/power/pmic/rk8xx.c
> +++ b/drivers/power/pmic/rk8xx.c
> @@ -24,6 +24,11 @@ static const struct pmic_child_info pmic_children_info[] = {
>   	{ },
>   };
>   
> +static const struct pmic_child_info rtc_info[] = {
> +	{ .prefix = "rk808-rtc", .driver = "rk808_rtc"},
> +	{ },
> +};
> +
>   static int rk8xx_reg_count(struct udevice *dev)
>   {
>   	return RK808_NUM_OF_REGS;
> @@ -59,7 +64,7 @@ static int rk8xx_read(struct udevice *dev, uint reg, uint8_t *buff, int len)
>   #if CONFIG_IS_ENABLED(PMIC_CHILDREN)
>   static int rk8xx_bind(struct udevice *dev)
>   {
> -	ofnode regulators_node;
> +	ofnode regulators_node, rtc_node;
>   	int children;
>   
>   	regulators_node = dev_read_subnode(dev, "regulators");
> @@ -75,6 +80,18 @@ static int rk8xx_bind(struct udevice *dev)
>   	if (!children)
>   		debug("%s: %s - no child found\n", __func__, dev->name);
>   
> +	rtc_node = dev_read_subnode(dev, "rtc");
> +	if (!ofnode_valid(rtc_node)) {
> +		debug("%s: %s rtc subnode not found!\n", __func__, dev->name);
> +		return -ENXIO;
> +	}
> +
> +	debug("%s: '%s' - found rtc subnode\n", __func__, dev->name);
> +
> +	children = pmic_bind_children(dev, rtc_node, rtc_info);
> +	if (!children)
> +		debug("%s: %s - no child found\n", __func__, dev->name);
> +
>   	/* Always return success for this device */
>   	return 0;
>   }




More information about the U-Boot mailing list