On Thu, Nov 17, 2016 at 05:28:53PM +0000, Sudeep Holla wrote: > > > On 17/11/16 17:16, Thierry Reding wrote: > > From: Thierry Reding > > > > The power management controller on Tegra186 has changed in backwards- > > incompatible ways with respect to earlier generations. This implements a > > new driver that supports inversion of the PMU interrupt as well as the > > "recovery", "bootloader" and "forced-recovery" reboot commands. > > > > Signed-off-by: Thierry Reding > > --- > > .../bindings/arm/tegra/nvidia,tegra186-pmc.txt | 34 +++++ > > drivers/soc/tegra/Makefile | 2 +- > > drivers/soc/tegra/pmc-tegra186.c | 169 +++++++++++++++++++++ > > 3 files changed, 204 insertions(+), 1 deletion(-) > > create mode 100644 Documentation/devicetree/bindings/arm/tegra/nvidia,tegra186-pmc.txt > > create mode 100644 drivers/soc/tegra/pmc-tegra186.c > > > > [...] > > > diff --git a/drivers/soc/tegra/pmc-tegra186.c b/drivers/soc/tegra/pmc-tegra186.c > > new file mode 100644 > > index 000000000000..ee28eddd8e3c > > --- /dev/null > > +++ b/drivers/soc/tegra/pmc-tegra186.c > > [...] > > > + > > + /* > > + * If available, call the system restart implementation that was > > + * registered earlier (typically PSCI). > > + */ > > + if (pmc->system_restart) { > > + pmc->system_restart(reboot_mode, cmd); > > + return NOTIFY_DONE; > > + } > > + > > IIUC, Tegra186 implements PSCI v1.0 and it always takes above path. > So what other platforms does this driver support ? The name is > pmc-tegra186.c, hence the confusion. It's technically possible to run Tegra186 without PSCI enabled, or even boot it with firmware that doesn't implement PSCI. In such cases it would be nice to still be able to reboot via the PMC code above. Thierry