ar71xx: fix serial clock calculation on AR933x
[openwrt.git] / target / linux / ar71xx / patches-3.3 / 610-MIPS-ath79-openwrt-machines.patch
index 425b698be7baa23b58c4e69d0476ae5a6b3eb2c8..34965dcda8537deaeb9370dea3b428ed56361c8e 100644 (file)
@@ -1,15 +1,17 @@
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -16,17 +16,81 @@
+@@ -16,18 +16,94 @@
  
  enum ath79_mach_type {
        ATH79_MACH_GENERIC = 0,
 +      ATH79_MACH_ALFA_AP96,           /* ALFA Network AP96 board */
 +      ATH79_MACH_ALFA_NX,             /* ALFA Network N2/N5 board */
 +      ATH79_MACH_ALL0258N,            /* Allnet ALL0258N */
++      ATH79_MACH_ALL0305,             /* Allnet ALL0305 */
 +      ATH79_MACH_AP113,               /* Atheros AP113 reference board */
        ATH79_MACH_AP121,               /* Atheros AP121 reference board */
        ATH79_MACH_AP121_MINI,          /* Atheros AP121-MINI reference board */
+       ATH79_MACH_AP136,               /* Atheros AP136 reference board */
        ATH79_MACH_AP81,                /* Atheros AP81 reference board */
 +      ATH79_MACH_AP83,                /* Atheros AP83 */
 +      ATH79_MACH_AP96,                /* Atheros AP96 */
 +      ATH79_MACH_DIR_615_C1,          /* D-Link DIR-615 rev. C1 */
 +      ATH79_MACH_DIR_615_E4,          /* D-Link DIR-615 rev. E4 */
 +      ATH79_MACH_DIR_825_B1,          /* D-Link DIR-825 rev. B1 */
++      ATH79_MACH_EW_DORIN,            /* embedded wireless Dorin Platform */
++      ATH79_MACH_EW_DORIN_ROUTER,     /* embedded wireless Dorin Router Platform */
 +      ATH79_MACH_EAP7660D,            /* Senao EAP7660D */
 +      ATH79_MACH_JA76PF,              /* jjPlus JA76PF */
++      ATH79_MACH_JA76PF2,             /* jjPlus JA76PF2 */
 +      ATH79_MACH_JWAP003,             /* jjPlus JWAP003 */
 +      ATH79_MACH_HORNET_UB,           /* ALFA Networks Hornet-UB */
 +      ATH79_MACH_MZK_W04NU,           /* Planex MZK-W04NU */
 +      ATH79_MACH_MZK_W300NH,          /* Planex MZK-W300NH */
 +      ATH79_MACH_NBG460N,             /* Zyxel NBG460N/550N/550NH */
++      ATH79_MACH_OM2P_LC,             /* OpenMesh OM2P-LC */
 +      ATH79_MACH_OM2P,                /* OpenMesh OM2P */
 +      ATH79_MACH_PB42,                /* Atheros PB42 */
 +      ATH79_MACH_PB92,                /* Atheros PB92 */
 +      ATH79_MACH_RB_493,              /* Mikrotik RouterBOARD 493/493AH */
 +      ATH79_MACH_RB_493G,             /* Mikrotik RouterBOARD 493G */
 +      ATH79_MACH_RB_750,              /* MikroTik RouterBOARD 750 */
++      ATH79_MACH_RB_750G_R3,          /* MikroTik RouterBOARD 750GL */
++      ATH79_MACH_RB_751,              /* MikroTik RouterBOARD 751 */
++      ATH79_MACH_RB_751G,             /* Mikrotik RouterBOARD 751G */
 +      ATH79_MACH_RW2458N,             /* Redwave RW2458N */
 +      ATH79_MACH_TEW_632BRP,          /* TRENDnet TEW-632BRP */
++      ATH79_MACH_TEW_673GRU,          /* TRENDnet TEW-673GRU */
 +      ATH79_MACH_TL_MR11U,            /* TP-LINK TL-MR11U */
 +      ATH79_MACH_TL_MR3020,           /* TP-LINK TL-MR3020 */
 +      ATH79_MACH_TL_MR3220,           /* TP-LINK TL-MR3220 */
 +      ATH79_MACH_TL_MR3420,           /* TP-LINK TL-MR3420 */
 +      ATH79_MACH_TL_WA901ND,          /* TP-LINK TL-WA901ND */
 +      ATH79_MACH_TL_WA901ND_V2,       /* TP-LINK TL-WA901ND v2 */
-+      ATH79_MACH_TL_WR1043ND,         /* TP-LINK TL-WR1041ND */
++      ATH79_MACH_TL_WDR4300,          /* TP-LINK TL-WDR4300 */
++      ATH79_MACH_TL_WR1041N_V2,       /* TP-LINK TL-WR1041N v2 */
++      ATH79_MACH_TL_WR1043ND,         /* TP-LINK TL-WR1043ND */
 +      ATH79_MACH_TL_WR2543N,          /* TP-LINK TL-WR2543N/ND */
 +      ATH79_MACH_TL_WR703N,           /* TP-LINK TL-WR703N */
 +      ATH79_MACH_TL_WR741ND,          /* TP-LINK TL-WR741ND */
@@ -68,6 +80,7 @@
 +      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 */
++      ATH79_MACH_WLAE_AG300N,         /* Buffalo WLAE-AG300N */
 +      ATH79_MACH_WNDR3700,            /* NETGEAR WNDR3700/WNDR3800/WNDRMAC */
 +      ATH79_MACH_WNR2000,             /* NETGEAR WNR2000 */
 +      ATH79_MACH_WP543,               /* Compex WP543 */
  config ATH79_MACH_AP121
        bool "Atheros AP121 reference board"
        select SOC_AR933X
-@@ -28,6 +74,36 @@ config ATH79_MACH_AP81
+@@ -40,6 +86,24 @@ config ATH79_MACH_AP81
          Say 'Y' here if you want your kernel to support the
          Atheros AP81 reference board.
  
 +      select ATH79_DEV_LEDS_GPIO
 +      select ATH79_DEV_M25P80
 +      select ATH79_DEV_USB
-+
-+config ATH79_MACH_AP121
-+      bool "Atheros AP121 reference board"
-+      select SOC_AR933X
-+      select ATH79_DEV_GPIO_BUTTONS
-+      select ATH79_DEV_LEDS_GPIO
-+      select ATH79_DEV_SPI
-+      select ATH79_DEV_USB
-+      select ATH79_DEV_WMAC
-+      help
-+        Say 'Y' here if you want your kernel to support the
-+        Atheros AP121 reference board.
 +
  config ATH79_MACH_DB120
        bool "Atheros DB120 reference board"
        select SOC_AR934X
-@@ -42,6 +118,13 @@ config ATH79_MACH_DB120
+@@ -54,6 +118,13 @@ config ATH79_MACH_DB120
          Say 'Y' here if you want your kernel to support the
          Atheros DB120 reference board.
  
  config ATH79_MACH_PB44
        bool "Atheros PB44 reference board"
        select SOC_AR71XX
-@@ -54,6 +137,369 @@ config ATH79_MACH_PB44
+@@ -66,6 +137,427 @@ config ATH79_MACH_PB44
          Say 'Y' here if you want your kernel to support the
          Atheros PB44 reference board.
  
 +      select ATH79_DEV_LEDS_GPIO
 +      select ATH79_DEV_M25P80
 +
++config ATH79_MACH_WLAE_AG300N
++      bool "Buffalo WLAE-AG300N board support"
++      select SOC_AR71XX
++      select ATH79_DEV_ETH
++      select ATH79_DEV_GPIO_BUTTONS
++      select ATH79_DEV_LEDS_GPIO
++      select ATH79_DEV_M25P80
++
 +config ATH79_MACH_WZR_HP_AG300H
 +      bool "Buffalo WZR-HP-AG300H board support"
 +      select SOC_AR71XX
 +      select ATH79_DEV_M25P80
 +      select ATH79_DEV_USB
 +
++config ATH79_MACH_EW_DORIN
++      bool "embedded wireless Dorin Platform support"
++      select SOC_AR933X
++      select ATH79_DEV_M25P80
++      select ATH79_DEV_GPIO_BUTTONS
++      select ATH79_DEV_LEDS_GPIO
++      select ATH79_DEV_WMAC
++      select ATH79_DEV_ETH
++      help
++        Say 'Y' here if you want your kernel to support the
++        Dorin Platform from www.80211.de .
++
 +config ATH79_MACH_JA76PF
 +      bool "jjPlus JA76PF board support"
 +      select SOC_AR71XX
 +      select ATH79_DEV_AP9X_PCI if PCI
 +      select ATH79_DEV_GPIO_BUTTONS
 +      select ATH79_DEV_LEDS_GPIO
++      select ATH79_DEV_M25P80
 +
 +config ATH79_MACH_RB4XX
 +      bool "MikroTik RouterBOARD 4xx series support"
 +      bool "MikroTik RouterBOARD 750 support"
 +      select SOC_AR724X
 +      select ATH79_DEV_ETH
++      select ATH79_DEV_AP9X_PCI if PCI
++      select ATH79_DEV_USB
 +
 +config ATH79_MACH_WNDR3700
 +      bool "NETGEAR WNDR3700 board support"
 +config ATH79_MACH_OM2P
 +      bool "OpenMesh OM2P board support"
 +      select SOC_AR724X
++      select SOC_AR933X
 +      select ATH79_DEV_AP9X_PCI if PCI
 +      select ATH79_DEV_ETH
 +      select ATH79_DEV_GPIO_BUTTONS
 +      select ATH79_DEV_LEDS_GPIO
 +      select ATH79_DEV_M25P80
++      select ATH79_DEV_WMAC
 +
 +config ATH79_MACH_MZK_W04NU
 +      bool "Planex MZK-W04NU board support"
 +      select ATH79_DEV_M25P80
 +      select ATH79_DEV_WMAC
 +
++config ATH79_MACH_TL_WDR4300
++      bool "TP-LINK TL-WDR3600/4300/4310 board support"
++      select SOC_AR934X
++      select ATH79_DEV_AP9X_PCI if PCI
++      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_TL_WR703N
 +      bool "TP-LINK TL-WR703N support"
 +      select SOC_AR933X
 +      select ATH79_DEV_M25P80
 +      select ATH79_DEV_WMAC
 +
++config ATH79_MACH_TL_WR1041N_V2
++      bool "TP-LINK TL-WR1041N v2 support"
++      select SOC_AR934X
++      select ATH79_DEV_AP9X_PCI if PCI
++      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_TL_WR1043ND
 +      bool "TP-LINK TL-WR1043ND support"
 +      select SOC_AR913X
 +      select ATH79_DEV_WMAC
 +      select ATH79_NVRAM
 +
++config ATH79_MACH_TEW_673GRU
++      bool "TRENDnet TEW-673GRU support"
++      select SOC_AR71XX
++      select ATH79_DEV_AP9X_PCI if PCI
++      select ATH79_DEV_ETH
++      select ATH79_DEV_GPIO_BUTTONS
++      select ATH79_DEV_LEDS_GPIO
++      select ATH79_DEV_M25P80
++      select ATH79_DEV_USB
++      select ATH79_NVRAM
++
 +config ATH79_MACH_UBNT
 +      bool "Ubiquiti AR71xx based boards support"
 +      select SOC_AR71XX
  config ATH79_MACH_UBNT_XM
        bool "Ubiquiti Networks XM (rev 1.0) board"
        select SOC_AR724X
-@@ -67,6 +513,24 @@ config ATH79_MACH_UBNT_XM
+@@ -79,6 +571,24 @@ config ATH79_MACH_UBNT_XM
          Say 'Y' here if you want your kernel to support the
          Ubiquiti Networks XM (rev 1.0) board.
  
  endmenu
  
  config SOC_AR71XX
-@@ -96,10 +560,6 @@ config SOC_AR934X
+@@ -114,10 +624,6 @@ config SOC_QCA955X
        select PCI_AR724X if PCI
        def_bool n
  
  config ATH79_DEV_AP9X_PCI
        select ATH79_PCI_ATH9K_FIXUP
        def_bool n
-@@ -110,7 +570,14 @@ config ATH79_DEV_DSA
+@@ -128,7 +634,14 @@ config ATH79_DEV_DSA
  config ATH79_DEV_ETH
        def_bool n
  
        def_bool n
  
  config ATH79_DEV_GPIO_BUTTONS
-@@ -135,4 +602,7 @@ config ATH79_NVRAM
+@@ -153,4 +666,7 @@ config ATH79_NVRAM
  config ATH79_PCI_ATH9K_FIXUP
        def_bool n
  
  endif
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -36,8 +36,56 @@ obj-$(CONFIG_ATH79_PCI_ATH9K_FIXUP) += p
+@@ -36,9 +36,62 @@ obj-$(CONFIG_ATH79_PCI_ATH9K_FIXUP) += pci-ath9k-fixup.o
  #
  # Machines
  #
 +obj-$(CONFIG_ATH79_MACH_ALL0258N)     += mach-all0258n.o
 +obj-$(CONFIG_ATH79_MACH_AP113)                += mach-ap113.o
  obj-$(CONFIG_ATH79_MACH_AP121)                += mach-ap121.o
+ obj-$(CONFIG_ATH79_MACH_AP136)                += mach-ap136.o
  obj-$(CONFIG_ATH79_MACH_AP81)         += mach-ap81.o
 +obj-$(CONFIG_ATH79_MACH_AP83)         += mach-ap83.o
 +obj-$(CONFIG_ATH79_MACH_AP96)         += mach-ap96.o
 +obj-$(CONFIG_ATH79_MACH_DIR_600_A1)   += mach-dir-600-a1.o
 +obj-$(CONFIG_ATH79_MACH_DIR_615_C1)   += mach-dir-615-c1.o
 +obj-$(CONFIG_ATH79_MACH_DIR_825_B1)   += mach-dir-825-b1.o
++obj-$(CONFIG_ATH79_MACH_EW_DORIN)     += mach-ew-dorin.o
 +obj-$(CONFIG_ATH79_MACH_EAP7660D)     += mach-eap7660d.o
 +obj-$(CONFIG_ATH79_MACH_JA76PF)               += mach-ja76pf.o
 +obj-$(CONFIG_ATH79_MACH_JWAP003)      += mach-jwap003.o
 +obj-$(CONFIG_ATH79_MACH_RB750)                += mach-rb750.o
 +obj-$(CONFIG_ATH79_MACH_RW2458N)      += mach-rw2458n.o
 +obj-$(CONFIG_ATH79_MACH_TEW_632BRP)   += mach-tew-632brp.o
++obj-$(CONFIG_ATH79_MACH_TEW_673GRU)   += mach-tew-673gru.o
 +obj-$(CONFIG_ATH79_MACH_TL_MR11U)     += mach-tl-mr11u.o
 +obj-$(CONFIG_ATH79_MACH_TL_MR3020)    += mach-tl-mr3020.o
 +obj-$(CONFIG_ATH79_MACH_TL_MR3X20)    += mach-tl-mr3x20.o
 +obj-$(CONFIG_ATH79_MACH_TL_WA901ND)   += mach-tl-wa901nd.o
 +obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V2)        += mach-tl-wa901nd-v2.o
++obj-$(CONFIG_ATH79_MACH_TL_WDR4300)     += mach-tl-wdr4300.o
 +obj-$(CONFIG_ATH79_MACH_TL_WR741ND)   += mach-tl-wr741nd.o
 +obj-$(CONFIG_ATH79_MACH_TL_WR741ND_V4)        += mach-tl-wr741nd-v4.o
 +obj-$(CONFIG_ATH79_MACH_TL_WR841N_V1) += mach-tl-wr841n.o
 +obj-$(CONFIG_ATH79_MACH_TL_WR941ND)   += mach-tl-wr941nd.o
++obj-$(CONFIG_ATH79_MACH_TL_WR1041N_V2)        += mach-tl-wr1041n-v2.o
 +obj-$(CONFIG_ATH79_MACH_TL_WR1043ND)  += mach-tl-wr1043nd.o
 +obj-$(CONFIG_ATH79_MACH_TL_WR2543N)   += mach-tl-wr2543n.o
 +obj-$(CONFIG_ATH79_MACH_TL_WR703N)    += mach-tl-wr703n.o
 +obj-$(CONFIG_ATH79_MACH_UBNT)         += mach-ubnt.o
  obj-$(CONFIG_ATH79_MACH_UBNT_XM)      += mach-ubnt-xm.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_WNDR3700)     += mach-wndr3700.o
 +obj-$(CONFIG_ATH79_MACH_WNR2000)      += mach-wnr2000.o
 +obj-$(CONFIG_ATH79_MACH_WP543)                += mach-wp543.o
 +obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH2)       += mach-wzr-hp-g300nh2.o
 +obj-$(CONFIG_ATH79_MACH_WZR_HP_AG300H)        += mach-wzr-hp-ag300h.o
 +obj-$(CONFIG_ATH79_MACH_WZR_HP_G450H) += mach-wzr-hp-g450h.o
+--- a/arch/mips/ath79/prom.c
++++ b/arch/mips/ath79/prom.c
+@@ -180,6 +180,9 @@ void __init prom_init(void)
+                       ath79_prom_append_cmdline("board", env);
+               }
+       }
++
++      if (strstr(arcs_cmdline, "board=750Gr3"))
++              ath79_prom_append_cmdline("console", "ttyS0,115200");
+ }
+ void __init prom_free_prom_memory(void)