- add new SoCs support : exynos3250, 5260, 5410 and 5800 - enable multi-platform on exynos : consolidate exynos related Kconfig entries Note that this requires tags/samsung-cleanup and tags/samsung-clk-2 because of mostly migration exynos specific macros into mach-exynos and exynos related Kconfig entries. One more merge conflict happens in arch/arm/Kconfig for ARCH_EXYNOS due to SRAM stuff, even though tried to sort them out. Since just resolving it would be better I think, please remove ARCH_EXYNOS in arch/arm/Kconfig when merge conflict happens. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABAgAGBQJTiNnJAAoJEA0Cl+kVi2xqw4AP/1h2Rtg5/VXTwspQNicVqmjy xh1R5HNkCK9J+Vs+hrajFog4lneTuKDimgJqwM4JcMR9Y6KFCVivMZ+rPpaVpa2o Ly50EgEUAx7iir/PswttUVsSAoP/LXwwP44tWgV6qwV4N2qZ4BPKSAkc+l4icrqv Zzx4h1sxMKF2oTarDsrBIj7UszZtIB6Dt00ogyEJ2BNgWcWzU51YtWOz6MdC+Eha Wz2cfnrl2GiSIUC+Y0jRxeNfJyIgVMvrWpC23d5QSO0qx5xDNhSq/+eNXpd4gTGc aMoBnTgzvymOgLYFkcDCDYxsehXqX1b3hHzu1BfRTWjcA9wmxFhC8eOiMAgDso79 V8L/k5/XVAP34TFzZR1ZD5rCqgBIuDgmeOqyzMAxMLVKTQZrJ/6smKq94FCCD89G lOtiLmAPems8g7DE2wpWsYiml7TyUHNqgHP4FWJThnERjBa+rDKsyozzgFLJLqD7 /qL+qn6C0COtfDN0SBiIiLyV/0j+DI+tS5uGWgKWxGkRLQev1GyWGsGJZBx1tlJB v0/aAEAFkTWg9b+dO9OdUXzbGvc3VAQbaiwfCb73vsEibuO3IGpsXsl0d+ChXUkK XbQW5nNHOCKJj1auAg+4AqWm+evSzjZa/gViUlxE0vpK1Bc8uXZy0sYhQwC0lBaB KBqHE3ImvgIgPhXa3t5R =/Vpg -----END PGP SIGNATURE----- Merge tag 'samsung-exynos' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc Samsung Exynos updates for 3.16 - add new SoCs support : exynos3250, 5260, 5410 and 5800 - enable multi-platform on exynos : consolidate exynos related Kconfig entries * tag 'samsung-exynos' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (22 commits) ARM: EXYNOS: Enable multi-platform build support ARM: EXYNOS: Consolidate Kconfig entries ARM: EXYNOS: Add support for EXYNOS5410 SoC ARM: EXYNOS: Support secondary CPU boot of Exynos3250 ARM: EXYNOS: Add Exynos3250 SoC ID ARM: EXYNOS: Add 5800 SoC support ARM: EXYNOS: initial board support for exynos5260 SoC cpufreq: exynos: Fix the compile error ARM: S3C24XX: move debug-macro.S into the common space ARM: S3C24XX: use generic DEBUG_UART_PHY/_VIRT in debug macro ARM: S3C24XX: trim down debug uart handling ARM: compressed/head.S: remove s3c24xx special case ARM: EXYNOS: Remove unnecessary inclusion of cpu.h ARM: EXYNOS: Migrate Exynos specific macros from plat to mach ARM: EXYNOS: Remove exynos_subsys registration ARM: EXYNOS: Remove duplicate lines in Makefile ARM: EXYNOS: use v7_exit_coherency_flush macro for cache disabling ARM: dts: Remove g2d_pd node for exynos5420 ARM: dts: Remove mau_pd node for exynos5420 ARM: exynos_defconfig: enable HS-I2C to fix for mmc partition mount ... Signed-off-by: Olof Johansson <olof@lixom.net>tirimbino
commit
fe388fac0f
@ -0,0 +1,46 @@ |
||||
/* arch/arm/mach-s3c2410/include/mach/debug-macro.S |
||||
* |
||||
* Debugging macro include header |
||||
* |
||||
* Copyright (C) 1994-1999 Russell King |
||||
* Copyright (C) 2005 Simtec Electronics |
||||
* |
||||
* Moved from linux/arch/arm/kernel/debug.S by Ben Dooks |
||||
* |
||||
* 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. |
||||
*/ |
||||
|
||||
#include <linux/serial_s3c.h> |
||||
|
||||
#define S3C2410_UART1_OFF (0x4000) |
||||
|
||||
.macro addruart, rp, rv, tmp |
||||
ldr \rp, = CONFIG_DEBUG_UART_PHYS |
||||
ldr \rv, = CONFIG_DEBUG_UART_VIRT |
||||
.endm |
||||
|
||||
.macro fifo_full_s3c2410 rd, rx |
||||
ldr \rd, [\rx, # S3C2410_UFSTAT] |
||||
tst \rd, #S3C2410_UFSTAT_TXFULL |
||||
.endm |
||||
|
||||
.macro fifo_level_s3c2410 rd, rx |
||||
ldr \rd, [\rx, # S3C2410_UFSTAT] |
||||
and \rd, \rd, #S3C2410_UFSTAT_TXMASK |
||||
.endm |
||||
|
||||
/* Select the correct implementation depending on the configuration. The |
||||
* S3C2440 will get selected by default, as these are the most widely |
||||
* used variants of these |
||||
*/ |
||||
|
||||
#if defined(CONFIG_DEBUG_S3C2410_UART) |
||||
#define fifo_full fifo_full_s3c2410 |
||||
#define fifo_level fifo_level_s3c2410 |
||||
#endif |
||||
|
||||
/* include the reset of the code which will do the work */ |
||||
|
||||
#include <debug/samsung.S> |
@ -1,101 +0,0 @@ |
||||
/* arch/arm/mach-s3c2410/include/mach/debug-macro.S |
||||
* |
||||
* Debugging macro include header |
||||
* |
||||
* Copyright (C) 1994-1999 Russell King |
||||
* Copyright (C) 2005 Simtec Electronics |
||||
* |
||||
* Moved from linux/arch/arm/kernel/debug.S by Ben Dooks |
||||
* |
||||
* 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. |
||||
*/ |
||||
|
||||
#include <mach/map.h> |
||||
#include <mach/regs-gpio.h> |
||||
#include <linux/serial_s3c.h> |
||||
|
||||
#define S3C2410_UART1_OFF (0x4000) |
||||
#define SHIFT_2440TXF (14-9) |
||||
|
||||
.macro addruart, rp, rv, tmp |
||||
ldr \rp, = S3C24XX_PA_UART |
||||
ldr \rv, = S3C24XX_VA_UART |
||||
#if CONFIG_DEBUG_S3C_UART != 0 |
||||
add \rp, \rp, #(S3C2410_UART1_OFF * CONFIG_DEBUG_S3C_UART) |
||||
add \rv, \rv, #(S3C2410_UART1_OFF * CONFIG_DEBUG_S3C_UART) |
||||
#endif |
||||
.endm |
||||
|
||||
.macro fifo_full_s3c24xx rd, rx |
||||
@ check for arm920 vs arm926. currently assume all arm926
|
||||
@ devices have an 64 byte FIFO identical to the s3c2440
|
||||
mrc p15, 0, \rd, c0, c0 |
||||
and \rd, \rd, #0xff0 |
||||
teq \rd, #0x260 |
||||
beq 1004f |
||||
mrc p15, 0, \rd, c1, c0 |
||||
tst \rd, #1 |
||||
addeq \rd, \rx, #(S3C24XX_PA_GPIO - S3C24XX_PA_UART) |
||||
addne \rd, \rx, #(S3C24XX_VA_GPIO - S3C24XX_VA_UART) |
||||
bic \rd, \rd, #0xff000 |
||||
ldr \rd, [\rd, # S3C2410_GSTATUS1 - S3C2410_GPIOREG(0)] |
||||
and \rd, \rd, #0x00ff0000 |
||||
teq \rd, #0x00440000 @ is it 2440?
|
||||
1004: |
||||
ldr \rd, [\rx, # S3C2410_UFSTAT] |
||||
moveq \rd, \rd, lsr #SHIFT_2440TXF |
||||
tst \rd, #S3C2410_UFSTAT_TXFULL |
||||
.endm |
||||
|
||||
.macro fifo_full_s3c2410 rd, rx |
||||
ldr \rd, [\rx, # S3C2410_UFSTAT] |
||||
tst \rd, #S3C2410_UFSTAT_TXFULL |
||||
.endm |
||||
|
||||
/* fifo level reading */ |
||||
|
||||
.macro fifo_level_s3c24xx rd, rx |
||||
@ check for arm920 vs arm926. currently assume all arm926
|
||||
@ devices have an 64 byte FIFO identical to the s3c2440
|
||||
mrc p15, 0, \rd, c0, c0 |
||||
and \rd, \rd, #0xff0 |
||||
teq \rd, #0x260 |
||||
beq 10000f |
||||
mrc p15, 0, \rd, c1, c0 |
||||
tst \rd, #1 |
||||
addeq \rd, \rx, #(S3C24XX_PA_GPIO - S3C24XX_PA_UART) |
||||
addne \rd, \rx, #(S3C24XX_VA_GPIO - S3C24XX_VA_UART) |
||||
bic \rd, \rd, #0xff000 |
||||
ldr \rd, [\rd, # S3C2410_GSTATUS1 - S3C2410_GPIOREG(0)] |
||||
and \rd, \rd, #0x00ff0000 |
||||
teq \rd, #0x00440000 @ is it 2440?
|
||||
|
||||
10000: |
||||
ldr \rd, [\rx, # S3C2410_UFSTAT] |
||||
andne \rd, \rd, #S3C2410_UFSTAT_TXMASK |
||||
andeq \rd, \rd, #S3C2440_UFSTAT_TXMASK |
||||
.endm |
||||
|
||||
.macro fifo_level_s3c2410 rd, rx |
||||
ldr \rd, [\rx, # S3C2410_UFSTAT] |
||||
and \rd, \rd, #S3C2410_UFSTAT_TXMASK |
||||
.endm |
||||
|
||||
/* Select the correct implementation depending on the configuration. The |
||||
* S3C2440 will get selected by default, as these are the most widely |
||||
* used variants of these |
||||
*/ |
||||
|
||||
#if defined(CONFIG_CPU_LLSERIAL_S3C2410_ONLY) |
||||
#define fifo_full fifo_full_s3c2410 |
||||
#define fifo_level fifo_level_s3c2410 |
||||
#elif !defined(CONFIG_CPU_LLSERIAL_S3C2440_ONLY) |
||||
#define fifo_full fifo_full_s3c24xx |
||||
#define fifo_level fifo_level_s3c24xx |
||||
#endif |
||||
|
||||
/* include the reset of the code which will do the work */ |
||||
|
||||
#include <debug/samsung.S> |
Loading…
Reference in new issue