From 2fd4e8a3e79bed58ca439d3624b2f679a86b0d7a Mon Sep 17 00:00:00 2001
From: Florian Fainelli <florian@openwrt.org>
Date: Sun, 7 Dec 2014 21:59:25 +0000
Subject: adm8668: add 3.14 kernel support

Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43551 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 .../arch/mips/include/asm/mach-adm8668/adm8668.h   | 69 ++++++++++++++++++++++
 .../arch/mips/include/asm/mach-adm8668/asm/sizes.h | 56 ++++++++++++++++++
 .../arch/mips/include/asm/mach-adm8668/gpio.h      | 13 ++++
 .../arch/mips/include/asm/mach-adm8668/irq.h       | 14 +++++
 .../arch/mips/include/asm/mach-adm8668/war.h       | 25 ++++++++
 5 files changed, 177 insertions(+)
 create mode 100644 target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/adm8668.h
 create mode 100644 target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/asm/sizes.h
 create mode 100644 target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/gpio.h
 create mode 100644 target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/irq.h
 create mode 100644 target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/war.h

(limited to 'target/linux/adm8668/files-3.14/arch/mips/include')

diff --git a/target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/adm8668.h b/target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/adm8668.h
new file mode 100644
index 0000000000..8a16863c08
--- /dev/null
+++ b/target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/adm8668.h
@@ -0,0 +1,69 @@
+/************************************************************************
+ *
+ *    Copyright (c) 2005
+ *    Infineon Technologies AG
+ *    St. Martin Strasse 53; 81669 Muenchen; Germany
+ *
+ ************************************************************************/
+
+#ifndef  __ADM8668_H__
+#define  __ADM8668_H__
+
+/*=======================  Physical Memory Map  ============================*/
+#define ADM8668_SDRAM_BASE	0
+#define ADM8668_SMEM1_BASE	0x10000000
+#define ADM8668_MPMC_BASE	0x11000000
+#define ADM8668_USB_BASE	0x11200000
+#define ADM8668_CONFIG_BASE	0x11400000
+#define ADM8668_WAN_BASE	0x11600000
+#define ADM8668_WLAN_BASE	0x11800000
+#define ADM8668_LAN_BASE	0x11A00000
+#define ADM8668_INTC_BASE	0x1E000000
+#define ADM8668_TMR_BASE	0x1E200000
+#define ADM8668_UART0_BASE	0x1E400000
+#define ADM8668_SMEM0_BASE	0x1FC00000
+#define ADM8668_NAND_BASE	0x1FFFFF00
+
+#define ADM8668_PCICFG_BASE	0x12200000
+#define ADM8668_PCIDAT_BASE	0x12400000
+
+/* interrupt levels */
+#define ADM8668_SWI_IRQ		1
+#define ADM8668_COMMS_RX_IRQ	2
+#define ADM8668_COMMS_TX_IRQ	3
+#define ADM8668_TIMER0_IRQ	4
+#define ADM8668_TIMER1_IRQ	5
+#define ADM8668_UART0_IRQ	6
+#define ADM8668_LAN_IRQ		7
+#define ADM8668_WAN_IRQ		8
+#define ADM8668_WLAN_IRQ	9
+#define ADM8668_GPIO_IRQ	10
+#define ADM8668_IDE_IRQ		11
+#define ADM8668_PCI2_IRQ	12
+#define ADM8668_PCI1_IRQ	13
+#define ADM8668_PCI0_IRQ	14
+#define ADM8668_USB_IRQ		15
+#define ADM8668_IRQ_MAX		ADM8668_USB_IRQ
+
+/* register access macros */
+#define ADM8668_CONFIG_REG(_reg)	\
+	(*((volatile unsigned int *)(KSEG1ADDR(ADM8668_CONFIG_BASE + (_reg)))))
+
+/* lan registers */
+#define	NETCSR6			0x30
+#define	NETCSR7			0x38
+#define	NETCSR37		0xF8
+
+/* known/used CPU configuration registers */
+#define ADM8668_CR0		0x00
+#define ADM8668_CR1		0x04
+#define ADM8668_CR3		0x0C
+#define ADM8668_CR66		0x108
+
+/** For GPIO control **/
+#define	GPIO_REG		0x5C	/* on WLAN */
+#define CRGPIO_REG		0x20	/* on CPU */
+
+void adm8668_init_clocks(void);
+
+#endif /* __ADM8668_H__ */
diff --git a/target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/asm/sizes.h b/target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/asm/sizes.h
new file mode 100644
index 0000000000..503843db15
--- /dev/null
+++ b/target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/asm/sizes.h
@@ -0,0 +1,56 @@
+/*
+ * 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
+ */
+/* DO NOT EDIT!! - this file automatically generated
+ *                 from .s file by awk -f s2h.awk
+ */
+/*  Size definitions
+ *  Copyright (C) ARM Limited 1998. All rights reserved.
+ */
+
+#ifndef __sizes_h
+#define __sizes_h                       1
+
+/* handy sizes */
+#define SZ_16				0x00000010
+#define SZ_256				0x00000100
+#define SZ_512				0x00000200
+
+#define SZ_1K                           0x00000400
+#define SZ_4K                           0x00001000
+#define SZ_8K                           0x00002000
+#define SZ_16K                          0x00004000
+#define SZ_64K                          0x00010000
+#define SZ_128K                         0x00020000
+#define SZ_256K                         0x00040000
+#define SZ_512K                         0x00080000
+
+#define SZ_1M                           0x00100000
+#define SZ_2M                           0x00200000
+#define SZ_4M                           0x00400000
+#define SZ_8M                           0x00800000
+#define SZ_16M                          0x01000000
+#define SZ_32M                          0x02000000
+#define SZ_64M                          0x04000000
+#define SZ_128M                         0x08000000
+#define SZ_256M                         0x10000000
+#define SZ_512M                         0x20000000
+
+#define SZ_1G                           0x40000000
+#define SZ_2G                           0x80000000
+
+#endif
+
+/*         END */
diff --git a/target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/gpio.h b/target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/gpio.h
new file mode 100644
index 0000000000..b0473fc4b3
--- /dev/null
+++ b/target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/gpio.h
@@ -0,0 +1,13 @@
+#ifndef __ADM8668_GPIO_H__
+#define __ADM8668_GPIO_H__
+
+#define gpio_to_irq(gpio)       -1
+
+#define gpio_get_value __gpio_get_value
+#define gpio_set_value __gpio_set_value
+
+#define gpio_cansleep __gpio_cansleep
+
+#include <asm-generic/gpio.h>
+
+#endif
diff --git a/target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/irq.h b/target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/irq.h
new file mode 100644
index 0000000000..ea859f03af
--- /dev/null
+++ b/target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/irq.h
@@ -0,0 +1,14 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ * Copyright (C) 2003 by Ralf Baechle
+ */
+#ifndef __ASM_MACH_ADM8668_IRQ_H
+#define __ASM_MACH_ADM8668_IRQ_H
+
+#define	NR_IRQS			32
+#define	MIPS_CPU_IRQ_BASE	16
+
+#endif /* __ASM_MACH_ADM8668_IRQ_H */
diff --git a/target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/war.h b/target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/war.h
new file mode 100644
index 0000000000..7180043d34
--- /dev/null
+++ b/target/linux/adm8668/files-3.14/arch/mips/include/asm/mach-adm8668/war.h
@@ -0,0 +1,25 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org>
+ */
+#ifndef __ASM_MIPS_MACH_ADM8668_WAR_H
+#define __ASM_MIPS_MACH_ADM8668_WAR_H
+
+#define R4600_V1_INDEX_ICACHEOP_WAR	0
+#define R4600_V1_HIT_CACHEOP_WAR	0
+#define R4600_V2_HIT_CACHEOP_WAR	0
+#define R5432_CP0_INTERRUPT_WAR		0
+#define BCM1250_M3_WAR			0
+#define SIBYTE_1956_WAR			0
+#define MIPS4K_ICACHE_REFILL_WAR	0
+#define MIPS_CACHE_SYNC_WAR		0
+#define TX49XX_ICACHE_INDEX_INV_WAR	0
+#define RM9000_CDEX_SMP_WAR		0
+#define ICACHE_REFILLS_WORKAROUND_WAR	0
+#define R10000_LLSC_WAR			0
+#define MIPS34K_MISSED_ITLB_WAR		0
+
+#endif /* __ASM_MIPS_MACH_ADM8668_WAR_H */
-- 
cgit v1.2.3