Στις Δευ 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]>
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
