[PATCH 4/9] omap_uart: add low level port serial initialization

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Sun Mar 10 09:16:01 EDT 2013


On 00:19 Sun 10 Mar     , Vicente Bergas wrote:
>  some sort of UART setup has to be done in order to use PUTC_LL
> 
> Signed-off-by: Vicente Bergas <vicencb at gmail.com>
> ---
>  arch/arm/mach-omap/include/mach/debug_ll.h | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
> 
> diff --git a/arch/arm/mach-omap/include/mach/debug_ll.h b/arch/arm/mach-omap/include/mach/debug_ll.h
> index eea6eb3..9740848 100644
> --- a/arch/arm/mach-omap/include/mach/debug_ll.h
> +++ b/arch/arm/mach-omap/include/mach/debug_ll.h
> @@ -45,9 +45,30 @@
>  #endif
>  
>  #define LSR_THRE	0x20	/* Xmit holding register empty */
> +#define LCR_BKSE	0x80	/* Bank select enable */
>  #define LSR		(5 << 2)
>  #define THR		(0 << 2)
> +#define DLL		(0 << 2)
> +#define IER		(1 << 2)
> +#define DLM		(1 << 2)
> +#define FCR		(2 << 2)
> +#define LCR		(3 << 2)
> +#define MCR		(4 << 2)
> +#define MDR		(8 << 2)
>  
> +static inline void INIT_LL(void)
where this come from?
> +{
> +	writeb(0x00, UART_BASE + LCR);
> +	writeb(0x00, UART_BASE + IER);
> +	writeb(0x07, UART_BASE + MDR);
> +	writeb(LCR_BKSE, UART_BASE + LCR);
> +	writeb(26, UART_BASE + DLL); /* 115200 */
> +	writeb(0, UART_BASE + DLM);
> +	writeb(0x03, UART_BASE + LCR);
> +	writeb(0x03, UART_BASE + MCR);
> +	writeb(0x07, UART_BASE + FCR);
> +	writeb(0x00, UART_BASE + MDR);
> +}
>  static inline void PUTC_LL(char c)
>  {
>  	/* Wait until there is space in the FIFO */
> -- 
> 1.8.1.5
> 
> 
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox



More information about the barebox mailing list