├── AR150, AR300, Domino - CC1505 ├── 000-gl-ar150-cc.patch ├── 001-gl-ar300.patch ├── 002-gl-domino.patch └── series ├── AR150-AA1209 ├── gl-ar150.patch └── series ├── AR150-BB1407 ├── gl-ar150.patch └── series ├── AR300-BB1407 ├── gl-ar300.patch └── series └── README.md /AR150, AR300, Domino - CC1505/000-gl-ar150-cc.patch: -------------------------------------------------------------------------------- 1 | --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh 2 | +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh 3 | @@ -454,6 +454,9 @@ ar71xx_board_detect() { 4 | name="gl-inet" 5 | gl_inet_board_detect 6 | ;; 7 | + *"GL AR150") 8 | + name="gl-ar150" 9 | + ;; 10 | *"EnGenius EPG5000") 11 | name="epg5000" 12 | ;; 13 | --- /dev/null 14 | +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar150.c 15 | @@ -0,0 +1,125 @@ 16 | +/* 17 | + * GL_ar150 board support 18 | + * 19 | + * Copyright (C) 2011 dongyuqi <729650915@qq.com> 20 | + * Copyright (C) 2011-2012 Gabor Juhos 21 | + * Copyright (C) 2013 alzhao 22 | + * Copyright (C) 2014 Michel Stempin 23 | + * 24 | + * This program is free software; you can redistribute it and/or modify it 25 | + * under the terms of the GNU General Public License version 2 as published 26 | + * by the Free Software Foundation. 27 | +*/ 28 | + 29 | +#include 30 | + 31 | +#include 32 | + 33 | +#include "dev-eth.h" 34 | +#include "dev-gpio-buttons.h" 35 | +#include "dev-leds-gpio.h" 36 | +#include "dev-m25p80.h" 37 | +#include "dev-usb.h" 38 | +#include "dev-wmac.h" 39 | +#include "machtypes.h" 40 | + 41 | +#define GL_AR150_GPIO_LED_WLAN 0 42 | +#define GL_AR150_GPIO_LED_LAN 13 43 | +#define GL_AR150_GPIO_LED_WAN 15 44 | + 45 | +#define GL_AR150_GPIO_BIN_USB 6 46 | +#define GL_AR150_GPIO_BTN_MANUAL 7 47 | +#define GL_AR150_GPIO_BTN_AUTO 8 48 | +#define GL_AR150_GPIO_BTN_RESET 11 49 | + 50 | +#define GL_AR150_KEYS_POLL_INTERVAL 20 /* msecs */ 51 | +#define GL_AR150_KEYS_DEBOUNCE_INTERVAL (3 * GL_AR150_KEYS_POLL_INTERVAL) 52 | + 53 | +#define GL_AR150_MAC0_OFFSET 0x0000 54 | +#define GL_AR150_MAC1_OFFSET 0x0000 55 | +#define GL_AR150_CALDATA_OFFSET 0x1000 56 | +#define GL_AR150_WMAC_MAC_OFFSET 0x0000 57 | + 58 | +static struct gpio_led gl_ar150_leds_gpio[] __initdata = { 59 | + { 60 | + .name = "gl_ar150:wlan", 61 | + .gpio = GL_AR150_GPIO_LED_WLAN, 62 | + .active_low = 0, 63 | + }, 64 | + { 65 | + .name = "gl_ar150:lan", 66 | + .gpio = GL_AR150_GPIO_LED_LAN, 67 | + .active_low = 0, 68 | + }, 69 | + { 70 | + .name = "gl_ar150:wan", 71 | + .gpio = GL_AR150_GPIO_LED_WAN, 72 | + .active_low = 0, 73 | + .default_state = 1, 74 | + }, 75 | +}; 76 | + 77 | +static struct gpio_keys_button gl_ar150_gpio_keys[] __initdata = { 78 | + { 79 | + .desc = "BTN_7", 80 | + .type = EV_KEY, 81 | + .code = BTN_7, 82 | + .debounce_interval = GL_AR150_KEYS_DEBOUNCE_INTERVAL, 83 | + .gpio = GL_AR150_GPIO_BTN_MANUAL, 84 | + .active_low = 0, 85 | + }, 86 | + { 87 | + .desc = "BTN_8", 88 | + .type = EV_KEY, 89 | + .code = BTN_8, 90 | + .debounce_interval = GL_AR150_KEYS_DEBOUNCE_INTERVAL, 91 | + .gpio = GL_AR150_GPIO_BTN_AUTO, 92 | + .active_low = 0, 93 | + }, 94 | + { 95 | + .desc = "reset", 96 | + .type = EV_KEY, 97 | + .code = KEY_RESTART, 98 | + .debounce_interval = GL_AR150_KEYS_DEBOUNCE_INTERVAL, 99 | + .gpio = GL_AR150_GPIO_BTN_RESET, 100 | + .active_low = 0, 101 | + }, 102 | +}; 103 | + 104 | +static void __init gl_ar150_setup(void) 105 | +{ 106 | + 107 | + /* ART base address */ 108 | + u8 *art = (u8 *) KSEG1ADDR(0x1fff0000); 109 | + 110 | + /* disable PHY_SWAP and PHY_ADDR_SWAP bits */ 111 | + ath79_setup_ar933x_phy4_switch(false, false); 112 | + 113 | + /* register flash. */ 114 | + ath79_register_m25p80(NULL); 115 | + 116 | + /* register gpio LEDs and keys */ 117 | + ath79_register_leds_gpio(-1, ARRAY_SIZE(gl_ar150_leds_gpio), 118 | + gl_ar150_leds_gpio); 119 | + ath79_register_gpio_keys_polled(-1, GL_AR150_KEYS_POLL_INTERVAL, 120 | + ARRAY_SIZE(gl_ar150_gpio_keys), 121 | + gl_ar150_gpio_keys); 122 | + 123 | + /* enable usb */ 124 | + gpio_request_one(GL_AR150_GPIO_BIN_USB, 125 | + GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED, 126 | + "USB power"); 127 | + ath79_register_usb(); 128 | + 129 | + /* register eth0 as WAN, eth1 as LAN */ 130 | + ath79_init_mac(ath79_eth0_data.mac_addr, art+GL_AR150_MAC0_OFFSET, 0); 131 | + ath79_init_mac(ath79_eth1_data.mac_addr, art+GL_AR150_MAC1_OFFSET, 0); 132 | + ath79_register_mdio(0, 0x0); 133 | + ath79_register_eth(0); 134 | + ath79_register_eth(1); 135 | + 136 | + /* register wireless mac with cal data */ 137 | + ath79_register_wmac(art + GL_AR150_CALDATA_OFFSET, art + GL_AR150_WMAC_MAC_OFFSET); 138 | +} 139 | + 140 | +MIPS_MACHINE(ATH79_MACH_GL_AR150, "GL-AR150", "GL AR150",gl_ar150_setup); 141 | --- /dev/null 142 | +++ b/target/linux/ar71xx/generic/profiles/gli.mk 143 | @@ -0,0 +1,27 @@ 144 | +# 145 | +# Copyright (C) 2013 OpenWrt.org 146 | +# 147 | +# This is free software, licensed under the GNU General Public License v2. 148 | +# See /LICENSE for more information. 149 | +# 150 | +define Profile/GLINET 151 | + NAME:=GL.iNet 6416 152 | + PACKAGES:=kmod-usb-core kmod-usb2 153 | +endef 154 | + 155 | +define Profile/GLINET/Description 156 | + Package set optimized for the GL-Connect GL.iNet v1. 157 | +endef 158 | + 159 | +$(eval $(call Profile,GLINET)) 160 | + 161 | +define Profile/GL-AR150 162 | + NAME:=GL AR150 163 | + PACKAGES:=kmod-usb-core kmod-usb2 164 | +endef 165 | + 166 | +define Profile/GL-AR150/Description 167 | + Configuration of GL AR150. 168 | +endef 169 | + 170 | +$(eval $(call Profile,GL-AR150)) 171 | --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network 172 | +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network 173 | @@ -375,6 +375,7 @@ dir-505-a1) 174 | alfa-ap96 |\ 175 | alfa-nx |\ 176 | ap83 |\ 177 | +gl-ar150 |\ 178 | gl-inet |\ 179 | jwap003 |\ 180 | pb42 |\ 181 | --- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds 182 | +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds 183 | @@ -181,6 +181,10 @@ dlan-pro-1200-ac) 184 | ucidef_set_led_trigger_gpio "plcr" "dLAN" "devolo:error:dlan" "16" "0" 185 | ;; 186 | 187 | +gl-ar150) 188 | + ucidef_set_led_wlan "wlan" "WLAN" "gl_ar150:wlan" "phy0tpt" 189 | + ;; 190 | + 191 | gl-inet) 192 | ucidef_set_led_netdev "lan" "LAN" "gl-connect:green:lan" "eth1" 193 | ucidef_set_led_wlan "wlan" "WLAN" "gl-connect:red:wlan" "phy0tpt" 194 | --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 195 | +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 196 | @@ -211,6 +211,7 @@ platform_check_image() { 197 | dlan-pro-500-wp | \ 198 | dlan-pro-1200-ac | \ 199 | dragino2 | \ 200 | + gl-ar150 | \ 201 | epg5000 | \ 202 | esr1750 | \ 203 | esr900 | \ 204 | --- a/target/linux/ar71xx/image/Makefile 205 | +++ b/target/linux/ar71xx/image/Makefile 206 | @@ -144,6 +144,14 @@ define Device/weio 207 | endef 208 | TARGET_DEVICES += weio 209 | 210 | +define Device/gl-ar150 211 | + BOARDNAME = GL-AR150 212 | + IMAGE_SIZE = 16000k 213 | + CONSOLE = ttyATH0,115200 214 | + MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro 215 | +endef 216 | +TARGET_DEVICES += gl-ar150 217 | + 218 | define Device/wndr3700 219 | BOARDNAME = WNDR3700 220 | NETGEAR_KERNEL_MAGIC = 0x33373030 221 | --- /dev/null 222 | +++ b/target/linux/ar71xx/patches-3.18/911-MIPS-ath79-add-gl_ar150.patch 223 | @@ -0,0 +1,39 @@ 224 | +--- a/arch/mips/ath79/Kconfig 225 | ++++ b/arch/mips/ath79/Kconfig 226 | +@@ -533,6 +533,16 @@ config ATH79_MACH_GL_INET 227 | + select ATH79_DEV_USB 228 | + select ATH79_DEV_WMAC 229 | + 230 | ++config ATH79_MACH_GL_AR150 231 | ++ bool "GL AR150 support" 232 | ++ select SOC_AR933X 233 | ++ select ATH79_DEV_ETH 234 | ++ select ATH79_DEV_GPIO_BUTTONS 235 | ++ select ATH79_DEV_LEDS_GPIO 236 | ++ select ATH79_DEV_M25P80 237 | ++ select ATH79_DEV_USB 238 | ++ select ATH79_DEV_WMAC 239 | ++ 240 | + config ATH79_MACH_EAP300V2 241 | + bool "EnGenius EAP300 v2 support" 242 | + select SOC_AR934X 243 | +--- a/arch/mips/ath79/Makefile 244 | ++++ b/arch/mips/ath79/Makefile 245 | +@@ -78,6 +78,7 @@ obj-$(CONFIG_ATH79_MACH_EL_MINI) += mach 246 | + obj-$(CONFIG_ATH79_MACH_EPG5000) += mach-epg5000.o 247 | + obj-$(CONFIG_ATH79_MACH_ESR1750) += mach-esr1750.o 248 | + obj-$(CONFIG_ATH79_MACH_F9K1115V2) += mach-f9k1115v2.o 249 | ++obj-$(CONFIG_ATH79_MACH_GL_AR150) += mach-gl-ar150.o 250 | + obj-$(CONFIG_ATH79_MACH_GL_INET) += mach-gl-inet.o 251 | + obj-$(CONFIG_ATH79_MACH_GS_MINIBOX_V1) += mach-gs-minibox-v1.o 252 | + obj-$(CONFIG_ATH79_MACH_GS_OOLITE) += mach-gs-oolite.o 253 | +--- a/arch/mips/ath79/machtypes.h 254 | ++++ b/arch/mips/ath79/machtypes.h 255 | +@@ -67,6 +67,7 @@ enum ath79_mach_type { 256 | + ATH79_MACH_ESR1750, /* EnGenius ESR1750 */ 257 | + ATH79_MACH_EPG5000, /* EnGenius EPG5000 */ 258 | + ATH79_MACH_F9K1115V2, /* Belkin AC1750DB */ 259 | ++ ATH79_MACH_GL_AR150, /* GL-AR150 support */ 260 | + ATH79_MACH_GL_INET, /* GL-CONNECT GL-INET */ 261 | + ATH79_MACH_GS_MINIBOX_V1, /* Gainstrong MiniBox V1.0 */ 262 | + ATH79_MACH_GS_OOLITE, /* GS OOLITE V1.0 */ 263 | --- a/target/linux/ar71xx/generic/profiles/gl-connect.mk 264 | +++ /dev/null 265 | @@ -1,17 +0,0 @@ 266 | -# 267 | -# Copyright (C) 2014 OpenWrt.org 268 | -# 269 | -# This is free software, licensed under the GNU General Public License v2. 270 | -# See /LICENSE for more information. 271 | -# 272 | - 273 | -define Profile/GLINET 274 | - NAME:=GL.iNet 275 | - PACKAGES:=kmod-usb-core kmod-usb2 276 | -endef 277 | - 278 | -define Profile/GLINET/Description 279 | - Package set optimized for the GL-Connect GL.iNet v1. 280 | -endef 281 | - 282 | -$(eval $(call Profile,GLINET)) 283 | --- a/target/linux/ar71xx/config-3.18 284 | +++ b/target/linux/ar71xx/config-3.18 285 | @@ -68,6 +68,7 @@ CONFIG_ATH79_MACH_ESR1750=y 286 | CONFIG_ATH79_MACH_ESR900=y 287 | CONFIG_ATH79_MACH_EW_DORIN=y 288 | CONFIG_ATH79_MACH_F9K1115V2=y 289 | +CONFIG_ATH79_MACH_GL_AR150=y 290 | CONFIG_ATH79_MACH_GL_INET=y 291 | CONFIG_ATH79_MACH_GS_MINIBOX_V1=y 292 | CONFIG_ATH79_MACH_GS_OOLITE=y 293 | -------------------------------------------------------------------------------- /AR150, AR300, Domino - CC1505/001-gl-ar300.patch: -------------------------------------------------------------------------------- 1 | --- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds 2 | +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds 3 | @@ -185,6 +185,10 @@ gl-ar150) 4 | ucidef_set_led_wlan "wlan" "WLAN" "gl_ar150:wlan" "phy0tpt" 5 | ;; 6 | 7 | +gl-ar300) 8 | + ucidef_set_led_wlan "wlan" "WLAN" "gl_ar300:wlan" "phy0tpt" 9 | + ;; 10 | + 11 | gl-inet) 12 | ucidef_set_led_netdev "lan" "LAN" "gl-connect:green:lan" "eth1" 13 | ucidef_set_led_wlan "wlan" "WLAN" "gl-connect:red:wlan" "phy0tpt" 14 | --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network 15 | +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network 16 | @@ -387,6 +387,12 @@ wpe72) 17 | ucidef_set_interfaces_lan_wan "eth1" "eth0" 18 | ;; 19 | 20 | +gl-ar300) 21 | + ucidef_set_interfaces_lan_wan "eth1" "eth0" 22 | + ucidef_add_switch "switch0" "1" "1" 23 | + ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 4" 24 | + ;; 25 | + 26 | wpj344) 27 | ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" 28 | ucidef_add_switch "switch0" "1" "1" 29 | --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh 30 | +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh 31 | @@ -438,6 +438,9 @@ ar71xx_board_detect() { 32 | *"Dragino v2") 33 | name="dragino2" 34 | ;; 35 | + *"GL AR300") 36 | + name="gl-ar300" 37 | + ;; 38 | *"EAP300 v2") 39 | name="eap300v2" 40 | ;; 41 | --- /dev/null 42 | +++ b/target/linux/ar71xx/patches-3.18/912-MIPS-ath79-add-gl_ar300.patch 43 | @@ -0,0 +1,39 @@ 44 | +--- a/arch/mips/ath79/Kconfig 45 | ++++ b/arch/mips/ath79/Kconfig 46 | +@@ -543,6 +543,16 @@ config ATH79_MACH_GL_AR150 47 | + select ATH79_DEV_USB 48 | + select ATH79_DEV_WMAC 49 | + 50 | ++config ATH79_MACH_GL_AR300 51 | ++ bool "GL_AR300 support" 52 | ++ select SOC_AR934X 53 | ++ select ATH79_DEV_ETH 54 | ++ select ATH79_DEV_GPIO_BUTTONS 55 | ++ select ATH79_DEV_LEDS_GPIO 56 | ++ select ATH79_DEV_M25P80 57 | ++ select ATH79_DEV_USB 58 | ++ select ATH79_DEV_WMAC 59 | ++ 60 | + config ATH79_MACH_EAP300V2 61 | + bool "EnGenius EAP300 v2 support" 62 | + select SOC_AR934X 63 | +--- a/arch/mips/ath79/Makefile 64 | ++++ b/arch/mips/ath79/Makefile 65 | +@@ -79,6 +79,7 @@ obj-$(CONFIG_ATH79_MACH_EPG5000) += mach 66 | + obj-$(CONFIG_ATH79_MACH_ESR1750) += mach-esr1750.o 67 | + obj-$(CONFIG_ATH79_MACH_F9K1115V2) += mach-f9k1115v2.o 68 | + obj-$(CONFIG_ATH79_MACH_GL_AR150) += mach-gl-ar150.o 69 | ++obj-$(CONFIG_ATH79_MACH_GL_AR300) += mach-gl-ar300.o 70 | + obj-$(CONFIG_ATH79_MACH_GL_INET) += mach-gl-inet.o 71 | + obj-$(CONFIG_ATH79_MACH_GS_MINIBOX_V1) += mach-gs-minibox-v1.o 72 | + obj-$(CONFIG_ATH79_MACH_GS_OOLITE) += mach-gs-oolite.o 73 | +--- a/arch/mips/ath79/machtypes.h 74 | ++++ b/arch/mips/ath79/machtypes.h 75 | +@@ -68,6 +68,7 @@ enum ath79_mach_type { 76 | + ATH79_MACH_EPG5000, /* EnGenius EPG5000 */ 77 | + ATH79_MACH_F9K1115V2, /* Belkin AC1750DB */ 78 | + ATH79_MACH_GL_AR150, /* GL-AR150 support */ 79 | ++ ATH79_MACH_GL_AR300, /* GL-AR300 */ 80 | + ATH79_MACH_GL_INET, /* GL-CONNECT GL-INET */ 81 | + ATH79_MACH_GS_MINIBOX_V1, /* Gainstrong MiniBox V1.0 */ 82 | + ATH79_MACH_GS_OOLITE, /* GS OOLITE V1.0 */ 83 | --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 84 | +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 85 | @@ -212,6 +212,7 @@ platform_check_image() { 86 | dlan-pro-1200-ac | \ 87 | dragino2 | \ 88 | gl-ar150 | \ 89 | + gl-ar300 | \ 90 | epg5000 | \ 91 | esr1750 | \ 92 | esr900 | \ 93 | --- /dev/null 94 | +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar300.c 95 | @@ -0,0 +1,106 @@ 96 | +/* 97 | + * Domino board support 98 | + * 99 | + * Copyright (C) 2011 dongyuqi <729650915@qq.com> 100 | + * Copyright (C) 2011-2012 Gabor Juhos 101 | + * Copyright (C) 2013 alzhao 102 | + * Copyright (C) 2014 Michel Stempin 103 | + * 104 | + * This program is free software; you can redistribute it and/or modify it 105 | + * under the terms of the GNU General Public License version 2 as published 106 | + * by the Free Software Foundation. 107 | +*/ 108 | + 109 | +#include 110 | +#include 111 | +#include 112 | +#include 113 | +#include 114 | + 115 | +#include "common.h" 116 | +#include "dev-eth.h" 117 | +#include "dev-gpio-buttons.h" 118 | +#include "dev-leds-gpio.h" 119 | +#include "dev-m25p80.h" 120 | +#include "dev-usb.h" 121 | +#include "dev-wmac.h" 122 | +#include "machtypes.h" 123 | + 124 | +#define GL_AR300_GPIO_LED_WLAN 13 125 | +#define GL_AR300_GPIO_LED_WAN 14 126 | +#define GL_AR300_GPIO_BTN_RESET 16 127 | + 128 | + 129 | +#define GL_AR300_KEYS_POLL_INTERVAL 20 /* msecs */ 130 | +#define GL_AR300_KEYS_DEBOUNCE_INTERVAL (3 * GL_AR300_KEYS_POLL_INTERVAL) 131 | + 132 | +#define GL_AR300_MAC0_OFFSET 0x0000 133 | +#define GL_AR300_MAC1_OFFSET 0x0000 134 | +#define GL_AR300_CALDATA_OFFSET 0x1000 135 | +#define GL_AR300_WMAC_MAC_OFFSET 0x0000 136 | + 137 | +static struct gpio_led gl_ar300_leds_gpio[] __initdata = { 138 | + { 139 | + .name = "gl_ar300:wlan", 140 | + .gpio = GL_AR300_GPIO_LED_WLAN, 141 | + .active_low = 1, 142 | + }, 143 | + { 144 | + .name = "gl_ar300:wan", 145 | + .gpio = GL_AR300_GPIO_LED_WAN, 146 | + .active_low = 1, 147 | + }, 148 | +}; 149 | + 150 | +static struct gpio_keys_button gl_ar300_gpio_keys[] __initdata = { 151 | + { 152 | + .desc = "reset", 153 | + .type = EV_KEY, 154 | + .code = KEY_RESTART, 155 | + .debounce_interval = GL_AR300_KEYS_DEBOUNCE_INTERVAL, 156 | + .gpio = GL_AR300_GPIO_BTN_RESET, 157 | + .active_low = 1, 158 | + }, 159 | +}; 160 | + 161 | +static void __init gl_ar300_setup(void) 162 | +{ 163 | + 164 | + /* ART base address */ 165 | + u8 *art = (u8 *) KSEG1ADDR(0x1fff0000); 166 | + 167 | + /* disable PHY_SWAP and PHY_ADDR_SWAP bits */ 168 | + //ath79_setup_ar933x_phy4_switch(false, false); 169 | + 170 | + /* register flash. */ 171 | + ath79_register_m25p80(NULL); 172 | + 173 | + /* register gpio LEDs and keys */ 174 | + ath79_register_leds_gpio(-1, ARRAY_SIZE(gl_ar300_leds_gpio), 175 | + gl_ar300_leds_gpio); 176 | + ath79_register_gpio_keys_polled(-1, GL_AR300_KEYS_POLL_INTERVAL, 177 | + ARRAY_SIZE(gl_ar300_gpio_keys), 178 | + gl_ar300_gpio_keys); 179 | + 180 | + /* enable usb */ 181 | + ath79_register_usb(); 182 | + ath79_register_mdio(1, 0x0); 183 | + 184 | + /* register eth0 as WAN, eth1 as LAN */ 185 | + ath79_init_mac(ath79_eth0_data.mac_addr, art+GL_AR300_MAC0_OFFSET, 0); 186 | + ath79_switch_data.phy4_mii_en = 1; 187 | + ath79_switch_data.phy_poll_mask = BIT(4); 188 | + ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII; 189 | + ath79_eth0_data.phy_mask = BIT(4); 190 | + ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev; 191 | + ath79_register_eth(0); 192 | + 193 | + ath79_init_mac(ath79_eth1_data.mac_addr, art+GL_AR300_MAC1_OFFSET, 0); 194 | + ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII; 195 | + ath79_register_eth(1); 196 | + 197 | + /* register wireless mac with cal data */ 198 | + ath79_register_wmac(art + GL_AR300_CALDATA_OFFSET, art + GL_AR300_WMAC_MAC_OFFSET); 199 | +} 200 | + 201 | +MIPS_MACHINE(ATH79_MACH_GL_AR300, "GL-AR300", "GL AR300",gl_ar300_setup); 202 | --- a/target/linux/ar71xx/generic/profiles/gli.mk 203 | +++ b/target/linux/ar71xx/generic/profiles/gli.mk 204 | @@ -25,3 +25,14 @@ define Profile/GL-AR150/Description 205 | endef 206 | 207 | $(eval $(call Profile,GL-AR150)) 208 | + 209 | +define Profile/GL-AR300 210 | + NAME:=GL AR300 211 | + PACKAGES:=kmod-usb-core kmod-usb2 212 | +endef 213 | + 214 | +define Profile/GL-AR300/Description 215 | + Configuration of GL AR300. 216 | +endef 217 | + 218 | +$(eval $(call Profile,GL-AR300)) 219 | --- a/target/linux/ar71xx/image/Makefile 220 | +++ b/target/linux/ar71xx/image/Makefile 221 | @@ -152,6 +152,14 @@ define Device/gl-ar150 222 | endef 223 | TARGET_DEVICES += gl-ar150 224 | 225 | +define Device/gl-ar300 226 | + BOARDNAME = GL-AR300 227 | + IMAGE_SIZE = 16000k 228 | + CONSOLE = ttyS0,115200 229 | + MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro 230 | +endef 231 | +TARGET_DEVICES += gl-ar300 232 | + 233 | define Device/wndr3700 234 | BOARDNAME = WNDR3700 235 | NETGEAR_KERNEL_MAGIC = 0x33373030 236 | --- a/target/linux/ar71xx/config-3.18 237 | +++ b/target/linux/ar71xx/config-3.18 238 | @@ -69,6 +69,7 @@ CONFIG_ATH79_MACH_ESR900=y 239 | CONFIG_ATH79_MACH_EW_DORIN=y 240 | CONFIG_ATH79_MACH_F9K1115V2=y 241 | CONFIG_ATH79_MACH_GL_AR150=y 242 | +CONFIG_ATH79_MACH_GL_AR300=y 243 | CONFIG_ATH79_MACH_GL_INET=y 244 | CONFIG_ATH79_MACH_GS_MINIBOX_V1=y 245 | CONFIG_ATH79_MACH_GS_OOLITE=y 246 | -------------------------------------------------------------------------------- /AR150, AR300, Domino - CC1505/002-gl-domino.patch: -------------------------------------------------------------------------------- 1 | --- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds 2 | +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds 3 | @@ -189,6 +189,10 @@ gl-ar300) 4 | ucidef_set_led_wlan "wlan" "WLAN" "gl_ar300:wlan" "phy0tpt" 5 | ;; 6 | 7 | +gl-domino) 8 | + ucidef_set_led_wlan "wlan" "WLAN" "domino:blue:wlan" "phy0tpt" 9 | + ;; 10 | + 11 | gl-inet) 12 | ucidef_set_led_netdev "lan" "LAN" "gl-connect:green:lan" "eth1" 13 | ucidef_set_led_wlan "wlan" "WLAN" "gl-connect:red:wlan" "phy0tpt" 14 | --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh 15 | +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh 16 | @@ -438,6 +438,9 @@ ar71xx_board_detect() { 17 | *"Dragino v2") 18 | name="dragino2" 19 | ;; 20 | + *"Domino Pi") 21 | + name="gl-domino" 22 | + ;; 23 | *"GL AR300") 24 | name="gl-ar300" 25 | ;; 26 | --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 27 | +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 28 | @@ -213,6 +213,7 @@ platform_check_image() { 29 | dragino2 | \ 30 | gl-ar150 | \ 31 | gl-ar300 | \ 32 | + gl-domino | \ 33 | epg5000 | \ 34 | esr1750 | \ 35 | esr900 | \ 36 | --- /dev/null 37 | +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-domino.c 38 | @@ -0,0 +1,136 @@ 39 | +/* 40 | + * Domino board support 41 | + * 42 | + * Copyright (C) 2011 dongyuqi <729650915@qq.com> 43 | + * Copyright (C) 2011-2012 Gabor Juhos 44 | + * Copyright (C) 2013 alzhao 45 | + * Copyright (C) 2014 Michel Stempin 46 | + * 47 | + * This program is free software; you can redistribute it and/or modify it 48 | + * under the terms of the GNU General Public License version 2 as published 49 | + * by the Free Software Foundation. 50 | +*/ 51 | + 52 | +#include 53 | + 54 | +#include 55 | + 56 | +#include "dev-eth.h" 57 | +#include "dev-gpio-buttons.h" 58 | +#include "dev-leds-gpio.h" 59 | +#include "dev-m25p80.h" 60 | +#include "dev-usb.h" 61 | +#include "dev-wmac.h" 62 | +#include "machtypes.h" 63 | + 64 | +#define DOMINO_GPIO_LED_WLAN 0 65 | +#define DOMINO_GPIO_LED_WAN 17 66 | +#define DOMINO_GPIO_LED_USB 1 67 | +#define DOMINO_GPIO_LED_LAN1 13 68 | +#define DOMINO_GPIO_LED_LAN2 14 69 | +#define DOMINO_GPIO_LED_LAN3 15 70 | +#define DOMINO_GPIO_LED_LAN4 16 71 | +#define DOMINO_GPIO_LED_SYS 27 72 | +#define DOMINO_GPIO_LED_WPS 26 73 | +#define DOMINO_GPIO_USB_POWER 6 74 | + 75 | +#define DOMINO_GPIO_BTN_RESET 11 76 | +#define DOMINO_GPIO_BTN_WPS 20 77 | + 78 | +#define DOMINO_KEYS_POLL_INTERVAL 20 /* msecs */ 79 | +#define DOMINO_KEYS_DEBOUNCE_INTERVAL (3 * DOMINO_KEYS_POLL_INTERVAL) 80 | + 81 | +#define DOMINO_MAC0_OFFSET 0x0000 82 | +#define DOMINO_MAC1_OFFSET 0x0000 83 | +#define DOMINO_CALDATA_OFFSET 0x1000 84 | +#define DOMINO_WMAC_MAC_OFFSET 0x0000 85 | + 86 | +static struct gpio_led domino_leds_gpio[] __initdata = { 87 | + { 88 | + .name = "domino:blue:wlan", 89 | + .gpio = DOMINO_GPIO_LED_WLAN, 90 | + .active_low = 0, 91 | + }, 92 | + { 93 | + .name = "domino:red:wan", 94 | + .gpio = DOMINO_GPIO_LED_WAN, 95 | + .active_low = 1, 96 | + }, 97 | + { 98 | + .name = "domino:white:usb", 99 | + .gpio = DOMINO_GPIO_LED_USB, 100 | + .active_low = 0, 101 | + }, 102 | + { 103 | + .name = "domino:green:lan1", 104 | + .gpio = DOMINO_GPIO_LED_LAN1, 105 | + .active_low = 0, 106 | + }, 107 | + { 108 | + .name = "domino:yellow:wps", 109 | + .gpio = DOMINO_GPIO_LED_WPS, 110 | + .active_low = 1, 111 | + }, 112 | + { 113 | + .name = "domino:orange:sys", 114 | + .gpio = DOMINO_GPIO_LED_SYS, 115 | + .active_low = 1, 116 | + }, 117 | +}; 118 | + 119 | +static struct gpio_keys_button domino_gpio_keys[] __initdata = { 120 | + { 121 | + .desc = "reset", 122 | + .type = EV_KEY, 123 | + .code = KEY_RESTART, 124 | + .debounce_interval = DOMINO_KEYS_DEBOUNCE_INTERVAL, 125 | + .gpio = DOMINO_GPIO_BTN_RESET, 126 | + .active_low = 0, 127 | + }, 128 | + { 129 | + .desc = "wps", 130 | + .type = EV_KEY, 131 | + .code = KEY_WPS_BUTTON, 132 | + .debounce_interval = DOMINO_KEYS_DEBOUNCE_INTERVAL, 133 | + .gpio = DOMINO_GPIO_BTN_WPS, 134 | + .active_low = 0, 135 | + } 136 | +}; 137 | + 138 | +static void __init domino_setup(void) 139 | +{ 140 | + 141 | + /* ART base address */ 142 | + u8 *art = (u8 *) KSEG1ADDR(0x1fff0000); 143 | + 144 | + /* disable PHY_SWAP and PHY_ADDR_SWAP bits */ 145 | + ath79_setup_ar933x_phy4_switch(false, false); 146 | + 147 | + /* register flash. */ 148 | + ath79_register_m25p80(NULL); 149 | + 150 | + /* register gpio LEDs and keys */ 151 | + ath79_register_leds_gpio(-1, ARRAY_SIZE(domino_leds_gpio), 152 | + domino_leds_gpio); 153 | + ath79_register_gpio_keys_polled(-1, DOMINO_KEYS_POLL_INTERVAL, 154 | + ARRAY_SIZE(domino_gpio_keys), 155 | + domino_gpio_keys); 156 | + 157 | + gpio_request_one(DOMINO_GPIO_USB_POWER, 158 | + GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED, 159 | + "USB power"); 160 | + /* enable usb */ 161 | + ath79_register_usb(); 162 | + 163 | + /* register eth0 as WAN, eth1 as LAN */ 164 | + ath79_init_mac(ath79_eth0_data.mac_addr, art+DOMINO_MAC0_OFFSET, 0); 165 | + ath79_init_mac(ath79_eth1_data.mac_addr, art+DOMINO_MAC1_OFFSET, 0); 166 | + ath79_register_mdio(0, 0x0); 167 | + ath79_register_eth(0); 168 | + ath79_register_eth(1); 169 | + 170 | + /* register wireless mac with cal data */ 171 | + ath79_register_wmac(art + DOMINO_CALDATA_OFFSET, art + DOMINO_WMAC_MAC_OFFSET); 172 | +} 173 | + 174 | +MIPS_MACHINE(ATH79_MACH_GL_DOMINO, "DOMINO", "Domino Pi", domino_setup); 175 | --- /dev/null 176 | +++ b/target/linux/ar71xx/patches-3.18/913-MIPS-ath79-add-domino-support.patch 177 | @@ -0,0 +1,39 @@ 178 | +--- a/arch/mips/ath79/Kconfig 179 | ++++ b/arch/mips/ath79/Kconfig 180 | +@@ -553,6 +553,16 @@ config ATH79_MACH_GL_AR300 181 | + select ATH79_DEV_USB 182 | + select ATH79_DEV_WMAC 183 | + 184 | ++config ATH79_MACH_GL_DOMINO 185 | ++ bool "DOMINO support" 186 | ++ select SOC_AR933X 187 | ++ select ATH79_DEV_ETH 188 | ++ select ATH79_DEV_GPIO_BUTTONS 189 | ++ select ATH79_DEV_LEDS_GPIO 190 | ++ select ATH79_DEV_M25P80 191 | ++ select ATH79_DEV_USB 192 | ++ select ATH79_DEV_WMAC 193 | ++ 194 | + config ATH79_MACH_EAP300V2 195 | + bool "EnGenius EAP300 v2 support" 196 | + select SOC_AR934X 197 | +--- a/arch/mips/ath79/Makefile 198 | ++++ b/arch/mips/ath79/Makefile 199 | +@@ -80,6 +80,7 @@ obj-$(CONFIG_ATH79_MACH_ESR1750) += mach 200 | + obj-$(CONFIG_ATH79_MACH_F9K1115V2) += mach-f9k1115v2.o 201 | + obj-$(CONFIG_ATH79_MACH_GL_AR150) += mach-gl-ar150.o 202 | + obj-$(CONFIG_ATH79_MACH_GL_AR300) += mach-gl-ar300.o 203 | ++obj-$(CONFIG_ATH79_MACH_GL_DOMINO) += mach-gl-domino.o 204 | + obj-$(CONFIG_ATH79_MACH_GL_INET) += mach-gl-inet.o 205 | + obj-$(CONFIG_ATH79_MACH_GS_MINIBOX_V1) += mach-gs-minibox-v1.o 206 | + obj-$(CONFIG_ATH79_MACH_GS_OOLITE) += mach-gs-oolite.o 207 | +--- a/arch/mips/ath79/machtypes.h 208 | ++++ b/arch/mips/ath79/machtypes.h 209 | +@@ -69,6 +69,7 @@ enum ath79_mach_type { 210 | + ATH79_MACH_F9K1115V2, /* Belkin AC1750DB */ 211 | + ATH79_MACH_GL_AR150, /* GL-AR150 support */ 212 | + ATH79_MACH_GL_AR300, /* GL-AR300 */ 213 | ++ ATH79_MACH_GL_DOMINO, /* Domino */ 214 | + ATH79_MACH_GL_INET, /* GL-CONNECT GL-INET */ 215 | + ATH79_MACH_GS_MINIBOX_V1, /* Gainstrong MiniBox V1.0 */ 216 | + ATH79_MACH_GS_OOLITE, /* GS OOLITE V1.0 */ 217 | --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network 218 | +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network 219 | @@ -376,6 +376,7 @@ alfa-ap96 |\ 220 | alfa-nx |\ 221 | ap83 |\ 222 | gl-ar150 |\ 223 | +gl-domino |\ 224 | gl-inet |\ 225 | jwap003 |\ 226 | pb42 |\ 227 | --- a/target/linux/ar71xx/generic/profiles/gli.mk 228 | +++ b/target/linux/ar71xx/generic/profiles/gli.mk 229 | @@ -36,3 +36,14 @@ define Profile/GL-AR300/Description 230 | endef 231 | 232 | $(eval $(call Profile,GL-AR300)) 233 | + 234 | +define Profile/DOMINO 235 | + NAME:=GL Domino Pi 236 | + PACKAGES:=kmod-usb-core kmod-usb2 237 | +endef 238 | + 239 | +define Profile/DOMINO/Description 240 | + Configuration of Domino, Wifi for everything. 241 | +endef 242 | + 243 | +$(eval $(call Profile,DOMINO)) 244 | --- a/target/linux/ar71xx/image/Makefile 245 | +++ b/target/linux/ar71xx/image/Makefile 246 | @@ -160,6 +160,14 @@ define Device/gl-ar300 247 | endef 248 | TARGET_DEVICES += gl-ar300 249 | 250 | +define Device/gl-domino 251 | + BOARDNAME = DOMINO 252 | + IMAGE_SIZE = 16000k 253 | + CONSOLE = ttyATH0,115200 254 | + MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro 255 | +endef 256 | +TARGET_DEVICES += gl-domino 257 | + 258 | define Device/wndr3700 259 | BOARDNAME = WNDR3700 260 | NETGEAR_KERNEL_MAGIC = 0x33373030 261 | --- a/target/linux/ar71xx/config-3.18 262 | +++ b/target/linux/ar71xx/config-3.18 263 | @@ -70,6 +70,7 @@ CONFIG_ATH79_MACH_EW_DORIN=y 264 | CONFIG_ATH79_MACH_F9K1115V2=y 265 | CONFIG_ATH79_MACH_GL_AR150=y 266 | CONFIG_ATH79_MACH_GL_AR300=y 267 | +CONFIG_ATH79_MACH_GL_DOMINO=y 268 | CONFIG_ATH79_MACH_GL_INET=y 269 | CONFIG_ATH79_MACH_GS_MINIBOX_V1=y 270 | CONFIG_ATH79_MACH_GS_OOLITE=y 271 | -------------------------------------------------------------------------------- /AR150, AR300, Domino - CC1505/series: -------------------------------------------------------------------------------- 1 | 000-gl-ar150-cc.patch 2 | 001-gl-ar300.patch 3 | 002-gl-domino.patch 4 | -------------------------------------------------------------------------------- /AR150-AA1209/gl-ar150.patch: -------------------------------------------------------------------------------- 1 | --- /dev/null 2 | +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl_ar150.c 3 | @@ -0,0 +1,122 @@ 4 | +/* 5 | + * GL_ar150 board support 6 | + * 7 | + * Copyright (C) 2011 dongyuqi <729650915@qq.com> 8 | + * Copyright (C) 2011-2012 Gabor Juhos 9 | + * Copyright (C) 2013 alzhao 10 | + * Copyright (C) 2014 Michel Stempin 11 | + * 12 | + * This program is free software; you can redistribute it and/or modify it 13 | + * under the terms of the GNU General Public License version 2 as published 14 | + * by the Free Software Foundation. 15 | +*/ 16 | + 17 | +#include 18 | + 19 | +#include 20 | + 21 | +#include "dev-eth.h" 22 | +#include "dev-gpio-buttons.h" 23 | +#include "dev-leds-gpio.h" 24 | +#include "dev-m25p80.h" 25 | +#include "dev-usb.h" 26 | +#include "dev-wmac.h" 27 | +#include "machtypes.h" 28 | + 29 | +#define GL_AR150_GPIO_LED_WLAN 0 30 | +#define GL_AR150_GPIO_LED_LAN 13 31 | +#define GL_AR150_GPIO_LED_WAN 15 32 | + 33 | +#define GL_AR150_GPIO_BIN_USB 6 34 | +#define GL_AR150_GPIO_BTN_MANUAL 7 35 | +#define GL_AR150_GPIO_BTN_AUTO 8 36 | +#define GL_AR150_GPIO_BTN_RESET 11 37 | + 38 | +#define GL_AR150_KEYS_POLL_INTERVAL 20 /* msecs */ 39 | +#define GL_AR150_KEYS_DEBOUNCE_INTERVAL (3 * GL_AR150_KEYS_POLL_INTERVAL) 40 | + 41 | +#define GL_AR150_MAC0_OFFSET 0x0000 42 | +#define GL_AR150_MAC1_OFFSET 0x0000 43 | +#define GL_AR150_CALDATA_OFFSET 0x1000 44 | +#define GL_AR150_WMAC_MAC_OFFSET 0x0000 45 | + 46 | +static struct gpio_led gl_ar150_leds_gpio[] __initdata = { 47 | + { 48 | + .name = "gl_ar150:wlan", 49 | + .gpio = GL_AR150_GPIO_LED_WLAN, 50 | + .active_low = 0, 51 | + }, 52 | + { 53 | + .name = "gl_ar150:lan", 54 | + .gpio = GL_AR150_GPIO_LED_LAN, 55 | + .active_low = 0, 56 | + }, 57 | + { 58 | + .name = "gl_ar150:wan", 59 | + .gpio = GL_AR150_GPIO_LED_WAN, 60 | + .active_low = 0, 61 | + .default_state = 1, 62 | + }, 63 | +}; 64 | + 65 | +static struct gpio_keys_button gl_ar150_gpio_keys[] __initdata = { 66 | + { 67 | + .desc = "BTN_7", 68 | + .type = EV_KEY, 69 | + .code = BTN_7, 70 | + .debounce_interval = GL_AR150_KEYS_DEBOUNCE_INTERVAL, 71 | + .gpio = GL_AR150_GPIO_BTN_MANUAL, 72 | + .active_low = 0, 73 | + }, 74 | + { 75 | + .desc = "BTN_8", 76 | + .type = EV_KEY, 77 | + .code = BTN_8, 78 | + .debounce_interval = GL_AR150_KEYS_DEBOUNCE_INTERVAL, 79 | + .gpio = GL_AR150_GPIO_BTN_AUTO, 80 | + .active_low = 0, 81 | + }, 82 | + { 83 | + .desc = "reset", 84 | + .type = EV_KEY, 85 | + .code = KEY_RESTART, 86 | + .debounce_interval = GL_AR150_KEYS_DEBOUNCE_INTERVAL, 87 | + .gpio = GL_AR150_GPIO_BTN_RESET, 88 | + .active_low = 0, 89 | + }, 90 | +}; 91 | + 92 | +static void __init gl_ar150_setup(void) 93 | +{ 94 | + 95 | + /* ART base address */ 96 | + u8 *art = (u8 *) KSEG1ADDR(0x1fff0000); 97 | + 98 | + /* disable PHY_SWAP and PHY_ADDR_SWAP bits */ 99 | + ath79_setup_ar933x_phy4_switch(false, false); 100 | + 101 | + /* register flash. */ 102 | + ath79_register_m25p80(NULL); 103 | + 104 | + /* register gpio LEDs and keys */ 105 | + ath79_register_leds_gpio(-1, ARRAY_SIZE(gl_ar150_leds_gpio), 106 | + gl_ar150_leds_gpio); 107 | + ath79_register_gpio_keys_polled(-1, GL_AR150_KEYS_POLL_INTERVAL, 108 | + ARRAY_SIZE(gl_ar150_gpio_keys), 109 | + gl_ar150_gpio_keys); 110 | + 111 | + /* enable usb */ 112 | + ath79_register_usb(); 113 | + 114 | + /* register eth0 as WAN, eth1 as LAN */ 115 | + ath79_init_mac(ath79_eth0_data.mac_addr, art+GL_AR150_MAC0_OFFSET, 0); 116 | + ath79_init_mac(ath79_eth1_data.mac_addr, art+GL_AR150_MAC1_OFFSET, 0); 117 | + ath79_register_mdio(0, 0x0); 118 | + ath79_register_eth(0); 119 | + ath79_register_eth(1); 120 | + 121 | + /* register wireless mac with cal data */ 122 | + ath79_register_wmac(art + GL_AR150_CALDATA_OFFSET, art + GL_AR150_WMAC_MAC_OFFSET); 123 | +} 124 | + 125 | +MIPS_MACHINE(ATH79_MACH_GL_AR150, "GL-AR150", "GL-AR150",gl_ar150_setup); 126 | --- /dev/null 127 | +++ b/target/linux/ar71xx/generic/profiles/gl-ar150.mk 128 | @@ -0,0 +1,16 @@ 129 | +# 130 | +# Copyright (C) 2013 OpenWrt.org 131 | +# 132 | +# This is free software, licensed under the GNU General Public License v2. 133 | +# See /LICENSE for more information. 134 | +# 135 | +define Profile/GL_AR150 136 | + NAME:=GL-AR150 137 | + PACKAGES:=kmod-usb-core kmod-usb2 138 | +endef 139 | + 140 | +define Profile/GL_AR150/Description 141 | + Configuration of GL-AR150, Wifi for everything. 142 | +endef 143 | + 144 | +$(eval $(call Profile,GL_AR150)) 145 | --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh 146 | +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh 147 | @@ -174,6 +174,9 @@ ar71xx_board_detect() { 148 | *AP121-MINI) 149 | name="ap121-mini" 150 | ;; 151 | + *GL-AR150) 152 | + name="gl-ar150" 153 | + ;; 154 | *"AP136 reference board") 155 | name="ap136" 156 | ;; 157 | --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 158 | +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 159 | @@ -87,6 +87,7 @@ platform_check_image() { 160 | alfa-nx | \ 161 | ap113 | \ 162 | ap121 | \ 163 | + gl-ar150 | \ 164 | ap121-mini | \ 165 | ap136 | \ 166 | ap96 | \ 167 | --- a/target/linux/ar71xx/image/Makefile 168 | +++ b/target/linux/ar71xx/image/Makefile 169 | @@ -165,6 +165,7 @@ ap96_mtdlayout=mtdparts=spi0.0:192k(u-bo 170 | ap113_mtd_layout=mtdparts=spi0.0:64k(u-boot),3008k(rootfs),896k(uImage),64k(NVRAM),64k(ART),3904k@0x10000(firmware) 171 | ap121_mtdlayout_2M=mtdparts=spi0.0:64k(u-boot)ro,1216k(rootfs),704k(kernel),64k(art)ro,1920k@0x10000(firmware) 172 | ap121_mtdlayout_4M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,2752k(rootfs),896k(kernel),64k(nvram),64k(art)ro,3648k@0x50000(firmware) 173 | +gl_ar150_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),1280k(kernel),14656k(rootfs),64k(nvram),64k(art)ro,16000k@0x50000(firmware) 174 | ap136_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6336k(rootfs),1408k(kernel),64k(mib0),64k(art)ro,7744k@0x50000(firmware) 175 | cameo7240_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(nvram)ro,960k(kernel),2752k(rootfs),64k(mac)ro,64k(art)ro,3712k@0x40000(firmware) 176 | cameo913x_mtdlayout=mtdparts=spi0.0:128k(u-boot)ro,64k(config)ro,960k(kernel),2880k(rootfs),64k(art)ro,3840k@0x30000(firmware) 177 | @@ -794,6 +795,7 @@ $(eval $(call SingleProfile,AthLzma,$(fs 178 | $(eval $(call SingleProfile,AthLzma,$(fs_64k),AP113,ap113,AP113,ttyS0,115200,$$(ap113_mtd_layout),917504,3080192,RK)) 179 | $(eval $(call SingleProfile,AthLzma,$(fs_64k),AP121_2M,ap121-2M,AP121,ttyATH0,115200,$$(ap121_mtdlayout_2M),720896,1245184,RKuImage)) 180 | $(eval $(call SingleProfile,AthLzma,$(fs_64k),AP121_4M,ap121-4M,AP121,ttyATH0,115200,$$(ap121_mtdlayout_4M),917504,2818048,RKuImage)) 181 | +$(eval $(call SingleProfile,AthLzma,$(fs_64k),GL_AR150,gl-ar150,GL-AR150,ttyATH0,115200,$$(gl_ar150_16M),1310720,15007744,KRuImage)) 182 | $(eval $(call SingleProfile,AthLzma,$(fs_64k),AP121MINI,ap121-mini,AP121-MINI,ttyATH0,115200,$$(ap121_mtdlayout_4M),917504,2818048,RKuImage)) 183 | $(eval $(call SingleProfile,AthLzma,$(fs_64k),AP136,ap136,AP136,ttyS0,115200,$$(ap136_mtdlayout),1441792,6488064,RKuImage)) 184 | $(eval $(call SingleProfile,AthLzma,$(fs_64k),CAP4200AG,cap4200ag,CAP4200AG,ttyS0,115200,$$(cap4200ag_mtdlayout),1572864,12386304,KRuImage)) 185 | --- a/target/linux/ar71xx/base-files/etc/uci-defaults/network 186 | +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/network 187 | @@ -170,6 +170,7 @@ jwap003 |\ 188 | pb42 |\ 189 | pb44 |\ 190 | routerstation|\ 191 | +gl-ar150 |\ 192 | wpe72) 193 | ucidef_set_interfaces_lan_wan "eth1" "eth0" 194 | ;; 195 | --- a/target/linux/ar71xx/config-3.3 196 | +++ b/target/linux/ar71xx/config-3.3 197 | @@ -25,6 +25,7 @@ CONFIG_ATH79_MACH_ALL0258N=y 198 | CONFIG_ATH79_MACH_ALL0315N=y 199 | CONFIG_ATH79_MACH_AP113=y 200 | CONFIG_ATH79_MACH_AP121=y 201 | +CONFIG_ATH79_MACH_GL_AR150=y 202 | CONFIG_ATH79_MACH_AP136=y 203 | CONFIG_ATH79_MACH_AP81=y 204 | CONFIG_ATH79_MACH_AP83=y 205 | --- a/target/linux/ar71xx/base-files/etc/uci-defaults/leds 206 | +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/leds 207 | @@ -64,6 +64,10 @@ dir-825-b1) 208 | ucidef_set_led_usbdev "usb" "USB" "d-link:blue:usb" "1-1" 209 | ;; 210 | 211 | +gl-ar150) 212 | + ucidef_set_led_wlan "wlan" "WLAN" "gl_ar150:wlan" "phy0tpt" 213 | + ;; 214 | + 215 | hornet-ub) 216 | ucidef_set_led_netdev "lan" "LAN" "alfa:blue:lan" "eth0" 217 | ucidef_set_led_netdev "wan" "WAN" "alfa:blue:wan" "eth1" 218 | --- /dev/null 219 | +++ b/target/linux/ar71xx/patches-3.3/911-mips-ath79-ar150.patch 220 | @@ -0,0 +1,39 @@ 221 | +--- a/arch/mips/ath79/Kconfig 222 | ++++ b/arch/mips/ath79/Kconfig 223 | +@@ -70,6 +70,16 @@ config ATH79_MACH_AP121 224 | + Say 'Y' here if you want your kernel to support the 225 | + Atheros AP121 reference board. 226 | + 227 | ++config ATH79_MACH_GL_AR150 228 | ++ bool "GL_AR150 support" 229 | ++ select SOC_AR933X 230 | ++ select ATH79_DEV_ETH 231 | ++ select ATH79_DEV_GPIO_BUTTONS 232 | ++ select ATH79_DEV_LEDS_GPIO 233 | ++ select ATH79_DEV_M25P80 234 | ++ select ATH79_DEV_USB 235 | ++ select ATH79_DEV_WMAC 236 | ++ 237 | + config ATH79_MACH_AP136 238 | + bool "Atheros AP136 reference board" 239 | + select SOC_QCA955X 240 | +--- a/arch/mips/ath79/Makefile 241 | ++++ b/arch/mips/ath79/Makefile 242 | +@@ -56,6 +56,7 @@ obj-$(CONFIG_ATH79_MACH_DIR_615_C1) += m 243 | + obj-$(CONFIG_ATH79_MACH_DIR_825_B1) += mach-dir-825-b1.o 244 | + obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mach-ew-dorin.o 245 | + obj-$(CONFIG_ATH79_MACH_EAP7660D) += mach-eap7660d.o 246 | ++obj-$(CONFIG_ATH79_MACH_GL_AR150) += mach-gl_ar150.o 247 | + obj-$(CONFIG_ATH79_MACH_JA76PF) += mach-ja76pf.o 248 | + obj-$(CONFIG_ATH79_MACH_JWAP003) += mach-jwap003.o 249 | + obj-$(CONFIG_ATH79_MACH_HORNET_UB) += mach-hornet-ub.o 250 | +--- a/arch/mips/ath79/machtypes.h 251 | ++++ b/arch/mips/ath79/machtypes.h 252 | +@@ -39,6 +39,7 @@ enum ath79_mach_type { 253 | + ATH79_MACH_EW_DORIN, /* embedded wireless Dorin Platform */ 254 | + ATH79_MACH_EW_DORIN_ROUTER, /* embedded wireless Dorin Router Platform */ 255 | + ATH79_MACH_EAP7660D, /* Senao EAP7660D */ 256 | ++ ATH79_MACH_GL_AR150, /* GL_ar150 */ 257 | + ATH79_MACH_JA76PF, /* jjPlus JA76PF */ 258 | + ATH79_MACH_JA76PF2, /* jjPlus JA76PF2 */ 259 | + ATH79_MACH_JWAP003, /* jjPlus JWAP003 */ 260 | -------------------------------------------------------------------------------- /AR150-AA1209/series: -------------------------------------------------------------------------------- 1 | gl-ar150.patch 2 | -------------------------------------------------------------------------------- /AR150-BB1407/gl-ar150.patch: -------------------------------------------------------------------------------- 1 | --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh 2 | +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh 3 | @@ -322,6 +322,9 @@ ar71xx_board_detect() { 4 | *"Dragino v2") 5 | name="dragino2" 6 | ;; 7 | + *"GL_ar150 board") 8 | + name="gl_ar150" 9 | + ;; 10 | *"EAP300 v2") 11 | name="eap300v2" 12 | ;; 13 | --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 14 | +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 15 | @@ -175,6 +175,7 @@ platform_check_image() { 16 | dir-825-c1 | \ 17 | dir-835-a1 | \ 18 | dragino2 | \ 19 | + gl_ar150 | \ 20 | esr1750 | \ 21 | esr900 | \ 22 | ew-dorin | \ 23 | --- /dev/null 24 | +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl_ar150.c 25 | @@ -0,0 +1,122 @@ 26 | +/* 27 | + * GL_ar150 board support 28 | + * 29 | + * Copyright (C) 2011 dongyuqi <729650915@qq.com> 30 | + * Copyright (C) 2011-2012 Gabor Juhos 31 | + * Copyright (C) 2013 alzhao 32 | + * Copyright (C) 2014 Michel Stempin 33 | + * 34 | + * This program is free software; you can redistribute it and/or modify it 35 | + * under the terms of the GNU General Public License version 2 as published 36 | + * by the Free Software Foundation. 37 | +*/ 38 | + 39 | +#include 40 | + 41 | +#include 42 | + 43 | +#include "dev-eth.h" 44 | +#include "dev-gpio-buttons.h" 45 | +#include "dev-leds-gpio.h" 46 | +#include "dev-m25p80.h" 47 | +#include "dev-usb.h" 48 | +#include "dev-wmac.h" 49 | +#include "machtypes.h" 50 | + 51 | +#define GL_AR150_GPIO_LED_WLAN 0 52 | +#define GL_AR150_GPIO_LED_LAN 13 53 | +#define GL_AR150_GPIO_LED_WAN 15 54 | + 55 | +#define GL_AR150_GPIO_BIN_USB 6 56 | +#define GL_AR150_GPIO_BTN_MANUAL 7 57 | +#define GL_AR150_GPIO_BTN_AUTO 8 58 | +#define GL_AR150_GPIO_BTN_RESET 11 59 | + 60 | +#define GL_AR150_KEYS_POLL_INTERVAL 20 /* msecs */ 61 | +#define GL_AR150_KEYS_DEBOUNCE_INTERVAL (3 * GL_AR150_KEYS_POLL_INTERVAL) 62 | + 63 | +#define GL_AR150_MAC0_OFFSET 0x0000 64 | +#define GL_AR150_MAC1_OFFSET 0x0000 65 | +#define GL_AR150_CALDATA_OFFSET 0x1000 66 | +#define GL_AR150_WMAC_MAC_OFFSET 0x0000 67 | + 68 | +static struct gpio_led gl_ar150_leds_gpio[] __initdata = { 69 | + { 70 | + .name = "gl_ar150:wlan", 71 | + .gpio = GL_AR150_GPIO_LED_WLAN, 72 | + .active_low = 0, 73 | + }, 74 | + { 75 | + .name = "gl_ar150:lan", 76 | + .gpio = GL_AR150_GPIO_LED_LAN, 77 | + .active_low = 0, 78 | + }, 79 | + { 80 | + .name = "gl_ar150:wan", 81 | + .gpio = GL_AR150_GPIO_LED_WAN, 82 | + .active_low = 0, 83 | + .default_state = 1, 84 | + }, 85 | +}; 86 | + 87 | +static struct gpio_keys_button gl_ar150_gpio_keys[] __initdata = { 88 | + { 89 | + .desc = "BTN_7", 90 | + .type = EV_KEY, 91 | + .code = BTN_7, 92 | + .debounce_interval = GL_AR150_KEYS_DEBOUNCE_INTERVAL, 93 | + .gpio = GL_AR150_GPIO_BTN_MANUAL, 94 | + .active_low = 0, 95 | + }, 96 | + { 97 | + .desc = "BTN_8", 98 | + .type = EV_KEY, 99 | + .code = BTN_8, 100 | + .debounce_interval = GL_AR150_KEYS_DEBOUNCE_INTERVAL, 101 | + .gpio = GL_AR150_GPIO_BTN_AUTO, 102 | + .active_low = 0, 103 | + }, 104 | + { 105 | + .desc = "reset", 106 | + .type = EV_KEY, 107 | + .code = KEY_RESTART, 108 | + .debounce_interval = GL_AR150_KEYS_DEBOUNCE_INTERVAL, 109 | + .gpio = GL_AR150_GPIO_BTN_RESET, 110 | + .active_low = 0, 111 | + }, 112 | +}; 113 | + 114 | +static void __init gl_ar150_setup(void) 115 | +{ 116 | + 117 | + /* ART base address */ 118 | + u8 *art = (u8 *) KSEG1ADDR(0x1fff0000); 119 | + 120 | + /* disable PHY_SWAP and PHY_ADDR_SWAP bits */ 121 | + ath79_setup_ar933x_phy4_switch(false, false); 122 | + 123 | + /* register flash. */ 124 | + ath79_register_m25p80(NULL); 125 | + 126 | + /* register gpio LEDs and keys */ 127 | + ath79_register_leds_gpio(-1, ARRAY_SIZE(gl_ar150_leds_gpio), 128 | + gl_ar150_leds_gpio); 129 | + ath79_register_gpio_keys_polled(-1, GL_AR150_KEYS_POLL_INTERVAL, 130 | + ARRAY_SIZE(gl_ar150_gpio_keys), 131 | + gl_ar150_gpio_keys); 132 | + 133 | + /* enable usb */ 134 | + ath79_register_usb(); 135 | + 136 | + /* register eth0 as WAN, eth1 as LAN */ 137 | + ath79_init_mac(ath79_eth0_data.mac_addr, art+GL_AR150_MAC0_OFFSET, 0); 138 | + ath79_init_mac(ath79_eth1_data.mac_addr, art+GL_AR150_MAC1_OFFSET, 0); 139 | + ath79_register_mdio(0, 0x0); 140 | + ath79_register_eth(0); 141 | + ath79_register_eth(1); 142 | + 143 | + /* register wireless mac with cal data */ 144 | + ath79_register_wmac(art + GL_AR150_CALDATA_OFFSET, art + GL_AR150_WMAC_MAC_OFFSET); 145 | +} 146 | + 147 | +MIPS_MACHINE(ATH79_MACH_GL_AR150, "GL_AR150", "GL_ar150 board",gl_ar150_setup); 148 | --- /dev/null 149 | +++ b/target/linux/ar71xx/generic/profiles/gl_ar150.mk 150 | @@ -0,0 +1,16 @@ 151 | +# 152 | +# Copyright (C) 2013 OpenWrt.org 153 | +# 154 | +# This is free software, licensed under the GNU General Public License v2. 155 | +# See /LICENSE for more information. 156 | +# 157 | +define Profile/GL_AR150 158 | + NAME:=GL_ar150 wifi for things 159 | + PACKAGES:=kmod-usb-core kmod-usb2 160 | +endef 161 | + 162 | +define Profile/GL_AR150/Description 163 | + Configuration of GL_ar150, Wifi for everything. 164 | +endef 165 | + 166 | +$(eval $(call Profile,GL_AR150)) 167 | --- a/target/linux/ar71xx/image/Makefile 168 | +++ b/target/linux/ar71xx/image/Makefile 169 | @@ -249,6 +249,7 @@ ap113_mtd_layout=mtdparts=spi0.0:64k(u-b 170 | ap121_mtdlayout_2M=mtdparts=spi0.0:64k(u-boot)ro,1216k(rootfs),704k(kernel),64k(art)ro,1920k@0x10000(firmware) 171 | ap121_mtdlayout_4M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,2752k(rootfs),896k(kernel),64k(nvram),64k(art)ro,3648k@0x50000(firmware) 172 | carambola2_mtdlayout_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro 173 | +gl_ar150_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro 174 | ap132_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),6400k(rootfs),64k(art),7808k@0x50000(firmware) 175 | ap135_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,14528k(rootfs),1472k(kernel),64k(art)ro,16000k@0x50000(firmware) 176 | ap136_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6336k(rootfs),1408k(kernel),64k(mib0),64k(art)ro,7744k@0x50000(firmware) 177 | @@ -1067,6 +1068,7 @@ $(eval $(call SingleProfile,AthLzma,64k, 178 | $(eval $(call SingleProfile,AthLzma,64k,AP121_2M,ap121-2M,AP121,ttyATH0,115200,$$(ap121_mtdlayout_2M),RKuImage)) 179 | $(eval $(call SingleProfile,AthLzma,64k,AP121_4M,ap121-4M,AP121,ttyATH0,115200,$$(ap121_mtdlayout_4M),RKuImage)) 180 | $(eval $(call SingleProfile,AthLzma,64k,CARAMBOLA2,carambola2,CARAMBOLA2,ttyATH0,115200,$$(carambola2_mtdlayout_16M),KRuImage,65536)) 181 | +$(eval $(call SingleProfile,AthLzma,64k,GL_AR150,gl_ar150,GL_AR150,ttyATH0,115200,$$(gl_ar150_16M),KRuImage,65536)) 182 | $(eval $(call SingleProfile,AthLzma,64k,AP121MINI,ap121-mini,AP121-MINI,ttyATH0,115200,$$(ap121_mtdlayout_4M),RKuImage)) 183 | $(eval $(call SingleProfile,AthLzma,64k,AP132,ap132,AP132,ttyS0,115200,$$(ap132_mtdlayout),KRuImage)) 184 | $(eval $(call SingleProfile,AthLzma,64k,AP135,ap135-020,AP135-020,ttyS0,115200,$$(ap135_mtdlayout),RKuImage)) 185 | --- /dev/null 186 | +++ b/target/linux/ar71xx/patches-3.10/912-MIPS-ath79-add-gl_ar150-support.patch 187 | @@ -0,0 +1,39 @@ 188 | +--- a/arch/mips/ath79/Kconfig 189 | ++++ b/arch/mips/ath79/Kconfig 190 | +@@ -396,6 +396,16 @@ config ATH79_MACH_GL_INET 191 | + select ATH79_DEV_USB 192 | + select ATH79_DEV_WMAC 193 | + 194 | ++config ATH79_MACH_GL_AR150 195 | ++ bool "GL_AR150 support" 196 | ++ select SOC_AR933X 197 | ++ select ATH79_DEV_ETH 198 | ++ select ATH79_DEV_GPIO_BUTTONS 199 | ++ select ATH79_DEV_LEDS_GPIO 200 | ++ select ATH79_DEV_M25P80 201 | ++ select ATH79_DEV_USB 202 | ++ select ATH79_DEV_WMAC 203 | ++ 204 | + config ATH79_MACH_EAP300V2 205 | + bool "EnGenius EAP300 v2 support" 206 | + select SOC_AR934X 207 | +--- a/arch/mips/ath79/Makefile 208 | ++++ b/arch/mips/ath79/Makefile 209 | +@@ -59,6 +59,7 @@ obj-$(CONFIG_ATH79_MACH_DIR_600_A1) += m 210 | + obj-$(CONFIG_ATH79_MACH_DIR_615_C1) += mach-dir-615-c1.o 211 | + obj-$(CONFIG_ATH79_MACH_DIR_825_B1) += mach-dir-825-b1.o 212 | + obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += mach-dir-825-c1.o 213 | ++obj-$(CONFIG_ATH79_MACH_GL_AR150)+= mach-gl_ar150.o 214 | + obj-$(CONFIG_ATH79_MACH_DRAGINO2) += mach-dragino2.o 215 | + obj-$(CONFIG_ATH79_MACH_ESR900) += mach-esr900.o 216 | + obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mach-ew-dorin.o 217 | +--- a/arch/mips/ath79/machtypes.h 218 | ++++ b/arch/mips/ath79/machtypes.h 219 | +@@ -47,6 +47,7 @@ enum ath79_mach_type { 220 | + ATH79_MACH_DIR_825_B1, /* D-Link DIR-825 rev. B1 */ 221 | + ATH79_MACH_DIR_825_C1, /* D-Link DIR-825 rev. C1 */ 222 | + ATH79_MACH_DIR_835_A1, /* D-Link DIR-835 rev. A1 */ 223 | ++ ATH79_MACH_GL_AR150, /* GL_ar150 */ 224 | + ATH79_MACH_DRAGINO2, /* Dragino Version 2 */ 225 | + ATH79_MACH_ESR900, /* EnGenius ESR900 */ 226 | + ATH79_MACH_EW_DORIN, /* embedded wireless Dorin Platform */ 227 | --- a/target/linux/ar71xx/config-3.10 228 | +++ b/target/linux/ar71xx/config-3.10 229 | @@ -45,6 +45,7 @@ CONFIG_ATH79_MACH_DIR_600_A1=y 230 | CONFIG_ATH79_MACH_DIR_615_C1=y 231 | CONFIG_ATH79_MACH_DIR_825_B1=y 232 | CONFIG_ATH79_MACH_DIR_825_C1=y 233 | +CONFIG_ATH79_MACH_GL_AR150=y 234 | CONFIG_ATH79_MACH_DRAGINO2=y 235 | CONFIG_ATH79_MACH_EAP300V2=y 236 | CONFIG_ATH79_MACH_EAP7660D=y 237 | --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network 238 | +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network 239 | @@ -325,6 +325,7 @@ alfa-ap96 |\ 240 | alfa-nx |\ 241 | ap83 |\ 242 | gl-inet |\ 243 | +gl_ar150 |\ 244 | jwap003 |\ 245 | pb42 |\ 246 | pb44 |\ 247 | --- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds 248 | +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds 249 | @@ -120,6 +120,10 @@ dir-825-c1) 250 | ucidef_set_led_wlan "wlan2g" "WLAN 2.4 GHz" "d-link:blue:wlan2g" "phy0tpt" 251 | ;; 252 | 253 | +gl_ar150) 254 | + ucidef_set_led_wlan "wlan" "WLAN" "gl_ar150:wlan" "phy0tpt" 255 | + ;; 256 | + 257 | gl-inet) 258 | ucidef_set_led_netdev "lan" "LAN" "gl-connect:green:lan" "eth1" 259 | ucidef_set_led_wlan "wlan" "WLAN" "gl-connect:red:wlan" "phy0tpt" 260 | -------------------------------------------------------------------------------- /AR150-BB1407/series: -------------------------------------------------------------------------------- 1 | gl-ar150.patch 2 | -------------------------------------------------------------------------------- /AR300-BB1407/gl-ar300.patch: -------------------------------------------------------------------------------- 1 | Description: Openwrt target patch for GL-AR300 2 | This is the patch to add a target in openwrt BB trunk for GL-AR300 3 | Author: alzhao@gmail.com 4 | Applied-Upstream: 5 | Reviewed-by: alzhao@gmail.com 6 | Last-Update: 2015-05-28 7 | --- 8 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ 9 | --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh 10 | +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh 11 | @@ -322,6 +322,9 @@ ar71xx_board_detect() { 12 | *"Dragino v2") 13 | name="dragino2" 14 | ;; 15 | + *"GL AR300") 16 | + name="gl-ar300" 17 | + ;; 18 | *"EAP300 v2") 19 | name="eap300v2" 20 | ;; 21 | --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 22 | +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 23 | @@ -175,6 +175,7 @@ platform_check_image() { 24 | dir-825-c1 | \ 25 | dir-835-a1 | \ 26 | dragino2 | \ 27 | + gl-ar300 | \ 28 | esr1750 | \ 29 | esr900 | \ 30 | ew-dorin | \ 31 | --- a/target/linux/ar71xx/image/Makefile 32 | +++ b/target/linux/ar71xx/image/Makefile 33 | @@ -249,6 +249,7 @@ ap113_mtd_layout=mtdparts=spi0.0:64k(u-b 34 | ap121_mtdlayout_2M=mtdparts=spi0.0:64k(u-boot)ro,1216k(rootfs),704k(kernel),64k(art)ro,1920k@0x10000(firmware) 35 | ap121_mtdlayout_4M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,2752k(rootfs),896k(kernel),64k(nvram),64k(art)ro,3648k@0x50000(firmware) 36 | carambola2_mtdlayout_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro 37 | +domino_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro 38 | ap132_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),6400k(rootfs),64k(art),7808k@0x50000(firmware) 39 | ap135_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,14528k(rootfs),1472k(kernel),64k(art)ro,16000k@0x50000(firmware) 40 | ap136_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6336k(rootfs),1408k(kernel),64k(mib0),64k(art)ro,7744k@0x50000(firmware) 41 | @@ -1067,6 +1068,7 @@ $(eval $(call SingleProfile,AthLzma,64k, 42 | $(eval $(call SingleProfile,AthLzma,64k,AP121_2M,ap121-2M,AP121,ttyATH0,115200,$$(ap121_mtdlayout_2M),RKuImage)) 43 | $(eval $(call SingleProfile,AthLzma,64k,AP121_4M,ap121-4M,AP121,ttyATH0,115200,$$(ap121_mtdlayout_4M),RKuImage)) 44 | $(eval $(call SingleProfile,AthLzma,64k,CARAMBOLA2,carambola2,CARAMBOLA2,ttyATH0,115200,$$(carambola2_mtdlayout_16M),KRuImage,65536)) 45 | +$(eval $(call SingleProfile,AthLzma,64k,GL-AR300,gl-ar300,GL-AR300,ttyS0,115200,$$(domino_16M),KRuImage,65536)) 46 | $(eval $(call SingleProfile,AthLzma,64k,AP121MINI,ap121-mini,AP121-MINI,ttyATH0,115200,$$(ap121_mtdlayout_4M),RKuImage)) 47 | $(eval $(call SingleProfile,AthLzma,64k,AP132,ap132,AP132,ttyS0,115200,$$(ap132_mtdlayout),KRuImage)) 48 | $(eval $(call SingleProfile,AthLzma,64k,AP135,ap135-020,AP135-020,ttyS0,115200,$$(ap135_mtdlayout),RKuImage)) 49 | --- /dev/null 50 | +++ b/target/linux/ar71xx/patches-3.10/911-MIPS-ath79-add-domino-support.patch 51 | @@ -0,0 +1,40 @@ 52 | +--- a/arch/mips/ath79/Kconfig 53 | ++++ b/arch/mips/ath79/Kconfig 54 | +@@ -396,6 +396,17 @@ config ATH79_MACH_GL_INET 55 | + select ATH79_DEV_USB 56 | + select ATH79_DEV_WMAC 57 | + 58 | ++config ATH79_MACH_GL_AR300 59 | ++ bool "GL_AR300 support" 60 | ++ select SOC_AR934X 61 | ++ select ATH79_DEV_ETH 62 | ++ select ATH79_DEV_GPIO_BUTTONS 63 | ++ select ATH79_DEV_LEDS_GPIO 64 | ++ select ATH79_DEV_M25P80 65 | ++ select ATH79_DEV_USB 66 | ++ select ATH79_DEV_WMAC 67 | ++ 68 | ++ 69 | + config ATH79_MACH_EAP300V2 70 | + bool "EnGenius EAP300 v2 support" 71 | + select SOC_AR934X 72 | +--- a/arch/mips/ath79/Makefile 73 | ++++ b/arch/mips/ath79/Makefile 74 | +@@ -59,6 +59,7 @@ obj-$(CONFIG_ATH79_MACH_DIR_600_A1) += m 75 | + obj-$(CONFIG_ATH79_MACH_DIR_615_C1) += mach-dir-615-c1.o 76 | + obj-$(CONFIG_ATH79_MACH_DIR_825_B1) += mach-dir-825-b1.o 77 | + obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += mach-dir-825-c1.o 78 | ++obj-$(CONFIG_ATH79_MACH_GL_AR300) += mach-gl-ar300.o 79 | + obj-$(CONFIG_ATH79_MACH_DRAGINO2) += mach-dragino2.o 80 | + obj-$(CONFIG_ATH79_MACH_ESR900) += mach-esr900.o 81 | + obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mach-ew-dorin.o 82 | +--- a/arch/mips/ath79/machtypes.h 83 | ++++ b/arch/mips/ath79/machtypes.h 84 | +@@ -47,6 +47,7 @@ enum ath79_mach_type { 85 | + ATH79_MACH_DIR_825_B1, /* D-Link DIR-825 rev. B1 */ 86 | + ATH79_MACH_DIR_825_C1, /* D-Link DIR-825 rev. C1 */ 87 | + ATH79_MACH_DIR_835_A1, /* D-Link DIR-835 rev. A1 */ 88 | ++ ATH79_MACH_GL_AR300, /* GL-AR300 */ 89 | + ATH79_MACH_DRAGINO2, /* Dragino Version 2 */ 90 | + ATH79_MACH_ESR900, /* EnGenius ESR900 */ 91 | + ATH79_MACH_EW_DORIN, /* embedded wireless Dorin Platform */ 92 | --- a/target/linux/ar71xx/config-3.10 93 | +++ b/target/linux/ar71xx/config-3.10 94 | @@ -45,6 +45,7 @@ CONFIG_ATH79_MACH_DIR_600_A1=y 95 | CONFIG_ATH79_MACH_DIR_615_C1=y 96 | CONFIG_ATH79_MACH_DIR_825_B1=y 97 | CONFIG_ATH79_MACH_DIR_825_C1=y 98 | +CONFIG_ATH79_MACH_GL_AR300=y 99 | CONFIG_ATH79_MACH_DRAGINO2=y 100 | CONFIG_ATH79_MACH_EAP300V2=y 101 | CONFIG_ATH79_MACH_EAP7660D=y 102 | --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network 103 | +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network 104 | @@ -335,6 +335,11 @@ wpe72) 105 | ucidef_set_interfaces_lan_wan "eth1" "eth0" 106 | ;; 107 | 108 | +gl-ar300) 109 | + ucidef_set_interfaces_lan_wan "eth1" "eth0" 110 | + ucidef_add_switch "switch0" "1" "1" 111 | + ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 4" 112 | + ;; 113 | ap121 |\ 114 | ap121-mini |\ 115 | ap96 |\ 116 | --- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds 117 | +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds 118 | @@ -119,6 +119,9 @@ dir-825-c1) 119 | ucidef_set_led_usbdev "usb" "USB" "d-link:blue:usb" "1-1" 120 | ucidef_set_led_wlan "wlan2g" "WLAN 2.4 GHz" "d-link:blue:wlan2g" "phy0tpt" 121 | ;; 122 | +gl-ar300) 123 | + ucidef_set_led_wlan "wlan" "WLAN" "domino:blue:wlan" "phy0tpt" 124 | + ;; 125 | 126 | gl-inet) 127 | ucidef_set_led_netdev "lan" "LAN" "gl-connect:green:lan" "eth1" 128 | --- /dev/null 129 | +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-gl-ar300.c 130 | @@ -0,0 +1,111 @@ 131 | +/* 132 | + * Domino board support 133 | + * 134 | + * Copyright (C) 2011 dongyuqi <729650915@qq.com> 135 | + * Copyright (C) 2011-2012 Gabor Juhos 136 | + * Copyright (C) 2013 alzhao 137 | + * Copyright (C) 2014 Michel Stempin 138 | + * 139 | + * This program is free software; you can redistribute it and/or modify it 140 | + * under the terms of the GNU General Public License version 2 as published 141 | + * by the Free Software Foundation. 142 | +*/ 143 | + 144 | +#include 145 | +#include 146 | +#include 147 | +#include 148 | +#include 149 | +#include 150 | + 151 | +#include 152 | +#include 153 | + 154 | +#include "dev-eth.h" 155 | +#include "dev-gpio-buttons.h" 156 | +#include "dev-leds-gpio.h" 157 | +#include "dev-m25p80.h" 158 | +#include "dev-usb.h" 159 | +#include "dev-wmac.h" 160 | +#include "machtypes.h" 161 | + 162 | +#define DOMINO_GPIO_LED_WLAN 13 163 | +#define DOMINO_GPIO_LED_WAN 14 164 | +#define DOMINO_GPIO_BTN_RESET 16 165 | + 166 | + 167 | +#define DOMINO_KEYS_POLL_INTERVAL 20 /* msecs */ 168 | +#define DOMINO_KEYS_DEBOUNCE_INTERVAL (3 * DOMINO_KEYS_POLL_INTERVAL) 169 | + 170 | +#define DOMINO_MAC0_OFFSET 0x0000 171 | +#define DOMINO_MAC1_OFFSET 0x0000 172 | +#define DOMINO_CALDATA_OFFSET 0x1000 173 | +#define DOMINO_WMAC_MAC_OFFSET 0x0000 174 | + 175 | +static struct gpio_led domino_leds_gpio[] __initdata = { 176 | + { 177 | + .name = "domino:blue:wlan", 178 | + .gpio = DOMINO_GPIO_LED_WLAN, 179 | + .active_low = 1, 180 | + }, 181 | + { 182 | + .name = "domino:red:wan", 183 | + .gpio = DOMINO_GPIO_LED_WAN, 184 | + .active_low = 1, 185 | + }, 186 | +}; 187 | + 188 | +static struct gpio_keys_button domino_gpio_keys[] __initdata = { 189 | + { 190 | + .desc = "reset", 191 | + .type = EV_KEY, 192 | + .code = KEY_RESTART, 193 | + .debounce_interval = DOMINO_KEYS_DEBOUNCE_INTERVAL, 194 | + .gpio = DOMINO_GPIO_BTN_RESET, 195 | + .active_low = 1, 196 | + }, 197 | +}; 198 | + 199 | +static void __init domino_setup(void) 200 | +{ 201 | + 202 | + /* ART base address */ 203 | + u8 *art = (u8 *) KSEG1ADDR(0x1fff0000); 204 | + 205 | + /* disable PHY_SWAP and PHY_ADDR_SWAP bits */ 206 | + //ath79_setup_ar933x_phy4_switch(false, false); 207 | + 208 | + /* register flash. */ 209 | + ath79_register_m25p80(NULL); 210 | + 211 | + /* register gpio LEDs and keys */ 212 | + ath79_register_leds_gpio(-1, ARRAY_SIZE(domino_leds_gpio), 213 | + domino_leds_gpio); 214 | + ath79_register_gpio_keys_polled(-1, DOMINO_KEYS_POLL_INTERVAL, 215 | + ARRAY_SIZE(domino_gpio_keys), 216 | + domino_gpio_keys); 217 | + 218 | + /* enable usb */ 219 | + ath79_register_usb(); 220 | + ath79_register_mdio(1, 0x0); 221 | + 222 | + /* register eth0 as WAN, eth1 as LAN */ 223 | + ath79_init_mac(ath79_eth0_data.mac_addr, art+DOMINO_MAC0_OFFSET, 0); 224 | + ath79_switch_data.phy4_mii_en = 1; 225 | + ath79_switch_data.phy_poll_mask = BIT(4); 226 | + ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII; 227 | + ath79_eth0_data.phy_mask = BIT(4); 228 | + ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev; 229 | + 230 | + ath79_register_eth(0); 231 | + 232 | + ath79_init_mac(ath79_eth1_data.mac_addr, art+DOMINO_MAC1_OFFSET, 0); 233 | + ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII; 234 | + ath79_register_eth(1); 235 | + 236 | + /* register wireless mac with cal data */ 237 | + ath79_register_wmac(art + DOMINO_CALDATA_OFFSET, art + DOMINO_WMAC_MAC_OFFSET); 238 | +} 239 | + 240 | +MIPS_MACHINE(ATH79_MACH_GL_AR300, "GL-AR300", "GL AR300", 241 | + domino_setup); 242 | --- /dev/null 243 | +++ b/target/linux/ar71xx/generic/profiles/gl-ar300.mk 244 | @@ -0,0 +1,16 @@ 245 | +# 246 | +# Copyright (C) 2013 OpenWrt.org 247 | +# 248 | +# This is free software, licensed under the GNU General Public License v2. 249 | +# See /LICENSE for more information. 250 | +# 251 | +define Profile/GL-AR300 252 | + NAME:=GL AR300 253 | + PACKAGES:=kmod-usb-core kmod-usb2 254 | +endef 255 | + 256 | +define Profile/GL-AR300/Description 257 | + Configuration of GL AR300. 258 | +endef 259 | + 260 | +$(eval $(call Profile,GL-AR300)) 261 | -------------------------------------------------------------------------------- /AR300-BB1407/series: -------------------------------------------------------------------------------- 1 | gl-ar300.patch 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | **Attention: these patches for cc15.05 is not updated. For cc1505, use http://github.com/domino-team/openwrt-cc directly** 3 | 4 | # OpenWrt-patches 5 | 6 | ###Download source 7 | 8 | *For Chaos Calmer 15.05* 9 | 10 | ``` 11 | git clone git://git.openwrt.org/15.05/openwrt.git 12 | ``` 13 | 14 | *For Barrier Breaker 14.07* 15 | 16 | ``` 17 | git clone git://git.openwrt.org/14.07/openwrt.git 18 | ``` 19 | 20 | ###Install Quilt 21 | quilt is the tools OpenWrt used to manage patches. You need to install it before you use patches. 22 | http://wiki.openwrt.org/doc/devel/patches 23 | ``` 24 | sudo apt-get install quilt 25 | ``` 26 | Configure quilt according to openwrt docs. 27 | 28 | ``` 29 | cat > ~/.quiltrc <