its in trunk finally, sorry for the delay
On 23/09/2015 20:23, Drasko DRASKOVIC wrote: > A kind reminder, > please someone take a look at this patch and integrate it if it is OK. > > BR, > Drasko > > > On Sun, Sep 20, 2015 at 7:27 PM, Drasko DRASKOVIC > <[email protected]> wrote: >> Add support for WeIO board (http://we-io.net). >> This board is based on Carambola2 board form 8Devices. >> >> Signed-off-by: Drasko DRASKOVIC <[email protected]> >> --- >> target/linux/ar71xx/base-files/lib/ar71xx.sh | 3 + >> .../ar71xx/base-files/lib/upgrade/platform.sh | 3 +- >> target/linux/ar71xx/config-4.1 | 1 + >> .../linux/ar71xx/files/arch/mips/ath79/mach-weio.c | 145 >> +++++++++++++++++++++ >> target/linux/ar71xx/generic/profiles/weio.mk | 17 +++ >> target/linux/ar71xx/image/Makefile | 8 ++ >> .../700-MIPS-ath79-openwrt-machines.patch | 21 ++- >> 7 files changed, 192 insertions(+), 6 deletions(-) >> create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-weio.c >> create mode 100644 target/linux/ar71xx/generic/profiles/weio.mk >> >> diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh >> b/target/linux/ar71xx/base-files/lib/ar71xx.sh >> index efb3d16..ad98cfb 100755 >> --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh >> +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh >> @@ -850,6 +850,9 @@ ar71xx_board_detect() { >> *"UniFi AP Pro") >> name="uap-pro" >> ;; >> + *"WeIO") >> + name="weio" >> + ;; >> *WHR-G301N) >> name="whr-g301n" >> ;; >> diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh >> b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh >> index cad8b43..c947b78 100755 >> --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh >> +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh >> @@ -252,7 +252,8 @@ platform_check_image() { >> nbg460n_550n_550nh | \ >> unifi | \ >> unifi-outdoor | \ >> - carambola2 ) >> + carambola2 | \ >> + weio ) >> [ "$magic" != "2705" ] && { >> echo "Invalid image type." >> return 1 >> diff --git a/target/linux/ar71xx/config-4.1 b/target/linux/ar71xx/config-4.1 >> index 51f2f2f..50dc7b2 100644 >> --- a/target/linux/ar71xx/config-4.1 >> +++ b/target/linux/ar71xx/config-4.1 >> @@ -143,6 +143,7 @@ CONFIG_ATH79_MACH_TL_WR941ND=y >> CONFIG_ATH79_MACH_TUBE2H=y >> CONFIG_ATH79_MACH_UBNT=y >> CONFIG_ATH79_MACH_UBNT_XM=y >> +CONFIG_ATH79_MACH_WEIO=y >> CONFIG_ATH79_MACH_WHR_HP_G300N=y >> CONFIG_ATH79_MACH_WLAE_AG300N=y >> CONFIG_ATH79_MACH_WLR8100=y >> diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-weio.c >> b/target/linux/ar71xx/files/arch/mips/ath79/mach-weio.c >> new file mode 100644 >> index 0000000..44a831b >> --- /dev/null >> +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-weio.c >> @@ -0,0 +1,145 @@ >> +/** >> + * WEIO Web Of Things Platform >> + * >> + * Copyright (C) 2013 Drasko DRASKOVIC and Uros PETREVSKI >> + * >> + * ## ## ######## #### ####### >> + * ## ## ## ## ## ## ## >> + * ## ## ## ## ## ## ## >> + * ## ## ## ###### ## ## ## >> + * ## ## ## ## ## ## ## >> + * ## ## ## ## ## ## ## >> + * ### ### ######## #### ####### >> + * >> + * Web Of Things Platform >> + * >> + * This program is free software; you can redistribute it and/or >> + * modify it under the terms of the GNU General Public License >> + * as published by the Free Software Foundation; either version 2 >> + * of the License, or (at your option) any later version. >> + * >> + * This program is distributed in the hope that it will be useful, >> + * but WITHOUT ANY WARRANTY; without even the implied warranty of >> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> + * GNU General Public License for more details. >> + * >> + * You should have received a copy of the GNU General Public License >> + * along with this program; if not, write to the Free Software >> + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, >> USA. >> + * >> + * Authors : >> + * Drasko DRASKOVIC <[email protected]> >> + * Uros PETREVSKI <[email protected]> >> + */ >> + >> +#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-spi.h" >> +#include "dev-usb.h" >> +#include "dev-wmac.h" >> +#include "machtypes.h" >> +#include "linux/i2c-gpio.h" >> +#include "linux/platform_device.h" >> + >> +#define WEIO_GPIO_LED_STA 1 >> +#define WEIO_GPIO_LED_AP 16 >> + >> +#define WEIO_GPIO_BTN_AP 20 >> +#define WEIO_GPIO_BTN_RESET 23 >> + >> +#define WEIO_KEYS_POLL_INTERVAL 20 /* msecs */ >> +#define WEIO_KEYS_DEBOUNCE_INTERVAL (3 * WEIO_KEYS_POLL_INTERVAL) >> + >> +#define WEIO_MAC0_OFFSET 0x0000 >> +#define WEIO_MAC1_OFFSET 0x0006 >> +#define WEIO_CALDATA_OFFSET 0x1000 >> +#define WEIO_WMAC_MAC_OFFSET 0x1002 >> + >> +static struct gpio_led weio_leds_gpio[] __initdata = { >> + { >> + .name = "weio:green:sta", >> + .gpio = WEIO_GPIO_LED_STA, >> + .active_low = 1, >> + .default_state = LEDS_GPIO_DEFSTATE_ON, >> + }, >> + { >> + .name = "weio:green:ap", >> + .gpio = WEIO_GPIO_LED_AP, >> + .active_low = 1, >> + .default_state = LEDS_GPIO_DEFSTATE_ON, >> + } >> +}; >> + >> +static struct gpio_keys_button weio_gpio_keys[] __initdata = { >> + { >> + .desc = "ap button", >> + .type = EV_KEY, >> + .code = BTN_0, >> + .debounce_interval = WEIO_KEYS_DEBOUNCE_INTERVAL, >> + .gpio = WEIO_GPIO_BTN_AP, >> + .active_low = 1, >> + }, >> + { >> + .desc = "soft-reset button", >> + .type = EV_KEY, >> + .code = BTN_1, >> + .debounce_interval = WEIO_KEYS_DEBOUNCE_INTERVAL, >> + .gpio = WEIO_GPIO_BTN_RESET, >> + .active_low = 1, >> + } >> +}; >> + >> +static struct i2c_gpio_platform_data weio_i2c_gpio_data = { >> + .sda_pin = 18, >> + .scl_pin = 19, >> +}; >> + >> +static struct platform_device weio_i2c_gpio = { >> + .name = "i2c-gpio", >> + .id = 0, >> + .dev = { >> + .platform_data = &weio_i2c_gpio_data, >> + }, >> +}; >> + >> +static struct platform_device *weio_devices[] __initdata = { >> + &weio_i2c_gpio >> +}; >> + >> +static void __init weio_common_setup(void) >> +{ >> + u8 *art = (u8 *) KSEG1ADDR(0x1fff0000); >> + >> + ath79_register_m25p80(NULL); >> + ath79_register_wmac(art + WEIO_CALDATA_OFFSET, art + >> WEIO_WMAC_MAC_OFFSET); >> +} >> + >> +static void __init weio_setup(void) >> +{ >> + weio_common_setup(); >> + >> + ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN | >> + AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN | >> + AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN | >> + AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN | >> + AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN); >> + >> + platform_add_devices(weio_devices, ARRAY_SIZE(weio_devices)); >> + >> + ath79_register_leds_gpio(-1, ARRAY_SIZE(weio_leds_gpio), >> + weio_leds_gpio); >> + >> + ath79_register_gpio_keys_polled(-1, WEIO_KEYS_POLL_INTERVAL, >> + ARRAY_SIZE(weio_gpio_keys), >> + weio_gpio_keys); >> + >> + ath79_register_usb(); >> +} >> + >> +MIPS_MACHINE(ATH79_MACH_WEIO, "WEIO", "WeIO board from Drasko DRASKOVIC and >> Uros PETREVSKI", >> + weio_setup); >> diff --git a/target/linux/ar71xx/generic/profiles/weio.mk >> b/target/linux/ar71xx/generic/profiles/weio.mk >> new file mode 100644 >> index 0000000..227cec9 >> --- /dev/null >> +++ b/target/linux/ar71xx/generic/profiles/weio.mk >> @@ -0,0 +1,17 @@ >> +# >> +# Copyright (C) 2013 OpenWrt.org >> +# >> +# This is free software, licensed under the GNU General Public License v2. >> +# See /LICENSE for more information. >> +# >> + >> +define Profile/WEIO >> + NAME:=WeIO >> + PACKAGES:=kmod-usb-core kmod-usb2 >> +endef >> + >> +define Profile/WEIO/Description >> + Package set optimized for the WeIO board. >> +endef >> + >> +$(eval $(call Profile,WEIO)) >> diff --git a/target/linux/ar71xx/image/Makefile >> b/target/linux/ar71xx/image/Makefile >> index b00846f..f730640 100644 >> --- a/target/linux/ar71xx/image/Makefile >> +++ b/target/linux/ar71xx/image/Makefile >> @@ -208,6 +208,14 @@ define Device/cf-e316n-v2 >> endef >> TARGET_DEVICES += cf-e316n-v2 >> >> +define Device/weio >> + BOARDNAME = WEIO >> + IMAGE_SIZE = 16000k >> + CONSOLE = ttyATH0,115200 >> + MTDPARTS = >> spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro >> +endef >> +TARGET_DEVICES += weio >> + >> define Device/wndr3700 >> BOARDNAME = WNDR3700 >> NETGEAR_KERNEL_MAGIC = 0x33373030 >> diff --git >> a/target/linux/ar71xx/patches-4.1/700-MIPS-ath79-openwrt-machines.patch >> b/target/linux/ar71xx/patches-4.1/700-MIPS-ath79-openwrt-machines.patch >> index 020bdfe..8ee0d3f 100644 >> --- a/target/linux/ar71xx/patches-4.1/700-MIPS-ath79-openwrt-machines.patch >> +++ b/target/linux/ar71xx/patches-4.1/700-MIPS-ath79-openwrt-machines.patch >> @@ -1,6 +1,6 @@ >> --- a/arch/mips/ath79/machtypes.h >> +++ b/arch/mips/ath79/machtypes.h >> -@@ -16,24 +16,209 @@ >> +@@ -16,24 +16,210 @@ >> >> enum ath79_mach_type { >> ATH79_MACH_GENERIC = 0, >> @@ -178,6 +178,7 @@ >> ATH79_MACH_UBNT_UNIFI_OUTDOOR, /* Ubiquiti UnifiAP Outdoor */ >> + ATH79_MACH_UBNT_UNIFI_OUTDOOR_PLUS, /* Ubiquiti UnifiAP Outdoor+ */ >> ATH79_MACH_UBNT_XM, /* Ubiquiti Networks XM board rev >> 1.0 */ >> ++ ATH79_MACH_WEIO, /* WeIO board */ >> + ATH79_MACH_WHR_G301N, /* Buffalo WHR-G301N */ >> + ATH79_MACH_WHR_HP_G300N, /* Buffalo WHR-HP-G300N */ >> + ATH79_MACH_WHR_HP_GN, /* Buffalo WHR-HP-GN */ >> @@ -1439,10 +1440,19 @@ >> >> config ATH79_MACH_UBNT_XM >> bool "Ubiquiti Networks XM/UniFi boards" >> -@@ -83,6 +1212,107 @@ config ATH79_MACH_UBNT_XM >> +@@ -83,6 +1212,116 @@ config ATH79_MACH_UBNT_XM >> Say 'Y' here if you want your kernel to support the >> Ubiquiti Networks XM (rev 1.0) board. >> >> ++config ATH79_MACH_WEIO >> ++ bool "WeIO board" >> ++ select SOC_AR933X >> ++ select ATH79_DEV_GPIO_BUTTONS >> ++ select ATH79_DEV_LEDS_GPIO >> ++ select ATH79_DEV_M25P80 >> ++ select ATH79_DEV_USB >> ++ select ATH79_DEV_WMAC >> ++ >> +config ATH79_MACH_MYNET_N600 >> + bool "WD My Net N600 board support" >> + select SOC_AR934X >> @@ -1547,7 +1557,7 @@ >> endmenu >> >> config SOC_AR71XX >> -@@ -134,7 +1364,10 @@ config ATH79_DEV_DSA >> +@@ -134,7 +1373,10 @@ config ATH79_DEV_DSA >> config ATH79_DEV_ETH >> def_bool n >> >> @@ -1559,7 +1569,7 @@ >> def_bool n >> >> config ATH79_DEV_GPIO_BUTTONS >> -@@ -164,6 +1397,11 @@ config ATH79_PCI_ATH9K_FIXUP >> +@@ -164,6 +1406,11 @@ config ATH79_PCI_ATH9K_FIXUP >> def_bool n >> >> config ATH79_ROUTERBOOT >> @@ -1573,7 +1583,7 @@ >> endif >> --- a/arch/mips/ath79/Makefile >> +++ b/arch/mips/ath79/Makefile >> -@@ -38,9 +38,134 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route >> +@@ -38,9 +38,135 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route >> # >> # Machines >> # >> @@ -1683,6 +1693,7 @@ >> +obj-$(CONFIG_ATH79_MACH_TUBE2H) += mach-tube2h.o >> +obj-$(CONFIG_ATH79_MACH_UBNT) += mach-ubnt.o >> obj-$(CONFIG_ATH79_MACH_UBNT_XM) += mach-ubnt-xm.o >> ++obj-$(CONFIG_ATH79_MACH_WEIO) += mach-weio.o >> +obj-$(CONFIG_ATH79_MACH_WHR_HP_G300N) += mach-whr-hp-g300n.o >> +obj-$(CONFIG_ATH79_MACH_WLAE_AG300N) += mach-wlae-ag300n.o >> +obj-$(CONFIG_ATH79_MACH_WLR8100) += mach-wlr8100.o >> -- >> 2.1.4 >> > _______________________________________________ > openwrt-devel mailing list > [email protected] > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel > _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
