Arm Cortex M7 SWD (Serial Wire Debug) read DPACC DPIDCODE failed

I'm working on SWD test on Cortex M7 

When switching to SW mode I try to read DPIDCODE with following command

PRINTF "Checking SW-DP IDCODE"

DAP_DP_SWITCHMODE

DAP_READ_DPACC DPIDCODE 0BA00477 0xF0003000

But turns out it print tube error with value is always 0xFFFFFFFF 

I found "DPACC is only supported in JTAG_DP not SW_DP" in manual

Does this mean I can't write or read DPACC on Cortex M7 with SW Mode?

If so, how can I use SWD to do the test.