From 37cf83b97e0c5376ac39fe853d0171f1ef1b99f9 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Thu, 18 Oct 2012 15:04:30 -0300 Subject: [PATCH] --- yaml --- r: 339767 b: refs/heads/master c: 4cc3c840cb71da9a8e458bf89677a78ea0d61532 h: refs/heads/master i: 339765: 3f570e01a01909b66f118e338cfee14ab670972f 339763: b3f5454669391ef401d2deefdeec32478d7f64e1 339759: 7836aff03ca68a7dc59e7fbc985a3a74ca9f58dd v: v3 --- [refs] | 2 +- trunk/arch/arm/boot/compressed/Makefile | 4 ++ trunk/arch/arm/boot/compressed/head-vt8500.S | 46 +++++++++++++++++++ trunk/arch/arm/configs/imx_v4_v5_defconfig | 1 + trunk/arch/arm/configs/imx_v6_v7_defconfig | 1 + trunk/arch/arm/mach-imx/Kconfig | 2 +- .../arm/mach-vt8500/include/mach/hardware.h | 12 +++++ .../arch/arm/mach-vt8500/include/mach/i8042.h | 18 ++++++++ .../arm/mach-vt8500/include/mach/restart.h | 17 +++++++ trunk/arch/arm/mach-vt8500/timer.c | 2 +- trunk/arch/arm/mach-vt8500/vt8500.c | 2 + 11 files changed, 104 insertions(+), 3 deletions(-) create mode 100644 trunk/arch/arm/boot/compressed/head-vt8500.S create mode 100644 trunk/arch/arm/mach-vt8500/include/mach/hardware.h create mode 100644 trunk/arch/arm/mach-vt8500/include/mach/i8042.h create mode 100644 trunk/arch/arm/mach-vt8500/include/mach/restart.h diff --git a/[refs] b/[refs] index 14d5dd7982e5..52e0ccb2b35c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: eccfe8b75b09225187863ac9520a827b6400a8aa +refs/heads/master: 4cc3c840cb71da9a8e458bf89677a78ea0d61532 diff --git a/trunk/arch/arm/boot/compressed/Makefile b/trunk/arch/arm/boot/compressed/Makefile index 537208f22e56..a517153a13ea 100644 --- a/trunk/arch/arm/boot/compressed/Makefile +++ b/trunk/arch/arm/boot/compressed/Makefile @@ -54,6 +54,10 @@ ifeq ($(CONFIG_ARCH_SA1100),y) OBJS += head-sa1100.o endif +ifeq ($(CONFIG_ARCH_VT8500),y) +OBJS += head-vt8500.o +endif + ifeq ($(CONFIG_CPU_XSCALE),y) OBJS += head-xscale.o endif diff --git a/trunk/arch/arm/boot/compressed/head-vt8500.S b/trunk/arch/arm/boot/compressed/head-vt8500.S new file mode 100644 index 000000000000..1dc1e21a3be3 --- /dev/null +++ b/trunk/arch/arm/boot/compressed/head-vt8500.S @@ -0,0 +1,46 @@ +/* + * linux/arch/arm/boot/compressed/head-vt8500.S + * + * Copyright (C) 2010 Alexey Charkov + * + * VIA VT8500 specific tweaks. This is merged into head.S by the linker. + * + */ + +#include +#include + + .section ".start", "ax" + +__VT8500_start: + @ Compare the SCC ID register against a list of known values + ldr r1, .SCCID + ldr r3, [r1] + + @ VT8500 override + ldr r4, .VT8500SCC + cmp r3, r4 + ldreq r7, .ID_BV07 + beq .Lendvt8500 + + @ WM8505 override + ldr r4, .WM8505SCC + cmp r3, r4 + ldreq r7, .ID_8505 + beq .Lendvt8500 + + @ Otherwise, leave the bootloader's machine id untouched + +.SCCID: + .word 0xd8120000 +.VT8500SCC: + .word 0x34000102 +.WM8505SCC: + .word 0x34260103 + +.ID_BV07: + .word MACH_TYPE_BV07 +.ID_8505: + .word MACH_TYPE_WM8505_7IN_NETBOOK + +.Lendvt8500: diff --git a/trunk/arch/arm/configs/imx_v4_v5_defconfig b/trunk/arch/arm/configs/imx_v4_v5_defconfig index bd012441b747..f71302c3ac33 100644 --- a/trunk/arch/arm/configs/imx_v4_v5_defconfig +++ b/trunk/arch/arm/configs/imx_v4_v5_defconfig @@ -17,6 +17,7 @@ CONFIG_MODULE_UNLOAD=y # CONFIG_BLK_DEV_BSG is not set # CONFIG_IOSCHED_DEADLINE is not set # CONFIG_IOSCHED_CFQ is not set +CONFIG_ARCH_MXC=y CONFIG_ARCH_MULTI_V4T=y CONFIG_ARCH_MULTI_V5=y # CONFIG_ARCH_MULTI_V7 is not set diff --git a/trunk/arch/arm/configs/imx_v6_v7_defconfig b/trunk/arch/arm/configs/imx_v6_v7_defconfig index a4965f372576..5dfadfbf7c90 100644 --- a/trunk/arch/arm/configs/imx_v6_v7_defconfig +++ b/trunk/arch/arm/configs/imx_v6_v7_defconfig @@ -16,6 +16,7 @@ CONFIG_MODULE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_BLK_DEV_BSG is not set +CONFIG_ARCH_MXC=y CONFIG_ARCH_MULTI_V6=y CONFIG_ARCH_MULTI_V7=y CONFIG_MACH_MX31LILLY=y diff --git a/trunk/arch/arm/mach-imx/Kconfig b/trunk/arch/arm/mach-imx/Kconfig index 892631f1e4c8..66bcf1df14b9 100644 --- a/trunk/arch/arm/mach-imx/Kconfig +++ b/trunk/arch/arm/mach-imx/Kconfig @@ -1,5 +1,5 @@ config ARCH_MXC - def_bool y if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 + bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 select ARCH_REQUIRE_GPIOLIB select ARM_PATCH_PHYS_VIRT select AUTO_ZRELADDR if !ZBOOT_ROM diff --git a/trunk/arch/arm/mach-vt8500/include/mach/hardware.h b/trunk/arch/arm/mach-vt8500/include/mach/hardware.h new file mode 100644 index 000000000000..db4163f72c39 --- /dev/null +++ b/trunk/arch/arm/mach-vt8500/include/mach/hardware.h @@ -0,0 +1,12 @@ +/* arch/arm/mach-vt8500/include/mach/hardware.h + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ diff --git a/trunk/arch/arm/mach-vt8500/include/mach/i8042.h b/trunk/arch/arm/mach-vt8500/include/mach/i8042.h new file mode 100644 index 000000000000..cd7143cad6f3 --- /dev/null +++ b/trunk/arch/arm/mach-vt8500/include/mach/i8042.h @@ -0,0 +1,18 @@ +/* arch/arm/mach-vt8500/include/mach/i8042.h + * + * Copyright (C) 2010 Alexey Charkov + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +extern unsigned long wmt_i8042_base __initdata; +extern int wmt_i8042_kbd_irq; +extern int wmt_i8042_aux_irq; diff --git a/trunk/arch/arm/mach-vt8500/include/mach/restart.h b/trunk/arch/arm/mach-vt8500/include/mach/restart.h new file mode 100644 index 000000000000..738979518acb --- /dev/null +++ b/trunk/arch/arm/mach-vt8500/include/mach/restart.h @@ -0,0 +1,17 @@ +/* linux/arch/arm/mach-vt8500/restart.h + * + * Copyright (C) 2012 Tony Prisk + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +void vt8500_setup_restart(void); +void vt8500_restart(char mode, const char *cmd); diff --git a/trunk/arch/arm/mach-vt8500/timer.c b/trunk/arch/arm/mach-vt8500/timer.c index 3dd21a47881f..050e1833f2d0 100644 --- a/trunk/arch/arm/mach-vt8500/timer.c +++ b/trunk/arch/arm/mach-vt8500/timer.c @@ -1,5 +1,5 @@ /* - * arch/arm/mach-vt8500/timer.c + * arch/arm/mach-vt8500/timer_dt.c * * Copyright (C) 2012 Tony Prisk * Copyright (C) 2010 Alexey Charkov diff --git a/trunk/arch/arm/mach-vt8500/vt8500.c b/trunk/arch/arm/mach-vt8500/vt8500.c index a5bd28692b06..8d3871f110a5 100644 --- a/trunk/arch/arm/mach-vt8500/vt8500.c +++ b/trunk/arch/arm/mach-vt8500/vt8500.c @@ -31,6 +31,8 @@ #include #include +#include + #include "common.h" #define LEGACY_GPIO_BASE 0xD8110000