Στις Δευ 26 Αυγ 2013 11:02:54 David Hutchison έγραψε:
> This patch enables OpenWRT to be ran on the RouterBOARD 951Ui-2HnD.
> GPIO 2 enables or disables the POE on port 5. By default we enable
> GPIO2. GPIO 20 controls the USB Power, by default it enables the USB
> port.
> 
> GPIO 20 is also exposed on the RouterBOARD 951G if anyone was curious.
> I did not include that in this patch.
> 
> I need some assistance creating a proper patch for the RouterBOARD
> 951U. I have the RouterBOARD 951U working, and will include all of the
> code necessary.
> 
> First the architecture:
> 
> --- target/linux/ar71xx/files/arch/mips/ath79/mach-rb95x.c
> +++ target/linux/ar71xx/files/arch/mips/ath79/mach-rb95x.c
> @@ -37,6 +37,7 @@
>  #include "dev-wmac.h"
>  #include "machtypes.h"
>  #include "routerboot.h"
> +#include "dev-leds-gpio.h"
> 
>  #define RB95X_GPIO_NAND_NCE    14
> 
> @@ -86,6 +95,39 @@
> 
> +
> +static struct gpio_led rb951ui_leds_gpio[] __initdata = {
> +    {
> +        .name        = "rb951ui:wlan",
> +        .gpio        = 11,
> +        .active_low    = 1,
> +    }, {
> +        .name        = "rb951ui:act",
> +        .gpio        = 3,
> +        .active_low    = 1,
> +    }, {
> +        .name        = "rb951ui:lan:port1",
> +        .gpio        = 13,
> +        .active_low    = 1,
> +    }, {
> +        .name        = "rb951ui:lan:port2",
> +        .gpio        = 12,
> +        .active_low    = 1,
> +    }, {
> +        .name        = "rb951ui:lan:port3",
> +        .gpio        = 4,
> +        .active_low    = 1,
> +    }, {
> +        .name        = "rb951ui:lan:port4",
> +        .gpio        = 21,
> +        .active_low    = 1,
> +    }, {
> +        .name        = "rb951ui:lan:port5",
> +        .gpio        = 16,
> +        .active_low    = 1,
>      }
>  };
> 
> @@ -212,3 +254,35 @@
> 
>  MIPS_MACHINE(ATH79_MACH_RB_951G, "951G", "MikroTik RouterBOARD 951G-2HnD",
>           rb951g_setup);
> +
> +static void __init rb951ui_setup(void)
> +{
> +    rb95x_gpio_init();
> +    rb95x_nand_init();
> +
> +    ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE);
> +
> +        ath79_register_mdio(1, 0x0);
> +
> +        ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
> +        ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 1);
> +
> +        ath79_switch_data.phy4_mii_en = 1;
> +        ath79_switch_data.phy_poll_mask = BIT(4);
> +        ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
> +        ath79_eth0_data.phy_mask = BIT(4);
> +        ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev;
> +        ath79_register_eth(0);
> +
> +        ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
> +        ath79_register_eth(1);
> +
> +        gpio_request_one(20,
> +                       GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_CHANGEABLE,
> +                       "USB power");
> +
> +        gpio_request_one(2,
> +                        GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_CHANGEABLE,
> +                        "POE power");

I think you might have some whitespace or formatting errors above

> +
> +    rb95x_wlan_init();
> +    ath79_register_usb();
> +
> +    ath79_register_leds_gpio(-1, ARRAY_SIZE(rb951ui_leds_gpio),
> +                                 rb951ui_leds_gpio);
> +}
> +
> +MIPS_MACHINE(ATH79_MACH_RB_951U, "951HnD", "MikroTik RouterBOARD
> 951Ui-2HnD", +         rb951ui_setup);
> 
> Here is the part I am confused on. There are two files "machtypes.h"
> and "prom.c". We need to add "ATH79_MACH_RB_951U" to "machtypes.h".
> I'm not sure where in the target directory "machtypes.h" is. It
> appears that both files are managed by a *.patch file in the patches
> directory. Does the PATCH submitted need to be a patch of a patch
> file? or a new patch? Should
> target/linux/ar71xx/ath79/patches/610-MIPS-ath79-openwrt-machines.patch
> be modified, or add a 612-MIPS-ath79-openwrt-rb951u.patch ?

I beleive it should be a patch of 610-MIPS-ath79-openwrt-machines.patch

 
> Here are the changes that need to happen:
> 
> +++ machtypes.h
> @@ -74,6 +74,7 @@
>      ATH79_MACH_RB_751,        /* MikroTik RouterBOARD 751 */
>      ATH79_MACH_RB_751G,        /* Mikrotik RouterBOARD 751G */
>      ATH79_MACH_RB_951G,        /* Mikrotik RouterBOARD 951G */
> +    ATH79_MACH_RB_951U,        /* Mikrotik RouterBOARD 951U */
>      ATH79_MACH_RB_2011G,        /* Mikrotik RouterBOARD 2011UAS-2HnD */
>      ATH79_MACH_RB_2011L,        /* Mikrotik RouterBOARD 2011L */
>      ATH79_MACH_RB_2011US,        /* Mikrotik RouterBOARD 2011UAS */
> 
> Now to enable serial:
> 
> +++ prom.c
> @@ -183,6 +183,7 @@
> 
>      if (strstr(arcs_cmdline, "board=750Gr3") ||
>          strstr(arcs_cmdline, "board=951G") ||
> +        strstr(arcs_cmdline, "board=951HnD") ||
>          strstr(arcs_cmdline, "board=2011L"))
>          ath79_prom_append_cmdline("console", "ttyS0,115200");
>  }
> 
> 
> Signed-off-by: Davey Hutchison <[email protected]>

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to