Hi, comments inline
On 09/01/2017 02:41, YuheiOKAWA wrote: > SoC: AR9331 > Ethernet x1, Wireless 2.4G, uSD card slot x1. > USB Power, include Li-Po Battery. > could be a bit more verbose here > Signed-off-by: YuheiOKAWA <tochiro.srch...@gmail.com> > --- > target/linux/ar71xx/base-files/etc/board.d/01_leds | 4 + > .../linux/ar71xx/base-files/etc/board.d/02_network | 1 + > target/linux/ar71xx/base-files/lib/ar71xx.sh | 3 + > .../ar71xx/base-files/lib/upgrade/platform.sh | 1 + > target/linux/ar71xx/config-4.4 | 1 + > .../ar71xx/files/arch/mips/ath79/Kconfig.openwrt | 10 +++ > target/linux/ar71xx/files/arch/mips/ath79/Makefile | 1 + > .../files/arch/mips/ath79/mach-pqi-air-pen.c | 99 > ++++++++++++++++++++++ > .../linux/ar71xx/files/arch/mips/ath79/machtypes.h | 1 + > target/linux/ar71xx/image/generic.mk | 10 +++ > 10 files changed, 131 insertions(+) > create mode 100644 > target/linux/ar71xx/files/arch/mips/ath79/mach-pqi-air-pen.c > > diff --git a/target/linux/ar71xx/base-files/etc/board.d/01_leds > b/target/linux/ar71xx/base-files/etc/board.d/01_leds > index 5a2bf0c..14d9b3c 100755 > --- a/target/linux/ar71xx/base-files/etc/board.d/01_leds > +++ b/target/linux/ar71xx/base-files/etc/board.d/01_leds > @@ -427,6 +427,10 @@ omy-x1) > ucidef_set_led_default "power" "POWER" "omy:green:power" "1" > ucidef_set_led_default "wan" "WAN" "omy:green:wan" "eth0" > ;; > +pqi-air-pen) > + ucidef_set_led_wlan "wlan" "WLAN" "pqi-air-pen:blue:wlan" "phy0tpt" > + ucidef_set_led_default "wps" "WPS" "pqi-air-pen:blue:wps" "0" > + ;; > qihoo-c301) > ucidef_set_led_wlan "wlan2g" "WLAN2G" "qihoo:red:status" "phy1tpt" > ;; [...] > diff --git a/target/linux/ar71xx/config-4.4 b/target/linux/ar71xx/config-4.4 > index 4b2f736..129af79 100644 > --- a/target/linux/ar71xx/config-4.4 > +++ b/target/linux/ar71xx/config-4.4 > @@ -136,6 +136,7 @@ CONFIG_ATH79_MACH_OMY_X1=y > CONFIG_ATH79_MACH_ONION_OMEGA=y > CONFIG_ATH79_MACH_PB42=y > CONFIG_ATH79_MACH_PB44=y > +CONFIG_ATH79_MACH_PQI_AIR_PEN=y > CONFIG_ATH79_MACH_QIHOO_C301=y > CONFIG_ATH79_MACH_R6100=y > # CONFIG_ATH79_MACH_RB2011 is not set > diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt > b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt > index 21d6b51..902a7e9 100644 > --- a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt > +++ b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt > @@ -1734,6 +1734,16 @@ config ATH79_MACH_CARAMBOLA2 > select ATH79_DEV_USB > select ATH79_DEV_WMAC > > +config ATH79_MACH_PQI_AIR_PEN alphabetical ordering is wrong > + bool "PQI Air Pen" > + select SOC_AR933X > + select ATH79_DEV_ETH > + 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_CF_E316N_V2 > bool "COMFAST CF-E316N v2 support" > select SOC_AR934X > diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Makefile > b/target/linux/ar71xx/files/arch/mips/ath79/Makefile > index 6384c06..2280483 100644 > --- a/target/linux/ar71xx/files/arch/mips/ath79/Makefile > +++ b/target/linux/ar71xx/files/arch/mips/ath79/Makefile > @@ -65,6 +65,7 @@ obj-$(CONFIG_ATH79_MACH_C60) += > mach-c60.o > obj-$(CONFIG_ATH79_MACH_CAP324) += mach-cap324.o > obj-$(CONFIG_ATH79_MACH_CAP4200AG) += mach-cap4200ag.o > obj-$(CONFIG_ATH79_MACH_CARAMBOLA2) += mach-carambola2.o > +obj-$(CONFIG_ATH79_MACH_PQI_AIR_PEN) += mach-pqi-air-pen.o alphabetical ordering is wrong > obj-$(CONFIG_ATH79_MACH_CF_E316N_V2) += mach-cf-e316n-v2.o > obj-$(CONFIG_ATH79_MACH_CF_E320N_V2) += mach-cf-e316n-v2.o > obj-$(CONFIG_ATH79_MACH_CF_E380AC_V1) += mach-cf-e316n-v2.o > diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-pqi-air-pen.c > b/target/linux/ar71xx/files/arch/mips/ath79/mach-pqi-air-pen.c > new file mode 100644 > index 0000000..f8803c4 > --- /dev/null > +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-pqi-air-pen.c > @@ -0,0 +1,99 @@ > +/* > + * PQI Air Pen stick support > + * > + * Copyright (C) 2016 YuheiOKAWA <tochiro.srch...@gmail.com> > + * > + * 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 "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 PQI_AIR_PEN_GPIO_LED_WLAN 0 > +#define PQI_AIR_PEN_GPIO_LED_WPS 23 > + > +#define PQI_AIR_PEN_GPIO_BTN_WPS 22 > +#define PQI_AIR_PEN_GPIO_BTN_RESET 12 > + > +#define PQI_AIR_PEN_KEYS_POLL_INTERVAL 20 /* msecs */ spaces vs tabs error > +#define PQI_AIR_PEN_KEYS_DEBOUNCE_INTERVAL (3 * > PQI_AIR_PEN_KEYS_POLL_INTERVAL) > + > +#define PQI_AIR_PEN_WMAC_CALDATA_OFFSET 0x1000 spaces vs tabs error > +#define PQI_AIR_PEN_LAN_MAC_OFFSET 0x1002 > +#define PQI_AIR_PEN_WMAC_MAC_OFFSET 0x1002 > + > +static struct gpio_led pqi_air_pen_leds_gpio[] __initdata = { > + { > + .name = "pqi-air-pen:blue:wlan", > + .gpio = PQI_AIR_PEN_GPIO_LED_WLAN, > + .active_low = 0, > + }, > + { > + .name = "pqi-air-pen:blue:wps", > + .gpio = PQI_AIR_PEN_GPIO_LED_WPS, > + .active_low = 0, > + }, > +}; > + > +static struct gpio_keys_button pqi_air_pen_gpio_keys[] __initdata = { > + { > + .desc = "wps", > + .type = EV_KEY, > + .code = KEY_WPS_BUTTON, > + .debounce_interval = PQI_AIR_PEN_KEYS_DEBOUNCE_INTERVAL, > + .gpio = PQI_AIR_PEN_GPIO_BTN_WPS, > + .active_low = 0, > + }, > + { > + .desc = "reset", > + .type = EV_KEY, > + .code = KEY_RESTART, > + .debounce_interval = PQI_AIR_PEN_KEYS_DEBOUNCE_INTERVAL, > + .gpio = PQI_AIR_PEN_GPIO_BTN_RESET, > + .active_low = 0, > + }, > +}; > + > +static void __init pqi_air_pen_setup(void) > +{ > + /* ART base address */ > + u8 *art = (u8 *) KSEG1ADDR(0x9f050000); > + > + /* register flash. */ > + ath79_register_m25p80(NULL); > + > + /* register wireless mac with cal data */ > + ath79_register_wmac(art + PQI_AIR_PEN_WMAC_CALDATA_OFFSET, art + > PQI_AIR_PEN_WMAC_MAC_OFFSET); > + > + /* false PHY_SWAP and PHY_ADDR_SWAP bits */ > + ath79_setup_ar933x_phy4_switch(false, false); > + > + /* register gpio LEDs and keys */ > + ath79_register_leds_gpio(-1, ARRAY_SIZE(pqi_air_pen_leds_gpio), > + pqi_air_pen_leds_gpio); > + ath79_register_gpio_keys_polled(-1, PQI_AIR_PEN_KEYS_POLL_INTERVAL, > + ARRAY_SIZE(pqi_air_pen_gpio_keys), > + pqi_air_pen_gpio_keys); > + > + /* enable usb */ > + ath79_register_usb(); > + > + /* register eth0 as LAN */ > + ath79_init_mac(ath79_eth0_data.mac_addr, art + > PQI_AIR_PEN_LAN_MAC_OFFSET, 0); > + ath79_register_mdio(0, 0x0); > + ath79_register_eth(0); > +} > + > +MIPS_MACHINE(ATH79_MACH_PQI_AIR_PEN, "PQI-AIR-PEN", "PQI Air > Pen",pqi_air_pen_setup); > diff --git a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h > b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h > index 9402185..689a0a1 100644 > --- a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h > +++ b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h > @@ -50,6 +50,7 @@ enum ath79_mach_type { > ATH79_MACH_CAP324, /* PowerCloud CAP324 */ > ATH79_MACH_CAP4200AG, /* Senao CAP4200AG */ > ATH79_MACH_CARAMBOLA2, /* 8devices Carambola2 */ > + ATH79_MACH_PQI_AIR_PEN, /* PQI Air Pen */ alphabetical ordering error > ATH79_MACH_CF_E316N_V2, /* COMFAST CF-E316N v2 */ > ATH79_MACH_CF_E320N_V2, /* COMFAST CF-E320N v2 */ > ATH79_MACH_CF_E380AC_V1, /* COMFAST CF-E380AC v1 */ > diff --git a/target/linux/ar71xx/image/generic.mk > b/target/linux/ar71xx/image/generic.mk > index e2867e6..b0cbc57 100644 > --- a/target/linux/ar71xx/image/generic.mk > +++ b/target/linux/ar71xx/image/generic.mk > @@ -27,6 +27,16 @@ define Device/carambola2 > endef > TARGET_DEVICES += carambola2 > > +define Device/pqi-air-pen > + DEVICE_TITLE := PQI Air Pen > + DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage > + BOARDNAME = PQI-AIR-PEN > + IMAGE_SIZE = 7744k > + CONSOLE = ttyATH0,115200 > + MTDPARTS = > spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,64k(art)ro,64k(NVRAM)ro,7680k(firmware),64k(CONF) > +endef > +TARGET_DEVICES += pqi-air-pen > + and a final alphabetical ordering issue John > define Device/cf-e316n-v2 > DEVICE_TITLE := COMFAST CF-E316N v2 > BOARDNAME = CF-E316N-V2 > _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev