arm: vt8500: Add support for WM8750 and WM8850 SoCs.

This series is based on:
 git://server.prisktech.co.nz/git/linuxwmt.git tags/vt8500-multiplatform-3.9
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJQ8NEiAAoJEAKiPfwuf9N/F0gH/0fAJkX6qPxVe33yPDbMFE1/
 fKzPNM/FtzZh72updnNPKvAkO+V8ybDWo8tkn/nyvC7wNYNTFhlcFIc/zFyIwL1W
 H2gcIl8aygdee6pRkigIi0alkK1ZHgClmdKJXnCv0nyHWLXqQCeiqCgAUYLBwfPA
 4ZoVLs7djWiSF9TP51hDRbeG4Rzn38GQMxO8cmnk5qitfPc06hDP5Z6Hu8oLTXRn
 ekGZI6aOqFz+RBHGGtQ813wH+kWrHu3/VHz8DPAVZ5KKz5bDFgcwcp07xQXCbfgX
 kS2JytpJ+5Rmh6XVLTPNrxeaqht8MUwdL327rEVi0UO3z7CmYmVBf/6ajWW+QBU=
 =Q4oq
 -----END PGP SIGNATURE-----

Merge tag 'armsoc-3.9' of git://server.prisktech.co.nz/git/linuxwmt into next/soc

From Tony Prisk:
Add support for WM8750 and WM8850 SoCs.

* tag 'armsoc-3.9' of git://server.prisktech.co.nz/git/linuxwmt:
  arm: vt8500: Add support for Wondermedia WM8750/WM8850
  arm: vt8500: Remove remaining mach includes
  arm: vt8500: Convert debug-macro.S to be multiplatform friendly
  arm: vt8500: Remove single platform Kconfig options

Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Olof Johansson 2013-01-12 09:08:33 -08:00
commit 32499e8dbe
8 changed files with 57 additions and 91 deletions

View File

@ -12,3 +12,11 @@ compatible = "wm,wm8505";
Boards with the Wondermedia WM8650 SoC shall have the following properties:
Required root node property:
compatible = "wm,wm8650";
Boards with the Wondermedia WM8750 SoC shall have the following properties:
Required root node property:
compatible = "wm,wm8750";
Boards with the Wondermedia WM8850 SoC shall have the following properties:
Required root node property:
compatible = "wm,wm8850";

View File

@ -949,22 +949,6 @@ config ARCH_OMAP
help
Support for TI's OMAP platform (OMAP1/2/3/4).
config ARCH_VT8500_SINGLE
bool "VIA/WonderMedia 85xx"
select ARCH_HAS_CPUFREQ
select ARCH_REQUIRE_GPIOLIB
select CLKDEV_LOOKUP
select COMMON_CLK
select CPU_ARM926T
select GENERIC_CLOCKEVENTS
select GENERIC_GPIO
select HAVE_CLK
select MULTI_IRQ_HANDLER
select SPARSE_IRQ
select USE_OF
help
Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip.
endchoice
menu "Multiple platform selection"

View File

@ -412,6 +412,13 @@ choice
of the tiles using the RS1 memory map, including all new A-class
core tiles, FPGA-based SMMs and software models.
config DEBUG_VT8500_UART0
bool "Use UART0 on VIA/Wondermedia SoCs"
depends on ARCH_VT8500
help
This option selects UART0 on VIA/Wondermedia System-on-a-chip
devices, including VT8500, WM8505, WM8650 and WM8850.
config DEBUG_LL_UART_NONE
bool "No low-level debugging UART"
depends on !ARCH_MULTIPLATFORM
@ -506,6 +513,7 @@ config DEBUG_LL_INCLUDE
default "debug/sunxi.S" if DEBUG_SUNXI_UART0 || DEBUG_SUNXI_UART1
default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
default "debug/vt8500.S" if DEBUG_VT8500_UART0
default "debug/tegra.S" if DEBUG_TEGRA_UART
default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
default "mach/debug-macro.S"

View File

@ -1,20 +1,24 @@
/*
* arch/arm/mach-vt8500/include/mach/debug-macro.S
/*
* Debugging macro include header
*
* Copyright (C) 2010 Alexey Charkov <alchark@gmail.com>
*
* Debugging macro include header
* Moved from arch/arm/mach-vt8500/include/mach/debug-macro.S
* Minor changes for readability.
*
* 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.
*
*/
*/
#define DEBUG_LL_PHYS_BASE 0xD8000000
#define DEBUG_LL_VIRT_BASE 0xF8000000
#define DEBUG_LL_UART_OFFSET 0x00200000
#if defined(CONFIG_DEBUG_VT8500_UART0)
.macro addruart, rp, rv, tmp
mov \rp, #0x00200000
orr \rv, \rp, #0xf8000000
orr \rp, \rp, #0xd8000000
mov \rp, #DEBUG_LL_UART_OFFSET
orr \rv, \rp, #DEBUG_LL_VIRT_BASE
orr \rp, \rp, #DEBUG_LL_PHYS_BASE
.endm
.macro senduart,rd,rx
@ -29,3 +33,5 @@
.macro waituart,rd,rx
.endm
#endif

View File

@ -1,12 +1,33 @@
config ARCH_VT8500
bool "VIA/WonderMedia 85xx" if ARCH_MULTI_V5
default ARCH_VT8500_SINGLE
bool
select ARCH_HAS_CPUFREQ
select ARCH_REQUIRE_GPIOLIB
select CLKDEV_LOOKUP
select CPU_ARM926T
select GENERIC_CLOCKEVENTS
select GENERIC_GPIO
select HAVE_CLK
help
Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip.
config ARCH_WM8505
bool "VIA/Wondermedia 85xx and WM8650"
depends on ARCH_MULTI_V5
select ARCH_VT8500
select CPU_ARM926T
help
config ARCH_WM8750
bool "WonderMedia WM8750"
depends on ARCH_MULTI_V6
select ARCH_VT8500
select CPU_V6
help
Support for WonderMedia WM8750 System-on-Chip.
config ARCH_WM8850
bool "WonderMedia WM8850"
depends on ARCH_MULTI_V7
select ARCH_VT8500
select CPU_V7
help
Support for WonderMedia WM8850 System-on-Chip.

View File

@ -1,26 +0,0 @@
/*
* arch/arm/mach-vt8500/include/mach/timex.h
*
* Copyright (C) 2010 Alexey Charkov <alchark@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef MACH_TIMEX_H
#define MACH_TIMEX_H
#define CLOCK_TICK_RATE (3000000)
#endif /* MACH_TIMEX_H */

View File

@ -1,37 +0,0 @@
/* arch/arm/mach-vt8500/include/mach/uncompress.h
*
* Copyright (C) 2010 Alexey Charkov <alchark@gmail.com>
*
* Based on arch/arm/mach-dove/include/mach/uncompress.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.
*
*/
#define UART0_PHYS 0xd8200000
#define UART0_ADDR(x) *(volatile unsigned char *)(UART0_PHYS + x)
static void putc(const char c)
{
while (UART0_ADDR(0x1c) & 0x2)
/* Tx busy, wait and poll */;
UART0_ADDR(0) = c;
}
static void flush(void)
{
}
/*
* nothing to do
*/
#define arch_decomp_setup()
#define arch_decomp_wdog()

View File

@ -183,6 +183,8 @@ static const char * const vt8500_dt_compat[] = {
"via,vt8500",
"wm,wm8650",
"wm,wm8505",
"wm,wm8750",
"wm,wm8850",
};
DT_MACHINE_START(WMT_DT, "VIA/Wondermedia SoC (Device Tree Support)")