diff options
Diffstat (limited to 'drivers/firmware')
-rw-r--r-- | drivers/firmware/psci.c | 5 | ||||
-rw-r--r-- | drivers/firmware/ti_sci_static_data.h | 39 |
2 files changed, 41 insertions, 3 deletions
diff --git a/drivers/firmware/psci.c b/drivers/firmware/psci.c index c6b9efab41c..03544d76ed4 100644 --- a/drivers/firmware/psci.c +++ b/drivers/firmware/psci.c @@ -135,10 +135,13 @@ static int bind_smccc_features(struct udevice *dev, int psci_method) PSCI_VERSION_MAJOR(psci_0_2_get_version()) == 0) return 0; - if (request_psci_features(ARM_SMCCC_ARCH_FEATURES) == + if (request_psci_features(ARM_SMCCC_VERSION) == PSCI_RET_NOT_SUPPORTED) return 0; + if (invoke_psci_fn(ARM_SMCCC_VERSION, 0, 0, 0) < ARM_SMCCC_VERSION_1_1) + return 0; + if (psci_method == PSCI_METHOD_HVC) pdata->invoke_fn = smccc_invoke_hvc; else diff --git a/drivers/firmware/ti_sci_static_data.h b/drivers/firmware/ti_sci_static_data.h index 567ce8911a7..9662bd95f28 100644 --- a/drivers/firmware/ti_sci_static_data.h +++ b/drivers/firmware/ti_sci_static_data.h @@ -84,7 +84,8 @@ static struct ti_sci_resource_static_data rm_static_data[] = { }; #endif /* CONFIG_SOC_K3_J721S2 */ -#if IS_ENABLED(CONFIG_SOC_K3_AM625) || IS_ENABLED(CONFIG_SOC_K3_AM62A7) +#if IS_ENABLED(CONFIG_SOC_K3_AM625) || IS_ENABLED(CONFIG_SOC_K3_AM62A7) || \ + IS_ENABLED(CONFIG_SOC_K3_AM62P5) static struct ti_sci_resource_static_data rm_static_data[] = { /* BC channels */ { @@ -95,7 +96,41 @@ static struct ti_sci_resource_static_data rm_static_data[] = { }, { }, }; -#endif /* CONFIG_SOC_K3_AM625 || CONFIG_SOC_K3_AM62A7 */ +#endif /* CONFIG_SOC_K3_AM625 || CONFIG_SOC_K3_AM62A7 || CONFIG_SOC_K3_AM62P5 */ + +#if IS_ENABLED(CONFIG_SOC_K3_J784S4) +static struct ti_sci_resource_static_data rm_static_data[] = { + /* Free rings */ + { + .dev_id = 328, + .subtype = 1, + .range_start = 208, + .range_num = 32, + }, + /* TX channels */ + { + .dev_id = 329, + .subtype = 13, + .range_start = 40, + .range_num = 3, + }, + /* RX channels */ + { + .dev_id = 329, + .subtype = 10, + .range_start = 40, + .range_num = 3, + }, + /* RX Free flows */ + { + .dev_id = 329, + .subtype = 0, + .range_start = 84, + .range_num = 8, + }, + { }, +}; +#endif /* CONFIG_SOC_K3_J784S4 */ #else static struct ti_sci_resource_static_data rm_static_data[] = { |