soc/tegra: Changes for v6.19-rc1

A couple of small fixes across the board: ACPI support on FUSE no longer
 exposes duplicate SoC information, speedo IDs for Tegra210 are updated,
 some comments see typo fixes or kerneldoc additions. Finally, support
 for USB wake events is added on Tegra234, which allow these systems to
 resume from suspend on USB activity.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmkYO7YACgkQ3SOs138+
 s6GjLhAAtZYYBEib28eSySwVdXp7EJj4HZadp0c54h0Q7UUOUkj6Wcvly7H9Tds6
 qaIc+LpakgDbIJXfYS1uEe1L69QqR0BhUrLPxQFxJB/QDJOsqt7LGrCAV9ylQWSM
 K6hD9/+vFpri4hPajM51kuyuZO7a5Df5keooq1/jQyVJ1I6N19m2NR1IygrO/wEt
 gY271o64eFL0gsUX4rjB+N9DrWHVON8f8O9NIEvdKYF5Zkg5/PY+y6KKkZhpf38H
 0J4yo8+EQObObx9RVvcy3wJ9Xq49P+aWMxXeP64VlcRhyXiiTGnIIplAoYvhOzNv
 zqLF7R4YhmV+DLIEgw4MAnVVR59lRZKcNaLbd0Uq9uaeKazvg5hUZdOAU92Bxp0N
 nRNbkeXekE0KSMTQtAd3Chu8Qukbjs+KtT9EUJhtPOLOp7yB7M1IpfGMbQ4bB8+0
 mHmzA2atEcC1e0l7dhhfwyjG5+BnV8wcVvSOSmO+uRyKbuSXM1XiRPBXXfO3dAfY
 wPDqGMhUIonPRt9mmCYVWruBRGC+dwcdzIFURsHFFNjBdzFD4ksTnBBsaDWr0RxH
 Zy5AYssL/DB7ivjzj7OMotKkHS/fnY4CV4E1b/67ecCeLHhnAL2ljE+a7YE1EDuO
 fZKDySQ/pYTAWtT5EV1uauDScOHC6icV+oton4zoq5bkCh3wdew=
 =qeBh
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmklgCIACgkQmmx57+YA
 GNmvEQ//ae9ERAzSzw4iW+HIdYKy3rCZvE6uayruQilYRB9c4PbpcLa3L9c9yj1R
 BFskUE9SBTBOtH+fRteS1Y/DugzC/8AiZ0TnwZ7b/2ynsTOCy/+5WlFYMUGGOauP
 qCrwRwbxVDN0OQD8avfqgAfiahvRz7mfDAmJ4jCqNwwTwJqsOl820WSZlOgUl3cX
 F3wGBKDc2ggcNNYbFarJQRLGV8yPF1o++w4JqUbPhz7wThYp0q12l4uTFm766GpM
 O3JhH8bqeVRrmU0oyOQjXQNFJ/36egcR3yIvrLf97XMAkDPNXuW6+zRLfDF1jZE/
 A6Wr2gHBya2pUxayGYNqitcCYDBUxjG3NluHYDGWBmbh7TGXO8MPWP2Qyw3hDzxi
 Jcv6ObNt3+MVZzQIn5xR+8lxIWCHb51CRywMbNuQGcpu3/+gFBuP2S3kWOI4UhrL
 miMqkKi2OuUi1JoRKxkvC3mKDFmM8Oq2qVxidirAXKfwVj7Uksd9xpRX9reRa8Z0
 SaEQKr+RwWXKTumct8aVaPVtXVLhDaYiNATypyqR3YQ0CI1uRAlAdvMZRX6QLTn0
 lncBmN79svBtawBhZbSZtJHdqVtdKPWjgTiV8UW5CpNUevSNbMwVN3Q5DVnNjzD9
 xV135iOl8GfptFFS4gqO2Loca1tClPDv8qHIXG8KPOE0MCppr9w=
 =Eh4e
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-6.19-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers

soc/tegra: Changes for v6.19-rc1

A couple of small fixes across the board: ACPI support on FUSE no longer
exposes duplicate SoC information, speedo IDs for Tegra210 are updated,
some comments see typo fixes or kerneldoc additions. Finally, support
for USB wake events is added on Tegra234, which allow these systems to
resume from suspend on USB activity.

* tag 'tegra-for-6.19-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: pmc: Add USB wake events for Tegra234
  soc/tegra: pmc: Document tegra_pmc.syscore field
  soc/tegra: pmc: Don't fail if "aotag" is not present
  soc/tegra: fuse: speedo-tegra210: Add SoC speedo 2
  soc/tegra: fuse: speedo-tegra210: Update speedo IDs
  soc/tegra: Resolve a spelling error in the tegra194-cbb.c
  soc/tegra: fuse: Do not register SoC device on ACPI boot

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2025-11-25 10:49:03 +01:00
commit aee7ea4681
4 changed files with 61 additions and 23 deletions

View File

@ -1836,7 +1836,7 @@ print_errlog1_2(struct seq_file *file, struct tegra194_cbb *cbb,
}
/*
* Print transcation type, error code and description from ErrLog0 for all
* Print transaction type, error code and description from ErrLog0 for all
* errors. For NOC target errors, all relevant error info is printed using
* ErrLog0 only. But additional information is printed for errors from
* APB targets because for them:

View File

@ -182,8 +182,6 @@ static int tegra_fuse_probe(struct platform_device *pdev)
}
fuse->soc->init(fuse);
tegra_fuse_print_sku_info(&tegra_sku_info);
tegra_soc_device_register();
err = tegra_fuse_add_lookups(fuse);
if (err)

View File

@ -65,27 +65,52 @@ static void __init rev_sku_to_speedo_ids(struct tegra_sku_info *sku_info,
sku_info->gpu_speedo_id = 0;
*threshold = THRESHOLD_INDEX_0;
switch (sku) {
case 0x00: /* Engineering SKU */
case 0x01: /* Engineering SKU */
case 0x07:
case 0x17:
case 0x27:
if (speedo_rev >= 2)
if (sku_info->revision >= TEGRA_REVISION_A02) {
switch (sku) {
case 0x00: /* Engineering SKU */
case 0x01: /* Engineering SKU */
case 0x13:
sku_info->cpu_speedo_id = 5;
sku_info->gpu_speedo_id = 2;
break;
case 0x07:
case 0x17:
case 0x1F:
sku_info->cpu_speedo_id = 7;
sku_info->gpu_speedo_id = 2;
break;
case 0x27:
sku_info->cpu_speedo_id = 1;
sku_info->gpu_speedo_id = 2;
break;
case 0x83:
sku_info->cpu_speedo_id = 3;
sku_info->gpu_speedo_id = 3;
break;
case 0x87:
sku_info->cpu_speedo_id = 2;
sku_info->gpu_speedo_id = 1;
break;
break;
case 0x13:
if (speedo_rev >= 2)
sku_info->gpu_speedo_id = 1;
case 0x8F:
sku_info->soc_speedo_id = 2;
sku_info->cpu_speedo_id = 9;
sku_info->gpu_speedo_id = 2;
break;
sku_info->cpu_speedo_id = 1;
break;
default:
default:
pr_err("Tegra210: unknown revision 2 or newer SKU %#04x\n", sku);
/* Using the default for the error case */
break;
}
} else if (sku == 0x00 || sku == 0x01 || sku == 0x07 || sku == 0x13 || sku == 0x17) {
sku_info->gpu_speedo_id = 1;
} else {
pr_err("Tegra210: unknown SKU %#04x\n", sku);
/* Using the default for the error case */
break;
}
}

View File

@ -423,6 +423,7 @@ struct tegra_pmc_soc {
* @wake_sw_status_map: Bitmap to hold raw status of wakes without mask
* @wake_cntrl_level_map: Bitmap to hold wake levels to be programmed in
* cntrl register associated with each wake during system suspend.
* @syscore: syscore suspend/resume callbacks
*/
struct tegra_pmc {
struct device *dev;
@ -2897,9 +2898,16 @@ static int tegra_pmc_probe(struct platform_device *pdev)
if (IS_ERR(pmc->wake))
return PTR_ERR(pmc->wake);
pmc->aotag = devm_platform_ioremap_resource_byname(pdev, "aotag");
if (IS_ERR(pmc->aotag))
return PTR_ERR(pmc->aotag);
/* "aotag" is an optional aperture */
res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
"aotag");
if (res) {
pmc->aotag = devm_ioremap_resource(&pdev->dev, res);
if (IS_ERR(pmc->aotag))
return PTR_ERR(pmc->aotag);
} else {
pmc->aotag = NULL;
}
/* "scratch" is an optional aperture */
res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
@ -4217,6 +4225,13 @@ static const struct tegra_wake_event tegra234_wake_events[] = {
TEGRA_WAKE_GPIO("power", 29, 1, TEGRA234_AON_GPIO(EE, 4)),
TEGRA_WAKE_GPIO("mgbe", 56, 0, TEGRA234_MAIN_GPIO(Y, 3)),
TEGRA_WAKE_IRQ("rtc", 73, 10),
TEGRA_WAKE_IRQ("usb3-port-0", 76, 167),
TEGRA_WAKE_IRQ("usb3-port-1", 77, 167),
TEGRA_WAKE_IRQ("usb3-port-2-3", 78, 167),
TEGRA_WAKE_IRQ("usb2-port-0", 79, 167),
TEGRA_WAKE_IRQ("usb2-port-1", 80, 167),
TEGRA_WAKE_IRQ("usb2-port-2", 81, 167),
TEGRA_WAKE_IRQ("usb2-port-3", 82, 167),
TEGRA_WAKE_IRQ("sw-wake", SW_WAKE_ID, 179),
};