static void __init neocore926_add_device_nand(void) { /* configure chip-select 3 (NAND) */ sam9_smc_configure(3, &neocore926_nand_smc_config); at91_add_device_nand(&neocore926_nand_data); }
static void __init ek_add_device_nand(void) { /* configure chip-select 3 (NAND) */ sam9_smc_configure(0, 3, &ek_nand_smc_config); at91_add_device_nand(&ek_nand_data); }
static void __init ek_add_device_nand(void) { sam9_smc_configure(3, &ek_nand_smc_config); at91_add_device_nand(&ek_nand_data); }
static void qil_a9260_add_device_nand(void) { /* configure chip-select 3 (NAND) */ sam9_smc_configure(0, 3, &nand_smc_config); at91_add_device_nand(&nand_pdata); }
static void pm_add_device_nand(void) { pm_nand_smc_config.mode |= AT91_SMC_DBW_8; /* configure chip-select 3 (NAND) */ sam9_smc_configure(3, &pm_nand_smc_config); at91_add_device_nand(&nand_pdata); }
static void dss11_add_device_nand(void) { /* setup bus-width (16) */ dss11_nand_smc_config.mode |= AT91_SMC_DBW_16; /* configure chip-select 3 (NAND) */ sam9_smc_configure(0, 3, &dss11_nand_smc_config); at91_add_device_nand(&nand_pdata); }
static void __init ek_add_device_ks8851(void) { /* Configure chip-select 2 (KS8851) */ sam9_smc_configure(0, 2, &ks8851_smc_config); /* Configure NCS signal */ at91_set_B_periph(AT91_PIN_PD19, 0); /* Configure Interrupt pin as input, no pull-up */ at91_set_gpio_input(AT91_PIN_PD21, 0); add_ks8851_device(DEVICE_ID_SINGLE, AT91_CHIPSELECT_2, AT91_CHIPSELECT_2 + 2, IORESOURCE_MEM_16BIT, NULL); }
static __init void cpu9krea_add_device_nor(void) { unsigned long csa; csa = at91_sys_read(AT91_MATRIX_EBICSA); at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_VDDIOMSEL_3_3V); sam9_smc_configure(0, &cpu9krea_nor_smc_config); platform_device_register(&cpu9krea_nor_flash); }
static __init void cap9adk_add_device_nor(void) { unsigned long csa; csa = at91_sys_read(AT91_MATRIX_EBICSA); at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_EBI_VDDIOMSEL_3_3V); /* configure chip-select 0 (NOR) */ sam9_smc_configure(0, &cap9adk_nor_smc_config); platform_device_register(&cap9adk_nor_flash); }
static void __init ek_add_device_nand(void) { if (ek_nand_data.bus_width_16) ek_nand_smc_config.mode |= AT91_SMC_DBW_16; else ek_nand_smc_config.mode |= AT91_SMC_DBW_8; sam9_smc_configure(3, &ek_nand_smc_config); at91_add_device_nand(&ek_nand_data); }
static void __init ek_add_device_dm9000(void) { /* Configure chip-select 2 (DM9000) */ sam9_smc_configure(2, &dm9000_smc_config); /* Configure Reset signal as output */ at91_set_gpio_output(AT91_PIN_PC10, 0); /* Configure Interrupt pin as input, no pull-up */ at91_set_gpio_input(AT91_PIN_PC11, 0); platform_device_register(&dm9000_device); }
static void pm_add_device_nand(void) { /* setup bus-width (8 or 16) */ if (nand_pdata.bus_width_16) pm_nand_smc_config.mode |= AT91_SMC_DBW_16; else pm_nand_smc_config.mode |= AT91_SMC_DBW_8; /* configure chip-select 3 (NAND) */ sam9_smc_configure(0, 3, &pm_nand_smc_config); at91_add_device_nand(&nand_pdata); }
static void __init ek_add_device_nand(void) { /* setup bus-width (8 or 16) */ if (ek_nand_data.bus_width_16) ek_nand_smc_config.mode |= AT91_SMC_DBW_16; else ek_nand_smc_config.mode |= AT91_SMC_DBW_8; /* configure chip-select 3 (NAND) */ sam9_smc_configure(3, &ek_nand_smc_config); at91_add_device_nand(&ek_nand_data); }
static void __init ek_add_device_nand(void) { ek_nand_data.bus_width_16 = board_have_nand_16bit(); /* */ if (ek_nand_data.bus_width_16) ek_nand_smc_config.mode |= AT91_SMC_DBW_16; else ek_nand_smc_config.mode |= AT91_SMC_DBW_8; /* */ sam9_smc_configure(0, 3, &ek_nand_smc_config); at91_add_device_nand(&ek_nand_data); }
static void __init ek_add_device_dm9000(void) { /* Configure chip-select 2 (DM9000) */ sam9_smc_configure(0, 2, &dm9000_smc_config); /* Configure Reset signal as output */ at91_set_gpio_output(AT91_PIN_PC10, 0); /* Configure Interrupt pin as input, no pull-up */ at91_set_gpio_input(AT91_PIN_PC11, 0); add_dm9000_device(0, AT91_CHIPSELECT_2, AT91_CHIPSELECT_2 + 4, IORESOURCE_MEM_16BIT, &dm9000_data); }
static void __init ek_add_device_dm9000(void) { /* Configure chip-select 0 (DM9000) */ sam9_smc_configure(0, &dm9000_smc_config); //NCS0 /* Configure Reset signal as output */ //at91_set_A_periph(AT91_PIN_PC13, 0); //NCS2 /* Configure Interrupt pin as input, no pull-up */ at91_set_gpio_input(AT91_PIN_PD0, 0); // change at 2012-05-03 by dongking at91_set_gpio_input(AT91_PIN_PD1, 0); // change at 2012-05-03 by dongking platform_device_register(&dm9000_device0); platform_device_register(&dm9000_device1); }
static void __init ek_add_device_dm9000(void) { struct resource *r = &dm9000_resource[2]; sam9_smc_configure(0, 2, &dm9000_smc_config); at91_set_gpio_output(AT91_PIN_PC10, 0); at91_set_gpio_input(AT91_PIN_PC11, 0); r->start = r->end = gpio_to_irq(AT91_PIN_PC11); platform_device_register(&dm9000_device); }
static void __init ek_add_device_dm9000(void) { struct resource *r = &dm9000_resource[2]; /* Configure chip-select 2 (DM9000) */ sam9_smc_configure(0, 2, &dm9000_smc_config); /* Configure Reset signal as output */ at91_set_gpio_output(AT91_PIN_PC10, 0); /* Configure Interrupt pin as input, no pull-up */ at91_set_gpio_input(AT91_PIN_PC11, 0); r->start = r->end = gpio_to_irq(AT91_PIN_PC11); platform_device_register(&dm9000_device); }
static void ek_add_device_nand(void) { struct clk *clk = clk_get(NULL, "smc_clk"); clk_enable(clk); /* setup bus-width (8 or 16) */ if (nand_pdata.bus_width_16) sama5d3_xplained_nand_smc_config.mode |= AT91_SMC_DBW_16; else sama5d3_xplained_nand_smc_config.mode |= AT91_SMC_DBW_8; /* configure chip-select 3 (NAND) */ sam9_smc_configure(0, 3, &sama5d3_xplained_nand_smc_config); at91_add_device_nand(&nand_pdata); }
static void __init cap9adk_add_device_nand(void) { unsigned long csa; csa = at91_sys_read(AT91_MATRIX_EBICSA); at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_EBI_VDDIOMSEL_3_3V); /* setup bus-width (8 or 16) */ if (cap9adk_nand_data.bus_width_16) cap9adk_nand_smc_config.mode |= AT91_SMC_DBW_16; else cap9adk_nand_smc_config.mode |= AT91_SMC_DBW_8; /* configure chip-select 3 (NAND) */ sam9_smc_configure(3, &cap9adk_nand_smc_config); at91_add_device_nand(&cap9adk_nand_data); }
static void ek_add_device_nand(void) { struct sam9_smc_config *smc; if (machine_is_at91sam9g20ek()) smc = &ek_9g20_nand_smc_config; else smc = &ek_9260_nand_smc_config; /* setup bus-width (8 or 16) */ if (nand_pdata.bus_width_16) smc->mode |= AT91_SMC_DBW_16; else smc->mode |= AT91_SMC_DBW_8; /* configure chip-select 3 (NAND) */ sam9_smc_configure(0, 3, smc); at91_add_device_nand(&nand_pdata); }
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); }
static void __init cm_add_device_nand(void) { /* setup bus-width (8 or 16) */ if (cm_nand_data.bus_width_16) cm_nand_smc_config.mode |= AT91_SMC_DBW_16; else cm_nand_smc_config.mode |= AT91_SMC_DBW_8; /* revision of board modify NAND wiring */ if (cm_is_revA()) { cm_nand_data.bus_on_d0 = 1; cm_nand_data.rdy_pin = AT91_PIN_PD6; } else { cm_nand_data.bus_on_d0 = 0; cm_nand_data.rdy_pin = AT91_PIN_PD5; } /* configure chip-select 3 (NAND) */ sam9_smc_configure(3, &cm_nand_smc_config); at91_add_device_nand(&cm_nand_data); }
static int at91sam9263_smc_init(void) { unsigned long csa; if (!of_machine_is_compatible("atmel,at91sam9263ek")) return 0; /* setup bus-width (8 or 16) */ if (IS_ENABLED(CONFIG_MTD_NAND_ATMEL_BUSWIDTH_16)) ek_nand_smc_config.mode |= AT91_SMC_DBW_16; else ek_nand_smc_config.mode |= AT91_SMC_DBW_8; csa = at91_sys_read(AT91_MATRIX_EBI0CSA); csa |= AT91_MATRIX_EBI0_CS3A_SMC_SMARTMEDIA; at91_sys_write(AT91_MATRIX_EBI0CSA, csa); /* configure chip-select 3 (NAND) */ sam9_smc_configure(0, 3, &ek_nand_smc_config); return 0; }
static void ek_add_device_nand(void) { struct sam9_smc_config *smc; if (machine_is_at91sam9g20ek()) smc = &ek_9g20_nand_smc_config; else smc = &ek_9260_nand_smc_config; /* setup bus-width (8 or 16) */ if (IS_ENABLED(CONFIG_MTD_NAND_ATMEL_BUSWIDTH_16)) { nand_pdata.bus_width_16 = 1; smc->mode |= AT91_SMC_DBW_16; } else { smc->mode |= AT91_SMC_DBW_8; } /* configure chip-select 3 (NAND) */ sam9_smc_configure(0, 3, smc); at91_add_device_nand(&nand_pdata); }
static void __init eb_add_device_nor(void) { /* configure chip-select 0 (NOR) */ sam9_smc_configure(0, &eb_nor_smc_config); platform_device_register(&nor_flash); }
static void __init snapper9260_add_device_nand(void) { at91_set_A_periph(AT91_PIN_PC14, 0); sam9_smc_configure(0, 3, &snapper9260_nand_smc_config); at91_add_device_nand(&snapper9260_nand_data); }
static void __init cpu9krea_add_device_nand(void) { sam9_smc_configure(3, &cpu9krea_nand_smc_config); at91_add_device_nand(&cpu9krea_nand_data); }