aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/patches/0008-MIPS-lantiq-add-support-for-the-EASY98000-evaluation.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/lantiq/patches/0008-MIPS-lantiq-add-support-for-the-EASY98000-evaluation.patch')
-rw-r--r--target/linux/lantiq/patches/0008-MIPS-lantiq-add-support-for-the-EASY98000-evaluation.patch166
1 files changed, 166 insertions, 0 deletions
diff --git a/target/linux/lantiq/patches/0008-MIPS-lantiq-add-support-for-the-EASY98000-evaluation.patch b/target/linux/lantiq/patches/0008-MIPS-lantiq-add-support-for-the-EASY98000-evaluation.patch
new file mode 100644
index 0000000000..10c73f5498
--- /dev/null
+++ b/target/linux/lantiq/patches/0008-MIPS-lantiq-add-support-for-the-EASY98000-evaluation.patch
@@ -0,0 +1,166 @@
+From ec6ba0f79c010a878d679c057fb6306b50a201b0 Mon Sep 17 00:00:00 2001
+From: John Crispin <blogic@openwrt.org>
+Date: Thu, 11 Aug 2011 14:09:35 +0200
+Subject: [PATCH 08/24] MIPS: lantiq: add support for the EASY98000 evaluation
+ board
+
+This patch adds the machine code for the EASY9800 evaluation board.
+
+Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
+Signed-off-by: John Crispin <blogic@openwrt.org>
+Cc: linux-mips@linux-mips.org
+---
+ arch/mips/lantiq/falcon/Kconfig | 11 +++
+ arch/mips/lantiq/falcon/Makefile | 1 +
+ arch/mips/lantiq/falcon/mach-easy98000.c | 110 ++++++++++++++++++++++++++++++
+ arch/mips/lantiq/machtypes.h | 5 ++
+ 4 files changed, 127 insertions(+), 0 deletions(-)
+ create mode 100644 arch/mips/lantiq/falcon/Kconfig
+ create mode 100644 arch/mips/lantiq/falcon/mach-easy98000.c
+
+--- /dev/null
++++ b/arch/mips/lantiq/falcon/Kconfig
+@@ -0,0 +1,11 @@
++if SOC_FALCON
++
++menu "MIPS Machine"
++
++config LANTIQ_MACH_EASY98000
++ bool "Easy98000"
++ default y
++
++endmenu
++
++endif
+--- a/arch/mips/lantiq/falcon/Makefile
++++ b/arch/mips/lantiq/falcon/Makefile
+@@ -1 +1,2 @@
+ obj-y := clk.o prom.o reset.o sysctrl.o devices.o gpio.o
++obj-$(CONFIG_LANTIQ_MACH_EASY98000) += mach-easy98000.o
+--- /dev/null
++++ b/arch/mips/lantiq/falcon/mach-easy98000.c
+@@ -0,0 +1,110 @@
++/*
++ * 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.
++ *
++ * Copyright (C) 2011 Thomas Langer <thomas.langer@lantiq.com>
++ * Copyright (C) 2011 John Crispin <blogic@openwrt.org>
++ */
++
++#include <linux/platform_device.h>
++#include <linux/mtd/partitions.h>
++#include <linux/spi/spi.h>
++#include <linux/spi/spi_gpio.h>
++#include <linux/spi/eeprom.h>
++
++#include "../machtypes.h"
++
++#include "devices.h"
++
++static struct mtd_partition easy98000_nor_partitions[] = {
++ {
++ .name = "uboot",
++ .offset = 0x0,
++ .size = 0x40000,
++ },
++ {
++ .name = "uboot_env",
++ .offset = 0x40000,
++ .size = 0x40000, /* 2 sectors for redundant env. */
++ },
++ {
++ .name = "linux",
++ .offset = 0x80000,
++ .size = 0xF80000, /* map only 16 MiB */
++ },
++};
++
++struct physmap_flash_data easy98000_nor_flash_data = {
++ .nr_parts = ARRAY_SIZE(easy98000_nor_partitions),
++ .parts = easy98000_nor_partitions,
++};
++
++/* setup gpio based spi bus/device for access to the eeprom on the board */
++#define SPI_GPIO_MRST 102
++#define SPI_GPIO_MTSR 103
++#define SPI_GPIO_CLK 104
++#define SPI_GPIO_CS0 105
++#define SPI_GPIO_CS1 106
++#define SPI_GPIO_BUS_NUM 1
++
++static struct spi_gpio_platform_data easy98000_spi_gpio_data = {
++ .sck = SPI_GPIO_CLK,
++ .mosi = SPI_GPIO_MTSR,
++ .miso = SPI_GPIO_MRST,
++ .num_chipselect = 2,
++};
++
++static struct platform_device easy98000_spi_gpio_device = {
++ .name = "spi_gpio",
++ .id = SPI_GPIO_BUS_NUM,
++ .dev.platform_data = &easy98000_spi_gpio_data,
++};
++
++static struct spi_eeprom at25160n = {
++ .byte_len = 16 * 1024 / 8,
++ .name = "at25160n",
++ .page_size = 32,
++ .flags = EE_ADDR2,
++};
++
++static struct spi_board_info easy98000_spi_gpio_devices __initdata = {
++ .modalias = "at25",
++ .bus_num = SPI_GPIO_BUS_NUM,
++ .max_speed_hz = 1000 * 1000,
++ .mode = SPI_MODE_3,
++ .chip_select = 1,
++ .controller_data = (void *) SPI_GPIO_CS1,
++ .platform_data = &at25160n,
++};
++
++static void __init
++easy98000_init_common(void)
++{
++ spi_register_board_info(&easy98000_spi_gpio_devices, 1);
++ platform_device_register(&easy98000_spi_gpio_device);
++}
++
++static void __init
++easy98000_init(void)
++{
++ easy98000_init_common();
++ ltq_register_nor(&easy98000_nor_flash_data);
++}
++
++static void __init
++easy98000nand_init(void)
++{
++ easy98000_init_common();
++ falcon_register_nand();
++}
++
++MIPS_MACHINE(LANTIQ_MACH_EASY98000,
++ "EASY98000",
++ "EASY98000 Eval Board",
++ easy98000_init);
++
++MIPS_MACHINE(LANTIQ_MACH_EASY98000NAND,
++ "EASY98000NAND",
++ "EASY98000 Eval Board (NAND Flash)",
++ easy98000nand_init);
+--- a/arch/mips/lantiq/machtypes.h
++++ b/arch/mips/lantiq/machtypes.h
+@@ -15,6 +15,11 @@ enum lantiq_mach_type {
+ LTQ_MACH_GENERIC = 0,
+ LTQ_MACH_EASY50712, /* Danube evaluation board */
+ LTQ_MACH_EASY50601, /* Amazon SE evaluation board */
++
++ /* FALCON */
++ LANTIQ_MACH_EASY98000, /* Falcon Eval Board, NOR Flash */
++ LANTIQ_MACH_EASY98000SF, /* Falcon Eval Board, Serial Flash */
++ LANTIQ_MACH_EASY98000NAND, /* Falcon Eval Board, NAND Flash */
+ };
+
+ #endif