[source] ar71xx: remove AP83 reference design board support

LEDE Commits lede-commits at lists.infradead.org
Mon Dec 12 01:23:47 PST 2016


nbd pushed a commit to source.git, branch master:
https://git.lede-project.org/441ee62931140bd0672dd87e084a3606962db45c

commit 441ee62931140bd0672dd87e084a3606962db45c
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Thu Dec 8 21:46:15 2016 +0100

    ar71xx: remove AP83 reference design board support
    
    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 at nbd.name>
---
 package/firmware/vsc73x5-ucode/Makefile            |  30 +--
 .../linux/ar71xx/base-files/etc/board.d/02_network |   1 -
 target/linux/ar71xx/base-files/etc/diag.sh         |   1 -
 target/linux/ar71xx/base-files/lib/ar71xx.sh       |   3 -
 .../lib/preinit/05_set_preinit_iface_ar71xx        |   1 -
 .../ar71xx/base-files/lib/upgrade/platform.sh      |   1 -
 target/linux/ar71xx/config-4.4                     |   2 -
 .../ar71xx/files/arch/mips/ath79/Kconfig.openwrt   |   8 -
 target/linux/ar71xx/files/arch/mips/ath79/Makefile |   1 -
 .../linux/ar71xx/files/arch/mips/ath79/mach-ap83.c | 275 --------------------
 .../linux/ar71xx/files/arch/mips/ath79/machtypes.h |   1 -
 target/linux/ar71xx/files/drivers/spi/spi-ap83.c   | 283 ---------------------
 target/linux/ar71xx/image/legacy-devices.mk        |   7 -
 target/linux/ar71xx/image/legacy.mk                |   2 -
 target/linux/ar71xx/mikrotik/config-default        |   1 -
 target/linux/ar71xx/nand/config-default            |   1 -
 .../patches-4.4/434-spi-ap83_spi_controller.patch  |  27 --
 .../patches-4.4/435-spi-vsc7385_driver.patch       |   4 +-
 ...615-MIPS-ath79-ap83-remove-mtd-partitions.patch |  44 ----
 19 files changed, 3 insertions(+), 690 deletions(-)

diff --git a/package/firmware/vsc73x5-ucode/Makefile b/package/firmware/vsc73x5-ucode/Makefile
index e3379a1..d73053b 100644
--- a/package/firmware/vsc73x5-ucode/Makefile
+++ b/package/firmware/vsc73x5-ucode/Makefile
@@ -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))
diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network b/target/linux/ar71xx/base-files/etc/board.d/02_network
index 57d690d..f287d4b 100755
--- a/target/linux/ar71xx/base-files/etc/board.d/02_network
+++ b/target/linux/ar71xx/base-files/etc/board.d/02_network
@@ -119,7 +119,6 @@ ar71xx_setup_interfaces()
 		;;
 	alfa-ap96|\
 	alfa-nx|\
-	ap83|\
 	gl-ar150|\
 	gl-ar300m|\
 	gl-domino|\
diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
index 43ea2b6..39a25ae 100644
--- a/target/linux/ar71xx/base-files/etc/diag.sh
+++ b/target/linux/ar71xx/base-files/etc/diag.sh
@@ -42,7 +42,6 @@ get_status_led() {
 	ap135-020)
 		status_led="ap135:green:status"
 		;;
-	ap83|\
 	mr12|\
 	mr16|\
 	nbg6616|\
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index c27cd13..d465c3f 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -468,9 +468,6 @@ ar71xx_board_detect() {
 	*AP81)
 		name="ap81"
 		;;
-	*AP83)
-		name="ap83"
-		;;
 	*AP90Q)
 		name="ap90q"
 		;;
diff --git a/target/linux/ar71xx/base-files/lib/preinit/05_set_preinit_iface_ar71xx b/target/linux/ar71xx/base-files/lib/preinit/05_set_preinit_iface_ar71xx
index e2a70b8..ae632e0 100644
--- a/target/linux/ar71xx/base-files/lib/preinit/05_set_preinit_iface_ar71xx
+++ b/target/linux/ar71xx/base-files/lib/preinit/05_set_preinit_iface_ar71xx
@@ -13,7 +13,6 @@ set_preinit_iface() {
 	ap135-020 |\
 	ap136-020 |\
 	ap147-010 |\
-	ap83 |\
 	archer-c5 |\
 	archer-c7 |\
 	bhr-4grv2 |\
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index 7b59bf3..dc68d44 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -177,7 +177,6 @@ platform_check_image() {
 	airrouter|\
 	ap132|\
 	ap81|\
-	ap83|\
 	ap90q|\
 	bullet-m|\
 	c-55|\
diff --git a/target/linux/ar71xx/config-4.4 b/target/linux/ar71xx/config-4.4
index 3181797..40090f7 100644
--- a/target/linux/ar71xx/config-4.4
+++ b/target/linux/ar71xx/config-4.4
@@ -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
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
index 9e1b50e..a0f24e1 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
+++ b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
@@ -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
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Makefile b/target/linux/ar71xx/files/arch/mips/ath79/Makefile
index e573b4b..4affa5d 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/Makefile
+++ b/target/linux/ar71xx/files/arch/mips/ath79/Makefile
@@ -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
index 8519a9d..0000000
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ap83.c
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- *  Atheros AP83 board support
- *
- *  Copyright (C) 2008-2012 Gabor Juhos <juhosg at openwrt.org>
- *  Copyright (C) 2008 Imre Kaloz <kaloz at 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);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
index 0054067..8004fdb 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
+++ b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
@@ -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
index 33843a6..0000000
--- a/target/linux/ar71xx/files/drivers/spi/spi-ap83.c
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * Atheros AP83 board specific SPI Controller driver
- *
- * Copyright (C) 2009 Gabor Juhos <juhosg at 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 at openwrt.org>");
-MODULE_LICENSE("GPL v2");
diff --git a/target/linux/ar71xx/image/legacy-devices.mk b/target/linux/ar71xx/image/legacy-devices.mk
index 5538c49..48f347b 100644
--- a/target/linux/ar71xx/image/legacy-devices.mk
+++ b/target/linux/ar71xx/image/legacy-devices.mk
@@ -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
diff --git a/target/linux/ar71xx/image/legacy.mk b/target/linux/ar71xx/image/legacy.mk
index e0e7be1..939a51f 100644
--- a/target/linux/ar71xx/image/legacy.mk
+++ b/target/linux/ar71xx/image/legacy.mk
@@ -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 at 0x50000(firmware)
-ap83_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,128k(u-boot-env)ro,4096k(rootfs),3648k(kernel),64k(art)ro,7744k at 0x60000(firmware)
 ap96_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,6144k(rootfs),1728k(kernel),64k(art)ro,7872k at 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 at 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 at 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))
 
diff --git a/target/linux/ar71xx/mikrotik/config-default b/target/linux/ar71xx/mikrotik/config-default
index e17b166..2791cfa 100644
--- a/target/linux/ar71xx/mikrotik/config-default
+++ b/target/linux/ar71xx/mikrotik/config-default
@@ -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
diff --git a/target/linux/ar71xx/nand/config-default b/target/linux/ar71xx/nand/config-default
index 7f94781..4ee5edf 100644
--- a/target/linux/ar71xx/nand/config-default
+++ b/target/linux/ar71xx/nand/config-default
@@ -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
index a67e808..0000000
--- a/target/linux/ar71xx/patches-4.4/434-spi-ap83_spi_controller.patch
+++ /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
diff --git a/target/linux/ar71xx/patches-4.4/435-spi-vsc7385_driver.patch b/target/linux/ar71xx/patches-4.4/435-spi-vsc7385_driver.patch
index 78318f8..880c088 100644
--- a/target/linux/ar71xx/patches-4.4/435-spi-vsc7385_driver.patch
+++ b/target/linux/ar71xx/patches-4.4/435-spi-vsc7385_driver.patch
@@ -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
index 60872ae..0000000
--- a/target/linux/ar71xx/patches-4.4/615-MIPS-ath79-ap83-remove-mtd-partitions.patch
+++ /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[] = {



More information about the lede-commits mailing list