From nobody Sat Jul 25 04:55:19 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2A685389471; Fri, 17 Jul 2026 23:19:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784330388; cv=none; b=JGB3iHJ81MkUcNW/XxqP7dQWB8FlbwMTRpBL7mndM+AzqZhoFDoxb5fGW92n/6WJUJ+UdPUkHud/XAmAAWd4exYdE0B8Gi+suseynYxl14ZiGpRsVsdomYF4trNYQ7Gz65h0+zXt8qAgzJYMNhdhdiJ+qWpF5j1neFOZf/umfPk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784330388; c=relaxed/simple; bh=HAi12lhRbXl91ATA4GxEtmQNji+T9Yu1kkJGXIudQo4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SAuZTWfbxtIGPR7OFga3/MpcTBAHo+cBfw94Oq+enSuqb1GpVWDmFg775GHXPVxBwTxFUPEfb8WXmvJE4Jnj1buKDoe0qIzbn9L/Tk6XVHgTnI0l7pAi0sAruh5hSucgTzdReTVQBgqhbt/AvOsms7NCbnhaD/0fnN5EVwtYu7E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=hfKHGChw; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="hfKHGChw" Received: by smtp.kernel.org (Postfix) with ESMTPS id CEC78C2BCF4; Fri, 17 Jul 2026 23:19:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1784330387; bh=HAi12lhRbXl91ATA4GxEtmQNji+T9Yu1kkJGXIudQo4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=hfKHGChwxa7cppwE7uyL25gPvHhtEaYQlTcAwLKsd6+6W+or54ZNfx53/zDLRToEk LNRmczg5MYU4bkIq6F4v7tyDEybAGdSUF8SHCN/ckHGR3mdlkbA6d9HfrqwiDFHqf1 ia2jBeu/ZC+DGmeUxsl2JVEKyHt80hnM/c9D79I091Wrmfqfr3JQ+o0Y+Pp28o4wpQ D9h0MQjur3b98+qzON8o1NJjkCwhxJo0m0UWNsaVXHSdREXlAn0nvB0fL4+eTJ4fBp HL71aQiDQV9rlD6UOpn6V5Q5Hk5xQFo54MHZF/2C4k0qa0N6LjLy8lERH1O9+YhhLI jag9cfX+W3xXg== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id AD412C4451B; Fri, 17 Jul 2026 23:19:47 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Fri, 17 Jul 2026 18:19:40 -0500 Subject: [PATCH 1/2] soc/tegra: fuse: Support revision B01 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260717-t210b01-speedo-v1-1-f04a8bd4d997@gmail.com> References: <20260717-t210b01-speedo-v1-0-f04a8bd4d997@gmail.com> In-Reply-To: <20260717-t210b01-speedo-v1-0-f04a8bd4d997@gmail.com> To: Thierry Reding , Jonathan Hunter Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, Aaron Kling X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784330387; l=3002; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=FKp8/VRReoJzWZbxx2BvL20l5ZVhWyHdTYk/Zcef/PI=; b=3RE7Z2uSWAOfMgC6QCc7+8lAZNGtB8bqfOoi8Q61fsd/LBwsDqBgMLNVwDaJ8S4Qz4h3I1g5m qLfG+St+cn1AthgRACMSEAWD6l3PasF3w38udJdZ/mV5Mg5D6OHgkmb X-Developer-Key: i=webgeek1234@gmail.com; a=ed25519; pk=TQwd6q26txw7bkK7B8qtI/kcAohZc7bHHGSD7domdrU= X-Endpoint-Received: by B4 Relay for webgeek1234@gmail.com/20250217 with auth_id=342 X-Original-From: Aaron Kling Reply-To: webgeek1234@gmail.com From: Aaron Kling This is used by Tegra210B01 Signed-off-by: Aaron Kling --- drivers/soc/tegra/fuse/fuse-tegra.c | 1 + drivers/soc/tegra/fuse/tegra-apbmisc.c | 45 +++++++++++++++++++-----------= ---- include/soc/tegra/fuse.h | 1 + 3 files changed, 27 insertions(+), 20 deletions(-) diff --git a/drivers/soc/tegra/fuse/fuse-tegra.c b/drivers/soc/tegra/fuse/f= use-tegra.c index 78b054d43a422..a37642dc92c61 100644 --- a/drivers/soc/tegra/fuse/fuse-tegra.c +++ b/drivers/soc/tegra/fuse/fuse-tegra.c @@ -34,6 +34,7 @@ static const char *tegra_revision_name[TEGRA_REVISION_MAX= ] =3D { [TEGRA_REVISION_A03] =3D "A03", [TEGRA_REVISION_A03p] =3D "A03 prime", [TEGRA_REVISION_A04] =3D "A04", + [TEGRA_REVISION_B01] =3D "B01", }; =20 static const char *tegra_platform_name[TEGRA_PLATFORM_MAX] =3D { diff --git a/drivers/soc/tegra/fuse/tegra-apbmisc.c b/drivers/soc/tegra/fus= e/tegra-apbmisc.c index 6af69ccaa295c..8df3bcd148ba7 100644 --- a/drivers/soc/tegra/fuse/tegra-apbmisc.c +++ b/drivers/soc/tegra/fuse/tegra-apbmisc.c @@ -167,30 +167,35 @@ static const struct of_device_id apbmisc_match[] __in= itconst =3D { =20 void __init tegra_init_revision(void) { - u8 chip_id, minor_rev; + u8 chip_id, major_rev, minor_rev; =20 chip_id =3D tegra_get_chip_id(); + major_rev =3D tegra_get_major_rev(); minor_rev =3D tegra_get_minor_rev(); =20 - switch (minor_rev) { - case 1: - tegra_sku_info.revision =3D TEGRA_REVISION_A01; - break; - case 2: - tegra_sku_info.revision =3D TEGRA_REVISION_A02; - break; - case 3: - if (chip_id =3D=3D TEGRA20 && (tegra_fuse_read_spare(18) || - tegra_fuse_read_spare(19))) - tegra_sku_info.revision =3D TEGRA_REVISION_A03p; - else - tegra_sku_info.revision =3D TEGRA_REVISION_A03; - break; - case 4: - tegra_sku_info.revision =3D TEGRA_REVISION_A04; - break; - default: - tegra_sku_info.revision =3D TEGRA_REVISION_UNKNOWN; + if (major_rev > 1) { + tegra_sku_info.revision =3D TEGRA_REVISION_B01; + } else { + switch (minor_rev) { + case 1: + tegra_sku_info.revision =3D TEGRA_REVISION_A01; + break; + case 2: + tegra_sku_info.revision =3D TEGRA_REVISION_A02; + break; + case 3: + if (chip_id =3D=3D TEGRA20 && (tegra_fuse_read_spare(18) || + tegra_fuse_read_spare(19))) + tegra_sku_info.revision =3D TEGRA_REVISION_A03p; + else + tegra_sku_info.revision =3D TEGRA_REVISION_A03; + break; + case 4: + tegra_sku_info.revision =3D TEGRA_REVISION_A04; + break; + default: + tegra_sku_info.revision =3D TEGRA_REVISION_UNKNOWN; + } } =20 tegra_sku_info.sku_id =3D tegra_fuse_read_early(FUSE_SKU_INFO); diff --git a/include/soc/tegra/fuse.h b/include/soc/tegra/fuse.h index 8f421b9f7585c..30db79f7f17fd 100644 --- a/include/soc/tegra/fuse.h +++ b/include/soc/tegra/fuse.h @@ -33,6 +33,7 @@ enum tegra_revision { TEGRA_REVISION_A03, TEGRA_REVISION_A03p, TEGRA_REVISION_A04, + TEGRA_REVISION_B01, TEGRA_REVISION_MAX, }; =20 --=20 2.54.0 From nobody Sat Jul 25 04:55:19 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2A60C3624D4; Fri, 17 Jul 2026 23:19:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784330388; cv=none; b=YvXvu18GKqJIG4YgTCOAhz0gnRd1WTSHtQ0yaXoWcSJBZqoCoRHMDswhL1vDRBN0F9b1h/57XO9LQUTY7JjSKC5elpIMkmNlDBWIkI05T89ECNpMQbX520DZQVHPvPV6wkEA04qzeeHJDxeiV3YYVl4u9BEodw5/eGFY0OZHN6A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784330388; c=relaxed/simple; bh=LY83cZmxXl2/cIIjWcWk0b0AWrSxcUTwngaVE+J9YuE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GijY33QratogVyxhgaIxRgerO4Mvn9VxdmGZo96rZ/bXu00pRWWjzSAnxvyd7Q8VWbq6NMKTYvlC6C3Eb57Kbg7gJ6n8R9Jr6vfrvMlF+LLqROcy6kS+uuJstZiRQ8sWUOPFbUrZgtSpSfG5fobkkaeSZbL5RPycw4ai+ECdk9A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=EdUNFM6u; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="EdUNFM6u" Received: by smtp.kernel.org (Postfix) with ESMTPS id E2606C2BCF6; Fri, 17 Jul 2026 23:19:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1784330387; bh=LY83cZmxXl2/cIIjWcWk0b0AWrSxcUTwngaVE+J9YuE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=EdUNFM6uG/aFEnsjpPpqLG4hgcOqo6GCh7AouZbKBBl7jpoDRjk8D7iOZ23UAoKT3 0180nNn4sdzERCQR90VQA/p5ZMgZ3JzSwi7QFdjngA+Qc+gjdyCPJZhFVAjwBL8D3/ APgUk5GaRrQTS9PXYJ1PcN6FGqgTMVcYI8NGjKXbT9NQvG0nSnW6U6WftWl/HXVQM/ ZiVbFYJplrdicUd48HDyjvlx9TQLuMkSjVTyiHnjMIA6KSgt3jQQB6KSYe7S437XsL 4xQpqxdm05feHhQbOjlKlkwABs35HriiE+wAAxR+wCFlLXUmG6y4TcNTqaofrRTAFN BRyzJpHfpgrIA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C5CA6C44516; Fri, 17 Jul 2026 23:19:47 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Fri, 17 Jul 2026 18:19:41 -0500 Subject: [PATCH 2/2] soc/tegra: fuse: speedo-tegra210: Support revision B01 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260717-t210b01-speedo-v1-2-f04a8bd4d997@gmail.com> References: <20260717-t210b01-speedo-v1-0-f04a8bd4d997@gmail.com> In-Reply-To: <20260717-t210b01-speedo-v1-0-f04a8bd4d997@gmail.com> To: Thierry Reding , Jonathan Hunter Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, Aaron Kling X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784330387; l=1708; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=MpCNnuZSFyAPViuCGbeytNZEJEmN7vi9xjmNQDzdJC4=; b=XUgFStjWOacAnaXYRDUKGpg6DUaSW9k6OeaT98gjvmf+hZUOJI8mY4CX7fpiCc22iRAOVrXGL 1pRBwtTjZ3tDn77v3nJRiVbB0QsCN9RgRMxl8Ze8OJjy80MgQN1Tso+ X-Developer-Key: i=webgeek1234@gmail.com; a=ed25519; pk=TQwd6q26txw7bkK7B8qtI/kcAohZc7bHHGSD7domdrU= X-Endpoint-Received: by B4 Relay for webgeek1234@gmail.com/20250217 with auth_id=342 X-Original-From: Aaron Kling Reply-To: webgeek1234@gmail.com From: Aaron Kling Tegra210B01 has a separate set of skus and speedo tables Signed-off-by: Aaron Kling Reviewed-by: Mikko Perttunen --- 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/f= use/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_sk= u_info *sku_info, sku_info->gpu_speedo_id =3D 0; *threshold =3D THRESHOLD_INDEX_0; =20 - if (sku_info->revision >=3D TEGRA_REVISION_A02) { + if (sku_info->revision >=3D TEGRA_REVISION_B01) { + sku_info->gpu_speedo_id =3D 1; + + switch (sku) { + case 0x00: /* Engineering SKU */ + case 0x01: /* Engineering SKU */ + case 0x83: + break; + + case 0x87: + sku_info->cpu_speedo_id =3D 3; + break; + + default: + pr_err("Tegra210B01: unknown SKU %#04x\n", sku); + /* Using the default for the error case */ + break; + } + } else if (sku_info->revision >=3D 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 =3D get_speedo_revision(); pr_info("Speedo Revision %u\n", speedo_revision); =20 - if (speedo_revision >=3D 3) { + if (sku_info->revision =3D=3D TEGRA_REVISION_B01 || speedo_revision >=3D = 3) { sku_info->cpu_speedo_value =3D cpu_speedo[0]; sku_info->gpu_speedo_value =3D cpu_speedo[2]; sku_info->soc_speedo_value =3D soc_speedo[0]; --=20 2.54.0