diff options
Diffstat (limited to 'drivers/serial')
| -rw-r--r-- | drivers/serial/ns16550.c | 14 | ||||
| -rw-r--r-- | drivers/serial/serial.c | 14 | ||||
| -rw-r--r-- | drivers/serial/serial_zynq.c | 18 | 
3 files changed, 28 insertions, 18 deletions
| diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c index fbc37b27e8e..f26979dbe15 100644 --- a/drivers/serial/ns16550.c +++ b/drivers/serial/ns16550.c @@ -30,6 +30,17 @@  #define serial_in(y)		readb(y)  #endif +#if defined(CONFIG_K2HK_EVM) +#define UART_REG_VAL_PWREMU_MGMT_UART_DISABLE   0 +#define UART_REG_VAL_PWREMU_MGMT_UART_ENABLE ((1 << 14) | (1 << 13) | (1 << 0)) +#undef UART_MCRVAL +#ifdef CONFIG_SERIAL_HW_FLOW_CONTROL +#define UART_MCRVAL             (UART_MCR_RTS | UART_MCR_AFE) +#else +#define UART_MCRVAL             (UART_MCR_RTS) +#endif +#endif +  #ifndef CONFIG_SYS_NS16550_IER  #define CONFIG_SYS_NS16550_IER  0x00  #endif /* CONFIG_SYS_NS16550_IER */ @@ -77,6 +88,9 @@ void NS16550_init(NS16550_t com_port, int baud_divisor)  	/* /16 is proper to hit 115200 with 48MHz */  	serial_out(0, &com_port->mdr1);  #endif /* CONFIG_OMAP */ +#if defined(CONFIG_K2HK_EVM) +	serial_out(UART_REG_VAL_PWREMU_MGMT_UART_ENABLE, &com_port->regC); +#endif  }  #ifndef CONFIG_NS16550_MIN_FUNCTIONS diff --git a/drivers/serial/serial.c b/drivers/serial/serial.c index df05bde4610..fd61a5e5458 100644 --- a/drivers/serial/serial.c +++ b/drivers/serial/serial.c @@ -74,9 +74,6 @@ static int on_baudrate(const char *name, const char *value, enum env_op op,  		}  		gd->baudrate = baudrate; -#if defined(CONFIG_PPC) || defined(CONFIG_MCF52x2) -		gd->bd->bi_baudrate = baudrate; -#endif  		serial_setbrg(); @@ -117,7 +114,7 @@ serial_initfunc(ns16550_serial_initialize);  serial_initfunc(pxa_serial_initialize);  serial_initfunc(s3c24xx_serial_initialize);  serial_initfunc(s5p_serial_initialize); -serial_initfunc(zynq_serial_initalize); +serial_initfunc(zynq_serial_initialize);  serial_initfunc(bfin_serial_initialize);  serial_initfunc(bfin_jtag_initialize);  serial_initfunc(mpc512x_serial_initialize); @@ -214,7 +211,7 @@ void serial_initialize(void)  	bfin_serial_initialize();  	bfin_jtag_initialize();  	uartlite_serial_initialize(); -	zynq_serial_initalize(); +	zynq_serial_initialize();  	au1x00_serial_initialize();  	asc_serial_initialize();  	jz_serial_initialize(); @@ -502,12 +499,11 @@ int uart_post_test(int flags)  	unsigned char c;  	int ret, saved_baud, b;  	struct serial_device *saved_dev, *s; -	bd_t *bd = gd->bd;  	/* Save current serial state */  	ret = 0;  	saved_dev = serial_current; -	saved_baud = bd->bi_baudrate; +	saved_baud = gd->baudrate;  	for (s = serial_devices; s; s = s->next) {  		/* If this driver doesn't support loop back, skip it */ @@ -530,7 +526,7 @@ int uart_post_test(int flags)  		/* Test every available baud rate */  		for (b = 0; b < ARRAY_SIZE(bauds); ++b) { -			bd->bi_baudrate = bauds[b]; +			gd->baudrate = bauds[b];  			serial_setbrg();  			/* @@ -572,7 +568,7 @@ int uart_post_test(int flags)   done:  	/* Restore previous serial state */  	serial_current = saved_dev; -	bd->bi_baudrate = saved_baud; +	gd->baudrate = saved_baud;  	serial_reinit_all();  	serial_setbrg(); diff --git a/drivers/serial/serial_zynq.c b/drivers/serial/serial_zynq.c index 53a8af02d64..1ff27d5f488 100644 --- a/drivers/serial/serial_zynq.c +++ b/drivers/serial/serial_zynq.c @@ -153,17 +153,17 @@ static int uart_zynq_serial_getc(const int port)  /* Multi serial device functions */  #define DECLARE_PSSERIAL_FUNCTIONS(port) \ -	int uart_zynq##port##_init(void) \ +	static int uart_zynq##port##_init(void) \  				{ return uart_zynq_serial_init(port); } \ -	void uart_zynq##port##_setbrg(void) \ +	static void uart_zynq##port##_setbrg(void) \  				{ return uart_zynq_serial_setbrg(port); } \ -	int uart_zynq##port##_getc(void) \ +	static int uart_zynq##port##_getc(void) \  				{ return uart_zynq_serial_getc(port); } \ -	int uart_zynq##port##_tstc(void) \ +	static int uart_zynq##port##_tstc(void) \  				{ return uart_zynq_serial_tstc(port); } \ -	void uart_zynq##port##_putc(const char c) \ +	static void uart_zynq##port##_putc(const char c) \  				{ uart_zynq_serial_putc(c, port); } \ -	void uart_zynq##port##_puts(const char *s) \ +	static void uart_zynq##port##_puts(const char *s) \  				{ uart_zynq_serial_puts(s, port); }  /* Serial device descriptor */ @@ -179,10 +179,10 @@ static int uart_zynq_serial_getc(const int port)  }  DECLARE_PSSERIAL_FUNCTIONS(0); -struct serial_device uart_zynq_serial0_device = +static struct serial_device uart_zynq_serial0_device =  	INIT_PSSERIAL_STRUCTURE(0, "ttyPS0");  DECLARE_PSSERIAL_FUNCTIONS(1); -struct serial_device uart_zynq_serial1_device = +static struct serial_device uart_zynq_serial1_device =  	INIT_PSSERIAL_STRUCTURE(1, "ttyPS1");  #ifdef CONFIG_OF_CONTROL @@ -223,7 +223,7 @@ __weak struct serial_device *default_serial_console(void)  }  #endif -void zynq_serial_initalize(void) +void zynq_serial_initialize(void)  {  	serial_register(&uart_zynq_serial0_device);  	serial_register(&uart_zynq_serial1_device); | 
