Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ef3f9441 authored by Pavel Machek's avatar Pavel Machek Committed by Arnd Bergmann
Browse files

ARM: socfpga: Fix socfpga compilation with early_printk() enabled



This fixes early_printk() compilation for
socfpga. (senduart/busyuart/waituart were missing). It does that by
making Picochip code generic.

Signed-off-by: default avatarPavel Machek <pavel@denx.de>
Acked-by: default avatarDinh Nguyen <dinguyen@altera.com>
Acked-by: default avatarJamie Iles <jamie@jamieiles.com>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 5e3059b2
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2011 Picochip Ltd., Jamie Iles
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * Derived from arch/arm/mach-davinci/include/mach/debug-macro.S to use 32-bit
 * accesses to the 8250.
 */

#include <linux/serial_reg.h>

		.macro	senduart,rd,rx
		str	\rd, [\rx, #UART_TX << UART_SHIFT]
		.endm

		.macro	busyuart,rd,rx
1002:		ldr	\rd, [\rx, #UART_LSR << UART_SHIFT]
		and	\rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE
		teq	\rd, #UART_LSR_TEMT | UART_LSR_THRE
		bne	1002b
		.endm

		/* The UART's don't have any flow control IO's wired up. */
		.macro	waituart,rd,rx
		.endm
+1 −17
Original line number Diff line number Diff line
@@ -5,10 +5,7 @@
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * Derived from arch/arm/mach-davinci/include/mach/debug-macro.S to use 32-bit
 * accesses to the 8250.
 */
#include <linux/serial_reg.h>

#define UART_SHIFT 2
#define PICOXCELL_UART1_BASE		0x80230000
@@ -19,17 +16,4 @@
		ldr	\rp, =PICOXCELL_UART1_BASE
		.endm

		.macro	senduart,rd,rx
		str	\rd, [\rx, #UART_TX << UART_SHIFT]
		.endm

		.macro	busyuart,rd,rx
1002:		ldr	\rd, [\rx, #UART_LSR << UART_SHIFT]
		and	\rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE
		teq	\rd, #UART_LSR_TEMT | UART_LSR_THRE
		bne	1002b
		.endm

		/* The UART's don't have any flow control IO's wired up. */
		.macro	waituart,rd,rx
		.endm
#include "8250_32.S"
+5 −0
Original line number Diff line number Diff line
@@ -7,6 +7,9 @@
 * published by the Free Software Foundation.
 */

#define UART_SHIFT 2
#define DEBUG_LL_UART_OFFSET	0x00002000

		.macro	addruart, rp, rv, tmp
		mov	\rp, #DEBUG_LL_UART_OFFSET
		orr	\rp, \rp, #0x00c00000
@@ -14,3 +17,5 @@
		orr	\rp, \rp, #0xff000000	@ physical base
		.endm

#include "8250_32.S"