diff options
| -rw-r--r-- | Documentation/devicetree/bindings/arm/vt8500.txt | 8 | ||||
| -rw-r--r-- | arch/arm/Kconfig | 16 | ||||
| -rw-r--r-- | arch/arm/Kconfig.debug | 8 | ||||
| -rw-r--r-- | arch/arm/include/debug/vt8500.S (renamed from arch/arm/mach-vt8500/include/mach/debug-macro.S) | 24 | ||||
| -rw-r--r-- | arch/arm/mach-vt8500/Kconfig | 27 | ||||
| -rw-r--r-- | arch/arm/mach-vt8500/include/mach/timex.h | 26 | ||||
| -rw-r--r-- | arch/arm/mach-vt8500/include/mach/uncompress.h | 37 | ||||
| -rw-r--r-- | arch/arm/mach-vt8500/vt8500.c | 2 |
8 files changed, 57 insertions, 91 deletions
diff --git a/Documentation/devicetree/bindings/arm/vt8500.txt b/Documentation/devicetree/bindings/arm/vt8500.txt index d657832c6819..87dc1ddf4770 100644 --- a/Documentation/devicetree/bindings/arm/vt8500.txt +++ b/Documentation/devicetree/bindings/arm/vt8500.txt | |||
| @@ -12,3 +12,11 @@ compatible = "wm,wm8505"; | |||
| 12 | Boards with the Wondermedia WM8650 SoC shall have the following properties: | 12 | Boards with the Wondermedia WM8650 SoC shall have the following properties: |
| 13 | Required root node property: | 13 | Required root node property: |
| 14 | compatible = "wm,wm8650"; | 14 | compatible = "wm,wm8650"; |
| 15 | |||
| 16 | Boards with the Wondermedia WM8750 SoC shall have the following properties: | ||
| 17 | Required root node property: | ||
| 18 | compatible = "wm,wm8750"; | ||
| 19 | |||
| 20 | Boards with the Wondermedia WM8850 SoC shall have the following properties: | ||
| 21 | Required root node property: | ||
| 22 | compatible = "wm,wm8850"; | ||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 67874b82a4ed..31fe86d52608 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
| @@ -949,22 +949,6 @@ config ARCH_OMAP | |||
| 949 | help | 949 | help |
| 950 | Support for TI's OMAP platform (OMAP1/2/3/4). | 950 | Support for TI's OMAP platform (OMAP1/2/3/4). |
| 951 | 951 | ||
| 952 | config ARCH_VT8500_SINGLE | ||
| 953 | bool "VIA/WonderMedia 85xx" | ||
| 954 | select ARCH_HAS_CPUFREQ | ||
| 955 | select ARCH_REQUIRE_GPIOLIB | ||
| 956 | select CLKDEV_LOOKUP | ||
| 957 | select COMMON_CLK | ||
| 958 | select CPU_ARM926T | ||
| 959 | select GENERIC_CLOCKEVENTS | ||
| 960 | select GENERIC_GPIO | ||
| 961 | select HAVE_CLK | ||
| 962 | select MULTI_IRQ_HANDLER | ||
| 963 | select SPARSE_IRQ | ||
| 964 | select USE_OF | ||
| 965 | help | ||
| 966 | Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip. | ||
| 967 | |||
| 968 | endchoice | 952 | endchoice |
| 969 | 953 | ||
| 970 | menu "Multiple platform selection" | 954 | menu "Multiple platform selection" |
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index 661030d6bc6c..bbb0a670cd1a 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug | |||
| @@ -412,6 +412,13 @@ choice | |||
| 412 | of the tiles using the RS1 memory map, including all new A-class | 412 | of the tiles using the RS1 memory map, including all new A-class |
| 413 | core tiles, FPGA-based SMMs and software models. | 413 | core tiles, FPGA-based SMMs and software models. |
| 414 | 414 | ||
| 415 | config DEBUG_VT8500_UART0 | ||
| 416 | bool "Use UART0 on VIA/Wondermedia SoCs" | ||
| 417 | depends on ARCH_VT8500 | ||
| 418 | help | ||
| 419 | This option selects UART0 on VIA/Wondermedia System-on-a-chip | ||
| 420 | devices, including VT8500, WM8505, WM8650 and WM8850. | ||
| 421 | |||
| 415 | config DEBUG_LL_UART_NONE | 422 | config DEBUG_LL_UART_NONE |
| 416 | bool "No low-level debugging UART" | 423 | bool "No low-level debugging UART" |
| 417 | depends on !ARCH_MULTIPLATFORM | 424 | depends on !ARCH_MULTIPLATFORM |
| @@ -506,6 +513,7 @@ config DEBUG_LL_INCLUDE | |||
| 506 | default "debug/sunxi.S" if DEBUG_SUNXI_UART0 || DEBUG_SUNXI_UART1 | 513 | default "debug/sunxi.S" if DEBUG_SUNXI_UART0 || DEBUG_SUNXI_UART1 |
| 507 | default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \ | 514 | default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \ |
| 508 | DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1 | 515 | DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1 |
| 516 | default "debug/vt8500.S" if DEBUG_VT8500_UART0 | ||
| 509 | default "debug/tegra.S" if DEBUG_TEGRA_UART | 517 | default "debug/tegra.S" if DEBUG_TEGRA_UART |
| 510 | default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1 | 518 | default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1 |
| 511 | default "mach/debug-macro.S" | 519 | default "mach/debug-macro.S" |
diff --git a/arch/arm/mach-vt8500/include/mach/debug-macro.S b/arch/arm/include/debug/vt8500.S index ca292f29d4a3..0e0ca0869da7 100644 --- a/arch/arm/mach-vt8500/include/mach/debug-macro.S +++ b/arch/arm/include/debug/vt8500.S | |||
| @@ -1,20 +1,24 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * arch/arm/mach-vt8500/include/mach/debug-macro.S | 2 | * Debugging macro include header |
| 3 | * | 3 | * |
| 4 | * Copyright (C) 2010 Alexey Charkov <alchark@gmail.com> | 4 | * Copyright (C) 2010 Alexey Charkov <alchark@gmail.com> |
| 5 | * | 5 | * Moved from arch/arm/mach-vt8500/include/mach/debug-macro.S |
| 6 | * Debugging macro include header | 6 | * Minor changes for readability. |
| 7 | * | 7 | * |
| 8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
| 9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
| 10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
| 11 | * | 11 | */ |
| 12 | */ | 12 | |
| 13 | #define DEBUG_LL_PHYS_BASE 0xD8000000 | ||
| 14 | #define DEBUG_LL_VIRT_BASE 0xF8000000 | ||
| 15 | #define DEBUG_LL_UART_OFFSET 0x00200000 | ||
| 13 | 16 | ||
| 17 | #if defined(CONFIG_DEBUG_VT8500_UART0) | ||
| 14 | .macro addruart, rp, rv, tmp | 18 | .macro addruart, rp, rv, tmp |
| 15 | mov \rp, #0x00200000 | 19 | mov \rp, #DEBUG_LL_UART_OFFSET |
| 16 | orr \rv, \rp, #0xf8000000 | 20 | orr \rv, \rp, #DEBUG_LL_VIRT_BASE |
| 17 | orr \rp, \rp, #0xd8000000 | 21 | orr \rp, \rp, #DEBUG_LL_PHYS_BASE |
| 18 | .endm | 22 | .endm |
| 19 | 23 | ||
| 20 | .macro senduart,rd,rx | 24 | .macro senduart,rd,rx |
| @@ -29,3 +33,5 @@ | |||
| 29 | 33 | ||
| 30 | .macro waituart,rd,rx | 34 | .macro waituart,rd,rx |
| 31 | .endm | 35 | .endm |
| 36 | |||
| 37 | #endif | ||
diff --git a/arch/arm/mach-vt8500/Kconfig b/arch/arm/mach-vt8500/Kconfig index 2ed0b7d95db6..747aa14d0475 100644 --- a/arch/arm/mach-vt8500/Kconfig +++ b/arch/arm/mach-vt8500/Kconfig | |||
| @@ -1,12 +1,33 @@ | |||
| 1 | config ARCH_VT8500 | 1 | config ARCH_VT8500 |
| 2 | bool "VIA/WonderMedia 85xx" if ARCH_MULTI_V5 | 2 | bool |
| 3 | default ARCH_VT8500_SINGLE | ||
| 4 | select ARCH_HAS_CPUFREQ | 3 | select ARCH_HAS_CPUFREQ |
| 5 | select ARCH_REQUIRE_GPIOLIB | 4 | select ARCH_REQUIRE_GPIOLIB |
| 6 | select CLKDEV_LOOKUP | 5 | select CLKDEV_LOOKUP |
| 7 | select CPU_ARM926T | ||
| 8 | select GENERIC_CLOCKEVENTS | 6 | select GENERIC_CLOCKEVENTS |
| 9 | select GENERIC_GPIO | 7 | select GENERIC_GPIO |
| 10 | select HAVE_CLK | 8 | select HAVE_CLK |
| 11 | help | 9 | help |
| 12 | Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip. | 10 | Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip. |
| 11 | |||
| 12 | config ARCH_WM8505 | ||
| 13 | bool "VIA/Wondermedia 85xx and WM8650" | ||
| 14 | depends on ARCH_MULTI_V5 | ||
| 15 | select ARCH_VT8500 | ||
| 16 | select CPU_ARM926T | ||
| 17 | help | ||
| 18 | |||
| 19 | config ARCH_WM8750 | ||
| 20 | bool "WonderMedia WM8750" | ||
| 21 | depends on ARCH_MULTI_V6 | ||
| 22 | select ARCH_VT8500 | ||
| 23 | select CPU_V6 | ||
| 24 | help | ||
| 25 | Support for WonderMedia WM8750 System-on-Chip. | ||
| 26 | |||
| 27 | config ARCH_WM8850 | ||
| 28 | bool "WonderMedia WM8850" | ||
| 29 | depends on ARCH_MULTI_V7 | ||
| 30 | select ARCH_VT8500 | ||
| 31 | select CPU_V7 | ||
| 32 | help | ||
| 33 | Support for WonderMedia WM8850 System-on-Chip. | ||
diff --git a/arch/arm/mach-vt8500/include/mach/timex.h b/arch/arm/mach-vt8500/include/mach/timex.h deleted file mode 100644 index 8487e4c690b7..000000000000 --- a/arch/arm/mach-vt8500/include/mach/timex.h +++ /dev/null | |||
| @@ -1,26 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * arch/arm/mach-vt8500/include/mach/timex.h | ||
| 3 | * | ||
| 4 | * Copyright (C) 2010 Alexey Charkov <alchark@gmail.com> | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2 of the License, or | ||
| 9 | * (at your option) any later version. | ||
| 10 | * | ||
| 11 | * This program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with this program; if not, write to the Free Software | ||
| 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 19 | */ | ||
| 20 | |||
| 21 | #ifndef MACH_TIMEX_H | ||
| 22 | #define MACH_TIMEX_H | ||
| 23 | |||
| 24 | #define CLOCK_TICK_RATE (3000000) | ||
| 25 | |||
| 26 | #endif /* MACH_TIMEX_H */ | ||
diff --git a/arch/arm/mach-vt8500/include/mach/uncompress.h b/arch/arm/mach-vt8500/include/mach/uncompress.h deleted file mode 100644 index e6e81fdaf109..000000000000 --- a/arch/arm/mach-vt8500/include/mach/uncompress.h +++ /dev/null | |||
| @@ -1,37 +0,0 @@ | |||
| 1 | /* arch/arm/mach-vt8500/include/mach/uncompress.h | ||
| 2 | * | ||
| 3 | * Copyright (C) 2010 Alexey Charkov <alchark@gmail.com> | ||
| 4 | * | ||
| 5 | * Based on arch/arm/mach-dove/include/mach/uncompress.h | ||
| 6 | * | ||
| 7 | * This software is licensed under the terms of the GNU General Public | ||
| 8 | * License version 2, as published by the Free Software Foundation, and | ||
| 9 | * may be copied, distributed, and modified under those terms. | ||
| 10 | * | ||
| 11 | * This program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | */ | ||
| 17 | |||
| 18 | #define UART0_PHYS 0xd8200000 | ||
| 19 | #define UART0_ADDR(x) *(volatile unsigned char *)(UART0_PHYS + x) | ||
| 20 | |||
| 21 | static void putc(const char c) | ||
| 22 | { | ||
| 23 | while (UART0_ADDR(0x1c) & 0x2) | ||
| 24 | /* Tx busy, wait and poll */; | ||
| 25 | |||
| 26 | UART0_ADDR(0) = c; | ||
| 27 | } | ||
| 28 | |||
| 29 | static void flush(void) | ||
| 30 | { | ||
| 31 | } | ||
| 32 | |||
| 33 | /* | ||
| 34 | * nothing to do | ||
| 35 | */ | ||
| 36 | #define arch_decomp_setup() | ||
| 37 | #define arch_decomp_wdog() | ||
diff --git a/arch/arm/mach-vt8500/vt8500.c b/arch/arm/mach-vt8500/vt8500.c index 3c66d48ea082..55162ab1a943 100644 --- a/arch/arm/mach-vt8500/vt8500.c +++ b/arch/arm/mach-vt8500/vt8500.c | |||
| @@ -183,6 +183,8 @@ static const char * const vt8500_dt_compat[] = { | |||
| 183 | "via,vt8500", | 183 | "via,vt8500", |
| 184 | "wm,wm8650", | 184 | "wm,wm8650", |
| 185 | "wm,wm8505", | 185 | "wm,wm8505", |
| 186 | "wm,wm8750", | ||
| 187 | "wm,wm8850", | ||
| 186 | }; | 188 | }; |
| 187 | 189 | ||
| 188 | DT_MACHINE_START(WMT_DT, "VIA/Wondermedia SoC (Device Tree Support)") | 190 | DT_MACHINE_START(WMT_DT, "VIA/Wondermedia SoC (Device Tree Support)") |
