[PATCH v5 3/3] clk: tenstorrent: Add Atlantis clock controller driver

Krzysztof Kozlowski krzk at kernel.org
Thu Feb 5 01:25:44 PST 2026


On Mon, Feb 02, 2026 at 01:46:51PM -0600, Anirudh Srinivasan wrote:
> +MODULE_DESCRIPTION("Tenstorrent Atlantis PRCM Clock Controller Driver");
> +MODULE_AUTHOR("Anirudh Srinivasan <asrinivasan at oss.tenstorrent.com>");
> +MODULE_LICENSE("GPL");
> diff --git a/include/soc/tenstorrent/atlantis-prcm.h b/include/soc/tenstorrent/atlantis-prcm.h
> index 841516cbefd9..ff2c6a7c9a62 100644
> --- a/include/soc/tenstorrent/atlantis-prcm.h
> +++ b/include/soc/tenstorrent/atlantis-prcm.h
> @@ -21,6 +21,17 @@ to_atlantis_prcm_adev(struct auxiliary_device *adev)
>  	return container_of(adev, struct atlantis_prcm_adev, adev);
>  }
>  
> +/* RCPU Clock Register Offsets */
> +#define RCPU_PLL_CFG_REG	0x0000
> +#define RCPU_NOCC_PLL_CFG_REG	0x0004
> +#define RCPU_NOCC_CLK_CFG_REG	0x0008
> +#define RCPU_DIV_CFG_REG	0x000C
> +#define RCPU_BLK_CG_REG		0x0014
> +#define LSIO_BLK_CG_REG		0x0018
> +#define PLL_RCPU_EN_REG		0x011c
> +#define PLL_NOCC_EN_REG		0x0120
> +#define BUS_CG_REG		0x01FC

Why are clock registers added to a global SoC header?

Do not create system wide header with your entire register space. It
serves no purpose, breaks encapsulation and enncourages sloppy
programming liked drivers poking everywhere.

Best regards,
Krzysztof




More information about the linux-riscv mailing list