ar71xx: remove AP83 reference design board support
authorFelix Fietkau <nbd@nbd.name>
Thu, 8 Dec 2016 20:46:15 +0000 (21:46 +0100)
committerFelix Fietkau <nbd@nbd.name>
Mon, 12 Dec 2016 09:22:18 +0000 (10:22 +0100)
This board is very old and unlikely to still be relevant today. Support
for it contains a significant amount of device specific baggage which is
worth getting rid of.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
19 files changed:
package/firmware/vsc73x5-ucode/Makefile
target/linux/ar71xx/base-files/etc/board.d/02_network
target/linux/ar71xx/base-files/etc/diag.sh
target/linux/ar71xx/base-files/lib/ar71xx.sh
target/linux/ar71xx/base-files/lib/preinit/05_set_preinit_iface_ar71xx
target/linux/ar71xx/base-files/lib/upgrade/platform.sh
target/linux/ar71xx/config-4.4
target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
target/linux/ar71xx/files/arch/mips/ath79/Makefile
target/linux/ar71xx/files/arch/mips/ath79/mach-ap83.c [deleted file]
target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
target/linux/ar71xx/files/drivers/spi/spi-ap83.c [deleted file]
target/linux/ar71xx/image/legacy-devices.mk
target/linux/ar71xx/image/legacy.mk
target/linux/ar71xx/mikrotik/config-default
target/linux/ar71xx/nand/config-default
target/linux/ar71xx/patches-4.4/434-spi-ap83_spi_controller.patch [deleted file]
target/linux/ar71xx/patches-4.4/435-spi-vsc7385_driver.patch
target/linux/ar71xx/patches-4.4/615-MIPS-ath79-ap83-remove-mtd-partitions.patch [deleted file]

index e3379a1f9594d793ac970899b7ff34840c516cff..d73053bc17ebb46c982d0ec549b19dc1f058d921 100644 (file)
@@ -34,32 +34,6 @@ define Package/vsc73x5/install
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(2) $(1)/lib/firmware/$(3)
 endef
 
-define Package/vsc7385-ucode-ap83
-  $(call Package/vsc73x5-defaults,Vitesse VSC7385 microcode for the Atheros AP83 boards)
-endef
-
-define Package/vsc7385-ucode-ap83/description
-  This package contains the Atheros AP83 board specific microcode for
-  the Vitesse VSC7385 ethernet switch.
-endef
-
-define Package/vsc7385-ucode-ap83/install
-  $(call Package/vsc73x5/install,$(1),g5_Plus1_2_31_unmanaged_Atheros_v3.bin,vsc7385_ucode_ap83.bin)
-endef
-
-define Package/vsc7395-ucode-ap83
-  $(call Package/vsc73x5-defaults, Vitesse VSC7395 microcode for the Atheros AP83 boards)
-endef
-
-define Package/vsc7395-ucode-ap83/description
-  This package contains the Atheros AP83 board specific microcode for
-  the Vitesse VSC7395 ethernet switch.
-endef
-
-define Package/vsc7395-ucode-ap83/install
-  $(call Package/vsc73x5/install,$(1),g5_Plus1_2_31_unmanaged_Atheros_v4.bin,vsc7395_ucode_ap83.bin)
-endef
-
 define Package/vsc7385-ucode-pb44
   $(call Package/vsc73x5-defaults, Vitesse VSC7395 microcode for the Atheros PB44 boards)
 endef
@@ -78,7 +52,7 @@ define Package/vsc7395-ucode-pb44
 endef
 
 define Package/vsc7395-ucode-pb44/description
-  This package contains the Atheros AP83 board specific microcode for
+  This package contains the Atheros PB44 board specific microcode for
   the Vitesse VSC7395 ethernet switch.
 endef
 
@@ -90,7 +64,5 @@ define Build/Compile
 
 endef
 
-$(eval $(call BuildPackage,vsc7385-ucode-ap83))
-$(eval $(call BuildPackage,vsc7395-ucode-ap83))
 $(eval $(call BuildPackage,vsc7385-ucode-pb44))
 $(eval $(call BuildPackage,vsc7395-ucode-pb44))
index 57d690d60cc9c06ffd0b3520216e24c381454d1c..f287d4bff27653c35ca19fb501a61bb26d0692c4 100755 (executable)
@@ -119,7 +119,6 @@ ar71xx_setup_interfaces()
                ;;
        alfa-ap96|\
        alfa-nx|\
-       ap83|\
        gl-ar150|\
        gl-ar300m|\
        gl-domino|\
index 43ea2b683e7df9e16f31b1753ed696ac893078ad..39a25aedde2a14e9729544b9603231f169862b50 100644 (file)
@@ -42,7 +42,6 @@ get_status_led() {
        ap135-020)
                status_led="ap135:green:status"
                ;;
-       ap83|\
        mr12|\
        mr16|\
        nbg6616|\
index c27cd136b01224786c79f6e2620db6000483a885..d465c3f59222889750955b3a3321d52f73f82456 100755 (executable)
@@ -468,9 +468,6 @@ ar71xx_board_detect() {
        *AP81)
                name="ap81"
                ;;
-       *AP83)
-               name="ap83"
-               ;;
        *AP90Q)
                name="ap90q"
                ;;
index e2a70b82ddc731280a005463503aec44b6eaaae7..ae632e0ea4d05ee19d68f05060c5525a468fe1d8 100644 (file)
@@ -13,7 +13,6 @@ set_preinit_iface() {
        ap135-020 |\
        ap136-020 |\
        ap147-010 |\
-       ap83 |\
        archer-c5 |\
        archer-c7 |\
        bhr-4grv2 |\
index 7b59bf3a553b9459f26127948043b59336327e16..dc68d4484208e3823d28c832c63e23ac6e23e441 100755 (executable)
@@ -177,7 +177,6 @@ platform_check_image() {
        airrouter|\
        ap132|\
        ap81|\
-       ap83|\
        ap90q|\
        bullet-m|\
        c-55|\
index 3181797352fb651c09f3913937eaed081fe01e5c..40090f749f3275ab008aeb4942c07782fa472835 100644 (file)
@@ -48,7 +48,6 @@ CONFIG_ATH79_MACH_AP143=y
 CONFIG_ATH79_MACH_AP147=y
 CONFIG_ATH79_MACH_AP152=y
 CONFIG_ATH79_MACH_AP81=y
-CONFIG_ATH79_MACH_AP83=y
 CONFIG_ATH79_MACH_AP90Q=y
 CONFIG_ATH79_MACH_AP96=y
 CONFIG_ATH79_MACH_ARCHER_C7=y
@@ -422,7 +421,6 @@ CONFIG_SOC_QCA953X=y
 CONFIG_SOC_QCA955X=y
 CONFIG_SOC_QCA956X=y
 CONFIG_SPI=y
-CONFIG_SPI_AP83=y
 CONFIG_SPI_ATH79=y
 CONFIG_SPI_BITBANG=y
 CONFIG_SPI_MASTER=y
index 9e1b50e262a8aee63bf5ea7390912fdd343472a7..a0f24e16b50dea70c72b638bdeaed1eb6046fabe 100644 (file)
@@ -166,14 +166,6 @@ config ATH79_MACH_AP152
          QCA AP152 reference boards.
 
 
-config ATH79_MACH_AP83
-       bool "Atheros AP83 board support"
-       select SOC_AR913X
-       select ATH79_DEV_GPIO_BUTTONS
-       select ATH79_DEV_LEDS_GPIO
-       select ATH79_DEV_USB
-       select ATH79_DEV_WMAC
-
 config ATH79_MACH_AP90Q
        bool "YunCore AP90Q support"
        select SOC_QCA953X
index e573b4b5fef297760664e90b7a917a84be09cb68..4affa5d6b1ffbd0c6ca664ecb6dda594bc6e27b4 100644 (file)
@@ -54,7 +54,6 @@ obj-$(CONFIG_ATH79_MACH_AP143)                        += mach-ap143.o
 obj-$(CONFIG_ATH79_MACH_AP147)                 += mach-ap147.o
 obj-$(CONFIG_ATH79_MACH_AP152)                 += mach-ap152.o
 obj-$(CONFIG_ATH79_MACH_AP81)                  += mach-ap81.o
-obj-$(CONFIG_ATH79_MACH_AP83)                  += mach-ap83.o
 obj-$(CONFIG_ATH79_MACH_AP90Q)                 += mach-ap90q.o
 obj-$(CONFIG_ATH79_MACH_AP96)                  += mach-ap96.o
 obj-$(CONFIG_ATH79_MACH_ARCHER_C7)             += mach-archer-c7.o
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap83.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ap83.c
deleted file mode 100644 (file)
index 8519a9d..0000000
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- *  Atheros AP83 board support
- *
- *  Copyright (C) 2008-2012 Gabor Juhos <juhosg@openwrt.org>
- *  Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
- *
- *  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.
- */
-
-#include <linux/delay.h>
-#include <linux/platform_device.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/mtd/physmap.h>
-#include <linux/spi/spi.h>
-#include <linux/spi/spi_gpio.h>
-#include <linux/spi/vsc7385.h>
-
-#include <asm/mach-ath79/ar71xx_regs.h>
-#include <asm/mach-ath79/ath79.h>
-
-#include "dev-eth.h"
-#include "dev-gpio-buttons.h"
-#include "dev-leds-gpio.h"
-#include "dev-usb.h"
-#include "dev-wmac.h"
-#include "machtypes.h"
-
-#define AP83_GPIO_LED_WLAN     6
-#define AP83_GPIO_LED_POWER    14
-#define AP83_GPIO_LED_JUMPSTART        15
-#define AP83_GPIO_BTN_JUMPSTART        12
-#define AP83_GPIO_BTN_RESET    21
-
-#define AP83_050_GPIO_VSC7385_CS       1
-#define AP83_050_GPIO_VSC7385_MISO     3
-#define AP83_050_GPIO_VSC7385_MOSI     16
-#define AP83_050_GPIO_VSC7385_SCK      17
-
-#define AP83_KEYS_POLL_INTERVAL                20      /* msecs */
-#define AP83_KEYS_DEBOUNCE_INTERVAL    (3 * AP83_KEYS_POLL_INTERVAL)
-
-static struct mtd_partition ap83_flash_partitions[] = {
-       {
-               .name           = "u-boot",
-               .offset         = 0,
-               .size           = 0x040000,
-               .mask_flags     = MTD_WRITEABLE,
-       }, {
-               .name           = "u-boot-env",
-               .offset         = 0x040000,
-               .size           = 0x020000,
-               .mask_flags     = MTD_WRITEABLE,
-       }, {
-               .name           = "kernel",
-               .offset         = 0x060000,
-               .size           = 0x140000,
-       }, {
-               .name           = "rootfs",
-               .offset         = 0x1a0000,
-               .size           = 0x650000,
-       }, {
-               .name           = "art",
-               .offset         = 0x7f0000,
-               .size           = 0x010000,
-               .mask_flags     = MTD_WRITEABLE,
-       }, {
-               .name           = "firmware",
-               .offset         = 0x060000,
-               .size           = 0x790000,
-       }
-};
-
-static struct physmap_flash_data ap83_flash_data = {
-       .width          = 2,
-       .parts          = ap83_flash_partitions,
-       .nr_parts       = ARRAY_SIZE(ap83_flash_partitions),
-};
-
-static struct resource ap83_flash_resources[] = {
-       [0] = {
-               .start  = AR71XX_SPI_BASE,
-               .end    = AR71XX_SPI_BASE + AR71XX_SPI_SIZE - 1,
-               .flags  = IORESOURCE_MEM,
-       },
-};
-
-static struct platform_device ap83_flash_device = {
-       .name           = "ar91xx-flash",
-       .id             = -1,
-       .resource       = ap83_flash_resources,
-       .num_resources  = ARRAY_SIZE(ap83_flash_resources),
-       .dev            = {
-               .platform_data = &ap83_flash_data,
-       }
-};
-
-static struct gpio_led ap83_leds_gpio[] __initdata = {
-       {
-               .name           = "ap83:green:jumpstart",
-               .gpio           = AP83_GPIO_LED_JUMPSTART,
-               .active_low     = 0,
-       }, {
-               .name           = "ap83:green:power",
-               .gpio           = AP83_GPIO_LED_POWER,
-               .active_low     = 0,
-       }, {
-               .name           = "ap83:green:wlan",
-               .gpio           = AP83_GPIO_LED_WLAN,
-               .active_low     = 0,
-       },
-};
-
-static struct gpio_keys_button ap83_gpio_keys[] __initdata = {
-       {
-               .desc           = "soft_reset",
-               .type           = EV_KEY,
-               .code           = KEY_RESTART,
-               .debounce_interval = AP83_KEYS_DEBOUNCE_INTERVAL,
-               .gpio           = AP83_GPIO_BTN_RESET,
-               .active_low     = 1,
-       }, {
-               .desc           = "jumpstart",
-               .type           = EV_KEY,
-               .code           = KEY_WPS_BUTTON,
-               .debounce_interval = AP83_KEYS_DEBOUNCE_INTERVAL,
-               .gpio           = AP83_GPIO_BTN_JUMPSTART,
-               .active_low     = 1,
-       }
-};
-
-static struct resource ap83_040_spi_resources[] = {
-       [0] = {
-               .start  = AR71XX_SPI_BASE,
-               .end    = AR71XX_SPI_BASE + AR71XX_SPI_SIZE - 1,
-               .flags  = IORESOURCE_MEM,
-       },
-};
-
-static struct platform_device ap83_040_spi_device = {
-       .name           = "ap83-spi",
-       .id             = 0,
-       .resource       = ap83_040_spi_resources,
-       .num_resources  = ARRAY_SIZE(ap83_040_spi_resources),
-};
-
-static struct spi_gpio_platform_data ap83_050_spi_data = {
-       .miso   = AP83_050_GPIO_VSC7385_MISO,
-       .mosi   = AP83_050_GPIO_VSC7385_MOSI,
-       .sck    = AP83_050_GPIO_VSC7385_SCK,
-       .num_chipselect = 1,
-};
-
-static struct platform_device ap83_050_spi_device = {
-       .name           = "spi_gpio",
-       .id             = 0,
-       .dev            = {
-               .platform_data = &ap83_050_spi_data,
-       }
-};
-
-static void ap83_vsc7385_reset(void)
-{
-       ath79_device_reset_set(AR71XX_RESET_GE1_PHY);
-       udelay(10);
-       ath79_device_reset_clear(AR71XX_RESET_GE1_PHY);
-       mdelay(50);
-}
-
-static struct vsc7385_platform_data ap83_vsc7385_data = {
-       .reset          = ap83_vsc7385_reset,
-       .ucode_name     = "vsc7385_ucode_ap83.bin",
-       .mac_cfg = {
-               .tx_ipg         = 6,
-               .bit2           = 0,
-               .clk_sel        = 3,
-       },
-};
-
-static struct spi_board_info ap83_spi_info[] = {
-       {
-               .bus_num        = 0,
-               .chip_select    = 0,
-               .max_speed_hz   = 25000000,
-               .modalias       = "spi-vsc7385",
-               .platform_data  = &ap83_vsc7385_data,
-               .controller_data = (void *) AP83_050_GPIO_VSC7385_CS,
-       }
-};
-
-static void __init ap83_generic_setup(void)
-{
-       u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
-
-       ath79_register_mdio(0, 0xfffffffe);
-
-       ath79_init_mac(ath79_eth0_data.mac_addr, eeprom, 0);
-       ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
-       ath79_eth0_data.phy_mask = 0x1;
-
-       ath79_register_eth(0);
-
-       ath79_init_mac(ath79_eth1_data.mac_addr, eeprom, 1);
-       ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
-       ath79_eth1_data.speed = SPEED_1000;
-       ath79_eth1_data.duplex = DUPLEX_FULL;
-
-       ath79_eth1_pll_data.pll_1000 = 0x1f000000;
-
-       ath79_register_eth(1);
-
-       ath79_register_leds_gpio(-1, ARRAY_SIZE(ap83_leds_gpio),
-                                       ap83_leds_gpio);
-
-       ath79_register_gpio_keys_polled(-1, AP83_KEYS_POLL_INTERVAL,
-                                        ARRAY_SIZE(ap83_gpio_keys),
-                                        ap83_gpio_keys);
-
-       ath79_register_usb();
-
-       ath79_register_wmac(eeprom, NULL);
-
-       platform_device_register(&ap83_flash_device);
-
-       spi_register_board_info(ap83_spi_info, ARRAY_SIZE(ap83_spi_info));
-}
-
-static void ap83_040_flash_lock(struct platform_device *pdev)
-{
-       ath79_flash_acquire();
-}
-
-static void ap83_040_flash_unlock(struct platform_device *pdev)
-{
-       ath79_flash_release();
-}
-
-static void __init ap83_040_setup(void)
-{
-       ap83_flash_data.lock = ap83_040_flash_lock;
-       ap83_flash_data.unlock = ap83_040_flash_unlock;
-       ap83_generic_setup();
-       platform_device_register(&ap83_040_spi_device);
-}
-
-static void __init ap83_050_setup(void)
-{
-       ap83_generic_setup();
-       platform_device_register(&ap83_050_spi_device);
-}
-
-static void __init ap83_setup(void)
-{
-       u8 *board_id = (u8 *) KSEG1ADDR(0x1fff1244);
-       unsigned int board_version;
-
-       board_version = (unsigned int)(board_id[0] - '0');
-       board_version += ((unsigned int)(board_id[1] - '0')) * 10;
-
-       switch (board_version) {
-       case 40:
-               ap83_040_setup();
-               break;
-       case 50:
-               ap83_050_setup();
-               break;
-       default:
-               printk(KERN_WARNING "AP83-%03u board is not yet supported\n",
-                      board_version);
-       }
-}
-
-MIPS_MACHINE(ATH79_MACH_AP83, "AP83", "Atheros AP83", ap83_setup);
index 005406740694cf197b4e3a4701069ff92b5616d8..8004fdb2f15e9da2947bf152b9092ea80c5215c6 100644 (file)
@@ -37,7 +37,6 @@ enum ath79_mach_type {
        ATH79_MACH_AP147_010,                   /* Atheros AP147-010 reference board */
        ATH79_MACH_AP152,                       /* Atheros AP152 reference board */
        ATH79_MACH_AP81,                        /* Atheros AP81 reference board */
-       ATH79_MACH_AP83,                        /* Atheros AP83 */
        ATH79_MACH_AP90Q,                       /* YunCore AP90Q */
        ATH79_MACH_AP96,                        /* Atheros AP96 */
        ATH79_MACH_ARCHER_C5,                   /* TP-LINK Archer C5 board */
diff --git a/target/linux/ar71xx/files/drivers/spi/spi-ap83.c b/target/linux/ar71xx/files/drivers/spi/spi-ap83.c
deleted file mode 100644 (file)
index 33843a6..0000000
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * Atheros AP83 board specific SPI Controller driver
- *
- * Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>
- *
- * 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.
- *
- */
-
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/delay.h>
-#include <linux/spinlock.h>
-#include <linux/workqueue.h>
-#include <linux/platform_device.h>
-#include <linux/io.h>
-#include <linux/spi/spi.h>
-#include <linux/spi/spi_bitbang.h>
-#include <linux/bitops.h>
-#include <linux/gpio.h>
-
-#include <asm/mach-ath79/ath79.h>
-
-#define DRV_DESC       "Atheros AP83 board SPI Controller driver"
-#define DRV_VERSION    "0.1.0"
-#define DRV_NAME       "ap83-spi"
-
-#define AP83_SPI_CLK_HIGH      (1 << 23)
-#define AP83_SPI_CLK_LOW       0
-#define AP83_SPI_MOSI_HIGH     (1 << 22)
-#define AP83_SPI_MOSI_LOW      0
-
-#define AP83_SPI_GPIO_CS       1
-#define AP83_SPI_GPIO_MISO     3
-
-struct ap83_spi {
-       struct  spi_bitbang     bitbang;
-       void __iomem            *base;
-       u32                     addr;
-
-       struct platform_device  *pdev;
-};
-
-static inline u32 ap83_spi_rr(struct ap83_spi *sp, u32 reg)
-{
-       return __raw_readl(sp->base + reg);
-}
-
-static inline struct ap83_spi *spidev_to_sp(struct spi_device *spi)
-{
-       return spi_master_get_devdata(spi->master);
-}
-
-static inline void setsck(struct spi_device *spi, int val)
-{
-       struct ap83_spi *sp = spidev_to_sp(spi);
-
-       if (val)
-               sp->addr |= AP83_SPI_CLK_HIGH;
-       else
-               sp->addr &= ~AP83_SPI_CLK_HIGH;
-
-       dev_dbg(&spi->dev, "addr=%08x,  SCK set to %s\n",
-               sp->addr, (val) ? "HIGH" : "LOW");
-
-       ap83_spi_rr(sp, sp->addr);
-}
-
-static inline void setmosi(struct spi_device *spi, int val)
-{
-       struct ap83_spi *sp = spidev_to_sp(spi);
-
-       if (val)
-               sp->addr |= AP83_SPI_MOSI_HIGH;
-       else
-               sp->addr &= ~AP83_SPI_MOSI_HIGH;
-
-       dev_dbg(&spi->dev, "addr=%08x, MOSI set to %s\n",
-               sp->addr, (val) ? "HIGH" : "LOW");
-
-       ap83_spi_rr(sp, sp->addr);
-}
-
-static inline u32 getmiso(struct spi_device *spi)
-{
-       u32 ret;
-
-       ret = gpio_get_value(AP83_SPI_GPIO_MISO) ? 1 : 0;
-       dev_dbg(&spi->dev, "get MISO: %d\n", ret);
-
-       return ret;
-}
-
-static inline void do_spidelay(struct spi_device *spi, unsigned nsecs)
-{
-       ndelay(nsecs);
-}
-
-static void ap83_spi_chipselect(struct spi_device *spi, int on)
-{
-       struct ap83_spi *sp = spidev_to_sp(spi);
-
-       dev_dbg(&spi->dev, "set CS to %d\n", (on) ? 0 : 1);
-
-       if (on) {
-               ath79_flash_acquire();
-
-               sp->addr = 0;
-               ap83_spi_rr(sp, sp->addr);
-
-               gpio_set_value(AP83_SPI_GPIO_CS, 0);
-       } else {
-               gpio_set_value(AP83_SPI_GPIO_CS, 1);
-               ath79_flash_release();
-       }
-}
-
-#define spidelay(nsecs)                                                        \
-       do {                                                            \
-               /* Steal the spi_device pointer from our caller.        \
-                * The bitbang-API should probably get fixed here... */ \
-               do_spidelay(spi, nsecs);                                \
-       } while (0)
-
-#define EXPAND_BITBANG_TXRX
-#include <linux/spi/spi_bitbang.h>
-#include "spi-bitbang-txrx.h"
-
-static u32 ap83_spi_txrx_mode0(struct spi_device *spi,
-                              unsigned nsecs, u32 word, u8 bits)
-{
-       dev_dbg(&spi->dev, "TXRX0 word=%08x, bits=%u\n", word, bits);
-       return bitbang_txrx_be_cpha0(spi, nsecs, 0, 0, word, bits);
-}
-
-static u32 ap83_spi_txrx_mode1(struct spi_device *spi,
-                              unsigned nsecs, u32 word, u8 bits)
-{
-       dev_dbg(&spi->dev, "TXRX1 word=%08x, bits=%u\n", word, bits);
-       return bitbang_txrx_be_cpha1(spi, nsecs, 0, 0, word, bits);
-}
-
-static u32 ap83_spi_txrx_mode2(struct spi_device *spi,
-                              unsigned nsecs, u32 word, u8 bits)
-{
-       dev_dbg(&spi->dev, "TXRX2 word=%08x, bits=%u\n", word, bits);
-       return bitbang_txrx_be_cpha0(spi, nsecs, 1, 0, word, bits);
-}
-
-static u32 ap83_spi_txrx_mode3(struct spi_device *spi,
-                              unsigned nsecs, u32 word, u8 bits)
-{
-       dev_dbg(&spi->dev, "TXRX3 word=%08x, bits=%u\n", word, bits);
-       return bitbang_txrx_be_cpha1(spi, nsecs, 1, 0, word, bits);
-}
-
-static int ap83_spi_probe(struct platform_device *pdev)
-{
-       struct spi_master *master;
-       struct ap83_spi *sp;
-       struct ap83_spi_platform_data *pdata;
-       struct resource *r;
-       int ret;
-
-       ret = gpio_request(AP83_SPI_GPIO_MISO, "spi-miso");
-       if (ret) {
-               dev_err(&pdev->dev, "gpio request failed for MISO\n");
-               return ret;
-       }
-
-       ret = gpio_request(AP83_SPI_GPIO_CS, "spi-cs");
-       if (ret) {
-               dev_err(&pdev->dev, "gpio request failed for CS\n");
-               goto err_free_miso;
-       }
-
-       ret = gpio_direction_input(AP83_SPI_GPIO_MISO);
-       if (ret) {
-               dev_err(&pdev->dev, "unable to set direction of MISO\n");
-               goto err_free_cs;
-       }
-
-       ret = gpio_direction_output(AP83_SPI_GPIO_CS, 0);
-       if (ret) {
-               dev_err(&pdev->dev, "unable to set direction of CS\n");
-               goto err_free_cs;
-       }
-
-       master = spi_alloc_master(&pdev->dev, sizeof(*sp));
-       if (master == NULL) {
-               dev_err(&pdev->dev, "failed to allocate spi master\n");
-               return -ENOMEM;
-       }
-
-       sp = spi_master_get_devdata(master);
-       platform_set_drvdata(pdev, sp);
-
-       pdata = pdev->dev.platform_data;
-
-       sp->bitbang.master = spi_master_get(master);
-       sp->bitbang.chipselect = ap83_spi_chipselect;
-       sp->bitbang.txrx_word[SPI_MODE_0] = ap83_spi_txrx_mode0;
-       sp->bitbang.txrx_word[SPI_MODE_1] = ap83_spi_txrx_mode1;
-       sp->bitbang.txrx_word[SPI_MODE_2] = ap83_spi_txrx_mode2;
-       sp->bitbang.txrx_word[SPI_MODE_3] = ap83_spi_txrx_mode3;
-
-       sp->bitbang.master->bus_num = pdev->id;
-       sp->bitbang.master->num_chipselect = 1;
-
-       r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (r == NULL) {
-               ret = -ENOENT;
-               goto err_spi_put;
-       }
-
-       sp->base = ioremap_nocache(r->start, r->end - r->start + 1);
-       if (!sp->base) {
-               ret = -ENXIO;
-               goto err_spi_put;
-       }
-
-       ret = spi_bitbang_start(&sp->bitbang);
-       if (!ret)
-               goto err_unmap;
-
-       dev_info(&pdev->dev, "AP83 SPI adapter at %08x\n", r->start);
-
-       return 0;
-
-err_unmap:
-       iounmap(sp->base);
-err_spi_put:
-       platform_set_drvdata(pdev, NULL);
-       spi_master_put(sp->bitbang.master);
-
-err_free_cs:
-       gpio_free(AP83_SPI_GPIO_CS);
-err_free_miso:
-       gpio_free(AP83_SPI_GPIO_MISO);
-       return ret;
-}
-
-static int ap83_spi_remove(struct platform_device *pdev)
-{
-       struct ap83_spi *sp = platform_get_drvdata(pdev);
-
-       spi_bitbang_stop(&sp->bitbang);
-       iounmap(sp->base);
-       platform_set_drvdata(pdev, NULL);
-       spi_master_put(sp->bitbang.master);
-
-       return 0;
-}
-
-static struct platform_driver ap83_spi_drv = {
-       .probe          = ap83_spi_probe,
-       .remove         = ap83_spi_remove,
-       .driver         = {
-               .name   = DRV_NAME,
-               .owner  = THIS_MODULE,
-       },
-};
-
-static int __init ap83_spi_init(void)
-{
-       return platform_driver_register(&ap83_spi_drv);
-}
-module_init(ap83_spi_init);
-
-static void __exit ap83_spi_exit(void)
-{
-       platform_driver_unregister(&ap83_spi_drv);
-}
-module_exit(ap83_spi_exit);
-
-MODULE_ALIAS("platform:" DRV_NAME);
-MODULE_DESCRIPTION(DRV_DESC);
-MODULE_VERSION(DRV_VERSION);
-MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
-MODULE_LICENSE("GPL v2");
index 5538c49b8d22d0c45e3581d49eb05f5477381f87..48f347b4f33886355d2b4293790ade85fffe877f 100644 (file)
@@ -20,13 +20,6 @@ define LegacyDevice/AP81
 endef
 LEGACY_DEVICES += AP81
 
-define LegacyDevice/AP83
-  DEVICE_TITLE := Atheros AP83 reference board
-  DEVICE_PACKAGES := kmod-usb-core kmod-usb2 \
-         vsc7385-ucode-ap83 vsc7395-ucode-ap83
-endef
-LEGACY_DEVICES += AP83
-
 define LegacyDevice/AP96
   DEVICE_TITLE := Atheros AP96 reference board
   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
index e0e7be1a88f8a5b26ce2a29e9e23827c1383ee96..939a51f394bf8ad788cb431f16f36e620f837800 100644 (file)
@@ -228,7 +228,6 @@ alfa_mtdlayout_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,15936k(firmw
 all0258n_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),6272k(firmware),1536k(failsafe),64k(art)ro
 all0315n_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,256k(u-boot-env),13568k(firmware),2048k(failsafe),256k(art)ro
 ap81_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,5120k(rootfs),2688k(kernel),64k(art)ro,7808k@0x50000(firmware)
-ap83_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,128k(u-boot-env)ro,4096k(rootfs),3648k(kernel),64k(art)ro,7744k@0x60000(firmware)
 ap96_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,6144k(rootfs),1728k(kernel),64k(art)ro,7872k@0x40000(firmware)
 ap121_mtdlayout_8M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6144k(rootfs),1600k(kernel),64k(nvram),64k(art)ro,7744k@0x50000(firmware)
 ap121_mtdlayout_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,10944k(rootfs),4992k(kernel),64k(nvram),64k(art)ro,15936k@0x50000(firmware)
@@ -881,7 +880,6 @@ $(eval $(call SingleProfile,ALFA,64k,HORNETUB,hornet-ub,HORNET-UB,ttyATH0,115200
 $(eval $(call SingleProfile,ALFA,64k,TUBE2H8M,tube2h-8M,TUBE2H,ttyATH0,115200,$$(alfa_mtdlayout_8M),1638400,6291456,kernel.image,rootfs.image))
 
 $(eval $(call SingleProfile,AthGzip,64k,AP81,ap81,AP81,ttyS0,115200,$$(ap81_mtdlayout),RKuImage))
-$(eval $(call SingleProfile,AthGzip,64k,AP83,ap83,AP83,ttyS0,115200,$$(ap83_mtdlayout),RKuImage))
 $(eval $(call SingleProfile,AthGzip,64k,AP96,ap96,AP96,ttyS0,115200,$$(ap96_mtdlayout),RKuImage))
 $(eval $(call SingleProfile,AthGzip,64k,WNDAP360,wndap360,WNDAP360,ttyS0,9600,$$(wndap360_mtdlayout),KRuImage))
 
index e17b16635ef626c7a8954802c0d8a75971a20ea8..2791cfaa96cee8750d4db4d69484bd74865283dd 100644 (file)
@@ -10,7 +10,6 @@
 # CONFIG_ATH79_MACH_AP136 is not set
 # CONFIG_ATH79_MACH_AP147 is not set
 # CONFIG_ATH79_MACH_AP81 is not set
-# CONFIG_ATH79_MACH_AP83 is not set
 # CONFIG_ATH79_MACH_AP96 is not set
 # CONFIG_ATH79_MACH_ARCHER_C7 is not set
 # CONFIG_ATH79_MACH_AW_NR580 is not set
index 7f94781b8c58b05771cb38877496ed70b3f8a20f..4ee5edfb1727db0d53a2221e7cd978fac0d62668 100644 (file)
@@ -9,7 +9,6 @@
 # CONFIG_ATH79_MACH_AP136 is not set
 # CONFIG_ATH79_MACH_AP147 is not set
 # CONFIG_ATH79_MACH_AP81 is not set
-# CONFIG_ATH79_MACH_AP83 is not set
 # CONFIG_ATH79_MACH_AP96 is not set
 # CONFIG_ATH79_MACH_ARCHER_C7 is not set
 # CONFIG_ATH79_MACH_AW_NR580 is not set
diff --git a/target/linux/ar71xx/patches-4.4/434-spi-ap83_spi_controller.patch b/target/linux/ar71xx/patches-4.4/434-spi-ap83_spi_controller.patch
deleted file mode 100644 (file)
index a67e808..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
---- a/drivers/spi/Makefile
-+++ b/drivers/spi/Makefile
-@@ -12,6 +12,7 @@ obj-$(CONFIG_SPI_SPIDEV)             += spidev.o
- # SPI master controller drivers (bus)
- obj-$(CONFIG_SPI_ALTERA)              += spi-altera.o
- obj-$(CONFIG_SPI_ATMEL)                       += spi-atmel.o
-+obj-$(CONFIG_SPI_AP83)                        += spi-ap83.o
- obj-$(CONFIG_SPI_ATH79)                       += spi-ath79.o
- obj-$(CONFIG_SPI_AU1550)              += spi-au1550.o
- obj-$(CONFIG_SPI_BCM2835)             += spi-bcm2835.o
---- a/drivers/spi/Kconfig
-+++ b/drivers/spi/Kconfig
-@@ -59,6 +59,14 @@ config SPI_ALTERA
-       help
-         This is the driver for the Altera SPI Controller.
-+config SPI_AP83
-+      tristate "Atheros AP83 specific SPI Controller"
-+      depends on SPI_MASTER && ATH79_MACH_AP83
-+      select SPI_BITBANG
-+      help
-+        This is a specific SPI controller driver for the Atheros AP83
-+        reference board.
-+
- config SPI_ATH79
-       tristate "Atheros AR71XX/AR724X/AR913X SPI controller driver"
-       depends on ATH79 && GPIOLIB
index 78318f8e25d0f78945aebc551c2a1c9c883c7273..880c088c5699aae0a6d4b4efbdc31817090325c6 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/spi/Kconfig
 +++ b/drivers/spi/Kconfig
-@@ -728,6 +728,11 @@ config SPI_RB4XX_CPLD
+@@ -720,6 +720,11 @@ config SPI_RB4XX_CPLD
          SPI driver for the Xilinx CPLD chip present on the
          MikroTik RB4xx boards.
  
@@ -14,7 +14,7 @@
  #
 --- a/drivers/spi/Makefile
 +++ b/drivers/spi/Makefile
-@@ -92,6 +92,7 @@ obj-$(CONFIG_SPI_TEGRA20_SLINK)              += spi-
+@@ -91,6 +91,7 @@ obj-$(CONFIG_SPI_TEGRA20_SLINK)              += spi-
  obj-$(CONFIG_SPI_TLE62X0)             += spi-tle62x0.o
  obj-$(CONFIG_SPI_TOPCLIFF_PCH)                += spi-topcliff-pch.o
  obj-$(CONFIG_SPI_TXX9)                        += spi-txx9.o
diff --git a/target/linux/ar71xx/patches-4.4/615-MIPS-ath79-ap83-remove-mtd-partitions.patch b/target/linux/ar71xx/patches-4.4/615-MIPS-ath79-ap83-remove-mtd-partitions.patch
deleted file mode 100644 (file)
index 60872ae..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
---- a/arch/mips/ath79/mach-ap83.c
-+++ b/arch/mips/ath79/mach-ap83.c
-@@ -42,41 +42,8 @@
- #define AP83_KEYS_POLL_INTERVAL               20      /* msecs */
- #define AP83_KEYS_DEBOUNCE_INTERVAL   (3 * AP83_KEYS_POLL_INTERVAL)
--static struct mtd_partition ap83_flash_partitions[] = {
--      {
--              .name           = "u-boot",
--              .offset         = 0,
--              .size           = 0x040000,
--              .mask_flags     = MTD_WRITEABLE,
--      }, {
--              .name           = "u-boot-env",
--              .offset         = 0x040000,
--              .size           = 0x020000,
--              .mask_flags     = MTD_WRITEABLE,
--      }, {
--              .name           = "kernel",
--              .offset         = 0x060000,
--              .size           = 0x140000,
--      }, {
--              .name           = "rootfs",
--              .offset         = 0x1a0000,
--              .size           = 0x650000,
--      }, {
--              .name           = "art",
--              .offset         = 0x7f0000,
--              .size           = 0x010000,
--              .mask_flags     = MTD_WRITEABLE,
--      }, {
--              .name           = "firmware",
--              .offset         = 0x060000,
--              .size           = 0x790000,
--      }
--};
--
- static struct physmap_flash_data ap83_flash_data = {
-       .width          = 2,
--      .parts          = ap83_flash_partitions,
--      .nr_parts       = ARRAY_SIZE(ap83_flash_partitions),
- };
- static struct resource ap83_flash_resources[] = {