17 мая 2011 г.

Не верь жене, тормозам и аппноутам

Если вдруг найдутся те, кому надо будет подключить SPI флеш(at45db642d) к at91rm9200 то это заметка для них.

В BSP файле для платы нужно объявить флешку. Делается это так:
static struct spi_board_info dk_spi_devices[] = {
 { /* DataFlash chip */
  .modalias = "mtd_dataflash",
  .chip_select = 0, 
  .bus_num = 0,
  .max_speed_hz = 16000000,
 }
}

потом в процедуре board_init добавляется инициализация spi
at91_add_device_spi(dk_spi_devices, ARRAY_SIZE(dk_spi_devices));

Важно правильно задать chip_select и bus_num, они зависят от разводки платы.

chip_select - тут задаётся номер CS SPI-контроллера на котором висит флешка

bus_num - номер контроллера SPI(их может быть несколько). Нумеруются они с 0.