soc/tegra: Changes for v5.19-rc1

This set of changes adds nvmem cell lookup entries for Tegra194 that are
 used to read calibration data from the SoC fuses, and updates the reset
 sources for Tegra234.
 
 Other than that, included is a minor build fix for a missing dependency
 that can be encountered very rarely in random config builds. Lastly some
 kerneldoc comments are added to avoid build warnings.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmJ1LD8THHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoYh8D/9PZ9Z6MfFP/4mU+LQccO7OW4iw+nUq
 J3LSOby2SRlTBLz0BsgYYoxEd1jDcPTvN9ND9tkmy8I77doVfgq2tcnBxqKZSwdy
 w+mhr68cjx5yy0KieevSb3JSEp6hXL728j1CnxofHFy51NY2yuqcIwNRMEfYYX1d
 UkCGaFnEjU1PvawDSKiruNy2r8oZaPDKXwtkhGxJedQ83CkCtkE2qNHi1GcJogo9
 O8RB7eGIiZflloY83SlhoLm/qILBTGuARKUeXIEC66Ss6tbl1DccJ1i8iZlMr4uV
 mOd+jnCiAkzL+EY9geD8e8cltAPqD5lhIwQB4kseB3Jw0+BRgmSMo/qlKo6zoC2x
 nxaq5haxKAcE+fY1o5/h36hXCD5ZoeSTRlXowyXuLzvLkzhE/tMdC7SqqjTuDMe4
 Yjf4yp50vEnbjdbnSx57yPqT7q1vclcV/or9MkravkV5zSxhzSUgfnuCAabrKNrQ
 a/aiGy1yJD2V3iC1jhTQNaja/e7iUNF+TNmEGLlkZSpLzp9nDHJra5h+BklulGVb
 qApf2o7sc6I5n7iyb+6WypBbHP+sX6PkkNWx4KDvUmsp3jG7LQiJQPdRiq60iicV
 KQ1FqzDjhTyfxxiR2PwDGNZQsyK6DO3qST1oqk3pav55G6aHLsQx4+g3+tFIMhnN
 oXskT6rAWqmjyw==
 =Gmv7
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJ1gNEACgkQmmx57+YA
 GNnOGg//bt18Pfhk53a9cLhiJEip4xkJ3uC0mAVZGGWLEGuxSjUDcS2KGnUQNgCV
 2T+WAIcPVW1gpoQriDGqEJtDGSeiwSqGFuyndeAJZLZunPB4hGcUA/js21yhfZNb
 DVPyi9MT2DHQLIveSN3BFOjulBsKTNG86MZ9Y/wlboDZCEblIzutnx7E2BKULrlj
 8FADgd0Smk4giUoucelfn8Vt0B4ECl4+PZOpM5Gau3iTd2Ku++Sd42NZEIv4QFOx
 7/WJAhDsFc/ZH1D7eJZl3xAECC9u5+Th3ulGFIE0YqmmKOPSTumIX0C1Beg8J9RA
 9V5PQ6zrPoevpFct+JdHmqRDh1XPBp/OrPazj8Kommm3HZaP1mEpBwFswUk9ElkG
 CInmEMRCDl4bZaUcwZX9vkoaKTfILDPQp32nFHZcznkJUu3AVdOz+cS90WSp6vC0
 aX+5PGUv0WAkxXUNP1sNjDn4yLT+lJhGYYsna4ocVLx6UBlDET6VzmXZ4fjojbWh
 3VUC5xCEm+JQBONmbnYNoX8VQe6zkCKruESBpOqNA8+AQfrsRVdqTQ4At40+znJ7
 HmoHVHEvYXE1SJgSo8GisG4hnrrXLWTAkzVfh51YEfXywBLB067ToLquNjS8a0eS
 J/80qkkS5RgOfun0cuGWKRXmvDrzZGQJjhbAdDj4sQSyrNWf1+A=
 =S4fJ
 -----END PGP SIGNATURE-----

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

soc/tegra: Changes for v5.19-rc1

This set of changes adds nvmem cell lookup entries for Tegra194 that are
used to read calibration data from the SoC fuses, and updates the reset
sources for Tegra234.

Other than that, included is a minor build fix for a missing dependency
that can be encountered very rarely in random config builds. Lastly some
kerneldoc comments are added to avoid build warnings.

* tag 'tegra-for-5.19-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: pmc: Document core domain fields
  soc/tegra: pmc: Select REGMAP
  soc/tegra: pmc: Update Tegra234 reset sources
  soc/tegra: fuse: Add nvmem cell lookup entries for Tegra194

Link: https://lore.kernel.org/r/20220506143005.3916655-2-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2022-05-06 22:10:56 +02:00
commit 68edb53a4f
4 changed files with 48 additions and 13 deletions

View File

@ -146,6 +146,7 @@ config SOC_TEGRA_PMC
select GENERIC_PINCONF
select PM_OPP
select PM_GENERIC_DOMAINS
select REGMAP
config SOC_TEGRA_POWERGATE_BPMP
def_bool y

View File

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2013-2021, NVIDIA CORPORATION. All rights reserved.
* Copyright (c) 2013-2022, NVIDIA CORPORATION. All rights reserved.
*/
#include <linux/clk.h>
@ -162,7 +162,7 @@ static const struct nvmem_cell_info tegra_fuse_cells[] = {
.bit_offset = 0,
.nbits = 32,
}, {
.name = "gcplex-config-fuse",
.name = "gpu-gcplex-config-fuse",
.offset = 0x1c8,
.bytes = 4,
.bit_offset = 0,
@ -186,13 +186,13 @@ static const struct nvmem_cell_info tegra_fuse_cells[] = {
.bit_offset = 0,
.nbits = 32,
}, {
.name = "pdi0",
.name = "gpu-pdi0",
.offset = 0x300,
.bytes = 4,
.bit_offset = 0,
.nbits = 32,
}, {
.name = "pdi1",
.name = "gpu-pdi1",
.offset = 0x304,
.bytes = 4,
.bit_offset = 0,

View File

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2013-2014, NVIDIA CORPORATION. All rights reserved.
* Copyright (c) 2013-2022, NVIDIA CORPORATION. All rights reserved.
*/
#include <linux/device.h>
@ -344,6 +344,21 @@ static const struct nvmem_cell_lookup tegra194_fuse_lookups[] = {
.cell_name = "xusb-pad-calibration-ext",
.dev_id = "3520000.padctl",
.con_id = "calibration-ext",
}, {
.nvmem_name = "fuse",
.cell_name = "gpu-gcplex-config-fuse",
.dev_id = "17000000.gpu",
.con_id = "gcplex-config-fuse",
}, {
.nvmem_name = "fuse",
.cell_name = "gpu-pdi0",
.dev_id = "17000000.gpu",
.con_id = "pdi0",
}, {
.nvmem_name = "fuse",
.cell_name = "gpu-pdi1",
.dev_id = "17000000.gpu",
.con_id = "pdi1",
},
};

View File

@ -394,6 +394,8 @@ struct tegra_pmc_soc {
* @domain: IRQ domain provided by the PMC
* @irq: chip implementation for the IRQ domain
* @clk_nb: pclk clock changes handler
* @core_domain_state_synced: flag marking the core domain's state as synced
* @core_domain_registered: flag marking the core domain as registered
*/
struct tegra_pmc {
struct device *dev;
@ -3766,7 +3768,7 @@ static const struct tegra_pmc_regs tegra234_pmc_regs = {
};
static const char * const tegra234_reset_sources[] = {
"SYS_RESET_N",
"SYS_RESET_N", /* 0x0 */
"AOWDT",
"BCCPLEXWDT",
"BPMPWDT",
@ -3774,19 +3776,36 @@ static const char * const tegra234_reset_sources[] = {
"SPEWDT",
"APEWDT",
"LCCPLEXWDT",
"SENSOR",
"AOTAG",
"VFSENSOR",
"SENSOR", /* 0x8 */
NULL,
NULL,
"MAINSWRST",
"SC7",
"HSM",
"CSITE",
NULL,
"RCEWDT",
"PVA0WDT",
"PVA1WDT",
"L1A_ASYNC",
NULL, /* 0x10 */
NULL,
NULL,
"BPMPBOOT",
"FUSECRC",
"DCEWDT",
"PSCWDT",
"PSC",
"CSITE_SW", /* 0x18 */
"POD",
"SCPM",
"VREFRO_POWERBAD",
"VMON",
"FMON",
"FSI_R5WDT",
"FSI_THERM",
"FSI_R52C0WDT", /* 0x20 */
"FSI_R52C1WDT",
"FSI_R52C2WDT",
"FSI_R52C3WDT",
"FSI_FMON",
"FSI_VMON", /* 0x25 */
};
static const struct tegra_wake_event tegra234_wake_events[] = {