Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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);
}
Exemplo n.º 4
0
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);
}
Exemplo n.º 5
0
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);
}
Exemplo n.º 6
0
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);
}
Exemplo n.º 7
0
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);
}
Exemplo n.º 9
0
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);
}
Exemplo n.º 10
0
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);
}
Exemplo n.º 12
0
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);
}
Exemplo n.º 15
0
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);
}
Exemplo n.º 16
0
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);
}
Exemplo n.º 17
0
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);
}
Exemplo n.º 18
0
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);
}
Exemplo n.º 19
0
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);
}
Exemplo n.º 20
0
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);
}
Exemplo n.º 21
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 (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);
}
Exemplo n.º 22
0
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);
}
Exemplo n.º 24
0
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;
}
Exemplo n.º 25
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);
}
Exemplo n.º 26
0
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);
}
Exemplo n.º 27
0
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);
}