neutron requires more memory to support large size firmware, merge
dtcm and dtcm-ring buffer for larger contiguous memory.
Signed-off-by: Jiwei.Fu <jiwei.fu@nxp.com>
Reviewed-by: Forrest Shi <xuelin.shi@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Jason Liu <jason.hui.liu@nxp.com>
If neutron NPU is powered off, kernel will crash when calling probe()->neutron_rproc_addr_init()->writel(),
power up the NPU via power-management interface before calling neutron_rproc_addr_init() in probe().
This patch ensures that there are no erros when probing this rproc driver,
the full PM function is available in neutron driver (drivers/staging/neutron).
Without this patch, we would observe the following crash issue if NPU is power off.
[ 1.217714] Hardware name: NXP i.MX95 19X19 board (DT)
[ 1.217716] Call trace:
[ 1.217718] dump_backtrace+0x94/0xec
[ 1.217726] show_stack+0x18/0x24
[ 1.217731] dump_stack_lvl+0x48/0x60
[ 1.217736] dump_stack+0x18/0x24
[ 1.217740] panic+0x318/0x370
[ 1.217745] nmi_panic+0x8c/0x90
[ 1.217749] arm64_serror_panic+0x6c/0x78
[ 1.217752] arm64_is_fatal_ras_serror+0x3c/0xb4
[ 1.217756] do_serror+0x60/0x78
[ 1.217759] el1h_64_error_handler+0x34/0x4c
[ 1.217765] el1h_64_error+0x64/0x68
[ 1.217768] rproc_add+0x0/0x17c
[ 1.217773] platform_probe+0x68/0xd8
[ 1.217779] really_probe+0x110/0x280
[ 1.217783] __driver_probe_device+0x78/0x12c
[ 1.217787] driver_probe_device+0x3c/0x118
[ 1.217790] __driver_attach+0x74/0x124
[ 1.217794] bus_for_each_dev+0x78/0xe0
[ 1.217797] driver_attach+0x24/0x30
[ 1.217800] bus_add_driver+0xe4/0x1e8
[ 1.217803] driver_register+0x60/0x128
[ 1.217807] __platform_driver_register+0x28/0x34
[ 1.217811] neutron_rproc_driver_init+0x1c/0x28
[ 1.217818] do_one_initcall+0x70/0x1b8
[ 1.217821] kernel_init_freeable+0x1dc/0x2a4
[ 1.217827] kernel_init+0x24/0x12c
[ 1.217831] ret_from_fork+0x10/0x20
Signed-off-by: Jiwei Fu <jiwei.fu@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
NXP Neutron Neural Processing Unit (NPU) is a highly scalable accelerator
providing machine learning (ML) acceleration.
The Neutron NPU firmware is loaded via the remote-proc framework.
Signed-off-by: Jiwei Fu <jiwei.fu@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>