Also handle psci 1.0. This can be seen as a bug fix update for the 0.2
specification we already support, with the only changes in functions we don't currently use. Sponsored by: DARPA, AFRL
This commit is contained in:
parent
d7026b9671
commit
845ed71645
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=324368
@ -97,6 +97,7 @@ struct psci_softc *psci_softc = NULL;
|
|||||||
|
|
||||||
#ifdef FDT
|
#ifdef FDT
|
||||||
static struct ofw_compat_data compat_data[] = {
|
static struct ofw_compat_data compat_data[] = {
|
||||||
|
{"arm,psci-1.0", (uintptr_t)psci_v0_2_init},
|
||||||
{"arm,psci-0.2", (uintptr_t)psci_v0_2_init},
|
{"arm,psci-0.2", (uintptr_t)psci_v0_2_init},
|
||||||
{"arm,psci", (uintptr_t)psci_v0_1_init},
|
{"arm,psci", (uintptr_t)psci_v0_1_init},
|
||||||
{NULL, 0}
|
{NULL, 0}
|
||||||
@ -332,9 +333,11 @@ psci_fdt_callfn(psci_callfn_t *callfn)
|
|||||||
phandle_t node;
|
phandle_t node;
|
||||||
|
|
||||||
node = ofw_bus_find_compatible(OF_peer(0), "arm,psci-0.2");
|
node = ofw_bus_find_compatible(OF_peer(0), "arm,psci-0.2");
|
||||||
|
if (node == 0) {
|
||||||
|
node = ofw_bus_find_compatible(OF_peer(0), "arm,psci-1.0");
|
||||||
if (node == 0)
|
if (node == 0)
|
||||||
/* TODO: Handle psci 0.1 */
|
|
||||||
return (PSCI_MISSING);
|
return (PSCI_MISSING);
|
||||||
|
}
|
||||||
|
|
||||||
*callfn = psci_fdt_get_callfn(node);
|
*callfn = psci_fdt_get_callfn(node);
|
||||||
return (0);
|
return (0);
|
||||||
|
Loading…
Reference in New Issue
Block a user