[PATCH] timer: bcmbca: Add Broadcom BCMBCA timer support

Rafał Miłecki zajec5 at gmail.com
Tue Aug 2 07:26:15 CEST 2022


On 2.08.2022 00:03, William Zhang wrote:
> This driver supports the peripheral block timer found on the Broadcom
> BCA SoCs. It is 30-bit up-count timer running at 50MHz and can be used
> as the system clock source such as on BCM63138.
>   
> Signed-off-by: William Zhang <william.zhang at broadcom.com>
> 
> (...)
> 
> +static const struct udevice_id bcmbca_timer_ids[] = {
> +	{ .compatible = "brcm,bcm-timers" },
> +	{ }
> +};
> +
> +U_BOOT_DRIVER(bcmbca_timer) = {
> +	.name = "bcmbca_timer",
> +	.id = UCLASS_TIMER,
> +	.of_match = bcmbca_timer_ids,
> +	.priv_auto = sizeof(struct bcmbca_timer_priv),
> +	.probe = bcmbca_timer_probe,
> +	.ops = &bcmbca_timer_ops,
> +	.flags = DM_FLAG_PRE_RELOC,
> +};

That "brcm,bcm-timers" seems like a really wide bidding. Is that exact
timer block guaranteed to be present on all Broadcom devices? Does it
exist e.g. on Northstar SoCs? Or old MIPS SoCs like BCM4706?

It seems that even across BCMBCA devices this block may differ and may
need different bindings. Most SoCs have 4 CTL and 4 CNT registers but
some have only 3 + 3 (BCM6838 BCM60333 BCM63268).

Finally could we have that binding actually documented?


More information about the U-Boot mailing list