|
@@ -433,3 +433,79 @@ static struct gpio_led ek_leds[] = {
|
|
|
#endif
|
|
|
};
|
|
|
|
|
|
+
|
|
|
+/*
|
|
|
+ * PWM Leds
|
|
|
+ */
|
|
|
+static struct gpio_led ek_pwm_led[] = {
|
|
|
+#if defined(CONFIG_LEDS_ATMEL_PWM) || defined(CONFIG_LEDS_ATMEL_PWM_MODULE)
|
|
|
+ { /* "right" led, green, userled1, pwm1 */
|
|
|
+ .name = "d7",
|
|
|
+ .gpio = 1, /* is PWM channel number */
|
|
|
+ .active_low = 1,
|
|
|
+ .default_trigger = "none",
|
|
|
+ },
|
|
|
+#endif
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device *devices[] __initdata = {
|
|
|
+#if defined(CONFIG_SOC_CAMERA_OV2640) || \
|
|
|
+ defined(CONFIG_SOC_CAMERA_OV2640_MODULE)
|
|
|
+ &isi_ov2640,
|
|
|
+#endif
|
|
|
+};
|
|
|
+
|
|
|
+static void __init ek_board_init(void)
|
|
|
+{
|
|
|
+ /* Serial */
|
|
|
+ /* DGBU on ttyS0. (Rx & Tx only) */
|
|
|
+ at91_register_uart(0, 0, 0);
|
|
|
+
|
|
|
+ /* USART0 not connected on the -EK board */
|
|
|
+ /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */
|
|
|
+ at91_register_uart(AT91SAM9G45_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS);
|
|
|
+ at91_add_device_serial();
|
|
|
+ /* USB HS Host */
|
|
|
+ at91_add_device_usbh_ohci(&ek_usbh_hs_data);
|
|
|
+ at91_add_device_usbh_ehci(&ek_usbh_hs_data);
|
|
|
+ /* USB HS Device */
|
|
|
+ at91_add_device_usba(&ek_usba_udc_data);
|
|
|
+ /* SPI */
|
|
|
+ at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices));
|
|
|
+ /* MMC */
|
|
|
+ at91_add_device_mci(0, &mci0_data);
|
|
|
+ at91_add_device_mci(1, &mci1_data);
|
|
|
+ /* Ethernet */
|
|
|
+ at91_add_device_eth(&ek_macb_data);
|
|
|
+ /* NAND */
|
|
|
+ ek_add_device_nand();
|
|
|
+ /* I2C */
|
|
|
+ at91_add_device_i2c(0, NULL, 0);
|
|
|
+ /* ISI, using programmable clock as ISI_MCK */
|
|
|
+ at91_add_device_isi(&isi_data, true);
|
|
|
+ /* LCD Controller */
|
|
|
+ at91_add_device_lcdc(&ek_lcdc_data);
|
|
|
+ /* Touch Screen */
|
|
|
+ at91_add_device_tsadcc(&ek_tsadcc_data);
|
|
|
+ /* ADC */
|
|
|
+ at91_add_device_adc(&ek_adc_data);
|
|
|
+ /* Push Buttons */
|
|
|
+ ek_add_device_buttons();
|
|
|
+ /* AC97 */
|
|
|
+ at91_add_device_ac97(&ek_ac97_data);
|
|
|
+ /* LEDs */
|
|
|
+ at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
|
|
|
+ at91_pwm_leds(ek_pwm_led, ARRAY_SIZE(ek_pwm_led));
|
|
|
+ /* Other platform devices */
|
|
|
+ platform_add_devices(devices, ARRAY_SIZE(devices));
|
|
|
+}
|
|
|
+
|
|
|
+MACHINE_START(AT91SAM9M10G45EK, "Atmel AT91SAM9M10G45-EK")
|
|
|
+ /* Maintainer: Atmel */
|
|
|
+ .timer = &at91sam926x_timer,
|
|
|
+ .map_io = at91_map_io,
|
|
|
+ .handle_irq = at91_aic_handle_irq,
|
|
|
+ .init_early = ek_init_early,
|
|
|
+ .init_irq = at91_init_irq_default,
|
|
|
+ .init_machine = ek_board_init,
|
|
|
+MACHINE_END
|