On 18/11/2019 13:10, 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> > --- > Changes in v2: > - use the new Tegra194 register definitions > > drivers/soc/tegra/pmc.c | 43 ++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 42 insertions(+), 1 deletion(-) > > diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c > index 1916899d09a3..ea0e11a09c12 100644 > --- a/drivers/soc/tegra/pmc.c > +++ b/drivers/soc/tegra/pmc.c > @@ -2926,6 +2926,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, > +}; > + > +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), > @@ -2943,11 +2980,15 @@ static const struct tegra_pmc_soc tegra194_pmc_soc = { > .maybe_tz_only = false, > .num_io_pads = ARRAY_SIZE(tegra194_io_pads), > .io_pads = tegra194_io_pads, > - .regs = &tegra186_pmc_regs, > + .regs = &tegra194_pmc_regs, > .init = NULL, > .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, > }; > Acked-by: Jon Hunter <jonthanh@xxxxxxxxxx> Cheers Jon -- nvpublic