Exemple #1
0
/*
 * 初始化SPI寄存器
 * */
static void spi_init(void)
{
#ifdef _DEBUG_GM814X
    printk(KERN_INFO "2-----spi_init------\n");
#endif

    gpio_select();
    clock_enable();
    spi_reset();

    // 1. SET CH_CFG
    CH_CFG   	= HIGH_SPEED_EN | SW_RST | MASTER | CPOL | CPHA;
    // 2. SET CLK_CFG
    CLK_CFG    &= ~ ( 0x7ff );
    CLK_CFG  	= SPI_CLKSEL | ENCLK | SPI_SCALER;
    // 3. SET MODE_CFG
    MODE_CFG   &= ( u32 ) ( 1 << 31 );
    MODE_CFG 	= CH_WIDTH | TRAILING_CNT | BUS_WIDTH | RX_RDY_LVL | TX_RDY_LVL | RX_DMA_SW | TX_DMA_SW | DMA_TYPE;
    // 4. SET SLAVE_SEL
    SLAVE_SEL   = SLAVE_CS_HIGH |SLAVE_AUTO_OFF;
    // 5. SET SPI_INT_EN
    SPI_INT_EN  = SPI_INT_ENABLE;
    // 6. SET SWAP_CONFIG
    SWAP_CONFIG = RX_SWAP_EN | RX_SWAP_MODE | TX_SWAP_EN | TX_SWAP_MODE;

#ifdef _DEBUG_GM814X
    printk(KERN_INFO "2------spi_init end---------\n");
#endif
}
Exemple #2
0
void gpio_actled_select()
{
	gpio_select(GPIO_PIN_ACTLED);
}
Exemple #3
0
void gpio_pwrled_select()
{
	gpio_select(GPIO_PIN_PWRLED);
}