I found a solution and now manual gpio manipulation of SSEL works fine.
I set up a gpio pin (it doesn't matter if it is the same pin used like SSEL function or any other gpio).
In my case (SSP1 interface) pin 1.5 function 5 is SSP1 SSEL. I changed it to function 0 which is gpio.
Chip_SCU_PinMuxSet(0x1, 5, (SCU_PINIO_FAST | SCU_MODE_FUNC0)); /* P1.5 => SSEL1 */
After that i set up direction of pin to be output pin and set it high as default.
Chip_GPIO_SetPinDIROutput(LPC_GPIO_PORT, 0x1, 8); (pin P1_5 refers to gpio 1[8] according to datasheet)
Chip_GPIO_SetPinState(LPC_GPIO_PORT, 0x1, 8, true);
Now every time i want to toggle ssel so that i can set it low before i send spi frames and set it true after sending I
made pin state false, i sent frame and then waited until the spi bus is not busy (using the BSY bit from _SSP_STATUS enum struct found in ssp_18xx_43xx.h)
Chip_GPIO_SetPinState(LPC_GPIO_PORT, 0x1, 8, false);
Chip_SSP_RWFrames_Blocking(LPC_SSP, &xf_setup); (as used in the peripheral_spi example of LPCOpen)
if (Chip_SSP_GetStatus(LPC_SSP, SSP_STAT_BSY)) {
while (Chip_SSP_GetStatus(LPC_SSP, SSP_STAT_BSY)) {}
}
Chip_GPIO_SetPinState(LPC_GPIO_PORT, 0x1, 8, true);
So SSEL gets low before i send sth and high after i send it.