[OpenWrt-Devel] ar71xx: Add Gainstrong MiniBox v1.0 support to trunk

Stijn Segers francesco.borromini at inventati.org
Sat Sep 26 15:11:53 EDT 2015


Hi John,

You commented on my first patches a while ago for the MiniBox, don't 
know if
mailing list 'etiquette' expected me to CC you for this updated patch.

Doing it now in case I should have :)

Cheers

Stijn Segers


> Date: Sun, 20 Sep 2015 21:53:33 +0200
> From: Stijn Segers <francesco.borromini at inventati.org>
> To: openwrt-devel at lists.openwrt.org
> Subject: [OpenWrt-Devel] [PATCH v5] ar71xx: Add Gainstrong MiniBox
> 	v1.0	support to trunk
> Message-ID:
> 	<1442778813-2539-1-git-send-email-francesco.borromini at inventati.org>
> 
> This patch supersedes the v1 from September 17th.
> 
> Bumping the patch version - the MiniBox profile showed up under M, but
> since it's called 'Gainstrong MiniBox v1.0' now it looks out of place.
> Renamed the profile to gs-minibox-v1.mk to fix that.
> 
> The following patch adds support for the Gainstrong MiniBox into trunk
> (or 'Designated Driver' :D ).
> 
> Fixed items:
> 
> - Inverted LED polarity (OOLITE seems to suffer from the same 
> problem).
> - Changed uppercase MINIBOX_V1_ prefix as requested.
> - Prefixes are now gs_minibox_ similar to gs_oolite_ (same vendor).
> - Mention the vendor (Gainstrong) in code headers.
> 
> Compiles fine, has been confirmed working by owners on 15.05.
> 
> Question: I've seen some boards use 
> tools/firmware-utils/src/mktplinkfw.c,
> the MiniBox images build fine without, so I'm wondering: do I need to 
> add
> it in there as well? Any added benefit?
> 
> Thank you
> 
> Signed-off by: Stijn Segers <francesco.borromini at inventati.org>
> 
> ---
>  target/linux/ar71xx/base-files/etc/diag.sh         |  3 +
>  .../ar71xx/base-files/etc/uci-defaults/02_network  |  1 +
>  target/linux/ar71xx/base-files/lib/ar71xx.sh       |  6 ++
>  .../ar71xx/base-files/lib/upgrade/platform.sh      |  1 +
>  target/linux/ar71xx/config-4.1                     |  1 +
>  .../files/arch/mips/ath79/mach-gs-minibox-v1.c     | 85 
> ++++++++++++++++++++++
>  target/linux/ar71xx/generic/profiles/minibox-v1.mk | 17 +++++
>  target/linux/ar71xx/image/Makefile                 |  9 +++
>  .../799-MIPS-ath79-add-minibox-v1-support.patch    | 39 ++++++++++
>  9 files changed, 162 insertions(+)
>  create mode 100644 
> target/linux/ar71xx/files/arch/mips/ath79/mach-gs-minibox-v1.c
>  create mode 100644 target/linux/ar71xx/generic/profiles/minibox-v1.mk
>  create mode 100644 
> target/linux/ar71xx/patches-4.1/799-MIPS-ath79-add-minibox-v1-support.patch
> 
> diff --git a/target/linux/ar71xx/base-files/etc/diag.sh 
> b/target/linux/ar71xx/base-files/etc/diag.sh
> index cfba6b4..2732994 100644
> --- a/target/linux/ar71xx/base-files/etc/diag.sh
> +++ b/target/linux/ar71xx/base-files/etc/diag.sh
> @@ -225,6 +225,9 @@ get_status_led() {
>  	smart-300)
>  		status_led="nc-link:green:system"
>  		;;
> +	minibox-v1)
> +		status_led="minibox-v1:green:system"
> +		;;
>  	oolite)
>  		status_led="oolite:red:system"
>  		;;
> diff --git 
> a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network 
> b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
> index 880953c..a93a9ad 100644
> --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
> +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
> @@ -433,6 +433,7 @@ dir-615-e4 |\
>  hiwifi-hc6361 |\
>  ja76pf |\
>  mc-mac1200r|\
> +minibox-v1 |\
>  mynet-n600 |\
>  oolite |\
>  qihoo-c301 |\
> diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh 
> b/target/linux/ar71xx/base-files/lib/ar71xx.sh
> index efb3d16..edaad73 100755
> --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
> +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
> @@ -119,6 +119,9 @@ tplink_board_detect() {
>  	"3C0001"*)
>  		model="OOLITE"
>  		;;
> +	"3C0002"*)
> +		model="MINIBOX_V1"
> +		;;
>  	"070300"*)
>  		model="TP-Link TL-WR703N"
>  		;;
> @@ -514,6 +517,9 @@ ar71xx_board_detect() {
>  	*"MAC1200R")
>  		name="mc-mac1200r"
>  		;;
> +	*"MiniBox V1.0")
> +		name="minibox-v1"
> +		;;
>  	*MR12)
>  		name="mr12"
>  		;;
> diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 
> b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> index cad8b43..043b6ed 100755
> --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> @@ -317,6 +317,7 @@ platform_check_image() {
>  	el-mini | \
>  	gl-inet | \
>  	mc-mac1200r | \
> +	minibox-v1 |\
>  	onion-omega | \
>  	oolite | \
>  	smart-300 | \
> diff --git a/target/linux/ar71xx/config-4.1 
> b/target/linux/ar71xx/config-4.1
> index 51f2f2f..883d0d7 100644
> --- a/target/linux/ar71xx/config-4.1
> +++ b/target/linux/ar71xx/config-4.1
> @@ -75,6 +75,7 @@ CONFIG_ATH79_MACH_ESR900=y
>  CONFIG_ATH79_MACH_EW_DORIN=y
>  CONFIG_ATH79_MACH_F9K1115V2=y
>  CONFIG_ATH79_MACH_GL_INET=y
> +CONFIG_ATH79_MACH_GS_MINIBOX_V1=y
>  CONFIG_ATH79_MACH_GS_OOLITE=y
>  CONFIG_ATH79_MACH_HIWIFI_HC6361=y
>  CONFIG_ATH79_MACH_HORNET_UB=y
> diff --git 
> a/target/linux/ar71xx/files/arch/mips/ath79/mach-gs-minibox-v1.c 
> b/target/linux/ar71xx/files/arch/mips/ath79/mach-gs-minibox-v1.c
> new file mode 100644
> index 0000000..47eeb65
> --- /dev/null
> +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-gs-minibox-v1.c
> @@ -0,0 +1,85 @@
> +/*
> + *  Gainstrong MiniBox V1.0 board support
> + *
> + *
> + *  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/gpio.h>
> +
> +#include <asm/mach-ath79/ath79.h>
> +#include <asm/mach-ath79/ar71xx_regs.h>
> +
> +#include "common.h"
> +#include "dev-eth.h"
> +#include "dev-gpio-buttons.h"
> +#include "dev-leds-gpio.h"
> +#include "dev-m25p80.h"
> +#include "dev-usb.h"
> +#include "dev-wmac.h"
> +#include "machtypes.h"
> +
> +#define GS_MINIBOX_V1_GPIO_BTN_RESET	11
> +
> +#define GS_MINIBOX_V1_GPIO_LED_SYSTEM	1
> +
> +#define GS_MINIBOX_V1_KEYS_POLL_INTERVAL	20	/* msecs */
> +#define GS_MINIBOX_V1_KEYS_DEBOUNCE_INTERVAL (3 * 
> GS_MINIBOX_V1_KEYS_POLL_INTERVAL)
> +
> +static const char *gs_minibox_v1_part_probes[] = {
> +	"tp-link",
> +	NULL,
> +};
> +
> +static struct flash_platform_data gs_minibox_v1_flash_data = {
> +	.part_probes	= gs_minibox_v1_part_probes,
> +};
> +
> +static struct gpio_led gs_minibox_v1_leds_gpio[] __initdata = {
> +	{
> +		.name		= "minibox-v1:green:system",
> +		.gpio		= GS_MINIBOX_V1_GPIO_LED_SYSTEM,
> +		.active_low	= 1,
> +	},
> +};
> +
> +static struct gpio_keys_button gs_minibox_v1_gpio_keys[] __initdata 
> = {
> +	{
> +		.desc		= "reset",
> +		.type		= EV_KEY,
> +		.code		= KEY_RESTART,
> +		.debounce_interval = GS_MINIBOX_V1_KEYS_DEBOUNCE_INTERVAL,
> +		.gpio		= GS_MINIBOX_V1_GPIO_BTN_RESET,
> +		.active_low	= 0,
> +	},
> +};
> +
> +static void __init gs_minibox_v1_setup(void)
> +{
> +	u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
> +	u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
> +
> +	ath79_register_leds_gpio(-1, ARRAY_SIZE(gs_minibox_v1_leds_gpio),
> +				 gs_minibox_v1_leds_gpio);
> +
> +	ath79_register_gpio_keys_polled(-1, 
> GS_MINIBOX_V1_KEYS_POLL_INTERVAL,
> +					ARRAY_SIZE(gs_minibox_v1_gpio_keys),
> +					gs_minibox_v1_gpio_keys);
> +
> +	ath79_register_usb();
> +
> +	ath79_register_m25p80(&gs_minibox_v1_flash_data);
> +	ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
> +	ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
> +
> +	ath79_register_mdio(0, 0x0);
> +	ath79_register_eth(1);
> +	ath79_register_eth(0);
> +
> +	ath79_register_wmac(ee, mac);
> +}
> +
> +MIPS_MACHINE(ATH79_MACH_GS_MINIBOX_V1, "MINIBOX-V1",
> +	     "MiniBox V1.0", gs_minibox_v1_setup);
> diff --git a/target/linux/ar71xx/generic/profiles/gs-minibox-v1.mk 
> b/target/linux/ar71xx/generic/profiles/gs-minibox-v1.mk
> new file mode 100644
> index 0000000..1484114
> --- /dev/null
> +++ b/target/linux/ar71xx/generic/profiles/gs-minibox-v1.mk
> @@ -0,0 +1,17 @@
> +#
> +# Copyright (C) 2015 OpenWrt.org
> +#
> +# This is free software, licensed under the GNU General Public 
> License v2.
> +# See /LICENSE for more information.
> +#
> +
> +define Profile/MINIBOXV1
> +	NAME:=Gainstrong MiniBox V1.0
> +	PACKAGES:=kmod-usb-core kmod-usb2  kmod-ledtrig-usbdev
> +endef
> +
> +
> +define Profile/MINIBOXV1/Description
> +	Package set optimized for the Gainstrong MiniBox V1.0
> +endef
> +$(eval $(call Profile,MINIBOXV1))
> diff --git a/target/linux/ar71xx/image/Makefile 
> b/target/linux/ar71xx/image/Makefile
> index b00846f..f438198 100644
> --- a/target/linux/ar71xx/image/Makefile
> +++ b/target/linux/ar71xx/image/Makefile
> @@ -440,6 +440,15 @@ define Device/mc-mac1200r
>  endef
>  TARGET_DEVICES += mc-mac1200r
> 
> +define Device/minibox-v1
> +    $(Device/tplink-16mlzma)
> +    BOARDNAME := MINIBOX-V1
> +    DEVICE_PROFILE := MINIBOXV1
> +    TPLINK_HWID := 0x3C000201
> +    CONSOLE := ttyATH0,115200
> +endef
> +TARGET_DEVICES += minibox-v1
> +
>  define Device/onion-omega
>      $(Device/tplink-16mlzma)
>      BOARDNAME := ONION-OMEGA
> diff --git 
> a/target/linux/ar71xx/patches-4.1/799-MIPS-ath79-add-minibox-v1-support.patch 
> b/target/linux/ar71xx/patches-4.1/799-MIPS-ath79-add-minibox-v1-support.patch
> new file mode 100644
> index 0000000..4a8f4fc
> --- /dev/null
> +++ 
> b/target/linux/ar71xx/patches-4.1/799-MIPS-ath79-add-minibox-v1-support.patch
> @@ -0,0 +1,39 @@
> +--- a/arch/mips/ath79/machtypes.h
> ++++ b/arch/mips/ath79/machtypes.h
> +@@ -64,6 +64,7 @@ enum ath79_mach_type {
> +	ATH79_MACH_EPG5000,		/* EnGenius EPG5000 */
> +	ATH79_MACH_F9K1115V2,		/* Belkin AC1750DB */
> +	ATH79_MACH_GL_INET,		/* GL-CONNECT GL-INET */
> ++	ATH79_MACH_GS_MINIBOX_V1,	/* Gainstrong MiniBox V1.0 */
> +	ATH79_MACH_GS_OOLITE,           /* GS OOLITE V1.0 */
> +	ATH79_MACH_HIWIFI_HC6361,	/* HiWiFi HC6361 */
> +	ATH79_MACH_JA76PF,		/* jjPlus JA76PF */
> +--- a/arch/mips/ath79/Kconfig
> ++++ b/arch/mips/ath79/Kconfig
> +@@ -511,6 +511,16 @@
> +	select ATH79_DEV_M25P80
> +	select ATH79_DEV_WMAC
> +
> ++config ATH79_MACH_GS_MINIBOX_V1
> ++	bool "Gainstrong MiniBox V1.0 support"
> ++	select SOC_AR933X
> ++	select ARH79_DEV_ETH
> ++	select ARH79_DEV_GPIO_BUTTONS
> ++	select ATH79_DEV_LEDS_GPIO
> ++	select ATH79_DEV_M25P80
> ++	select ATH79_DEV_USB
> ++	select ATH79_DEV_WMAC
> ++
> + config ATH79_MACH_GS_OOLITE
> +        bool "GS Oolite V1 support"
> +        select SOC_AR933X
> +--- a/arch/mips/ath79/Makefile	2015-08-10 23:27:44.599500173 +0200
> ++++ b/arch/mips/ath79/Makefile	2015-08-10 23:29:25.090929262 +0200
> +@@ -75,6 +75,7 @@
> + obj-$(CONFIG_ATH79_MACH_ESR1750)	+= mach-esr1750.o
> + obj-$(CONFIG_ATH79_MACH_F9K1115V2)	+= mach-f9k1115v2.o
> + obj-$(CONFIG_ATH79_MACH_GL_INET)	+= mach-gl-inet.o
> ++obj-$(CONFIG_ATH79_MACH_GS_MINIBOX_V1)	+= mach-gs-minibox-v1.o
> + obj-$(CONFIG_ATH79_MACH_GS_OOLITE)	+= mach-gs-oolite.o
> + obj-$(CONFIG_ATH79_MACH_HIWIFI_HC6361)	+= mach-hiwifi-hc6361.o
> + obj-$(CONFIG_ATH79_MACH_JA76PF)		+= mach-ja76pf.o
> --
> 2.1.4
> 
> 
> ------------------------------
> 
> Message: 3
> Date: Sun, 20 Sep 2015 21:53:56 +0200
> From: Stijn Segers <francesco.borromini at inventati.org>
> To: openwrt-devel at lists.openwrt.org
> Subject: [OpenWrt-Devel] [PATCH v2] ar71xx: Add Gainstrong MiniBox
> 	v1.0	support to 15.05
> Message-ID:
> 	<1442778836-2629-1-git-send-email-francesco.borromini at inventati.org>
> 
> This patch supersedes the v4 from September 17th.
> 
> Bumping the patch version - the MiniBox profile showed up under M, but
> since it's called 'Gainstrong MiniBox v1.0' now it looks out of place.
> Renamed the profile to gs-minibox-v1.mk to fix that.
> 
> The following patch adds support for the Gainstrong MiniBox to 15.05
> Chaos Calmer.
> 
> Fixed items:
> 
> - Inverted LED polarity (OOLITE seems to suffer from the same 
> problem).
> - Changed uppercase MINIBOX_V1_ prefix as requested.
> - Prefixes are now gs_minibox_ similar to gs_oolite_ (same vendor).
> - Mention the vendor (Gainstrong) in code headers.
> 
> Compiles fine, has been confirmed working by owners.
> 
> Question: I've seen some boards use 
> tools/firmware-utils/src/mktplinkfw.c,
> the MiniBox images build fine without, so I'm wondering: do I need to 
> add
> it in there as well? Any added benefit?
> 
> Thank you
> 
> Signed-off by: Stijn Segers <francesco.borromini at inventati.org>
> 
> ---
>  target/linux/ar71xx/base-files/etc/diag.sh         |  3 +
>  .../ar71xx/base-files/etc/uci-defaults/02_network  |  1 +
>  target/linux/ar71xx/base-files/lib/ar71xx.sh       |  6 ++
>  .../ar71xx/base-files/lib/upgrade/platform.sh      |  1 +
>  target/linux/ar71xx/config-3.18                    |  1 +
>  .../files/arch/mips/ath79/mach-gs-minibox-v1.c     | 85 
> ++++++++++++++++++++++
>  target/linux/ar71xx/generic/profiles/minibox-v1.mk | 17 +++++
>  target/linux/ar71xx/image/Makefile                 |  9 +++
>  .../799-MIPS-ath79-add-minibox-v1-support.patch    | 39 ++++++++++
>  9 files changed, 162 insertions(+)
>  create mode 100644 
> target/linux/ar71xx/files/arch/mips/ath79/mach-gs-minibox-v1.c
>  create mode 100644 target/linux/ar71xx/generic/profiles/minibox-v1.mk
>  create mode 100644 
> target/linux/ar71xx/patches-3.18/799-MIPS-ath79-add-minibox-v1-support.patch
> 
> diff --git a/target/linux/ar71xx/base-files/etc/diag.sh 
> b/target/linux/ar71xx/base-files/etc/diag.sh
> index ece7098..c1b7598 100644
> --- a/target/linux/ar71xx/base-files/etc/diag.sh
> +++ b/target/linux/ar71xx/base-files/etc/diag.sh
> @@ -212,6 +212,9 @@ get_status_led() {
>  	smart-300)
>  		status_led="nc-link:green:system"
>  		;;
> +	minibox-v1)
> +		status_led="minibox-v1:green:system"
> +		;;
>  	oolite)
>  		status_led="oolite:red:system"
>  		;;
> diff --git 
> a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network 
> b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
> index 7e26886..4e7b8c6 100644
> --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
> +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
> @@ -414,6 +414,7 @@ dir-615-e4 |\
>  hiwifi-hc6361 |\
>  ja76pf |\
>  mc-mac1200r|\
> +minibox-v1 |\
>  mynet-n600 |\
>  oolite |\
>  qihoo-c301 |\
> diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh 
> b/target/linux/ar71xx/base-files/lib/ar71xx.sh
> index cacf362..f60f451 100755
> --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
> +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
> @@ -119,6 +119,9 @@ tplink_board_detect() {
>  	"3C0001"*)
>  		model="OOLITE"
>  		;;
> +	"3C0002"*)
> +		model="MINIBOX_V1"
> +		;;
>  	"070300"*)
>  		model="TP-Link TL-WR703N"
>  		;;
> @@ -490,6 +493,9 @@ ar71xx_board_detect() {
>  	*"MAC1200R")
>  		name="mc-mac1200r"
>  		;;
> +	*"MiniBox V1.0")
> +		name="minibox-v1"
> +		;;
>  	*MR12)
>  		name="mr12"
>  		;;
> diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 
> b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> index e5376ef..9e027ff 100755
> --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> @@ -311,6 +311,7 @@ platform_check_image() {
>  	el-mini | \
>  	gl-inet | \
>  	mc-mac1200r | \
> +	minibox-v1 |\
>  	onion-omega | \
>  	oolite | \
>  	smart-300 | \
> diff --git a/target/linux/ar71xx/config-3.18 
> b/target/linux/ar71xx/config-3.18
> index d661aa7..ad861e1 100644
> --- a/target/linux/ar71xx/config-3.18
> +++ b/target/linux/ar71xx/config-3.18
> @@ -68,6 +68,7 @@ CONFIG_ATH79_MACH_ESR900=y
>  CONFIG_ATH79_MACH_EW_DORIN=y
>  CONFIG_ATH79_MACH_F9K1115V2=y
>  CONFIG_ATH79_MACH_GL_INET=y
> +CONFIG_ATH79_MACH_GS_MINIBOX_V1=y
>  CONFIG_ATH79_MACH_GS_OOLITE=y
>  CONFIG_ATH79_MACH_HIWIFI_HC6361=y
>  CONFIG_ATH79_MACH_HORNET_UB=y
> diff --git 
> a/target/linux/ar71xx/files/arch/mips/ath79/mach-gs-minibox-v1.c 
> b/target/linux/ar71xx/files/arch/mips/ath79/mach-gs-minibox-v1.c
> new file mode 100644
> index 0000000..47eeb65
> --- /dev/null
> +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-gs-minibox-v1.c
> @@ -0,0 +1,85 @@
> +/*
> + *  Gainstrong MiniBox V1.0 board support
> + *
> + *
> + *  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/gpio.h>
> +
> +#include <asm/mach-ath79/ath79.h>
> +#include <asm/mach-ath79/ar71xx_regs.h>
> +
> +#include "common.h"
> +#include "dev-eth.h"
> +#include "dev-gpio-buttons.h"
> +#include "dev-leds-gpio.h"
> +#include "dev-m25p80.h"
> +#include "dev-usb.h"
> +#include "dev-wmac.h"
> +#include "machtypes.h"
> +
> +#define GS_MINIBOX_V1_GPIO_BTN_RESET	11
> +
> +#define GS_MINIBOX_V1_GPIO_LED_SYSTEM	1
> +
> +#define GS_MINIBOX_V1_KEYS_POLL_INTERVAL	20	/* msecs */
> +#define GS_MINIBOX_V1_KEYS_DEBOUNCE_INTERVAL (3 * 
> GS_MINIBOX_V1_KEYS_POLL_INTERVAL)
> +
> +static const char *gs_minibox_v1_part_probes[] = {
> +	"tp-link",
> +	NULL,
> +};
> +
> +static struct flash_platform_data gs_minibox_v1_flash_data = {
> +	.part_probes	= gs_minibox_v1_part_probes,
> +};
> +
> +static struct gpio_led gs_minibox_v1_leds_gpio[] __initdata = {
> +	{
> +		.name		= "minibox-v1:green:system",
> +		.gpio		= GS_MINIBOX_V1_GPIO_LED_SYSTEM,
> +		.active_low	= 1,
> +	},
> +};
> +
> +static struct gpio_keys_button gs_minibox_v1_gpio_keys[] __initdata 
> = {
> +	{
> +		.desc		= "reset",
> +		.type		= EV_KEY,
> +		.code		= KEY_RESTART,
> +		.debounce_interval = GS_MINIBOX_V1_KEYS_DEBOUNCE_INTERVAL,
> +		.gpio		= GS_MINIBOX_V1_GPIO_BTN_RESET,
> +		.active_low	= 0,
> +	},
> +};
> +
> +static void __init gs_minibox_v1_setup(void)
> +{
> +	u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
> +	u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
> +
> +	ath79_register_leds_gpio(-1, ARRAY_SIZE(gs_minibox_v1_leds_gpio),
> +				 gs_minibox_v1_leds_gpio);
> +
> +	ath79_register_gpio_keys_polled(-1, 
> GS_MINIBOX_V1_KEYS_POLL_INTERVAL,
> +					ARRAY_SIZE(gs_minibox_v1_gpio_keys),
> +					gs_minibox_v1_gpio_keys);
> +
> +	ath79_register_usb();
> +
> +	ath79_register_m25p80(&gs_minibox_v1_flash_data);
> +	ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
> +	ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
> +
> +	ath79_register_mdio(0, 0x0);
> +	ath79_register_eth(1);
> +	ath79_register_eth(0);
> +
> +	ath79_register_wmac(ee, mac);
> +}
> +
> +MIPS_MACHINE(ATH79_MACH_GS_MINIBOX_V1, "MINIBOX-V1",
> +	     "MiniBox V1.0", gs_minibox_v1_setup);
> diff --git a/target/linux/ar71xx/generic/profiles/gs-minibox-v1.mk 
> b/target/linux/ar71xx/generic/profiles/gs-minibox-v1.mk
> new file mode 100644
> index 0000000..1484114
> --- /dev/null
> +++ b/target/linux/ar71xx/generic/profiles/gs-minibox-v1.mk
> @@ -0,0 +1,17 @@
> +#
> +# Copyright (C) 2015 OpenWrt.org
> +#
> +# This is free software, licensed under the GNU General Public 
> License v2.
> +# See /LICENSE for more information.
> +#
> +
> +define Profile/MINIBOXV1
> +	NAME:=Gainstrong MiniBox V1.0
> +	PACKAGES:=kmod-usb-core kmod-usb2  kmod-ledtrig-usbdev
> +endef
> +
> +
> +define Profile/MINIBOXV1/Description
> +	Package set optimized for the Gainstrong MiniBox V1.0
> +endef
> +$(eval $(call Profile,MINIBOXV1))
> diff --git a/target/linux/ar71xx/image/Makefile 
> b/target/linux/ar71xx/image/Makefile
> index bb5de17..5c99ba7 100644
> --- a/target/linux/ar71xx/image/Makefile
> +++ b/target/linux/ar71xx/image/Makefile
> @@ -345,6 +345,15 @@ define Device/mc-mac1200r
>  endef
>  TARGET_DEVICES += mc-mac1200r
> 
> +define Device/minibox-v1
> +    $(Device/tplink-16mlzma)
> +    BOARDNAME := MINIBOX-V1
> +    DEVICE_PROFILE := MINIBOXV1
> +    TPLINK_HWID := 0x3C000201
> +    CONSOLE := ttyATH0,115200
> +endef
> +TARGET_DEVICES += minibox-v1
> +
>  define Device/onion-omega
>      $(Device/tplink-16mlzma)
>      BOARDNAME := ONION-OMEGA
> diff --git 
> a/target/linux/ar71xx/patches-3.18/799-MIPS-ath79-add-minibox-v1-support.patch 
> b/target/linux/ar71xx/patches-3.18/799-MIPS-ath79-add-minibox-v1-support.patch
> new file mode 100644
> index 0000000..4a8f4fc
> --- /dev/null
> +++ 
> b/target/linux/ar71xx/patches-3.18/799-MIPS-ath79-add-minibox-v1-support.patch
> @@ -0,0 +1,39 @@
> +--- a/arch/mips/ath79/machtypes.h
> ++++ b/arch/mips/ath79/machtypes.h
> +@@ -64,6 +64,7 @@ enum ath79_mach_type {
> +	ATH79_MACH_EPG5000,		/* EnGenius EPG5000 */
> +	ATH79_MACH_F9K1115V2,		/* Belkin AC1750DB */
> +	ATH79_MACH_GL_INET,		/* GL-CONNECT GL-INET */
> ++	ATH79_MACH_GS_MINIBOX_V1,	/* Gainstrong MiniBox V1.0 */
> +	ATH79_MACH_GS_OOLITE,           /* GS OOLITE V1.0 */
> +	ATH79_MACH_HIWIFI_HC6361,	/* HiWiFi HC6361 */
> +	ATH79_MACH_JA76PF,		/* jjPlus JA76PF */
> +--- a/arch/mips/ath79/Kconfig
> ++++ b/arch/mips/ath79/Kconfig
> +@@ -511,6 +511,16 @@
> +	select ATH79_DEV_M25P80
> +	select ATH79_DEV_WMAC
> +
> ++config ATH79_MACH_GS_MINIBOX_V1
> ++	bool "Gainstrong MiniBox V1.0 support"
> ++	select SOC_AR933X
> ++	select ARH79_DEV_ETH
> ++	select ARH79_DEV_GPIO_BUTTONS
> ++	select ATH79_DEV_LEDS_GPIO
> ++	select ATH79_DEV_M25P80
> ++	select ATH79_DEV_USB
> ++	select ATH79_DEV_WMAC
> ++
> + config ATH79_MACH_GS_OOLITE
> +        bool "GS Oolite V1 support"
> +        select SOC_AR933X
> +--- a/arch/mips/ath79/Makefile	2015-08-10 23:27:44.599500173 +0200
> ++++ b/arch/mips/ath79/Makefile	2015-08-10 23:29:25.090929262 +0200
> +@@ -75,6 +75,7 @@
> + obj-$(CONFIG_ATH79_MACH_ESR1750)	+= mach-esr1750.o
> + obj-$(CONFIG_ATH79_MACH_F9K1115V2)	+= mach-f9k1115v2.o
> + obj-$(CONFIG_ATH79_MACH_GL_INET)	+= mach-gl-inet.o
> ++obj-$(CONFIG_ATH79_MACH_GS_MINIBOX_V1)	+= mach-gs-minibox-v1.o
> + obj-$(CONFIG_ATH79_MACH_GS_OOLITE)	+= mach-gs-oolite.o
> + obj-$(CONFIG_ATH79_MACH_HIWIFI_HC6361)	+= mach-hiwifi-hc6361.o
> + obj-$(CONFIG_ATH79_MACH_JA76PF)		+= mach-ja76pf.o
> --
> 2.1.4
> 
> 
> ------------------------------
> 
> Subject: Digest Footer
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
> 
> 
> ------------------------------
> 
> End of openwrt-devel Digest, Vol 117, Issue 112
> ***********************************************
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list