static inline void init(void) { power_all_disable(); debug_led_init(); clock_prescale_set(clock_div_1); spi_io_init(); adc_init(); motor_init(); sei(); }
int board_early_init_f(void) { init_drive_strength(); /* Setup debug led */ gpio_direction_output(6, 0); mxc_request_iomux(MX51_PIN_GPIO1_6, IOMUX_CONFIG_ALT0); mxc_iomux_set_pad(MX51_PIN_GPIO1_6, PAD_CTL_DRV_MAX | PAD_CTL_SRE_FAST); /* wait a little while to give the pll time to settle */ sdelay(100000); setup_weim(); setup_uart(); setup_fec(); setup_gpios(); spi_io_init(); return 0; }
struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs, unsigned int max_hz, unsigned int mode) { struct imx_spi_dev_t *imx_spi_slave = NULL; if (!spi_cs_is_valid(bus, cs)) return NULL; imx_spi_slave = (struct imx_spi_dev_t *)malloc(sizeof(struct imx_spi_dev_t)); if (!imx_spi_slave) return NULL; imx_spi_slave->slave.bus = bus; imx_spi_slave->slave.cs = cs; spi_get_cfg(imx_spi_slave); spi_io_init(imx_spi_slave); spi_reset(&(imx_spi_slave->slave)); return &(imx_spi_slave->slave); }
void spi_cs_activate(struct spi_slave *slave) { struct imx_spi_dev_t *dev = to_imx_spi_slave(slave); spi_io_init(dev); }