/* Puts a data element into the SSI transmit FIFO. */
void SSIDataPut(unsigned long ulBase, unsigned long ulData)
/* Puts a data element into the SSI transmit FIFO. */
void SSIDataPut(unsigned long ulBase, unsigned long ulData)
{
    ASSERT((ulBase == SSI0_BASE) || (ulBase == SSI1_BASE));
    ASSERT((ulData & (0xfffffffe << (HWREG(ulBase + SSI_O_CR0) &
                                     SSI_CR0_DSS_M))) == 0);
    while(!(HWREG(ulBase + SSI_O_SR) & SSI_SR_TNF))
    {
    }
    HWREG(ulBase + SSI_O_DR) = ulData;
}