Skip to content

Commit 985da98

Browse files
committed
Merge tag 'tegra-for-6.17-soc' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers
soc/tegra: Updates for v6.17-rc1 The bulk of this is the addition of Tegra264 support for various low- level components. This also adds fabric descriptors for the new Tegra254 and Tegra264 chips. * tag 'tegra-for-6.17-soc' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: soc/tegra: cbb: Add support for CBB fabrics in Tegra254 soc/tegra: cbb: Add support for CBB fabrics in Tegra264 soc/tegra: cbb: Support HW lookup to get timed out target address soc/tegra: cbb: Improve handling for per SoC fabric data soc/tegra: cbb: Make error interrupt enable and status per SoC soc/tegra: cbb: Change master/slave to initiator/target soc/tegra: cbb: Clear ERR_FORCE register with ERR_STATUS soc/tegra: Add Tegra264 APBMISC compatible string soc/tegra: pmc: Add Tegra264 support soc/tegra: Enable support for Tegra264 Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Arnd Bergmann <[email protected]>
2 parents 12702f0 + 84daa15 commit 985da98

File tree

5 files changed

+732
-190
lines changed

5 files changed

+732
-190
lines changed

drivers/soc/tegra/Kconfig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,14 @@ config ARCH_TEGRA_241_SOC
138138
help
139139
Enable support for the NVIDIA Tegra241 SoC.
140140

141+
config ARCH_TEGRA_264_SOC
142+
bool "NVIDIA Tegra264 SoC"
143+
depends on !CPU_BIG_ENDIAN
144+
select MAILBOX
145+
select SOC_TEGRA_PMC
146+
help
147+
Enable support for the NVIDIA Tegra264 SoC.
148+
141149
endif
142150
endif
143151

drivers/soc/tegra/cbb/tegra194-cbb.c

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: GPL-2.0
22
/*
3-
* Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved
3+
* Copyright (c) 2021-2025, NVIDIA CORPORATION. All rights reserved
44
*
55
* The driver handles Error's from Control Backbone(CBB) generated due to
66
* illegal accesses. When an error is reported from a NOC within CBB,
@@ -138,7 +138,7 @@ struct tegra194_cbb_userbits {
138138
struct tegra194_cbb_noc_data {
139139
const char *name;
140140
bool erd_mask_inband_err;
141-
const char * const *master_id;
141+
const char * const *initiator_id;
142142
unsigned int max_aperture;
143143
const struct tegra194_cbb_aperture *noc_aperture;
144144
const char * const *routeid_initflow;
@@ -216,7 +216,7 @@ static const char * const tegra194_axi2apb_error[] = {
216216
"CH2RFIFOF - Ch2 Request FIFO Full interrupt"
217217
};
218218

219-
static const char * const tegra194_master_id[] = {
219+
static const char * const tegra194_initiator_id[] = {
220220
[0x0] = "CCPLEX",
221221
[0x1] = "CCPLEX_DPMU",
222222
[0x2] = "BPMP",
@@ -238,7 +238,7 @@ static const struct tegra_cbb_error tegra194_cbb_errors[] = {
238238
{
239239
.code = "SLV",
240240
.source = "Target",
241-
.desc = "Target error detected by CBB slave"
241+
.desc = "Target error detected by CBB target"
242242
}, {
243243
.code = "DEC",
244244
.source = "Initiator NIU",
@@ -1774,8 +1774,8 @@ static void print_errlog5(struct seq_file *file, struct tegra194_cbb *cbb)
17741774
tegra_cbb_print_err(file, "\t AXI ID\t\t: %#x\n", userbits.axi_id);
17751775
}
17761776

1777-
tegra_cbb_print_err(file, "\t Master ID\t\t: %s\n",
1778-
cbb->noc->master_id[userbits.mstr_id]);
1777+
tegra_cbb_print_err(file, "\t Initiator ID\t\t: %s\n",
1778+
cbb->noc->initiator_id[userbits.mstr_id]);
17791779
tegra_cbb_print_err(file, "\t Security Group(GRPSEC): %#x\n", userbits.grpsec);
17801780
tegra_cbb_print_cache(file, userbits.axcache);
17811781
tegra_cbb_print_prot(file, userbits.axprot);
@@ -1837,14 +1837,14 @@ print_errlog1_2(struct seq_file *file, struct tegra194_cbb *cbb,
18371837

18381838
/*
18391839
* Print transcation type, error code and description from ErrLog0 for all
1840-
* errors. For NOC slave errors, all relevant error info is printed using
1840+
* errors. For NOC target errors, all relevant error info is printed using
18411841
* ErrLog0 only. But additional information is printed for errors from
1842-
* APB slaves because for them:
1843-
* - All errors are logged as SLV(slave) errors due to APB having only single
1842+
* APB targets because for them:
1843+
* - All errors are logged as SLV(target) errors due to APB having only single
18441844
* bit pslverr to report all errors.
18451845
* - Exact cause is printed by reading DMAAPB_X_RAW_INTERRUPT_STATUS register.
18461846
* - The driver prints information showing AXI2APB bridge and exact error
1847-
* only if there is error in any AXI2APB slave.
1847+
* only if there is error in any AXI2APB target.
18481848
* - There is still no way to disambiguate a DEC error from SLV error type.
18491849
*/
18501850
static bool print_errlog0(struct seq_file *file, struct tegra194_cbb *cbb)
@@ -1884,8 +1884,8 @@ static bool print_errlog0(struct seq_file *file, struct tegra194_cbb *cbb)
18841884
/* For all SLV errors, read DMAAPB_X_RAW_INTERRUPT_STATUS
18851885
* register to get error status for all AXI2APB bridges.
18861886
* Print bridge details if a bit is set in a bridge's
1887-
* status register due to error in a APB slave connected
1888-
* to that bridge. For other NOC slaves, none of the status
1887+
* status register due to error in a APB target connected
1888+
* to that bridge. For other NOC targets, none of the status
18891889
* register will be set.
18901890
*/
18911891

@@ -2118,7 +2118,7 @@ static const struct tegra_cbb_ops tegra194_cbb_ops = {
21182118
static struct tegra194_cbb_noc_data tegra194_cbb_central_noc_data = {
21192119
.name = "cbb-noc",
21202120
.erd_mask_inband_err = true,
2121-
.master_id = tegra194_master_id,
2121+
.initiator_id = tegra194_initiator_id,
21222122
.noc_aperture = tegra194_cbbcentralnoc_apert_lookup,
21232123
.max_aperture = ARRAY_SIZE(tegra194_cbbcentralnoc_apert_lookup),
21242124
.routeid_initflow = tegra194_cbbcentralnoc_routeid_initflow,
@@ -2130,7 +2130,7 @@ static struct tegra194_cbb_noc_data tegra194_cbb_central_noc_data = {
21302130
static struct tegra194_cbb_noc_data tegra194_aon_noc_data = {
21312131
.name = "aon-noc",
21322132
.erd_mask_inband_err = false,
2133-
.master_id = tegra194_master_id,
2133+
.initiator_id = tegra194_initiator_id,
21342134
.noc_aperture = tegra194_aonnoc_aperture_lookup,
21352135
.max_aperture = ARRAY_SIZE(tegra194_aonnoc_aperture_lookup),
21362136
.routeid_initflow = tegra194_aonnoc_routeid_initflow,
@@ -2142,7 +2142,7 @@ static struct tegra194_cbb_noc_data tegra194_aon_noc_data = {
21422142
static struct tegra194_cbb_noc_data tegra194_bpmp_noc_data = {
21432143
.name = "bpmp-noc",
21442144
.erd_mask_inband_err = false,
2145-
.master_id = tegra194_master_id,
2145+
.initiator_id = tegra194_initiator_id,
21462146
.noc_aperture = tegra194_bpmpnoc_apert_lookup,
21472147
.max_aperture = ARRAY_SIZE(tegra194_bpmpnoc_apert_lookup),
21482148
.routeid_initflow = tegra194_bpmpnoc_routeid_initflow,
@@ -2154,7 +2154,7 @@ static struct tegra194_cbb_noc_data tegra194_bpmp_noc_data = {
21542154
static struct tegra194_cbb_noc_data tegra194_rce_noc_data = {
21552155
.name = "rce-noc",
21562156
.erd_mask_inband_err = false,
2157-
.master_id = tegra194_master_id,
2157+
.initiator_id = tegra194_initiator_id,
21582158
.noc_aperture = tegra194_scenoc_apert_lookup,
21592159
.max_aperture = ARRAY_SIZE(tegra194_scenoc_apert_lookup),
21602160
.routeid_initflow = tegra194_scenoc_routeid_initflow,
@@ -2166,7 +2166,7 @@ static struct tegra194_cbb_noc_data tegra194_rce_noc_data = {
21662166
static struct tegra194_cbb_noc_data tegra194_sce_noc_data = {
21672167
.name = "sce-noc",
21682168
.erd_mask_inband_err = false,
2169-
.master_id = tegra194_master_id,
2169+
.initiator_id = tegra194_initiator_id,
21702170
.noc_aperture = tegra194_scenoc_apert_lookup,
21712171
.max_aperture = ARRAY_SIZE(tegra194_scenoc_apert_lookup),
21722172
.routeid_initflow = tegra194_scenoc_routeid_initflow,

0 commit comments

Comments
 (0)