[OpenWrt-Devel] [PATCH v3] Add Minibox v1.0 support
John Crispin
blogic at openwrt.org
Fri Aug 21 03:00:31 EDT 2015
Hi,
Patch looks fine now, however the subject is missing the "ar71xx:" prefix
John
On 18/08/2015 21:44, Stijn Segers wrote:
> This patch adds Gainstrong Minibox v1.0 into trunk. I have addressed the
> following issues:
> - all caps prefix
> - added vendor
>
> I have built images and asked for testing on the forums, the image has
> been confirmed working but the LED is off during normal operation (I assume
> this is the possible LED polarity issue Karl Palsson was talking about?)
>
> Questions:
>
> - Can I simply set gpio_led minibox_v1_leds_gpio to active.low = 1 or isn't
> that how it works?
> - Should I give the 799 minibox kernel support patch a number that follows
> the existing patches more closely (e.g. 750) or doesn't that matter?
>
> Thanks
>
> 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 +
> .../ar71xx/files/arch/mips/ath79/mach-minibox-v1.c | 84 ++++++++++++++++++++++
> 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, 161 insertions(+)
> create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-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 36de775..342c68c 100644
> --- a/target/linux/ar71xx/base-files/etc/diag.sh
> +++ b/target/linux/ar71xx/base-files/etc/diag.sh
> @@ -219,6 +219,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 686fce9..49f6b55 100644
> --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
> +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
> @@ -425,6 +425,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 e1f345e..4f9735f 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"
> ;;
> @@ -502,6 +505,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 c1962e4..0b7b84c 100755
> --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> @@ -314,6 +314,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 21c4601..49f2ac1 100644
> --- a/target/linux/ar71xx/config-4.1
> +++ b/target/linux/ar71xx/config-4.1
> @@ -79,6 +79,7 @@ CONFIG_ATH79_MACH_HORNET_UB=y
> CONFIG_ATH79_MACH_JA76PF=y
> CONFIG_ATH79_MACH_JWAP003=y
> CONFIG_ATH79_MACH_MC_MAC1200R=y
> +CONFIG_ATH79_MACH_MINIBOX_V1=y
> CONFIG_ATH79_MACH_MR12=y
> CONFIG_ATH79_MACH_MR16=y
> CONFIG_ATH79_MACH_MR600=y
> diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-minibox-v1.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-minibox-v1.c
> new file mode 100644
> index 0000000..7c26cab
> --- /dev/null
> +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-minibox-v1.c
> @@ -0,0 +1,84 @@
> +/*
> + * 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 MINIBOX_V1_GPIO_BTN_RESET 11
> +
> +#define MINIBOX_V1_GPIO_LED_SYSTEM 1
> +
> +#define MINIBOX_V1_KEYS_POLL_INTERVAL 20 /* msecs */
> +#define MINIBOX_V1_KEYS_DEBOUNCE_INTERVAL (3 * MINIBOX_V1_KEYS_POLL_INTERVAL)
> +
> +static const char *minibox_v1_part_probes[] = {
> + "tp-link",
> + NULL,
> +};
> +
> +static struct flash_platform_data minibox_v1_flash_data = {
> + .part_probes = minibox_v1_part_probes,
> +};
> +
> +static struct gpio_led minibox_v1_leds_gpio[] __initdata = {
> + {
> + .name = "minibox-v1:green:system",
> + .gpio = MINIBOX_V1_GPIO_LED_SYSTEM,
> + .active_low = 0,
> + },
> +};
> +
> +static struct gpio_keys_button minibox_v1_gpio_keys[] __initdata = {
> + {
> + .desc = "reset",
> + .type = EV_KEY,
> + .code = KEY_RESTART,
> + .debounce_interval = MINIBOX_V1_KEYS_DEBOUNCE_INTERVAL,
> + .gpio = MINIBOX_V1_GPIO_BTN_RESET,
> + .active_low = 0,
> + },
> +};
> +
> +static void __init minibox_v1_setup(void)
> +{
> + u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
> + u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
> +
> + ath79_register_leds_gpio(-1, ARRAY_SIZE(minibox_v1_leds_gpio),
> + minibox_v1_leds_gpio);
> +
> + ath79_register_gpio_keys_polled(-1, MINIBOX_V1_KEYS_POLL_INTERVAL,
> + ARRAY_SIZE(minibox_v1_gpio_keys),
> + minibox_v1_gpio_keys);
> +
> + ath79_register_usb();
> +
> + ath79_register_m25p80(&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_MINIBOX_V1, "MINIBOX-V1", "MiniBox V1.0", minibox_v1_setup);
> diff --git a/target/linux/ar71xx/generic/profiles/minibox-v1.mk b/target/linux/ar71xx/generic/profiles/minibox-v1.mk
> new file mode 100644
> index 0000000..cbdb123
> --- /dev/null
> +++ b/target/linux/ar71xx/generic/profiles/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:=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 8f609de..4a2a45e 100644
> --- a/target/linux/ar71xx/image/Makefile
> +++ b/target/linux/ar71xx/image/Makefile
> @@ -397,6 +397,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..75be5fe
> --- /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
> +@@ -74,6 +74,7 @@ enum ath79_mach_type {
> + ATH79_MACH_JA76PF2, /* jjPlus JA76PF2 */
> + ATH79_MACH_JWAP003, /* jjPlus JWAP003 */
> + ATH79_MACH_HORNET_UB, /* ALFA Networks Hornet-UB */
> ++ ATH79_MACH_MINIBOX_V1, /* Gainstrong Minibox v1.0 */
> + ATH79_MACH_MR12, /* Cisco Meraki MR12 */
> + ATH79_MACH_MR16, /* Cisco Meraki MR16 */
> + ATH79_MACH_MR600V2, /* OpenMesh MR600v2 */
> +--- a/arch/mips/ath79/Kconfig
> ++++ b/arch/mips/ath79/Kconfig
> +@@ -596,6 +596,16 @@
> + select ATH79_DEV_M25P80
> + select ATH79_DEV_USB
> +
> ++config ATH79_MACH_MINIBOX_V1
> ++ bool "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_WRT160NL
> + bool "Linksys WRT160NL board support"
> + select SOC_AR913X
> +--- 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
> +@@ -85,6 +85,7 @@
> + obj-$(CONFIG_ATH79_MACH_JWAP003) += mach-jwap003.o
> + obj-$(CONFIG_ATH79_MACH_HORNET_UB) += mach-hornet-ub.o
> + obj-$(CONFIG_ATH79_MACH_MC_MAC1200R) += mach-mc-mac1200r.o
> ++obj-$(CONFIG_ATH79_MACH_MINIBOX_V1) += mach-minibox-v1.o
> + obj-$(CONFIG_ATH79_MACH_MR12) += mach-mr12.o
> + obj-$(CONFIG_ATH79_MACH_MR16) += mach-mr16.o
> + obj-$(CONFIG_ATH79_MACH_MR600) += mach-mr600.o
>
_______________________________________________
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