This patch is a hack to dir-665 by referencing mv88f6281gtw_ge board. LEDs, GPIO, Buttons remains unknown.
To use this patch, u-boot must also be modified. Signed-off-by: Hirundo Cam <[email protected]> --- target/linux/kirkwood/patches/300-dir665-01.patch | 135 +++++++++++++++++++++ 1 files changed, 135 insertions(+), 0 deletions(-) create mode 100644 target/linux/kirkwood/patches/300-dir665-01.patch diff --git a/target/linux/kirkwood/patches/300-dir665-01.patch b/target/linux/kirkwood/patches/300-dir665-01.patch new file mode 100644 index 0000000..16e15de --- /dev/null +++ b/target/linux/kirkwood/patches/300-dir665-01.patch @@ -0,0 +1,135 @@ +--- a/arch/arm/mach-kirkwood/Kconfig ++++ b/arch/arm/mach-kirkwood/Kconfig +@@ -26,6 +26,12 @@ + Say 'Y' here if you want your kernel to support the + Marvell 88F6281 GTW GE Board. + ++config MACH_MV88F6281_DIR665 ++ bool "Marvell 88F6281 DIR665 Board" ++ help ++ Say 'Y' here if you want your kernel to support the ++ 88F6281 DIR665 Board. ++ + config MACH_SHEEVAPLUG + bool "Marvell SheevaPlug Reference Board" + help +--- a/arch/arm/mach-kirkwood/Makefile ++++ b/arch/arm/mach-kirkwood/Makefile +@@ -3,6 +3,7 @@ + obj-$(CONFIG_MACH_DB88F6281_BP) += db88f6281-bp-setup.o + obj-$(CONFIG_MACH_RD88F6192_NAS) += rd88f6192-nas-setup.o + obj-$(CONFIG_MACH_RD88F6281) += rd88f6281-setup.o ++obj-$(CONFIG_MACH_MV88F6281_DIR665) += mv88f6281_dir665.o + obj-$(CONFIG_MACH_MV88F6281GTW_GE) += mv88f6281gtw_ge-setup.o + obj-$(CONFIG_MACH_SHEEVAPLUG) += sheevaplug-setup.o + obj-$(CONFIG_MACH_ESATA_SHEEVAPLUG) += sheevaplug-setup.o +--- /dev/null ++++ b/arch/arm/mach-kirkwood/mv88f6281_dir665.c +@@ -0,0 +1,107 @@ ++/* ++ * arch/arm/mach-kirkwood/mv88f6281_dir665.c ++ * ++ * Marvell 88F6281 DIR-665 Board Setup ++ * ++ * This file is licensed under the terms of the GNU General Public ++ * License version 2. This program is licensed "as is" without any ++ * warranty of any kind, whether express or implied. ++ */ ++ ++#include <linux/kernel.h> ++#include <linux/init.h> ++#include <linux/platform_device.h> ++#include <linux/pci.h> ++#include <linux/irq.h> ++#include <linux/mtd/physmap.h> ++#include <linux/timer.h> ++#include <linux/mv643xx_eth.h> ++#include <linux/ethtool.h> ++#include <linux/gpio.h> ++#include <linux/leds.h> ++#include <linux/input.h> ++#include <linux/gpio_keys.h> ++#include <linux/spi/flash.h> ++#include <linux/spi/spi.h> ++#include <linux/spi/orion_spi.h> ++#include <net/dsa.h> ++#include <asm/mach-types.h> ++#include <asm/mach/arch.h> ++#include <asm/mach/pci.h> ++#include <mach/kirkwood.h> ++#include "common.h" ++#include "mpp.h" ++ ++static struct mv643xx_eth_platform_data mv88f6281_dir665_ge00_data = { ++ .phy_addr = MV643XX_ETH_PHY_NONE, ++ .speed = SPEED_1000, ++ .duplex = DUPLEX_FULL, ++}; ++ ++static struct mv643xx_eth_platform_data mv88f6281_dir665_ge01_data = { ++ .phy_addr = MV643XX_ETH_PHY_NONE, ++ .speed = SPEED_1000, ++ .duplex = DUPLEX_FULL, ++}; ++ ++static struct dsa_chip_data mv88f6281_dir665_switch_chip_data = { ++ .port_names[0] = "lan4", ++ .port_names[1] = "lan3", ++ .port_names[2] = "lan2", ++ .port_names[3] = "lan1", ++ .port_names[6] = "cpu", ++}; ++ ++static struct dsa_platform_data mv88f6281_dir665_switch_plat_data = { ++ .nr_chips = 1, ++ .chip = &mv88f6281_dir665_switch_chip_data, ++}; ++ ++static const struct flash_platform_data mv88f6281_dir665_spi_slave_data = { ++ .type = "mx25l12805d", ++}; ++ ++static struct spi_board_info __initdata mv88f6281_dir665_spi_slave_info[] = { ++ { ++ .modalias = "m25p80", ++ .platform_data = &mv88f6281_dir665_spi_slave_data, ++ .irq = -1, ++ .max_speed_hz = 50000000, ++ .bus_num = 0, ++ .chip_select = 0, ++ }, ++}; ++ ++static void __init mv88f6281_dir665_init(void) ++{ ++ /* ++ * Basic setup. Needs to be called early. ++ */ ++ kirkwood_init(); ++ ++ kirkwood_ehci_init(); ++ kirkwood_ge00_init(&mv88f6281_dir665_ge00_data); ++ kirkwood_ge01_init(&mv88f6281_dir665_ge01_data); ++ kirkwood_ge00_switch_init(&mv88f6281_dir665_switch_plat_data, NO_IRQ); ++ spi_register_board_info(mv88f6281_dir665_spi_slave_info, ++ ARRAY_SIZE(mv88f6281_dir665_spi_slave_info)); ++ kirkwood_spi_init(); ++ kirkwood_uart0_init(); ++} ++ ++static int __init mv88f6281_dir665_pci_init(void) ++{ ++ if (machine_is_mv88f6281_dir665()) ++ kirkwood_pcie_init(KW_PCIE0); ++ ++ return 0; ++} ++subsys_initcall(mv88f6281_dir665_pci_init); ++ ++MACHINE_START(MV88F6281_DIR665, "Marvell 88F6281 DIR665 Board") ++ .boot_params = 0x00000100, ++ .init_machine = mv88f6281_dir665_init, ++ .map_io = kirkwood_map_io, ++ .init_irq = kirkwood_init_irq, ++ .timer = &kirkwood_timer, ++MACHINE_END -- 1.7.3.5 _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
