Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

PSoC™ 4 HVPA: Function of CPUSS_SYSREQ and CPUSS_SYSARG registers for System Call – KBA238440

PSoC™ 4 HVPA: Function of CPUSS_SYSREQ and CPUSS_SYSARG registers for System Call – KBA238440

Infineon_Team
Employee
Employee
50 replies posted 25 likes received 25 replies posted

Version: *A

The CPUSS_SYSREQ and CPUSS_SYSARG registers are not only used as control registers but also status registers, depending on the different phases of system call’s execution. The PSoC™ 4 HVPA architecture TRM only lists the function of the CPUSS_SYSARG and CPUSS_SYSREQ registers as control registers. Section 24.4.1 Performing a System Call in PSoC™ 4 HVPA architecture TRM explains both the functions as control registers and status registers of CPUSS_SYSREQ and CPUSS_SYSARG.

When performing as control registers, CPUSS_SYSREQ and CPUSS_SYSARG are used for passing the system call’s commands (opcodes) and parameters.

When performing as status registers, CPUSS_SYSREQ and CPUSS_SYSARG are used for indicating completion and reading return values of system calls.

Take the system call “Silicon ID” as an example; the system call starts to execute by setting CPUSS_SYSREQ and CPUSS_SYSARG with following values. Details of these settings can be found in 24.5.1 Silicon ID in
PSoC™ 4 HVPA Architecture TRM:

Bits [7:0] of CPUSS_SYSARG = 0xB6 (Key1, one of parameter of “Silicon ID” system),

Bits [15:8] of CPUSS_SYSARG = 0xD3 (Key2, one of parameter of “Silicon ID” system call),

Bits [31:16] of CPUSS_SYSARG = 0x0000 (not used in the “Silicon ID” system call),

Bits [15:0] of CPUSS_SYSREQ = 0x0000 (the op code of “Silicon ID” system call),

Bits [31:16] of CPUSS_SYSREQ = 0x8000 (trigger the start of “Silicon ID” system call).

After the PRIVILEGED and SYSCALL_REQ bits of CPUSS_SYSREQ are cleared by hardware, it indicates completion of the system call. Then, CPUSS_SYSREQ and CPUSS_SYSARG perform as status registers to be used for reading back return values of the “Silicon ID” system call:

Bits [15:0] of CPUSS_SYSARG: 16-bit Silicon ID,

Bits [23:16] of CPUSS_SYSARG: 8-bit Revision ID,

Bits [27:24] of CPUSS_SYSARG: Not used (don’t care),

Bits [31:28] of CPUSS_SYSARG: 0xA (Success status code),

Bits [11:0] of CPUSS_SYSREQ: 12-bit Family ID,

Bits [15:12] of CPUSS_SYSREQ: Chip Protection status,

Bits [31:16] of CPUSS_SYSREQ: Not used (don’t care)

or

Bits [31:0] of CPUSS_SYSARG: 0xF00000YY (Y = failure code).

It is similar to other system calls. Refer to section 24.5 - System Calls in the PSoC™ 4 HVPA architecture TRM, and CPUSS_SYSREQ, CPUSS_SYSARG registers description in the PSoC™ HVPA registers TRM.

Note:  This KBA applies to the PSoC™ 4 HVPA series of PSoC™ 4 HV family MCUs.

Note: Contact your Infineon sales representative for access to the PSoC™ 4 HVPA TRM

0 Likes
83 Views