Re: [RFC PATCH] clk: si521xx: Align si52147 OF data with the I2C id table
From: Brian Masney
Date: Mon Jul 06 2026 - 14:48:28 EST
+ Marek
On Wed, Jun 24, 2026 at 01:58:10PM +0800, Pengpeng Hou wrote:
> The si52147 match data is used to derive the number and mapping of
> registered DIFF clock providers. The I2C id table uses
> SI521XX_OE_MAP(0x17, 0xf8), while the OF compatible for the same chip
> currently uses SI521XX_OE_MAP(0x15, 0xf8).
>
> Use the same provider topology for the OF match as for the I2C id match
> so the same chip identity does not expose a different clock provider set
> depending on the match path.
>
> Signed-off-by: Pengpeng Hou <pengpeng@xxxxxxxxxxx>
Fixes: edc12763a3a29 ("clk: si521xx: Clock driver for Skyworks Si521xx I2C PCIe clock generators")
> ---
> drivers/clk/clk-si521xx.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/clk/clk-si521xx.c b/drivers/clk/clk-si521xx.c
> index 4ed4e1a5f4f2..f167fd63c504 100644
> --- a/drivers/clk/clk-si521xx.c
> +++ b/drivers/clk/clk-si521xx.c
> @@ -375,7 +375,7 @@ MODULE_DEVICE_TABLE(i2c, si521xx_id);
> static const struct of_device_id clk_si521xx_of_match[] = {
> { .compatible = "skyworks,si52144", .data = (void *)SI521XX_OE_MAP(0x5, 0xc0) },
> { .compatible = "skyworks,si52146", .data = (void *)SI521XX_OE_MAP(0x15, 0xe0) },
> - { .compatible = "skyworks,si52147", .data = (void *)SI521XX_OE_MAP(0x15, 0xf8) },
> + { .compatible = "skyworks,si52147", .data = (void *)SI521XX_OE_MAP(0x17, 0xf8) },
I see the mismatch between the two tables. Do you know which one of the
two is correct?
Brian