[Blackfin] arch: Added support for 8250-class UARTs in HV Sistemas H8606 board, modification in 8250.c driver for correct compilation with Blackfin
Signed-off-by: Javier Herrero <jherrero@hvsistemas.es> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
This commit is contained in:
parent
d5c4b5e3b2
commit
fb96c56de3
|
@ -40,6 +40,7 @@
|
||||||
#endif
|
#endif
|
||||||
#include <linux/pata_platform.h>
|
#include <linux/pata_platform.h>
|
||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
|
|
||||||
#include <asm/dma.h>
|
#include <asm/dma.h>
|
||||||
#include <asm/bfin5xx_spi.h>
|
#include <asm/bfin5xx_spi.h>
|
||||||
#include <asm/reboot.h>
|
#include <asm/reboot.h>
|
||||||
|
@ -303,7 +304,49 @@ static struct platform_device bfin_uart_device = {
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static struct platform_device *stamp_devices[] __initdata = {
|
#if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE)
|
||||||
|
|
||||||
|
#include <linux/serial_8250.h>
|
||||||
|
#include <linux/serial.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Configuration for two 16550 UARTS in FPGA at addresses 0x20200000 and 0x202000010.
|
||||||
|
* running at half system clock, both with interrupt output or-ed to PF8. Change to
|
||||||
|
* suit different FPGA configuration, or to suit real 16550 UARTS connected to the bus
|
||||||
|
*/
|
||||||
|
|
||||||
|
static struct plat_serial8250_port serial8250_platform_data [] = {
|
||||||
|
{
|
||||||
|
.membase = 0x20200000,
|
||||||
|
.mapbase = 0x20200000,
|
||||||
|
.irq = IRQ_PF8,
|
||||||
|
.flags = UPF_BOOT_AUTOCONF | UART_CONFIG_TYPE,
|
||||||
|
.iotype = UPIO_MEM,
|
||||||
|
.regshift = 1,
|
||||||
|
.uartclk = 66666667,
|
||||||
|
}, {
|
||||||
|
.membase = 0x20200010,
|
||||||
|
.mapbase = 0x20200010,
|
||||||
|
.irq = IRQ_PF8,
|
||||||
|
.flags = UPF_BOOT_AUTOCONF | UART_CONFIG_TYPE,
|
||||||
|
.iotype = UPIO_MEM,
|
||||||
|
.regshift = 1,
|
||||||
|
.uartclk = 66666667,
|
||||||
|
}, {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device serial8250_device = {
|
||||||
|
.id = PLAT8250_DEV_PLATFORM,
|
||||||
|
.name = "serial8250",
|
||||||
|
.dev = {
|
||||||
|
.platform_data = serial8250_platform_data,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static struct platform_device *h8606_devices[] __initdata = {
|
||||||
#if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE)
|
#if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE)
|
||||||
&rtc_device,
|
&rtc_device,
|
||||||
#endif
|
#endif
|
||||||
|
@ -327,13 +370,17 @@ static struct platform_device *stamp_devices[] __initdata = {
|
||||||
#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
|
#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
|
||||||
&bfin_uart_device,
|
&bfin_uart_device,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE)
|
||||||
|
&serial8250_device,
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init H8606_init(void)
|
static int __init H8606_init(void)
|
||||||
{
|
{
|
||||||
printk(KERN_INFO "HV Sistemas H8606 board support by http://www.hvsistemas.com\n");
|
printk(KERN_INFO "HV Sistemas H8606 board support by http://www.hvsistemas.com\n");
|
||||||
printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__);
|
printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__);
|
||||||
platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices));
|
platform_add_devices(h8606_devices, ARRAY_SIZE(h8606_devices));
|
||||||
#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE)
|
#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE)
|
||||||
spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info));
|
spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info));
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue