From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Robinson Date: Thu, 18 Jun 2020 16:44:14 +0100 Subject: [PATCH 1/2] firmware: PSCI: Fix PSCI support for OF live trees In-Reply-To: <20200618115439.25100-1-jonathanh@nvidia.com> References: <20200618115439.25100-1-jonathanh@nvidia.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Thu, Jun 18, 2020 at 12:55 PM Jon Hunter wrote: > > When CONFIG_OF_LIVE is enabled, dev_of_offset() cannot be used and > if used returns an invalid offset. This causes the call to > fdt_stringlist_get() in the psci_probe() to fail to read the 'method' > property from the PSCI node for the device and hence prevents PSCI > from working. Fix this by using the ofnode_read_string() API instead > of the fdt_stringlist_get() because this will handle reading the > property both when CONFIG_OF_LIVE is enabled or disabled. > > Due to the above problem and since commit 81ea00838c68 ("efi_loader: > PSCI reset and shutdown") was added, the EFI system reset has been > broken for Tegra210 and Tegra196 platforms. This also fixes the EFI > system reset for these Tegra platforms. > > Signed-off-by: Jon Hunter Tested-by: Peter Robinson Tested on the Jetson Nano and it now reboots as expected. > --- > drivers/firmware/psci.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/firmware/psci.c b/drivers/firmware/psci.c > index e0d66d74f54d..23cf807591c4 100644 > --- a/drivers/firmware/psci.c > +++ b/drivers/firmware/psci.c > @@ -67,11 +67,9 @@ static int psci_bind(struct udevice *dev) > > static int psci_probe(struct udevice *dev) > { > - DECLARE_GLOBAL_DATA_PTR; > const char *method; > > - method = fdt_stringlist_get(gd->fdt_blob, dev_of_offset(dev), "method", > - 0, NULL); > + method = ofnode_read_string(dev_ofnode(dev), "method"); > if (!method) { > pr_warn("missing \"method\" property\n"); > return -ENXIO; > -- > 2.17.1 >