mirror of
https://github.com/torvalds/linux.git
synced 2024-12-22 02:52:56 +00:00
76c1b8386b
For mach-exynos, uart_base is a pointer and the value is calculated in the machine folder. For other machines, uart_base is defined as a macro in platform directory. For symmetry, the uart_base macro definition is removed and the uart_base calculation is moved to specific machine folders. This would help us consolidating uncompress subroutine for s5p64x0. Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
58 lines
1.4 KiB
C
58 lines
1.4 KiB
C
/* arch/arm/mach-s3c2410/include/mach/uncompress.h
|
|
*
|
|
* Copyright (c) 2003-2007 Simtec Electronics
|
|
* http://armlinux.simtec.co.uk/
|
|
* Ben Dooks <ben@simtec.co.uk>
|
|
*
|
|
* S3C2410 - uncompress code
|
|
*
|
|
* 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.
|
|
*/
|
|
|
|
#ifndef __ASM_ARCH_UNCOMPRESS_H
|
|
#define __ASM_ARCH_UNCOMPRESS_H
|
|
|
|
#include <mach/regs-gpio.h>
|
|
#include <mach/map.h>
|
|
|
|
/* working in physical space... */
|
|
#undef S3C2410_GPIOREG
|
|
#define S3C2410_GPIOREG(x) ((S3C24XX_PA_GPIO + (x)))
|
|
|
|
#include <plat/uncompress.h>
|
|
|
|
static inline int is_arm926(void)
|
|
{
|
|
unsigned int cpuid;
|
|
|
|
asm volatile ("mrc p15, 0, %0, c1, c0, 0" : "=r" (cpuid));
|
|
|
|
return ((cpuid & 0xff0) == 0x260);
|
|
}
|
|
|
|
static void arch_detect_cpu(void)
|
|
{
|
|
unsigned int cpuid;
|
|
|
|
cpuid = *((volatile unsigned int *)S3C2410_GSTATUS1);
|
|
cpuid &= S3C2410_GSTATUS1_IDMASK;
|
|
|
|
if (is_arm926() || cpuid == S3C2410_GSTATUS1_2440 ||
|
|
cpuid == S3C2410_GSTATUS1_2442 ||
|
|
cpuid == S3C2410_GSTATUS1_2416 ||
|
|
cpuid == S3C2410_GSTATUS1_2450) {
|
|
fifo_mask = S3C2440_UFSTAT_TXMASK;
|
|
fifo_max = 63 << S3C2440_UFSTAT_TXSHIFT;
|
|
} else {
|
|
fifo_mask = S3C2410_UFSTAT_TXMASK;
|
|
fifo_max = 15 << S3C2410_UFSTAT_TXSHIFT;
|
|
}
|
|
|
|
uart_base = (volatile u8 *) S3C_PA_UART +
|
|
(S3C_UART_OFFSET * CONFIG_S3C_LOWLEVEL_UART_PORT);
|
|
}
|
|
|
|
#endif /* __ASM_ARCH_UNCOMPRESS_H */
|