RTEMS | Improve arm/xilinx-zynqmp-rpu BSP familiy (!230)
Chris Johns (@chris)
gitlab at rtems.org
Fri Sep 20 03:21:16 UTC 2024
Chris Johns commented on a discussion on bsps/arm/xilinx-zynqmp-rpu/start/bspreset.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/230#note_112341
> (void) source;
> (void) code;
>
> zynqmp_debug_console_flush();
>
> + /*
> + * This is a workaround for:
> + *
> + * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108658
> + */
> + __asm__ volatile ("");
> +
> while (true) {
> - /* Wait */
> + /* Request a soft system reset */
> + *reset_ctrl |= UINT32_C(0x10);
I have been look and the PM and there an interface to assert a reset but that may be one of the PL reset signals.
My PM via SMC gives:
```
zynqmp [/] # pm features
PM_GET_API_VERSION (0x0001) : Success
PM_SET_CONFIGURATION (0x0002) : Success
PM_GET_NODE_STATUS (0x0003) : Success
PM_GET_OP_CHARACTERISTIC (0x0004) : Success
PM_REGISTER_NOTIFIER (0x0005) : Success
PM_REQUEST_SUSPEND (0x0006) : Success
PM_SELF_SUSPEND (0x0007) : Success
PM_FORCE_POWERDOWN (0x0008) : Success
PM_ABORT_SUSPEND (0x0009) : Success
PM_REQUEST_WAKEUP (0x000a) : Success
PM_SET_WAKEUP_SOURCE (0x000b) : Success
PM_SYSTEM_SHUTDOWN (0x000c) : Success
PM_REQUEST_NODE (0x000d) : Success
PM_RELEASE_NODE (0x000e) : Success
PM_SET_REQUIREMENT (0x000f) : Success
PM_SET_MAX_LATENCY (0x0010) : Success
PM_RESET_ASSERT (0x0011) : Success
PM_RESET_GET_STATUS (0x0012) : Success
PM_MMIO_WRITE (0x0013) : Success
PM_MMIO_READ (0x0014) : Success
PM_INIT_FINALIZE (0x0015) : Success
PM_FPGA_LOAD (0x0016) : Success
PM_FPGA_GET_STATUS (0x0017) : Success
PM_GET_CHIPID (0x0018) : Success
PM_SECURE_RSA_AES (0x0019) : Success
PM_SECURE_SHA (0x001a) : Success
PM_SECURE_RSA (0x001b) : Success
PM_PINCTRL_REQUEST (0x001c) : Success
PM_PINCTRL_RELEASE (0x001d) : Success
PM_PINCTRL_GET_FUNCTION (0x001e) : Success
PM_PINCTRL_SET_FUNCTION (0x001f) : Success
PM_PINCTRL_CONFIG_PARAM_GET (0x0020) : Success
PM_PINCTRL_CONFIG_PARAM_SET (0x0021) : Success
PM_IOCTL (0x0022) : Success
PM_QUERY_DATA (0x0023) : Success
PM_CLOCK_ENABLE (0x0024) : Success
PM_CLOCK_DISABLE (0x0025) : Success
PM_CLOCK_GETSTATE (0x0026) : Success
PM_CLOCK_SETDIVIDER (0x0027) : Success
PM_CLOCK_GETDIVIDER (0x0028) : Success
PM_CLOCK_SETRATE (0x0029) : Success
PM_CLOCK_GETRATE (0x002a) : Success
PM_CLOCK_SETPARENT (0x002b) : Success
PM_CLOCK_GETPARENT (0x002c) : Success
PM_SECURE_IMAGE (0x002d) : Success
PM_FPGA_READ (0x002e) : Success
PM_API_RESERVED_1 (0x002f) : Success
PM_PLL_SET_PARAMETER (0x0030) : Success
PM_PLL_GET_PARAMETER (0x0031) : Success
PM_PLL_SET_MODE (0x0032) : Success
PM_PLL_GET_MODE (0x0033) : Success
PM_REGISTER_ACCESS (0x0034) : Success
PM_EFUSE_ACCESS (0x0035) : Success
PM_ADD_SUBSYSTEM (0x0036) : Not supported
PM_DESTROY_SUBSYSTEM (0x0037) : Not supported
PM_DESCRIBE_NODES (0x0038) : Not supported
PM_ADD_NODE (0x0039) : Not supported
PM_ADD_NODE_PARENT (0x003a) : Not supported
PM_ADD_NODE_NAME (0x003b) : Not supported
PM_ADD_REQUIREMENT (0x003c) : Not supported
PM_SET_CURRENT_SUBSYSTEM (0x003d) : Not supported
PM_INIT_NODE (0x003e) : Not supported
PM_FEATURE_CHECK (0x003f) : Success
PM_ISO_CONTROL (0x0040) : Not supported
PM_ACTIVATE_SUBSYSTEM (0x0041) : Not supported
PM_WRITE_AES_KEY (0x0568) : Not supported
PM_LOAD_PDI (0x0701) : Not supported
PM_GET_UID_INFO_LIST (0x0705) : Not supported
PM_GET_META_HEADER_INFO_LIST (0x0706) : Not supported
GET_CALLBACK_DATA (0x0a01) : Success
PM_SET_SUSPEND_MODE (0x0a02) : Success
PM_GET_TRUSTZONE_VERSION (0x0a03) : Success
TF_A_PM_REGISTER_SGI (0x0a04) : Not supported
PM_BBRAM_WRITE_KEY (0x0b01) : Not supported
PM_BBRAM_ZEROIZE (0x0b02) : Not supported
PM_BBRAM_WRITE_USERDATA (0x0b03) : Not supported
PM_BBRAM_READ_USERDATA (0x0b04) : Not supported
PM_BBRAM_LOCK_USERDATA (0x0b05) : Not supported
```
but there maybe more since I defined the id set.
There is this https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841820/Zynq+UltraScale+MPSoC+Restart+solution#ZynqUltraScale+MPSoCRestartsolution-RPUSubsystemRestart?
I see a couple of conflicting parts here, your desire to have a simple test solution and this is the case with the change and the ability to evolve this BSP and not break yours or others test setup. At the moment I cannot see us meeting both with this change.
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/230#note_112341
You're receiving this email because of your account on gitlab.rtems.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20240920/1e1e47de/attachment-0001.htm>
More information about the bugs
mailing list