static void __init at91sam9x5_register_clocks(void) { int i; for (i = 0; i < ARRAY_SIZE(periph_clocks); i++) clk_register(periph_clocks[i]); clkdev_add_table(periph_clocks_lookups, ARRAY_SIZE(periph_clocks_lookups)); clkdev_add_table(usart_clocks_lookups, ARRAY_SIZE(usart_clocks_lookups)); if (cpu_is_at91sam9g25() || cpu_is_at91sam9x25()) clk_register(&usart3_clk); if (cpu_is_at91sam9g25() || cpu_is_at91sam9x25() || cpu_is_at91sam9g35() || cpu_is_at91sam9x35()) clk_register(&macb0_clk); if (cpu_is_at91sam9g15() || cpu_is_at91sam9g35() || cpu_is_at91sam9x35()) clk_register(&lcdc_clk); if (cpu_is_at91sam9g25()) clk_register(&isi_clk); if (cpu_is_at91sam9x25()) clk_register(&macb1_clk); if (cpu_is_at91sam9x25() || cpu_is_at91sam9x35()) { clk_register(&can0_clk); clk_register(&can1_clk); } clk_register(&pck0); clk_register(&pck1); }
void __init at91_add_device_lcdc(struct atmel_lcdfb_platform_data *data) { BUG_ON(!data); if (cpu_is_at91sam9g25() || cpu_is_at91sam9x25()) { pr_warn("AT91: no lcd on at91sam9g25 or at91sam9x25\n"); return; } at91_set_A_periph(AT91_PIN_PC26, 0); /* LCDPWM */ at91_set_A_periph(AT91_PIN_PC27, 0); /* LCDVSYNC */ at91_set_A_periph(AT91_PIN_PC28, 0); /* LCDHSYNC */ at91_set_A_periph(AT91_PIN_PC24, 0); /* LCDDISP */ at91_set_A_periph(AT91_PIN_PC29, 0); /* LCDDEN */ at91_set_A_periph(AT91_PIN_PC30, 0); /* LCDPCK */ at91_set_A_periph(AT91_PIN_PC0, 0); /* LCDD0 */ at91_set_A_periph(AT91_PIN_PC1, 0); /* LCDD1 */ at91_set_A_periph(AT91_PIN_PC2, 0); /* LCDD2 */ at91_set_A_periph(AT91_PIN_PC3, 0); /* LCDD3 */ at91_set_A_periph(AT91_PIN_PC4, 0); /* LCDD4 */ at91_set_A_periph(AT91_PIN_PC5, 0); /* LCDD5 */ at91_set_A_periph(AT91_PIN_PC6, 0); /* LCDD6 */ at91_set_A_periph(AT91_PIN_PC7, 0); /* LCDD7 */ at91_set_A_periph(AT91_PIN_PC8, 0); /* LCDD8 */ at91_set_A_periph(AT91_PIN_PC9, 0); /* LCDD9 */ at91_set_A_periph(AT91_PIN_PC10, 0); /* LCDD10 */ at91_set_A_periph(AT91_PIN_PC11, 0); /* LCDD11 */ at91_set_A_periph(AT91_PIN_PC12, 0); /* LCDD12 */ at91_set_A_periph(AT91_PIN_PC13, 0); /* LCDD13 */ at91_set_A_periph(AT91_PIN_PC14, 0); /* LCDD14 */ at91_set_A_periph(AT91_PIN_PC15, 0); /* LCDD15 */ at91_set_A_periph(AT91_PIN_PC16, 0); /* LCDD16 */ at91_set_A_periph(AT91_PIN_PC17, 0); /* LCDD17 */ at91_set_A_periph(AT91_PIN_PC18, 0); /* LCDD18 */ at91_set_A_periph(AT91_PIN_PC19, 0); /* LCDD19 */ at91_set_A_periph(AT91_PIN_PC20, 0); /* LCDD20 */ at91_set_A_periph(AT91_PIN_PC21, 0); /* LCDD21 */ at91_set_A_periph(AT91_PIN_PC22, 0); /* LCDD22 */ at91_set_A_periph(AT91_PIN_PC23, 0); /* LCDD23 */ add_generic_device("atmel_hlcdfb", DEVICE_ID_SINGLE, NULL, AT91SAM9X5_BASE_LCDC, SZ_4K, IORESOURCE_MEM, data); }