Re: [PATCH 2/2] soc/tegra: fuse: speedo-tegra210: Support revision B01

Jon Hunter <[email protected]> Tue, 21 Jul 2026 10:46:17 +0100
Newsgroups org.kernel.vger.linux-tegra,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On 18/07/2026 00:19, Aaron Kling via B4 Relay wrote:
> From: Aaron Kling <[email protected]>
> 
> Tegra210B01 has a separate set of skus and speedo tables
> 
> Signed-off-by: Aaron Kling <[email protected]>
> ---
>   drivers/soc/tegra/fuse/speedo-tegra210.c | 22 ++++++++++++++++++++--
>   1 file changed, 20 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/soc/tegra/fuse/speedo-tegra210.c b/drivers/soc/tegra/fuse/speedo-tegra210.c
> index 06c2bcbee5734..699751f4bd0c0 100644
> --- a/drivers/soc/tegra/fuse/speedo-tegra210.c
> +++ b/drivers/soc/tegra/fuse/speedo-tegra210.c
> @@ -65,7 +65,25 @@ static void __init rev_sku_to_speedo_ids(struct tegra_sku_info *sku_info,
>   	sku_info->gpu_speedo_id = 0;
>   	*threshold = THRESHOLD_INDEX_0;
>   
> -	if (sku_info->revision >= TEGRA_REVISION_A02) {
> +	if (sku_info->revision >= TEGRA_REVISION_B01) {
> +		sku_info->gpu_speedo_id = 1;
> +
> +		switch (sku) {
> +		case 0x00: /* Engineering SKU */
> +		case 0x01: /* Engineering SKU */
> +		case 0x83:
> +			break;
> +
> +		case 0x87:
> +			sku_info->cpu_speedo_id = 3;
> +			break;
> +
> +		default:
> +			pr_err("Tegra210B01: unknown SKU %#04x\n", sku);
> +			/* Using the default for the error case */
> +			break;
> +		}
> +	} else if (sku_info->revision >= TEGRA_REVISION_A02) {
>   		switch (sku) {
>   		case 0x00: /* Engineering SKU */
>   		case 0x01: /* Engineering SKU */
> @@ -154,7 +172,7 @@ void __init tegra210_init_speedo_data(struct tegra_sku_info *sku_info)
>   	speedo_revision = get_speedo_revision();
>   	pr_info("Speedo Revision %u\n", speedo_revision);
>   
> -	if (speedo_revision >= 3) {
> +	if (sku_info->revision == TEGRA_REVISION_B01 || speedo_revision >= 3) {
>   		sku_info->cpu_speedo_value = cpu_speedo[0];
>   		sku_info->gpu_speedo_value = cpu_speedo[2];
>   		sku_info->soc_speedo_value = soc_speedo[0];
> 

I am guessing that this is derived/ported from some kernel that NVIDIA 
has released in the past. It would be nice to include a reference to 
whatever change was used to create this.

Jon

-- 
nvpublic