[OpenWrt-Devel] [PATCH] [SIGNED-OFF] Add initial support for WeIO board

Drasko DRASKOVIC drasko.draskovic at gmail.com
Tue Sep 22 15:07:53 EDT 2015


A kind reminder for a patch.

BR,
Drasko

On Sun, Sep 20, 2015 at 7:30 PM, Drasko DRASKOVIC <
drasko.draskovic at gmail.com> wrote:

> Hi Jonas,
> I have re-sent (in a spearate e-mail) patch with corrections based on
> your comments.
>
> Best reagrds,
> Drasko
>
> On Fri, Sep 11, 2015 at 2:51 PM, Jonas Gorski <jogo at openwrt.org> wrote:
> > Hi,
> >
> > On Tue, Sep 8, 2015 at 9:00 PM, Drasko DRASKOVIC
> > <drasko.draskovic at gmail.com> wrote:
> >> Subject: [PATCH] [SIGNED-OFF] Add initial support for WeIO board
> >
> > Please version your patches if you change them ([PATCH V2] etc)
> >> Add support for WeIO board (http://we-io.net), which is based on
> >> Carambola2 board from 8Devices.
> >>
> >> Signed-off-by: Drasko DRASKOVIC <drasko.draskovic at gmail.com>
> >> ---
> >
> > Please keep a changelog here about the changes between submitssions
> >>  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 ++-
> >
> > I don't see you updating etc/uci-defaults/02_network or any of the
> > uci-defaults files, so this won't have any proper config.
> >
> >
> >>  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 e1f345e..e30cac2 100755
> >> --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
> >> +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
> >> @@ -832,6 +832,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 c1962e4..b681fb8 100755
> >> --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> >> +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> >> @@ -250,7 +250,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 21c4601..7d836d9 100644
> >> --- a/target/linux/ar71xx/config-4.1
> >> +++ b/target/linux/ar71xx/config-4.1
> >> @@ -139,6 +139,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..791991c
> >> --- /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 <drasko.draskovic at gmail.com>
> >> + * Uros PETREVSKI <uros at nodesign.net>
> >> + */
> >> +
> >> +#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
> >
> > Please use tabs for indentation and align the values.
> >
> >> +
> >> +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,
> >> +    }
> >> +};
> >
> > Please use tabs for indentation. The correct braces placement is
> >   {
> >   },
> >   {
> >   }
> >
> >> +
> >> +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,
> >> +    }
> >> +};
> >
> > Please use tabs for indentation.
> >
> >> +
> >> +static struct i2c_gpio_platform_data weio_i2c_gpio_data = {
> >> +    .sda_pin        = 18,
> >> +    .scl_pin        = 19,
> >> +};
> >
> > Please use tabs for indentation.
> >
> >> +
> >> +static struct platform_device weio_i2c_gpio = {
> >> +    .name           = "i2c-gpio",
> >> +    .id             = 0,
> >> +    .dev            = {
> >> +        .platform_data  = &weio_i2c_gpio_data,
> >> +       },
> >> +};
> >
> > Please use tabs for indentation.
> >
> >> +
> >> +static struct platform_device *weio_devices[] __initdata = {
> >> +    &weio_i2c_gpio
> >> +};
> >
> > Please use tabs for indentation.
> >
> >> +
> >> +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);
> >
> > Plase align the arguments with the opening ( (use spaces for the last <
> 8 steps)
> >
> >> +}
> >
> > Please use tabs for indentation.
> >
> >> +
> >> +static void __init weio_setup(void)
> >> +{
> >> +    weio_common_setup();
> >> +
> >> +
> >
> > Only one empty line please.
> >
> >> +    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);
> >
> > Plase align the arguments with the opening (
> >
> >> +
> >> +    platform_add_devices(weio_devices, ARRAY_SIZE(weio_devices));
> >> +
> >> +    ath79_register_leds_gpio(-1, ARRAY_SIZE(weio_leds_gpio),
> >> +                   weio_leds_gpio);
> >
> > Plase align the arguments with the opening (
> >
> >> +
> >> +    ath79_register_gpio_keys_polled(-1, WEIO_KEYS_POLL_INTERVAL,
> >> +                ARRAY_SIZE(weio_gpio_keys),
> >> +                weio_gpio_keys);
> >
> > Plase align the arguments with the opening (
> >
> >> +    ath79_register_usb();
> >
> > Please use tabs for indentation.
> >> +}
> >> +
> >> +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
> >
> > No wifi drivers?
> >
> >> +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 e6fe36a..0a37fd1 100644
> >> --- a/target/linux/ar71xx/image/Makefile
> >> +++ b/target/linux/ar71xx/image/Makefile
> >> @@ -179,6 +179,14 @@ define Device/carambola2
> >>  endef
> >>  TARGET_DEVICES += carambola2
> >>
> >> +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 02ebd1b..fa9fd0ad 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,207 @@
> >> +@@ -16,24 +16,208 @@
> >>
> >>   enum ath79_mach_type {
> >>         ATH79_MACH_GENERIC = 0,
> >> @@ -176,6 +176,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 */
> >> @@ -1437,7 +1438,7 @@
> >>
> >>   config ATH79_MACH_UBNT_XM
> >>         bool "Ubiquiti Networks XM/UniFi boards"
> >> -@@ -83,6 +1212,97 @@ config ATH79_MACH_UBNT_XM
> >> +@@ -83,6 +1212,106 @@ config ATH79_MACH_UBNT_XM
> >>           Say 'Y' here if you want your kernel to support the
> >>           Ubiquiti Networks XM (rev 1.0) board.
> >>
> >> @@ -1511,6 +1512,15 @@
> >>  +      select ATH79_DEV_USB
> >>  +      select ATH79_DEV_WMAC
> >>  +
> >> ++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_BHU_BXU2000N2_A
> >>  +      bool "BHU BXU2000n-2 rev. A support"
> >>  +      select SOC_AR934X
> >> @@ -1535,7 +1545,7 @@
> >>   endmenu
> >>
> >>   config SOC_AR71XX
> >> -@@ -134,7 +1354,10 @@ config ATH79_DEV_DSA
> >> +@@ -134,7 +1363,10 @@ config ATH79_DEV_DSA
> >>   config ATH79_DEV_ETH
> >>         def_bool n
> >>
> >> @@ -1547,7 +1557,7 @@
> >>         def_bool n
> >>
> >>   config ATH79_DEV_GPIO_BUTTONS
> >> -@@ -164,6 +1387,11 @@ config ATH79_PCI_ATH9K_FIXUP
> >> +@@ -164,6 +1396,11 @@ config ATH79_PCI_ATH9K_FIXUP
> >>         def_bool n
> >>
> >>   config ATH79_ROUTERBOOT
> >> @@ -1561,7 +1571,7 @@
> >>   endif
> >>  --- a/arch/mips/ath79/Makefile
> >>  +++ b/arch/mips/ath79/Makefile
> >> -@@ -38,9 +38,133 @@ obj-$(CONFIG_ATH79_ROUTERBOOT)             += route
> >> +@@ -38,9 +38,134 @@ obj-$(CONFIG_ATH79_ROUTERBOOT)             += route
> >>   #
> >>   # Machines
> >>   #
> >> @@ -1670,6 +1680,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
> >
> >
> > Jonas
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20150922/f5397f3d/attachment.htm>
-------------- next part --------------
_______________________________________________
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