ar71xx: initial support for jjPlus JWAP003
Patch-by: Cezary Jackiewicz <cezary@eko.one.pl> (the GPIODEV code has been removed, the sysfs interface can be used to control the GPIO lines instead - juhosg) SVN-Revision: 23165
This commit is contained in:
parent
1cbea05927
commit
697f5d0bdd
12 changed files with 136 additions and 0 deletions
16
target/linux/ar71xx/base-files/etc/defconfig/jwap003/network
Normal file
16
target/linux/ar71xx/base-files/etc/defconfig/jwap003/network
Normal file
|
@ -0,0 +1,16 @@
|
|||
config 'interface' 'loopback'
|
||||
option 'ifname' 'lo'
|
||||
option 'proto' 'static'
|
||||
option 'ipaddr' '127.0.0.1'
|
||||
option 'netmask' '255.0.0.0'
|
||||
|
||||
config 'interface' 'lan'
|
||||
option 'ifname' 'eth1'
|
||||
option 'type' 'bridge'
|
||||
option 'proto' 'static'
|
||||
option 'ipaddr' '192.168.1.1'
|
||||
option 'netmask' '255.255.255.0'
|
||||
|
||||
config 'interface' 'wan'
|
||||
option 'ifname' 'eth0'
|
||||
option 'proto' 'dhcp'
|
|
@ -37,6 +37,9 @@ ar71xx_board_name() {
|
|||
*"Nanostation M")
|
||||
name="nanostation-m"
|
||||
;;
|
||||
*JWAP003)
|
||||
name="jwap003"
|
||||
;;
|
||||
*LS-SR71)
|
||||
name="ls-sr71"
|
||||
;;
|
||||
|
|
|
@ -25,6 +25,7 @@ CONFIG_AR71XX_MACH_DIR_600_A1=y
|
|||
CONFIG_AR71XX_MACH_DIR_615_C1=y
|
||||
CONFIG_AR71XX_MACH_DIR_825_B1=y
|
||||
CONFIG_AR71XX_MACH_EAP7660D=y
|
||||
CONFIG_AR71XX_MACH_JWAP003=y
|
||||
CONFIG_AR71XX_MACH_MZK_W04NU=y
|
||||
CONFIG_AR71XX_MACH_MZK_W300NH=y
|
||||
CONFIG_AR71XX_MACH_NBG460N=y
|
||||
|
|
|
@ -25,6 +25,7 @@ CONFIG_AR71XX_MACH_DIR_600_A1=y
|
|||
CONFIG_AR71XX_MACH_DIR_615_C1=y
|
||||
CONFIG_AR71XX_MACH_DIR_825_B1=y
|
||||
CONFIG_AR71XX_MACH_EAP7660D=y
|
||||
CONFIG_AR71XX_MACH_JWAP003=y
|
||||
CONFIG_AR71XX_MACH_MZK_W04NU=y
|
||||
CONFIG_AR71XX_MACH_MZK_W300NH=y
|
||||
CONFIG_AR71XX_MACH_NBG460N=y
|
||||
|
|
|
@ -25,6 +25,7 @@ CONFIG_AR71XX_MACH_DIR_600_A1=y
|
|||
CONFIG_AR71XX_MACH_DIR_615_C1=y
|
||||
CONFIG_AR71XX_MACH_DIR_825_B1=y
|
||||
CONFIG_AR71XX_MACH_EAP7660D=y
|
||||
CONFIG_AR71XX_MACH_JWAP003=y
|
||||
CONFIG_AR71XX_MACH_MZK_W04NU=y
|
||||
CONFIG_AR71XX_MACH_MZK_W300NH=y
|
||||
CONFIG_AR71XX_MACH_NBG460N=y
|
||||
|
|
|
@ -25,6 +25,7 @@ CONFIG_AR71XX_MACH_DIR_600_A1=y
|
|||
CONFIG_AR71XX_MACH_DIR_615_C1=y
|
||||
CONFIG_AR71XX_MACH_DIR_825_B1=y
|
||||
CONFIG_AR71XX_MACH_EAP7660D=y
|
||||
CONFIG_AR71XX_MACH_JWAP003=y
|
||||
CONFIG_AR71XX_MACH_MZK_W04NU=y
|
||||
CONFIG_AR71XX_MACH_MZK_W300NH=y
|
||||
CONFIG_AR71XX_MACH_NBG460N=y
|
||||
|
|
|
@ -56,6 +56,14 @@ config AR71XX_MACH_DIR_825_B1
|
|||
select AR71XX_DEV_USB
|
||||
default n
|
||||
|
||||
config AR71XX_MACH_JWAP003
|
||||
bool "jjPlus JWAP003 board support"
|
||||
select AR71XX_DEV_M25P80
|
||||
select AR71XX_DEV_GPIO_BUTTONS
|
||||
select AR71XX_DEV_PB42_PCI if PCI
|
||||
select AR71XX_DEV_USB
|
||||
default n
|
||||
|
||||
config AR71XX_MACH_PB42
|
||||
bool "Atheros PB42 board support"
|
||||
select AR71XX_DEV_M25P80
|
||||
|
|
|
@ -36,6 +36,7 @@ obj-$(CONFIG_AR71XX_MACH_DIR_600_A1) += mach-dir-600-a1.o
|
|||
obj-$(CONFIG_AR71XX_MACH_DIR_615_C1) += mach-dir-615-c1.o
|
||||
obj-$(CONFIG_AR71XX_MACH_DIR_825_B1) += mach-dir-825-b1.o
|
||||
obj-$(CONFIG_AR71XX_MACH_EAP7660D) += mach-eap7660d.o
|
||||
obj-$(CONFIG_AR71XX_MACH_JWAP003) += mach-jwap003.o
|
||||
obj-$(CONFIG_AR71XX_MACH_MZK_W04NU) += mach-mzk-w04nu.o
|
||||
obj-$(CONFIG_AR71XX_MACH_MZK_W300NH) += mach-mzk-w300nh.o
|
||||
obj-$(CONFIG_AR71XX_MACH_NBG460N) += mach-nbg460n.o
|
||||
|
|
81
target/linux/ar71xx/files/arch/mips/ar71xx/mach-jwap003.c
Normal file
81
target/linux/ar71xx/files/arch/mips/ar71xx/mach-jwap003.c
Normal file
|
@ -0,0 +1,81 @@
|
|||
/*
|
||||
* jjPlus JWAP003 board support
|
||||
*
|
||||
*/
|
||||
|
||||
#include <asm/mach-ar71xx/ar71xx.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/i2c-gpio.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
#include "machtype.h"
|
||||
#include "devices.h"
|
||||
#include "dev-m25p80.h"
|
||||
#include "dev-gpio-buttons.h"
|
||||
#include "dev-pb42-pci.h"
|
||||
#include "dev-usb.h"
|
||||
|
||||
#define JWAP003_BUTTONS_POLL_INTERVAL 20
|
||||
#define JWAP003_GPIO_WPS 11
|
||||
#define JWAP003_GPIO_I2C_SCL 0
|
||||
#define JWAP003_GPIO_I2C_SDA 1
|
||||
|
||||
static struct gpio_button jwap003_gpio_buttons[] __initdata = {
|
||||
{
|
||||
.desc = "wps",
|
||||
.type = EV_KEY,
|
||||
.code = KEY_WPS_BUTTON,
|
||||
.threshold = 3,
|
||||
.gpio = JWAP003_GPIO_WPS,
|
||||
.active_low = 1,
|
||||
}
|
||||
};
|
||||
|
||||
static struct i2c_gpio_platform_data jwap003_i2c_gpio_data = {
|
||||
.sda_pin = JWAP003_GPIO_I2C_SDA,
|
||||
.scl_pin = JWAP003_GPIO_I2C_SCL,
|
||||
};
|
||||
|
||||
static struct platform_device jwap003_i2c_gpio_device = {
|
||||
.name = "i2c-gpio",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &jwap003_i2c_gpio_data,
|
||||
}
|
||||
};
|
||||
|
||||
#define JWAP003_WAN_PHYMASK BIT(0)
|
||||
#define JWAP003_LAN_PHYMASK BIT(4)
|
||||
|
||||
static void __init jwap003_init(void)
|
||||
{
|
||||
ar71xx_add_device_m25p80(NULL);
|
||||
|
||||
ar71xx_add_device_mdio(0x0);
|
||||
|
||||
ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
|
||||
ar71xx_eth0_data.phy_mask = JWAP003_WAN_PHYMASK;
|
||||
ar71xx_eth0_data.speed = SPEED_100;
|
||||
ar71xx_eth0_data.duplex = DUPLEX_FULL;
|
||||
ar71xx_eth0_data.has_ar8216 = 1;
|
||||
|
||||
ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
|
||||
ar71xx_eth1_data.phy_mask = JWAP003_LAN_PHYMASK;
|
||||
ar71xx_eth1_data.speed = SPEED_100;
|
||||
ar71xx_eth1_data.duplex = DUPLEX_FULL;
|
||||
|
||||
ar71xx_add_device_eth(0);
|
||||
ar71xx_add_device_eth(1);
|
||||
|
||||
platform_device_register(&jwap003_i2c_gpio_device);
|
||||
|
||||
ar71xx_add_device_usb();
|
||||
|
||||
ar71xx_add_device_gpio_buttons(-1, JWAP003_BUTTONS_POLL_INTERVAL,
|
||||
ARRAY_SIZE(jwap003_gpio_buttons),
|
||||
jwap003_gpio_buttons);
|
||||
|
||||
pb42_pci_init();
|
||||
}
|
||||
|
||||
MIPS_MACHINE(AR71XX_MACH_JWAP003, "JWAP003", "jjPlus JWAP003", jwap003_init);
|
|
@ -22,6 +22,7 @@ enum ar71xx_mach_type {
|
|||
AR71XX_MACH_DIR_600_A1, /* D-Link DIR-600 rev. A1 */
|
||||
AR71XX_MACH_DIR_615_C1, /* D-Link DIR-615 rev. C1 */
|
||||
AR71XX_MACH_DIR_825_B1, /* D-Link DIR-825 rev. B1 */
|
||||
AR71XX_MACH_JWAP003, /* jjPlus JWAP003 */
|
||||
AR71XX_MACH_RB_411, /* MikroTik RouterBOARD 411/411A/411AH */
|
||||
AR71XX_MACH_RB_411U, /* MikroTik RouterBOARD 411U */
|
||||
AR71XX_MACH_RB_433, /* MikroTik RouterBOARD 433/433AH */
|
||||
|
|
17
target/linux/ar71xx/generic/profiles/jjplus.mk
Normal file
17
target/linux/ar71xx/generic/profiles/jjplus.mk
Normal file
|
@ -0,0 +1,17 @@
|
|||
#
|
||||
# Copyright (C) 2010 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/JWAP003
|
||||
NAME:=jjPlus JWAP0003
|
||||
PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2
|
||||
endef
|
||||
|
||||
define Profile/JWAP003/Description
|
||||
Package set optimized for the jjPlus JWAP003 board.
|
||||
endef
|
||||
|
||||
$(eval $(call Profile,JWAP003))
|
|
@ -470,6 +470,10 @@ define Image/Build/Profile/EAP7660D
|
|||
$(call Image/Build/Template/$(fs_128k)/$(1),PB4X,eap7660d,board=EAP7660D)
|
||||
endef
|
||||
|
||||
define Image/Build/Profile/JWAP003
|
||||
$(call Image/Build/Template/$(fs_64k)/$(1),PB4X,jwap003,board=JWAP003)
|
||||
endef
|
||||
|
||||
define Image/Build/Profile/FR54RTR
|
||||
$(call Image/Build/Template/$(fs_64k)/$(1),Cameo7240,fr-54rtr,board=DIR-600-A1,"AP91-AR7240-RT-090223-01")
|
||||
endef
|
||||
|
@ -616,6 +620,7 @@ define Image/Build/Profile/Default
|
|||
$(call Image/Build/Profile/DIR825B1,$(1))
|
||||
$(call Image/Build/Profile/EAP7660D,$(1))
|
||||
$(call Image/Build/Profile/FR54RTR,$(1))
|
||||
$(call Image/Build/Profile/JWAP003,$(1))
|
||||
$(call Image/Build/Profile/MZKW04NU,$(1))
|
||||
$(call Image/Build/Profile/MZKW300NH,$(1))
|
||||
$(call Image/Build/Profile/PB42,$(1))
|
||||
|
|
Loading…
Reference in a new issue