[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