Hi,
I have recently tried to get the SPI working on My SL6087 but i keep getting a error which does not make sense to me
I get the following
[14:19:06:173] SPI1 Bus Subscribed failed
[14:19:06:174] SPI config failed -13
Which is
#define ADL_RET_ERR_NOT_SUPPORTED -13 ///< An option, required by the function, is not enabled on the Wireless CPU®, the function is not supported in this configuration
Which is making me confused, i am using SPI 1 on the SL6087 therfore my block ID should be 1 right?
below is my config settings for the SPI, i have masked out most because i found that i am not even get subscription so the rest will fail
int SPI_sub(void)
{
adl_busEvt_t busEvt;
s32 Ret = OK;
s32 retval=OK;
u32 length_data=8;
u32 length_op=0;
u32 length_ad=8;
int good=0;
// SPI Subscription data
adl_busSPISettings_t SPIConfig =
{
13, // No divider, use full clock speed 1 Mhz
ADL_BUS_SPI_CLK_MODE_0, // Mode 0 clock
ADL_BUS_SPI_ADDR_CS_HARD, // Use a GPIO to handle the Chip Select signal
ADL_BUS_SPI_CS_POL_LOW, // Chip Select active in low state
ADL_BUS_SPI_MSB_FIRST, // Data are sent MSB first
ADL_BUS_SPI_LOAD_UNUSED, // LOAD signal not used
ADL_BUS_SPI_DATA_UNIDIR, // 3 Wires configuration
ADL_BUS_SPI_MASTER_MODE, // Master mode
ADL_BUS_SPI_BUSY_UNUSED // BUSY signal not used
};
SPIHandle=adl_busSubscribe(ADL_BUS_ID_SPI,1,&SPIConfig);
if(SPIHandle>=0)
{
wip_debug("SPI1 Bus Subscribed successfully\r\n");
}
else
{
wip_debug("SPI1 Bus Subscribed failed %d\r\n",SPIHandle);
good=-1;
}
// Ret = adl_busIOCtl ( SPIHandle, ADL_BUS_CMD_SET_ASYNC_MODE,0 );//synchronous mode
// //Ret = adl_busIOCtl ( SPIHandle, ADL_BUS_CMD_SET_ASYNC_MODE,1 );//asynchronous mode
//
// if(Ret==OK)
// {
// wip_debug(“Async or Sync mode set successfully\r\n”);
// }
// else
// {
// wip_debug(“Async or Sync mode set failed\r\n”);
// good=-1;
// }
//
// retval=adl_busIOCtl(SPIHandle,ADL_BUS_CMD_SET_OP_SIZE,(void *)&length_op);//no opcode used
// if(retval==OK)
// {
// wip_debug(“opcode length set successfully\r\n”);
// }
// else
// {
// wip_debug(“opcode length set failed\r\n”);
// good=-1;
// }
//
// retval=adl_busIOCtl(SPIHandle,ADL_BUS_CMD_SET_ADD_SIZE,(void *)&length_ad);
// if(retval==OK)
// {
// wip_debug(“Address length set successfully\r\n”);
// }
// else
// {
// wip_debug(“Address length set failed\r\n”);
// good=-1;
// }
//
// retval=adl_busIOCtl(SPIHandle,ADL_BUS_CMD_SET_DATA_SIZE,(void *)&length_data);
// if(retval==OK)
// {
// wip_debug(“DATA Length set successfully\r\n”);
// }
// else
// {
// wip_debug(“DATA Length set failed\r\n”);
// good=-1;
// }
return good;
}
hope someone can help
regards