soc/tegra: Changes for v6.18-rc1

NVMEM cells are added for Tegra114. These contain calibration data for
 sensors and USB.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmjGXZwACgkQ3SOs138+
 s6FabA//a8Kvab6UPBtbg9wfAHvf+VS3RgtEpztmJEYlo4Tss0sOP8uc5+7Y7luy
 A5IRaBZuXmEn0OGG6LifLkGxoHG9DeSbPFMmz3lSvMnIBUQVoMgDTz+tzAmuwyPq
 16WixPvVfYTlLb8zNophAOllUU0x3jBKQx36SJ9bEk/rypwDGsPsUcK8czJ2SvM1
 3HkRaZ1rTyN9+dU2OUS8wxg29oLqn19vteikaEM3DTgqD8HgYjkPbGfPeBXAHBFS
 jbrQ84PSBnv1/vQWgrIBXyP3k97OvafYMd+9qRRhDpZUmntt/VA1l++gB6g15b6n
 FA+Ff0Zv2ginYMAWnc112aFkz0zSzJ6udtPaToWlQW2wUanrfkABu1QsMphSPaKS
 WzrgHrasJx6QMU7Mhlvg2m2veilwX5JIjWnjTGeSYS6WGDX4w+clwpAsTmcCH/8R
 8f1ZboHqlvTIiw7xT0cSEjXdGTXwPhce1jzvIZ0Nd94sCnFFEX4+fkN1EKAZFzvx
 nsABtcKO4lLXIbyGkMEbkBABQ/gQunDOFceoTWU7S92KlSbiVBdt5W0JgR8SoHgy
 Ijq2ve8K1hsUZYfLpAz8pN/I+tnoxWgvYl0TP4C0tjzIjebpIBkg32Xiz5eEsA5f
 Tk3uXzt5TqNXVI+RGcfCcPCAWh/Ab5pbOsdjk4j5cVAYsCstaR4=
 =JWiz
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjIINIACgkQmmx57+YA
 GNmOABAArHJHIbTPM8hNZ66gV7mvtteCdsgSYqEtBuGj9OyjW6cb/dTVQVprwRxV
 TYYHvB2UPYSHm98LhCqYkJS8Z6k2CwIusDJg7mUTjin6kjlCbL0GdAr4iwE0wzit
 Y0V6g2M1+kkH1w1402xzR1xOr1FZMkzAIWW4cq3jKCN2n8SMe7SezbiBsQuPVaFm
 7HQFxeUqv0NtT//v0L0LpnL71G2Hu87GIFND29I9mBv18Ew4HPyh1K9ooLfYeHY+
 +AIzU8lGdQxkwSFHezsOva6eaT04cryGjl+uvjEQOPazLV58SzkspMsHCGEPooof
 vrta2MlSsDwz3LU+HhYMJHhKdJdQv+AHSCEIW4kYr2RMfwlL4ixWimb0+s3UXohQ
 buygwlGQfP+b/F05q7S5fiRWgFDKUgoOD6bjvErlrJ4dkEZZyxKRMqqj09hdf2Bm
 nTZcKlZXm5V8Y2oSFaey9TMlUxch+FKRfIFBRsM6bVckfTtxwqXcuGFJJ7+Ylr6t
 eO80FW6i5/QJ9XI6X2ussKcWWYIyJHH9wa+lqDou+A4R/Cn/zUyBap+GcKt8O6YJ
 4tR6w+uWIZ5pu9lXI7OFggc5K7PexhFU/uPg/HuzjvGphXw4hYV264p7MvDuKfEl
 0V8zh99GvXGzm1E6N3sWYkhl4ngaxYDUnZYvyl0FsW87PVBkdy0=
 =UvP9
 -----END PGP SIGNATURE-----

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

soc/tegra: Changes for v6.18-rc1

NVMEM cells are added for Tegra114. These contain calibration data for
sensors and USB.

* tag 'tegra-for-6.18-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: fuse: Add Tegra114 nvmem cells and fuse lookups

Link: https://lore.kernel.org/r/20250914063927.89981-2-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2025-09-15 16:21:00 +02:00
commit b7c0fe1654

View File

@ -117,6 +117,124 @@ const struct tegra_fuse_soc tegra30_fuse_soc = {
#endif
#ifdef CONFIG_ARCH_TEGRA_114_SOC
static const struct nvmem_cell_info tegra114_fuse_cells[] = {
{
.name = "tsensor-cpu1",
.offset = 0x084,
.bytes = 4,
.bit_offset = 0,
.nbits = 32,
}, {
.name = "tsensor-cpu2",
.offset = 0x088,
.bytes = 4,
.bit_offset = 0,
.nbits = 32,
}, {
.name = "tsensor-common",
.offset = 0x08c,
.bytes = 4,
.bit_offset = 0,
.nbits = 32,
}, {
.name = "tsensor-cpu0",
.offset = 0x098,
.bytes = 4,
.bit_offset = 0,
.nbits = 32,
}, {
.name = "xusb-pad-calibration",
.offset = 0x0f0,
.bytes = 4,
.bit_offset = 0,
.nbits = 32,
}, {
.name = "tsensor-cpu3",
.offset = 0x12c,
.bytes = 4,
.bit_offset = 0,
.nbits = 32,
}, {
.name = "tsensor-gpu",
.offset = 0x154,
.bytes = 4,
.bit_offset = 0,
.nbits = 32,
}, {
.name = "tsensor-mem0",
.offset = 0x158,
.bytes = 4,
.bit_offset = 0,
.nbits = 32,
}, {
.name = "tsensor-mem1",
.offset = 0x15c,
.bytes = 4,
.bit_offset = 0,
.nbits = 32,
}, {
.name = "tsensor-pllx",
.offset = 0x160,
.bytes = 4,
.bit_offset = 0,
.nbits = 32,
},
};
static const struct nvmem_cell_lookup tegra114_fuse_lookups[] = {
{
.nvmem_name = "fuse",
.cell_name = "xusb-pad-calibration",
.dev_id = "7009f000.padctl",
.con_id = "calibration",
}, {
.nvmem_name = "fuse",
.cell_name = "tsensor-common",
.dev_id = "700e2000.thermal-sensor",
.con_id = "common",
}, {
.nvmem_name = "fuse",
.cell_name = "tsensor-cpu0",
.dev_id = "700e2000.thermal-sensor",
.con_id = "cpu0",
}, {
.nvmem_name = "fuse",
.cell_name = "tsensor-cpu1",
.dev_id = "700e2000.thermal-sensor",
.con_id = "cpu1",
}, {
.nvmem_name = "fuse",
.cell_name = "tsensor-cpu2",
.dev_id = "700e2000.thermal-sensor",
.con_id = "cpu2",
}, {
.nvmem_name = "fuse",
.cell_name = "tsensor-cpu3",
.dev_id = "700e2000.thermal-sensor",
.con_id = "cpu3",
}, {
.nvmem_name = "fuse",
.cell_name = "tsensor-mem0",
.dev_id = "700e2000.thermal-sensor",
.con_id = "mem0",
}, {
.nvmem_name = "fuse",
.cell_name = "tsensor-mem1",
.dev_id = "700e2000.thermal-sensor",
.con_id = "mem1",
}, {
.nvmem_name = "fuse",
.cell_name = "tsensor-gpu",
.dev_id = "700e2000.thermal-sensor",
.con_id = "gpu",
}, {
.nvmem_name = "fuse",
.cell_name = "tsensor-pllx",
.dev_id = "700e2000.thermal-sensor",
.con_id = "pllx",
},
};
static const struct tegra_fuse_info tegra114_fuse_info = {
.read = tegra30_fuse_read,
.size = 0x2a0,
@ -127,6 +245,10 @@ const struct tegra_fuse_soc tegra114_fuse_soc = {
.init = tegra30_fuse_init,
.speedo_init = tegra114_init_speedo_data,
.info = &tegra114_fuse_info,
.lookups = tegra114_fuse_lookups,
.num_lookups = ARRAY_SIZE(tegra114_fuse_lookups),
.cells = tegra114_fuse_cells,
.num_cells = ARRAY_SIZE(tegra114_fuse_cells),
.soc_attr_group = &tegra_soc_attr_group,
.clk_suspend_on = false,
};