static void ek_add_device_mci(void) { if (at91sam9x5ek_cm_is_vendor(VENDOR_COGENT)) mci0_data.detect_pin = -EINVAL; /* MMC0 */ at91_add_device_mci(0, &mci0_data); }
static void ek_add_device_spi(void) { if (at91sam9x5ek_cm_is_vendor(VENDOR_COGENT)) spi_register_board_info(ek_cm_cogent_spi_devices, ARRAY_SIZE(ek_cm_cogent_spi_devices)); else spi_register_board_info(ek_spi_devices, ARRAY_SIZE(ek_spi_devices)); at91_add_device_spi(0, &spi_pdata); }
void at91sam9x5ek_devices_detect_hw(void) { at91sam9x5ek_devices_detect_one("/dev/ds24310"); at91sam9x5ek_devices_detect_one("/dev/ds24311"); at91sam9x5ek_devices_detect_one("/dev/ds24330"); pr_info("sn: 0x%x, rev: 0x%x\n", sn, rev); armlinux_set_revision(rev); armlinux_set_serial(sn); if (at91sam9x5ek_cm_is_vendor(VENDOR_COGENT)) of_register_fixup(cm_cogent_fixup); }
static void ek_add_device_nand(void) { /* setup bus-width (8 or 16) */ if (nand_pdata.bus_width_16) cm_nand_smc_config.mode |= AT91_SMC_DBW_16; else cm_nand_smc_config.mode |= AT91_SMC_DBW_8; /* configure chip-select 3 (NAND) */ sam9_smc_configure(0, 3, &cm_nand_smc_config); if (at91sam9x5ek_cm_is_vendor(VENDOR_COGENT)) { unsigned long csa; csa = at91_sys_read(AT91_MATRIX_EBICSA); csa |= AT91_MATRIX_EBI_VDDIOMSEL_1_8V; at91_sys_write(AT91_MATRIX_EBICSA, csa); } at91_add_device_nand(&nand_pdata); }