low 5 bits show which channel was scanned. My result is always 2.
Is it bit value or integer.
if bit than there is no room for all 8 channels
If integer what vale has channel 0
The API only states that there is a value of "NonZero" returned when there are samples availlable. There is no documentation about status and channel association. Where did you get your infos from?
According to the description in the PSoC4 Registers TRM, the CUR_CHAN bits are only valid when the status is BUSY (meaning when a conversion is in progress).
It looks like the SAR_CHAN_WORK_VALID / SAR_CHAN_RESULT_VALID register is what you need (see the Architecture TRM, page 209 for more about that).