On 18/11/2019 06:33, Thierry Reding wrote: > From: Thierry Reding <treding@xxxxxxxxxx> > > Tegra194 supports the same reset levels as Tegra186 but extends the set > of reset sources. Provide custom PMC register definitions to account for > the larger field for the reset sources as well as the updated list of > reset sources. > > Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> > --- > drivers/soc/tegra/pmc.c | 41 +++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 41 insertions(+) > > diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c > index 32b3e8d9155f..63195281718d 100644 > --- a/drivers/soc/tegra/pmc.c > +++ b/drivers/soc/tegra/pmc.c > @@ -2927,6 +2927,43 @@ static const struct tegra_io_pad_soc tegra194_io_pads[] = { > { .id = TEGRA_IO_PAD_AUDIO_HV, .dpd = 61, .voltage = UINT_MAX }, > }; > > +static const struct tegra_pmc_regs tegra194_pmc_regs = { > + .scratch0 = 0x2000, > + .dpd_req = 0x74, > + .dpd_status = 0x78, > + .dpd2_req = 0x7c, > + .dpd2_status = 0x80, > + .rst_status = 0x70, > + .rst_source_shift = 0x2, > + .rst_source_mask = 0x7c, > + .rst_level_shift = 0x0, > + .rst_level_mask = 0x3, > +}; > + You added the regs here, but ... > +static const char * const tegra194_reset_sources[] = { > + "SYS_RESET_N", > + "AOWDT", > + "BCCPLEXWDT", > + "BPMPWDT", > + "SCEWDT", > + "SPEWDT", > + "APEWDT", > + "LCCPLEXWDT", > + "SENSOR", > + "AOTAG", > + "VFSENSOR", > + "MAINSWRST", > + "SC7", > + "HSM", > + "CSITE", > + "RCEWDT", > + "PVA0WDT", > + "PVA1WDT", > + "L1A_ASYNC", > + "BPMPBOOT", > + "FUSECRC", > +}; > + > static const struct tegra_wake_event tegra194_wake_events[] = { > TEGRA_WAKE_GPIO("power", 29, 1, TEGRA194_AON_GPIO(EE, 4)), > TEGRA_WAKE_IRQ("rtc", 73, 10), > @@ -2949,6 +2986,10 @@ static const struct tegra_pmc_soc tegra194_pmc_soc = { > .setup_irq_polarity = tegra186_pmc_setup_irq_polarity, > .irq_set_wake = tegra186_pmc_irq_set_wake, > .irq_set_type = tegra186_pmc_irq_set_type, > + .reset_sources = tegra194_reset_sources, > + .num_reset_sources = ARRAY_SIZE(tegra194_reset_sources), > + .reset_levels = tegra186_reset_levels, > + .num_reset_levels = ARRAY_SIZE(tegra186_reset_levels), > .num_wake_events = ARRAY_SIZE(tegra194_wake_events), > .wake_events = tegra194_wake_events, > }; .. but does not look like you updated the above to use the new register struct. Looks like it still uses the Tegra186 regs. Jon -- nvpublic