This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ICE v1 SPI0 (CS1) config with MUX_CONFIG struct

HI!

I am trying to config pins for SPI0 - CS1 (ICE v1) and don't undestand what I am doing wrong.

There is my code:

#include <xdc/std.h>
#include <ctype.h>
#include <string.h>

#include <xdc/runtime/System.h>
#include <ti/sysbios/BIOS.h>
#include <ti/sysbios/knl/Task.h>
#include <ti/sysbios/family/arm/a8/intcps/Hwi.h>
#include "stdlib.h"
#include "soc_AM335x.h"
#include "plat_utils.h"
#include "osdrv_uart.h"
#include "osdrv_mmu.h"
#include "osdrv_version.h"
#include "osdrv_oledlcd.h"
#include "osdrv_mcspi.h"

#include "plat_mux.h"

unsigned char uartInstance = 0;
unsigned char boardType = 0;

MUX_CONFIG mux[] = {
{ 0x0950 , 0 , AM335X_PIN_OUTPUT | AM335X_PIN_INPUT }, // spi0_sclk
{ 0x0954 , 0 , AM335X_PIN_INPUT }, // spi0_DO
{ 0x0958 , 0 , AM335X_PIN_OUTPUT }, // spi0_DI
{ 0x095C , 0 , AM335X_PIN_OUTPUT| AM335X_PIN_INPUT_PULLUP }, // spi0_cs0
{0xFFFFFFFF,0,0}
};

SYS_MMU_ENTRY applMmuEntries[] = {
    {(void*)0x48300000,0},  //PWM - Non bufferable| Non Cacheable 
    {(void*)0x48200000,0},  //INTCPS,MPUSS - Non bufferable| Non Cacheable
    {(void*)0x48100000,0},  //I2C2,McSPI1,UART3,UART4,UART5, GPIO2,GPIO3,MMC1 - Non bufferable| Non Cacheable
    {(void*)0x48000000,0},  //UART1,UART2,I2C1,McSPI0,McASP0 CFG,McASP1 CFG,DMTIMER,GPIO1 -Non bufferable| Non Cacheable
    {(void*)0x44E00000,0},  //Clock Module, PRM, GPIO0, UART0, I2C0, - Non bufferable| Non Cacheable
    {(void*)0x4A300000,0},  //PRUSS1 - Non bufferable| Non Cacheable
    {(void*)0x49000000,0},  //EDMA3 - Non bufferable| Non Cacheable
    {(void*)0x4A100000,0},  //CPSW - Non bufferable| Non Cacheable
    {(void*)0xFFFFFFFF,0xFFFFFFFF}
};

/*  ======== main ========
 */
Void main()
{
	Task_Params taskParams;

	MMUInit(applMmuEntries);

	boardType = UTILsDetectBoardType();

    if(AM335X_BOARD_TYPE_ICE  == boardType)
    {
    	uartInstance = 5;
    }else if(AM335X_BOARD_TYPE_IDK  == boardType)
    {
    	uartInstance = 3;
    }
	else if( AM335X_BOARD_TYPE_ICE_V2 == boardType)
    {
		uartInstance = 3;
    }

    PinMuxConfig(mux);

    McSPIInit(MCSPI_INSTANCE_0, 12, 1 , MCSPI_SINGLE_CH, MCSPI_CHANNEL_0);
    while (1) {
    unsigned char *charbuff;
    unsigned char x = 173;

    charbuff = &x;
    McSPIWrite(1, &charbuff, 8, 0);
    }
}