From a13fbcfadcb6f2a33b1abd431412a5dfc46b3ee7 Mon Sep 17 00:00:00 2001 From: patacongo Date: Mon, 28 Jan 2008 22:03:49 +0000 Subject: [PATCH] Basic Z16F serial driver functionality git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@577 42af7a65-404d-4744-a932-0658087f49c3 --- arch/arm/src/c5471/c5471_serial.c | 2 +- arch/arm/src/dm320/dm320_serial.c | 2 +- arch/c5471/src/up_serial.c | 2 +- arch/dm320/src/up_serial.c | 2 +- arch/z16/src/z16f/chip.h | 12 ++++++------ arch/z16/src/z16f/z16f_head.S | 7 ++----- arch/z16/src/z16f/z16f_serial.c | 2 +- 7 files changed, 13 insertions(+), 16 deletions(-) diff --git a/arch/arm/src/c5471/c5471_serial.c b/arch/arm/src/c5471/c5471_serial.c index 22ce3c0637d..9ff5b5be9fb 100644 --- a/arch/arm/src/c5471/c5471_serial.c +++ b/arch/arm/src/c5471/c5471_serial.c @@ -355,7 +355,7 @@ static inline void up_setrate(struct up_dev_s *priv, unsigned int rate) static int up_setup(struct uart_dev_s *dev) { -#ifdef CONFIG_SUPPRESS_UART_CONFIG +#ifndef CONFIG_SUPPRESS_UART_CONFIG struct up_dev_s *priv = dev->priv; unsigned int cval; diff --git a/arch/arm/src/dm320/dm320_serial.c b/arch/arm/src/dm320/dm320_serial.c index 2eea71dd0c4..4f90fd5d310 100644 --- a/arch/arm/src/dm320/dm320_serial.c +++ b/arch/arm/src/dm320/dm320_serial.c @@ -286,7 +286,7 @@ static inline void up_enablebreaks(struct up_dev_s *priv, boolean enable) static int up_setup(struct uart_dev_s *dev) { -#ifdef CONFIG_SUPPRESS_UART_CONFIG +#ifndef CONFIG_SUPPRESS_UART_CONFIG struct up_dev_s *priv = (struct up_dev_s*)dev->priv; uint16 brsr; diff --git a/arch/c5471/src/up_serial.c b/arch/c5471/src/up_serial.c index 6a069164dd8..3cba4a2d884 100644 --- a/arch/c5471/src/up_serial.c +++ b/arch/c5471/src/up_serial.c @@ -352,7 +352,7 @@ static inline void up_setrate(struct up_dev_s *priv, unsigned int rate) static int up_setup(struct uart_dev_s *dev) { -#ifdef CONFIG_SUPPRESS_UART_CONFIG +#ifndef CONFIG_SUPPRESS_UART_CONFIG struct up_dev_s *priv = dev->priv; unsigned int cval; diff --git a/arch/dm320/src/up_serial.c b/arch/dm320/src/up_serial.c index c952c159f25..3d7c098373b 100644 --- a/arch/dm320/src/up_serial.c +++ b/arch/dm320/src/up_serial.c @@ -281,7 +281,7 @@ static inline void up_enablebreaks(struct up_dev_s *priv, boolean enable) static int up_setup(struct uart_dev_s *dev) { -#ifdef CONFIG_SUPPRESS_UART_CONFIG +#ifndef CONFIG_SUPPRESS_UART_CONFIG struct up_dev_s *priv = (struct up_dev_s*)dev->priv; uint16 brsr; diff --git a/arch/z16/src/z16f/chip.h b/arch/z16/src/z16f/chip.h index bcfff92798f..f43a6539278 100644 --- a/arch/z16/src/z16f/chip.h +++ b/arch/z16/src/z16f/chip.h @@ -517,12 +517,12 @@ /* Register access macros ***********************************************************/ #ifndef __ASSEMBLY__ -# define getreg8(a) (*(ubyte volatile _Near*)((a) & 0xffff)) -# define putreg8(v,a) (*(ubyte volatile _Near*)((a) & 0xffff) = (v)) -# define getreg16(a) (*(uint16 volatile _Near*)((a) & 0xffff)) -# define putreg16(v,a) (*(uint16 volatile _Near*)((a) & 0xffff) = (v)) -# define getreg32(a) (*(uint32 volatile _Near*)((a) & 0xffff)) -# define putreg32(v,a) (*(uint32 volatile _Near*)((a) & 0xffff) = (v)) +# define getreg8(a) (*(ubyte volatile _Near*)(a)) +# define putreg8(v,a) (*(ubyte volatile _Near*)(a) = (v)) +# define getreg16(a) (*(uint16 volatile _Near*)(a)) +# define putreg16(v,a) (*(uint16 volatile _Near*)(a) = (v)) +# define getreg32(a) (*(uint32 volatile _Near*)(a)) +# define putreg32(v,a) (*(uint32 volatile _Near*)(a) = (v)) #endif /* __ASSEMBLY__ */ /************************************************************************************ diff --git a/arch/z16/src/z16f/z16f_head.S b/arch/z16/src/z16f/z16f_head.S index 7e0682e76bf..f6108c250a4 100755 --- a/arch/z16/src/z16f/z16f_head.S +++ b/arch/z16/src/z16f/z16f_head.S @@ -50,14 +50,11 @@ #ifdef CONFIG_ARCH_LEDS xref _up_ledinit:EROM #endif -#if defined(CONFIG_DEV_CONSOLE) && CONFIG_NFILE_DESCRIPTORS > 0 - xref _up_earlyserialinit:EROM -#endif -#if defined(CONFIG_ARCH_LOWPUTC) || defined(CONFIG_ARCH_LOWGETC) +#if defined(CONFIG_ARCH_LOWPUTC) || defined(CONFIG_ARCH_LOWGETC) || CONFIG_NFILE_DESCRIPTORS == 0 xref _z16f_lowuartinit:EROM #endif #if defined(CONFIG_DEV_CONSOLE) && CONFIG_NFILE_DESCRIPTORS > 0 - xref up_earlyserialinit:EROM + xref _up_earlyserialinit:EROM #endif xref _os_start:EROM xref _up_doirq:EROM diff --git a/arch/z16/src/z16f/z16f_serial.c b/arch/z16/src/z16f/z16f_serial.c index fb92919b172..63f40f62a2b 100644 --- a/arch/z16/src/z16f/z16f_serial.c +++ b/arch/z16/src/z16f/z16f_serial.c @@ -298,7 +298,7 @@ static void z16f_waittx(struct uart_dev_s *dev, boolean (*status)(struct uart_de static int z16f_setup(struct uart_dev_s *dev) { -#ifdef CONFIG_SUPPRESS_UART_CONFIG +#ifndef CONFIG_SUPPRESS_UART_CONFIG struct z16f_uart_s *priv = (struct z16f_uart_s*)dev->priv; uint32 brg; ubyte ctl0;