Changeset 44731


Ignore:
Timestamp:
2015-03-13T04:02:00+01:00 (3 years ago)
Author:
nbd
Message:

atheros: v3.18: non-functional cleanup

To finally sync code with upsream cleanup registers headers, and update
several comments and kernel config symbols descriptions. No functional
changes.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@…>

Location:
trunk/target/linux/atheros/patches-3.18
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/atheros/patches-3.18/100-board.patch

    r44730 r44731  
    66  
    77+config ATH25 
    8 +       bool "Atheros 231x/531x SoC support" 
     8+       bool "Atheros AR231x/AR531x SoC support" 
    99+       select CEVT_R4K 
    1010+       select CSRC_R4K 
     
    1616+       select SYS_SUPPORTS_32BIT_KERNEL 
    1717+       help 
    18 +         Support for AR231x and AR531x based boards 
     18+         Support for Atheros AR231x and Atheros AR531x based boards 
    1919+ 
    2020 config ATH79 
    2121        bool "Atheros AR71XX/AR724X/AR913X based boards" 
    2222        select ARCH_REQUIRE_GPIOLIB 
    23 @@ -834,6 +847,7 @@ config MIPS_PARAVIRT 
    24   
     23@@ -835,6 +848,7 @@ config MIPS_PARAVIRT 
    2524 endchoice 
    2625  
     26 source "arch/mips/alchemy/Kconfig" 
    2727+source "arch/mips/ath25/Kconfig" 
    28  source "arch/mips/alchemy/Kconfig" 
    2928 source "arch/mips/ath79/Kconfig" 
    3029 source "arch/mips/bcm47xx/Kconfig" 
     30 source "arch/mips/bcm63xx/Kconfig" 
    3131--- a/arch/mips/Kbuild.platforms 
    3232+++ b/arch/mips/Kbuild.platforms 
     
    5252@@ -0,0 +1,9 @@ 
    5353+config SOC_AR5312 
    54 +       bool "Atheros 5312/2312+ support" 
     54+       bool "Atheros AR5312/AR2312+ SoC support" 
    5555+       depends on ATH25 
    5656+       default y 
    5757+ 
    5858+config SOC_AR2315 
    59 +       bool "Atheros 2315+ support" 
     59+       bool "Atheros AR2315+ SoC support" 
    6060+       depends on ATH25 
    6161+       default y 
     
    7878--- /dev/null 
    7979+++ b/arch/mips/ath25/board.c 
    80 @@ -0,0 +1,235 @@ 
     80@@ -0,0 +1,234 @@ 
    8181+/* 
    8282+ * This file is subject to the terms and conditions of the GNU General Public 
     
    267267+{ 
    268268+       local_irq_disable(); 
    269 +       while (1) 
    270 +               ; 
     269+       unreachable(); 
    271270+} 
    272271+ 
     
    330329+ 
    331330+/* 
    332 + * Prom setup file for ar231x 
     331+ * Prom setup file for AR5312/AR231x SoCs 
    333332+ */ 
    334333+ 
     
    620619--- /dev/null 
    621620+++ b/arch/mips/ath25/ar2315_regs.h 
    622 @@ -0,0 +1,471 @@ 
     621@@ -0,0 +1,410 @@ 
    623622+/* 
    624623+ * Register definitions for AR2315+ 
     
    681680+ 
    682681+/* 
    683 + * Cold reset register 
    684 + */ 
     682+ * Configuration registers 
     683+ */ 
     684+ 
     685+/* Cold reset register */ 
    685686+#define AR2315_COLD_RESET              0x0000 
    686687+ 
    687 +#define AR2315_RESET_COLD_AHB              0x00000001 
    688 +#define AR2315_RESET_COLD_APB              0x00000002 
    689 +#define AR2315_RESET_COLD_CPU              0x00000004 
    690 +#define AR2315_RESET_COLD_CPUWARM          0x00000008 
    691 +#define AR2315_RESET_SYSTEM    \ 
    692 +       (RESET_COLD_CPU |\ 
    693 +        RESET_COLD_APB |\ 
    694 +        RESET_COLD_AHB)                                   /* full system */ 
    695 +#define AR2317_RESET_SYSTEM                0x00000010 
    696 + 
    697 +/* 
    698 + * Reset register 
    699 + */ 
     688+#define AR2315_RESET_COLD_AHB          0x00000001 
     689+#define AR2315_RESET_COLD_APB          0x00000002 
     690+#define AR2315_RESET_COLD_CPU          0x00000004 
     691+#define AR2315_RESET_COLD_CPUWARM      0x00000008 
     692+#define AR2315_RESET_SYSTEM            (RESET_COLD_CPU |\ 
     693+                                        RESET_COLD_APB |\ 
     694+                                        RESET_COLD_AHB)  /* full system */ 
     695+#define AR2317_RESET_SYSTEM            0x00000010 
     696+ 
     697+/* Reset register */ 
    700698+#define AR2315_RESET                   0x0004 
    701699+ 
    702 +/* warm reset WLAN0 MAC */ 
    703 +#define AR2315_RESET_WARM_WLAN0_MAC        0x00000001 
    704 +/* warm reset WLAN0 BaseBand */ 
    705 +#define AR2315_RESET_WARM_WLAN0_BB         0x00000002 
    706 +/* warm reset MPEG-TS */ 
    707 +#define AR2315_RESET_MPEGTS_RSVD           0x00000004 
    708 +/* warm reset PCI ahb/dma */ 
    709 +#define AR2315_RESET_PCIDMA                0x00000008 
    710 +/* warm reset memory controller */ 
    711 +#define AR2315_RESET_MEMCTL                0x00000010 
    712 +/* warm reset local bus */ 
    713 +#define AR2315_RESET_LOCAL                 0x00000020 
    714 +/* warm reset I2C bus */ 
    715 +#define AR2315_RESET_I2C_RSVD              0x00000040 
    716 +/* warm reset SPI interface */ 
    717 +#define AR2315_RESET_SPI                   0x00000080 
    718 +/* warm reset UART0 */ 
    719 +#define AR2315_RESET_UART0                 0x00000100 
    720 +/* warm reset IR interface */ 
    721 +#define AR2315_RESET_IR_RSVD               0x00000200 
    722 +/* cold reset ENET0 phy */ 
    723 +#define AR2315_RESET_EPHY0                 0x00000400 
    724 +/* cold reset ENET0 mac */ 
    725 +#define AR2315_RESET_ENET0                 0x00000800 
    726 + 
    727 +/* 
    728 + * AHB master arbitration control 
    729 + */ 
     700+#define AR2315_RESET_WARM_WLAN0_MAC    0x00000001  /* warm reset WLAN0 MAC */ 
     701+#define AR2315_RESET_WARM_WLAN0_BB     0x00000002  /* warm reset WLAN0 BB */ 
     702+#define AR2315_RESET_MPEGTS_RSVD       0x00000004  /* warm reset MPEG-TS */ 
     703+#define AR2315_RESET_PCIDMA            0x00000008  /* warm reset PCI ahb/dma */ 
     704+#define AR2315_RESET_MEMCTL            0x00000010  /* warm reset mem control */ 
     705+#define AR2315_RESET_LOCAL             0x00000020  /* warm reset local bus */ 
     706+#define AR2315_RESET_I2C_RSVD          0x00000040  /* warm reset I2C bus */ 
     707+#define AR2315_RESET_SPI               0x00000080  /* warm reset SPI iface */ 
     708+#define AR2315_RESET_UART0             0x00000100  /* warm reset UART0 */ 
     709+#define AR2315_RESET_IR_RSVD           0x00000200  /* warm reset IR iface */ 
     710+#define AR2315_RESET_EPHY0             0x00000400  /* cold reset ENET0 phy */ 
     711+#define AR2315_RESET_ENET0             0x00000800  /* cold reset ENET0 MAC */ 
     712+ 
     713+/* AHB master arbitration control */ 
    730714+#define AR2315_AHB_ARB_CTL             0x0008 
    731715+ 
    732 +/* CPU, default */ 
    733 +#define AR2315_ARB_CPU                     0x00000001 
    734 +/* WLAN */ 
    735 +#define AR2315_ARB_WLAN                    0x00000002 
    736 +/* MPEG-TS */ 
    737 +#define AR2315_ARB_MPEGTS_RSVD             0x00000004 
    738 +/* LOCAL */ 
    739 +#define AR2315_ARB_LOCAL                   0x00000008 
    740 +/* PCI */ 
    741 +#define AR2315_ARB_PCI                     0x00000010 
    742 +/* Ethernet */ 
    743 +#define AR2315_ARB_ETHERNET                0x00000020 
    744 +/* retry policy, debug only */ 
    745 +#define AR2315_ARB_RETRY                   0x00000100 
    746 + 
    747 +/* 
    748 + * Config Register 
    749 + */ 
     716+#define AR2315_ARB_CPU                 0x00000001  /* CPU, default */ 
     717+#define AR2315_ARB_WLAN                        0x00000002  /* WLAN */ 
     718+#define AR2315_ARB_MPEGTS_RSVD         0x00000004  /* MPEG-TS */ 
     719+#define AR2315_ARB_LOCAL               0x00000008  /* Local bus */ 
     720+#define AR2315_ARB_PCI                 0x00000010  /* PCI bus */ 
     721+#define AR2315_ARB_ETHERNET            0x00000020  /* Ethernet */ 
     722+#define AR2315_ARB_RETRY               0x00000100  /* Retry policy (debug) */ 
     723+ 
     724+/* Config Register */ 
    750725+#define AR2315_ENDIAN_CTL              0x000c 
    751726+ 
    752 +/* EC - AHB bridge endianess */ 
    753 +#define AR2315_CONFIG_AHB                  0x00000001 
    754 +/* WLAN byteswap */ 
    755 +#define AR2315_CONFIG_WLAN                 0x00000002 
    756 +/* MPEG-TS byteswap */ 
    757 +#define AR2315_CONFIG_MPEGTS_RSVD          0x00000004 
    758 +/* PCI byteswap */ 
    759 +#define AR2315_CONFIG_PCI                  0x00000008 
    760 +/* Memory controller endianess */ 
    761 +#define AR2315_CONFIG_MEMCTL               0x00000010 
    762 +/* Local bus byteswap */ 
    763 +#define AR2315_CONFIG_LOCAL                0x00000020 
    764 +/* Ethernet byteswap */ 
    765 +#define AR2315_CONFIG_ETHERNET             0x00000040 
    766 + 
    767 +/* CPU write buffer merge */ 
    768 +#define AR2315_CONFIG_MERGE                0x00000200 
    769 +/* CPU big endian */ 
    770 +#define AR2315_CONFIG_CPU                  0x00000400 
    771 +#define AR2315_CONFIG_PCIAHB               0x00000800 
    772 +#define AR2315_CONFIG_PCIAHB_BRIDGE        0x00001000 
    773 +/* SPI byteswap */ 
    774 +#define AR2315_CONFIG_SPI                  0x00008000 
    775 +#define AR2315_CONFIG_CPU_DRAM             0x00010000 
    776 +#define AR2315_CONFIG_CPU_PCI              0x00020000 
    777 +#define AR2315_CONFIG_CPU_MMR              0x00040000 
    778 +#define AR2315_CONFIG_BIG                  0x00000400 
    779 + 
    780 +/* 
    781 + * NMI control 
    782 + */ 
     727+#define AR2315_CONFIG_AHB              0x00000001  /* EC-AHB bridge endian */ 
     728+#define AR2315_CONFIG_WLAN             0x00000002  /* WLAN byteswap */ 
     729+#define AR2315_CONFIG_MPEGTS_RSVD      0x00000004  /* MPEG-TS byteswap */ 
     730+#define AR2315_CONFIG_PCI              0x00000008  /* PCI byteswap */ 
     731+#define AR2315_CONFIG_MEMCTL           0x00000010  /* Mem controller endian */ 
     732+#define AR2315_CONFIG_LOCAL            0x00000020  /* Local bus byteswap */ 
     733+#define AR2315_CONFIG_ETHERNET         0x00000040  /* Ethernet byteswap */ 
     734+#define AR2315_CONFIG_MERGE            0x00000200  /* CPU write buffer merge */ 
     735+#define AR2315_CONFIG_CPU              0x00000400  /* CPU big endian */ 
     736+#define AR2315_CONFIG_BIG              0x00000400 
     737+#define AR2315_CONFIG_PCIAHB           0x00000800 
     738+#define AR2315_CONFIG_PCIAHB_BRIDGE    0x00001000 
     739+#define AR2315_CONFIG_SPI              0x00008000  /* SPI byteswap */ 
     740+#define AR2315_CONFIG_CPU_DRAM         0x00010000 
     741+#define AR2315_CONFIG_CPU_PCI          0x00020000 
     742+#define AR2315_CONFIG_CPU_MMR          0x00040000 
     743+ 
     744+/* NMI control */ 
    783745+#define AR2315_NMI_CTL                 0x0010 
    784746+ 
    785 +#define AR2315_NMI_EN  1 
    786 + 
    787 +/* 
    788 + * Revision Register - Initial value is 0x3010 (WMAC 3.0, AR231X 1.0). 
    789 + */ 
     747+#define AR2315_NMI_EN                  1 
     748+ 
     749+/* Revision Register - Initial value is 0x3010 (WMAC 3.0, AR231X 1.0). */ 
    790750+#define AR2315_SREV                    0x0014 
    791751+ 
    792 +#define AR2315_REV_MAJ                     0x00f0 
    793 +#define AR2315_REV_MAJ_S                   4 
    794 +#define AR2315_REV_MIN                     0x000f 
    795 +#define AR2315_REV_MIN_S                   0 
    796 +#define AR2315_REV_CHIP                    (AR2315_REV_MAJ|AR2315_REV_MIN) 
    797 + 
    798 +/* 
    799 + * Interface Enable 
    800 + */ 
     752+#define AR2315_REV_MAJ                 0x000000f0 
     753+#define AR2315_REV_MAJ_S               4 
     754+#define AR2315_REV_MIN                 0x0000000f 
     755+#define AR2315_REV_MIN_S               0 
     756+#define AR2315_REV_CHIP                        (AR2315_REV_MAJ | AR2315_REV_MIN) 
     757+ 
     758+/* Interface Enable */ 
    801759+#define AR2315_IF_CTL                  0x0018 
    802760+ 
    803 +#define AR2315_IF_MASK                     0x00000007 
    804 +#define AR2315_IF_DISABLED                 0 
    805 +#define AR2315_IF_PCI                      1 
    806 +#define AR2315_IF_TS_LOCAL                 2 
    807 +/* only for emulation with separate pins */ 
    808 +#define AR2315_IF_ALL                      3 
    809 +#define AR2315_IF_LOCAL_HOST               0x00000008 
    810 +#define AR2315_IF_PCI_HOST                 0x00000010 
    811 +#define AR2315_IF_PCI_INTR                 0x00000020 
    812 +#define AR2315_IF_PCI_CLK_MASK             0x00030000 
    813 +#define AR2315_IF_PCI_CLK_INPUT            0 
    814 +#define AR2315_IF_PCI_CLK_OUTPUT_LOW       1 
    815 +#define AR2315_IF_PCI_CLK_OUTPUT_CLK       2 
    816 +#define AR2315_IF_PCI_CLK_OUTPUT_HIGH      3 
    817 +#define AR2315_IF_PCI_CLK_SHIFT            16 
    818 + 
    819 +/* 
    820 + * APB Interrupt control 
    821 + */ 
    822 + 
     761+#define AR2315_IF_MASK                 0x00000007 
     762+#define AR2315_IF_DISABLED             0               /* Disable all */ 
     763+#define AR2315_IF_PCI                  1               /* PCI */ 
     764+#define AR2315_IF_TS_LOCAL             2               /* Local bus */ 
     765+#define AR2315_IF_ALL                  3               /* Emulation only */ 
     766+#define AR2315_IF_LOCAL_HOST           0x00000008 
     767+#define AR2315_IF_PCI_HOST             0x00000010 
     768+#define AR2315_IF_PCI_INTR             0x00000020 
     769+#define AR2315_IF_PCI_CLK_MASK         0x00030000 
     770+#define AR2315_IF_PCI_CLK_INPUT                0 
     771+#define AR2315_IF_PCI_CLK_OUTPUT_LOW   1 
     772+#define AR2315_IF_PCI_CLK_OUTPUT_CLK   2 
     773+#define AR2315_IF_PCI_CLK_OUTPUT_HIGH  3 
     774+#define AR2315_IF_PCI_CLK_SHIFT                16 
     775+ 
     776+/* APB Interrupt control */ 
    823777+#define AR2315_ISR                     0x0020 
    824778+#define AR2315_IMR                     0x0024 
    825779+#define AR2315_GISR                    0x0028 
    826780+ 
    827 +#define AR2315_ISR_UART0       0x0001           /* high speed UART */ 
    828 +#define AR2315_ISR_I2C_RSVD    0x0002           /* I2C bus */ 
    829 +#define AR2315_ISR_SPI         0x0004           /* SPI bus */ 
    830 +#define AR2315_ISR_AHB         0x0008           /* AHB error */ 
    831 +#define AR2315_ISR_APB         0x0010           /* APB error */ 
    832 +#define AR2315_ISR_TIMER       0x0020           /* timer */ 
    833 +#define AR2315_ISR_GPIO                0x0040           /* GPIO */ 
    834 +#define AR2315_ISR_WD          0x0080           /* watchdog */ 
    835 +#define AR2315_ISR_IR_RSVD     0x0100           /* IR */ 
    836 + 
    837 +#define AR2315_GISR_MISC       0x0001 
    838 +#define AR2315_GISR_WLAN0      0x0002 
    839 +#define AR2315_GISR_MPEGTS_RSVD        0x0004 
    840 +#define AR2315_GISR_LOCALPCI   0x0008 
    841 +#define AR2315_GISR_WMACPOLL   0x0010 
    842 +#define AR2315_GISR_TIMER      0x0020 
    843 +#define AR2315_GISR_ETHERNET   0x0040 
    844 + 
    845 +/* 
    846 + * Timers 
    847 + */ 
     781+#define AR2315_ISR_UART0       0x00000001      /* high speed UART */ 
     782+#define AR2315_ISR_I2C_RSVD    0x00000002      /* I2C bus */ 
     783+#define AR2315_ISR_SPI         0x00000004      /* SPI bus */ 
     784+#define AR2315_ISR_AHB         0x00000008      /* AHB error */ 
     785+#define AR2315_ISR_APB         0x00000010      /* APB error */ 
     786+#define AR2315_ISR_TIMER       0x00000020      /* Timer */ 
     787+#define AR2315_ISR_GPIO                0x00000040      /* GPIO */ 
     788+#define AR2315_ISR_WD          0x00000080      /* Watchdog */ 
     789+#define AR2315_ISR_IR_RSVD     0x00000100      /* IR */ 
     790+ 
     791+#define AR2315_GISR_MISC       0x00000001      /* Misc */ 
     792+#define AR2315_GISR_WLAN0      0x00000002      /* WLAN0 */ 
     793+#define AR2315_GISR_MPEGTS_RSVD        0x00000004      /* MPEG-TS */ 
     794+#define AR2315_GISR_LOCALPCI   0x00000008      /* Local/PCI bus */ 
     795+#define AR2315_GISR_WMACPOLL   0x00000010 
     796+#define AR2315_GISR_TIMER      0x00000020 
     797+#define AR2315_GISR_ETHERNET   0x00000040      /* Ethernet */ 
     798+ 
     799+/* Generic timer */ 
    848800+#define AR2315_TIMER                   0x0030 
    849801+#define AR2315_RELOAD                  0x0034 
    850802+ 
     803+/* Watchdog timer */ 
    851804+#define AR2315_WDT_TIMER               0x0038 
    852805+#define AR2315_WDT_CTRL                        0x003c 
     
    856809+#define AR2315_WDT_CTRL_RESET  0x00000002      /* reset on watchdog */ 
    857810+ 
    858 +/* 
    859 + * CPU Performance Counters 
    860 + */ 
     811+/* CPU Performance Counters */ 
    861812+#define AR2315_PERFCNT0                        0x0048 
    862813+#define AR2315_PERFCNT1                        0x004c 
    863814+ 
    864 +#define AR2315_PERF0_DATAHIT   0x0001  /* Count Data Cache Hits */ 
    865 +#define AR2315_PERF0_DATAMISS  0x0002  /* Count Data Cache Misses */ 
    866 +#define AR2315_PERF0_INSTHIT   0x0004  /* Count Instruction Cache Hits */ 
    867 +#define AR2315_PERF0_INSTMISS  0x0008  /* Count Instruction Cache Misses */ 
    868 +#define AR2315_PERF0_ACTIVE    0x0010  /* Count Active Processor Cycles */ 
    869 +#define AR2315_PERF0_WBHIT     0x0020  /* Count CPU Write Buffer Hits */ 
    870 +#define AR2315_PERF0_WBMISS    0x0040  /* Count CPU Write Buffer Misses */ 
    871 + 
    872 +#define AR2315_PERF1_EB_ARDY   0x0001  /* Count EB_ARdy signal */ 
    873 +#define AR2315_PERF1_EB_AVALID 0x0002  /* Count EB_AValid signal */ 
    874 +#define AR2315_PERF1_EB_WDRDY  0x0004  /* Count EB_WDRdy signal */ 
    875 +#define AR2315_PERF1_EB_RDVAL  0x0008  /* Count EB_RdVal signal */ 
    876 +#define AR2315_PERF1_VRADDR    0x0010  /* Count valid read address cycles */ 
    877 +#define AR2315_PERF1_VWADDR    0x0020  /* Count valid write address cycles */ 
    878 +#define AR2315_PERF1_VWDATA    0x0040  /* Count valid write data cycles */ 
    879 + 
    880 +/* 
    881 + * AHB Error Reporting. 
    882 + */ 
     815+#define AR2315_PERF0_DATAHIT   0x00000001  /* Count Data Cache Hits */ 
     816+#define AR2315_PERF0_DATAMISS  0x00000002  /* Count Data Cache Misses */ 
     817+#define AR2315_PERF0_INSTHIT   0x00000004  /* Count Instruction Cache Hits */ 
     818+#define AR2315_PERF0_INSTMISS  0x00000008  /* Count Instruction Cache Misses */ 
     819+#define AR2315_PERF0_ACTIVE    0x00000010  /* Count Active Processor Cycles */ 
     820+#define AR2315_PERF0_WBHIT     0x00000020  /* Count CPU Write Buffer Hits */ 
     821+#define AR2315_PERF0_WBMISS    0x00000040  /* Count CPU Write Buffer Misses */ 
     822+ 
     823+#define AR2315_PERF1_EB_ARDY   0x00000001  /* Count EB_ARdy signal */ 
     824+#define AR2315_PERF1_EB_AVALID 0x00000002  /* Count EB_AValid signal */ 
     825+#define AR2315_PERF1_EB_WDRDY  0x00000004  /* Count EB_WDRdy signal */ 
     826+#define AR2315_PERF1_EB_RDVAL  0x00000008  /* Count EB_RdVal signal */ 
     827+#define AR2315_PERF1_VRADDR    0x00000010  /* Count valid read address cycles*/ 
     828+#define AR2315_PERF1_VWADDR    0x00000020  /* Count valid write address cycl.*/ 
     829+#define AR2315_PERF1_VWDATA    0x00000040  /* Count valid write data cycles */ 
     830+ 
     831+/* AHB Error Reporting */ 
    883832+#define AR2315_AHB_ERR0                        0x0050  /* error  */ 
    884833+#define AR2315_AHB_ERR1                        0x0054  /* haddr  */ 
     
    892841+#define AR2315_AHB_ERROR_WDT   4 /* AHB Error due to wdt instead of hresp */ 
    893842+ 
    894 +#define AR2315_PROCERR_HMAST               0x0000000f 
    895 +#define AR2315_PROCERR_HMAST_DFLT          0 
    896 +#define AR2315_PROCERR_HMAST_WMAC          1 
    897 +#define AR2315_PROCERR_HMAST_ENET          2 
    898 +#define AR2315_PROCERR_HMAST_PCIENDPT      3 
    899 +#define AR2315_PROCERR_HMAST_LOCAL         4 
    900 +#define AR2315_PROCERR_HMAST_CPU           5 
    901 +#define AR2315_PROCERR_HMAST_PCITGT        6 
    902 + 
    903 +#define AR2315_PROCERR_HMAST_S             0 
    904 +#define AR2315_PROCERR_HWRITE              0x00000010 
    905 +#define AR2315_PROCERR_HSIZE               0x00000060 
    906 +#define AR2315_PROCERR_HSIZE_S             5 
    907 +#define AR2315_PROCERR_HTRANS              0x00000180 
    908 +#define AR2315_PROCERR_HTRANS_S            7 
    909 +#define AR2315_PROCERR_HBURST              0x00000e00 
    910 +#define AR2315_PROCERR_HBURST_S            9 
    911 + 
    912 +/* 
    913 + * Clock Control 
    914 + */ 
     843+#define AR2315_PROCERR_HMAST           0x0000000f 
     844+#define AR2315_PROCERR_HMAST_DFLT      0 
     845+#define AR2315_PROCERR_HMAST_WMAC      1 
     846+#define AR2315_PROCERR_HMAST_ENET      2 
     847+#define AR2315_PROCERR_HMAST_PCIENDPT  3 
     848+#define AR2315_PROCERR_HMAST_LOCAL     4 
     849+#define AR2315_PROCERR_HMAST_CPU       5 
     850+#define AR2315_PROCERR_HMAST_PCITGT    6 
     851+#define AR2315_PROCERR_HMAST_S         0 
     852+#define AR2315_PROCERR_HWRITE          0x00000010 
     853+#define AR2315_PROCERR_HSIZE           0x00000060 
     854+#define AR2315_PROCERR_HSIZE_S         5 
     855+#define AR2315_PROCERR_HTRANS          0x00000180 
     856+#define AR2315_PROCERR_HTRANS_S                7 
     857+#define AR2315_PROCERR_HBURST          0x00000e00 
     858+#define AR2315_PROCERR_HBURST_S                9 
     859+ 
     860+/* Clock Control */ 
    915861+#define AR2315_PLLC_CTL                        0x0064 
    916862+#define AR2315_PLLV_CTL                        0x0068 
     
    945891+#define AR2315_AMBACLK_CLK_DIV_S       2 
    946892+ 
    947 +/* 
    948 + *  PCI Clock Control 
    949 + */ 
     893+/* PCI Clock Control */ 
    950894+#define AR2315_PCICLK                  0x00a4 
    951895+ 
    952 +#define AR2315_PCICLK_INPUT_M              0x3 
    953 +#define AR2315_PCICLK_INPUT_S              0 
    954 + 
    955 +#define AR2315_PCICLK_PLLC_CLKM            0 
    956 +#define AR2315_PCICLK_PLLC_CLKM1           1 
    957 +#define AR2315_PCICLK_PLLC_CLKC            2 
    958 +#define AR2315_PCICLK_REF_CLK              3 
    959 + 
    960 +#define AR2315_PCICLK_DIV_M                0xc 
    961 +#define AR2315_PCICLK_DIV_S                2 
    962 + 
    963 +#define AR2315_PCICLK_IN_FREQ              0 
    964 +#define AR2315_PCICLK_IN_FREQ_DIV_6        1 
    965 +#define AR2315_PCICLK_IN_FREQ_DIV_8        2 
    966 +#define AR2315_PCICLK_IN_FREQ_DIV_10       3 
    967 + 
    968 +/* 
    969 + * Observation Control Register 
    970 + */ 
     896+#define AR2315_PCICLK_INPUT_M          0x00000003 
     897+#define AR2315_PCICLK_INPUT_S          0 
     898+#define AR2315_PCICLK_PLLC_CLKM                0 
     899+#define AR2315_PCICLK_PLLC_CLKM1       1 
     900+#define AR2315_PCICLK_PLLC_CLKC                2 
     901+#define AR2315_PCICLK_REF_CLK          3 
     902+#define AR2315_PCICLK_DIV_M            0x0000000c 
     903+#define AR2315_PCICLK_DIV_S            2 
     904+#define AR2315_PCICLK_IN_FREQ          0 
     905+#define AR2315_PCICLK_IN_FREQ_DIV_6    1 
     906+#define AR2315_PCICLK_IN_FREQ_DIV_8    2 
     907+#define AR2315_PCICLK_IN_FREQ_DIV_10   3 
     908+ 
     909+/* Observation Control Register */ 
    971910+#define AR2315_OCR                     0x00b0 
    972911+ 
     
    975914+#define AR2315_OCR_GPIO3_RXCLR         0x00000200 
    976915+ 
    977 +/* 
    978 + *  General Clock Control 
    979 + */ 
     916+/* General Clock Control */ 
    980917+#define AR2315_MISCCLK                 0x00b4 
    981918+ 
     
    1005942+#define AR2315_LB_CONFIG               0x0000 
    1006943+ 
    1007 +#define AR2315_LBCONF_OE        0x00000001    /* =1 OE is low-true */ 
    1008 +#define AR2315_LBCONF_CS0       0x00000002    /* =1 first CS is low-true */ 
    1009 +#define AR2315_LBCONF_CS1       0x00000004    /* =1 2nd CS is low-true */ 
    1010 +#define AR2315_LBCONF_RDY       0x00000008    /* =1 RDY is low-true */ 
    1011 +#define AR2315_LBCONF_WE        0x00000010    /* =1 Write En is low-true */ 
    1012 +#define AR2315_LBCONF_WAIT      0x00000020    /* =1 WAIT is low-true */ 
    1013 +#define AR2315_LBCONF_ADS       0x00000040    /* =1 Adr Strobe is low-true */ 
    1014 +#define AR2315_LBCONF_MOT       0x00000080    /* =0 Intel, =1 Motorola */ 
    1015 +#define AR2315_LBCONF_8CS       0x00000100    /* =1 8 bits CS, 0= 16bits */ 
    1016 +#define AR2315_LBCONF_8DS       0x00000200    /* =1 8 bits Data S, 0=16bits */ 
    1017 +#define AR2315_LBCONF_ADS_EN    0x00000400    /* =1 Enable ADS */ 
    1018 +#define AR2315_LBCONF_ADR_OE    0x00000800    /* =1 Adr cap on OE, WE or DS */ 
    1019 +#define AR2315_LBCONF_ADDT_MUX  0x00001000    /* =1 Adr and Data share bus */ 
    1020 +#define AR2315_LBCONF_DATA_OE   0x00002000    /* =1 Data cap on OE, WE, DS */ 
    1021 +#define AR2315_LBCONF_16DATA    0x00004000    /* =1 Data is 16 bits wide */ 
    1022 +#define AR2315_LBCONF_SWAPDT    0x00008000    /* =1 Byte swap data */ 
    1023 +#define AR2315_LBCONF_SYNC      0x00010000    /* =1 Bus synchronous to clk */ 
    1024 +#define AR2315_LBCONF_INT       0x00020000    /* =1 Intr is low true */ 
    1025 +#define AR2315_LBCONF_INT_CTR0  0x00000000    /* GND high-Z, Vdd is high-Z */ 
    1026 +#define AR2315_LBCONF_INT_CTR1  0x00040000    /* GND drive, Vdd is high-Z */ 
    1027 +#define AR2315_LBCONF_INT_CTR2  0x00080000    /* GND high-Z, Vdd drive */ 
    1028 +#define AR2315_LBCONF_INT_CTR3  0x000C0000    /* GND drive, Vdd drive */ 
    1029 +#define AR2315_LBCONF_RDY_WAIT  0x00100000    /* =1 RDY is negative of WAIT */ 
    1030 +#define AR2315_LBCONF_INT_PULSE 0x00200000    /* =1 Interrupt is a pulse */ 
    1031 +#define AR2315_LBCONF_ENABLE    0x00400000    /* =1 Falcon respond to LB */ 
     944+#define AR2315_LBCONF_OE       0x00000001      /* =1 OE is low-true */ 
     945+#define AR2315_LBCONF_CS0      0x00000002      /* =1 first CS is low-true */ 
     946+#define AR2315_LBCONF_CS1      0x00000004      /* =1 2nd CS is low-true */ 
     947+#define AR2315_LBCONF_RDY      0x00000008      /* =1 RDY is low-true */ 
     948+#define AR2315_LBCONF_WE       0x00000010      /* =1 Write En is low-true */ 
     949+#define AR2315_LBCONF_WAIT     0x00000020      /* =1 WAIT is low-true */ 
     950+#define AR2315_LBCONF_ADS      0x00000040      /* =1 Adr Strobe is low-true */ 
     951+#define AR2315_LBCONF_MOT      0x00000080      /* =0 Intel, =1 Motorola */ 
     952+#define AR2315_LBCONF_8CS      0x00000100      /* =1 8 bits CS, 0= 16bits */ 
     953+#define AR2315_LBCONF_8DS      0x00000200      /* =1 8 bits Data S, 0=16bits */ 
     954+#define AR2315_LBCONF_ADS_EN   0x00000400      /* =1 Enable ADS */ 
     955+#define AR2315_LBCONF_ADR_OE   0x00000800      /* =1 Adr cap on OE, WE or DS */ 
     956+#define AR2315_LBCONF_ADDT_MUX 0x00001000      /* =1 Adr and Data share bus */ 
     957+#define AR2315_LBCONF_DATA_OE  0x00002000      /* =1 Data cap on OE, WE, DS */ 
     958+#define AR2315_LBCONF_16DATA   0x00004000      /* =1 Data is 16 bits wide */ 
     959+#define AR2315_LBCONF_SWAPDT   0x00008000      /* =1 Byte swap data */ 
     960+#define AR2315_LBCONF_SYNC     0x00010000      /* =1 Bus synchronous to clk */ 
     961+#define AR2315_LBCONF_INT      0x00020000      /* =1 Intr is low true */ 
     962+#define AR2315_LBCONF_INT_CTR0 0x00000000      /* GND high-Z, Vdd is high-Z */ 
     963+#define AR2315_LBCONF_INT_CTR1 0x00040000      /* GND drive, Vdd is high-Z */ 
     964+#define AR2315_LBCONF_INT_CTR2 0x00080000      /* GND high-Z, Vdd drive */ 
     965+#define AR2315_LBCONF_INT_CTR3 0x000c0000      /* GND drive, Vdd drive */ 
     966+#define AR2315_LBCONF_RDY_WAIT 0x00100000      /* =1 RDY is negative of WAIT */ 
     967+#define AR2315_LBCONF_INT_PULSE        0x00200000      /* =1 Interrupt is a pulse */ 
     968+#define AR2315_LBCONF_ENABLE   0x00400000      /* =1 Falcon respond to LB */ 
    1032969+ 
    1033970+#define AR2315_LB_CLKSEL               0x0004 
    1034971+ 
    1035 +#define AR2315_LBCLK_EXT        0x0001        /* use external clk for lb */ 
     972+#define AR2315_LBCLK_EXT       0x00000001      /* use external clk for lb */ 
    1036973+ 
    1037974+#define AR2315_LB_1MS                  0x0008 
    1038975+ 
    1039 +#define AR2315_LB1MS_MASK       0x3FFFF       /* # of AHB clk cycles in 1ms */ 
     976+#define AR2315_LB1MS_MASK      0x0003ffff      /* # of AHB clk cycles in 1ms */ 
    1040977+ 
    1041978+#define AR2315_LB_MISCCFG              0x000c 
    1042 +#define AR2315_LBM_TXD_EN       0x00000001    /* Enable TXD for fragments */ 
    1043 +#define AR2315_LBM_RX_INTEN     0x00000002    /* Enable LB ints on RX ready */ 
    1044 +#define AR2315_LBM_MBOXWR_INTEN 0x00000004    /* Enable LB ints on mbox wr */ 
    1045 +#define AR2315_LBM_MBOXRD_INTEN 0x00000008    /* Enable LB ints on mbox rd */ 
    1046 +#define AR2315_LMB_DESCSWAP_EN  0x00000010    /* Byte swap desc enable */ 
     979+ 
     980+#define AR2315_LBM_TXD_EN      0x00000001      /* Enable TXD for fragments */ 
     981+#define AR2315_LBM_RX_INTEN    0x00000002      /* Enable LB ints on RX ready */ 
     982+#define AR2315_LBM_MBOXWR_INTEN        0x00000004      /* Enable LB ints on mbox wr */ 
     983+#define AR2315_LBM_MBOXRD_INTEN        0x00000008      /* Enable LB ints on mbox rd */ 
     984+#define AR2315_LMB_DESCSWAP_EN 0x00000010      /* Byte swap desc enable */ 
    1047985+#define AR2315_LBM_TIMEOUT_M   0x00ffff80 
    1048986+#define AR2315_LBM_TIMEOUT_S   7 
    1049 +#define AR2315_LBM_PORTMUX      0x07000000 
     987+#define AR2315_LBM_PORTMUX     0x07000000 
    1050988+ 
    1051989+#define AR2315_LB_RXTSOFF              0x0010 
     
    1053991+#define AR2315_LB_TX_CHAIN_EN          0x0100 
    1054992+ 
    1055 +#define AR2315_LB_TXEN_0        0x01 
    1056 +#define AR2315_LB_TXEN_1        0x02 
    1057 +#define AR2315_LB_TXEN_2        0x04 
    1058 +#define AR2315_LB_TXEN_3        0x08 
     993+#define AR2315_LB_TXEN_0       0x00000001 
     994+#define AR2315_LB_TXEN_1       0x00000002 
     995+#define AR2315_LB_TXEN_2       0x00000004 
     996+#define AR2315_LB_TXEN_3       0x00000008 
    1059997+ 
    1060998+#define AR2315_LB_TX_CHAIN_DIS         0x0104 
     
    10631001+#define AR2315_LB_RX_CHAIN_EN          0x0400 
    10641002+ 
    1065 +#define AR2315_LB_RXEN          0x01 
     1003+#define AR2315_LB_RXEN         0x00000001 
    10661004+ 
    10671005+#define AR2315_LB_RX_CHAIN_DIS         0x0404 
     
    10941032--- /dev/null 
    10951033+++ b/arch/mips/ath25/ar5312_regs.h 
    1096 @@ -0,0 +1,223 @@ 
     1034@@ -0,0 +1,224 @@ 
    10971035+/* 
    10981036+ * This file is subject to the terms and conditions of the GNU General Public 
     
    11571095+ * Need these defines to determine true number of ethernet MACs 
    11581096+ */ 
    1159 +#define AR5312_AR5312_REV2      0x0052          /* AR5312 WMAC (AP31) */ 
    1160 +#define AR5312_AR5312_REV7      0x0057          /* AR5312 WMAC (AP30-040) */ 
    1161 +#define AR5312_AR2313_REV8      0x0058          /* AR2313 WMAC (AP43-030) */ 
     1097+#define AR5312_AR5312_REV2     0x0052          /* AR5312 WMAC (AP31) */ 
     1098+#define AR5312_AR5312_REV7     0x0057          /* AR5312 WMAC (AP30-040) */ 
     1099+#define AR5312_AR2313_REV8     0x0058          /* AR2313 WMAC (AP43-030) */ 
    11621100+ 
    11631101+/* Reset/Timer Block Address Map */ 
     
    11841122+ 
    11851123+/* AR5312_ISR register bit field definitions */ 
    1186 +#define AR5312_ISR_TIMER       0x0001 
    1187 +#define AR5312_ISR_AHBPROC     0x0002 
    1188 +#define AR5312_ISR_AHBDMA      0x0004 
    1189 +#define AR5312_ISR_GPIO                0x0008 
    1190 +#define AR5312_ISR_UART0       0x0010 
    1191 +#define AR5312_ISR_UART0DMA    0x0020 
    1192 +#define AR5312_ISR_WD          0x0040 
    1193 +#define AR5312_ISR_LOCAL       0x0080 
     1124+#define AR5312_ISR_TIMER       0x00000001 
     1125+#define AR5312_ISR_AHBPROC     0x00000002 
     1126+#define AR5312_ISR_AHBDMA      0x00000004 
     1127+#define AR5312_ISR_GPIO                0x00000008 
     1128+#define AR5312_ISR_UART0       0x00000010 
     1129+#define AR5312_ISR_UART0DMA    0x00000020 
     1130+#define AR5312_ISR_WD          0x00000040 
     1131+#define AR5312_ISR_LOCAL       0x00000080 
    11941132+ 
    11951133+/* AR5312_RESET register bit field definitions */ 
    1196 +#define AR5312_RESET_SYSTEM     0x00000001  /* cold reset full system */ 
    1197 +#define AR5312_RESET_PROC       0x00000002  /* cold reset MIPS core */ 
    1198 +#define AR5312_RESET_WLAN0      0x00000004  /* cold reset WLAN MAC and BB */ 
    1199 +#define AR5312_RESET_EPHY0      0x00000008  /* cold reset ENET0 phy */ 
    1200 +#define AR5312_RESET_EPHY1      0x00000010  /* cold reset ENET1 phy */ 
    1201 +#define AR5312_RESET_ENET0      0x00000020  /* cold reset ENET0 mac */ 
    1202 +#define AR5312_RESET_ENET1      0x00000040  /* cold reset ENET1 mac */ 
    1203 +#define AR5312_RESET_UART0      0x00000100  /* cold reset UART0 (high speed) */ 
    1204 +#define AR5312_RESET_WLAN1      0x00000200  /* cold reset WLAN MAC/BB */ 
    1205 +#define AR5312_RESET_APB        0x00000400  /* cold reset APB (ar5312) */ 
    1206 +#define AR5312_RESET_WARM_PROC  0x00001000  /* warm reset MIPS core */ 
    1207 +#define AR5312_RESET_WARM_WLAN0_MAC 0x00002000  /* warm reset WLAN0 MAC */ 
    1208 +#define AR5312_RESET_WARM_WLAN0_BB  0x00004000  /* warm reset WLAN0 BaseBand */ 
    1209 +#define AR5312_RESET_NMI        0x00010000  /* send an NMI to the processor */ 
    1210 +#define AR5312_RESET_WARM_WLAN1_MAC 0x00020000  /* warm reset WLAN1 mac */ 
    1211 +#define AR5312_RESET_WARM_WLAN1_BB  0x00040000  /* warm reset WLAN1 baseband */ 
    1212 +#define AR5312_RESET_LOCAL_BUS  0x00080000  /* reset local bus */ 
    1213 +#define AR5312_RESET_WDOG       0x00100000  /* last reset was a watchdog */ 
    1214 + 
    1215 +#define AR5312_RESET_WMAC0_BITS \ 
    1216 +       (AR5312_RESET_WLAN0 |\ 
    1217 +        AR5312_RESET_WARM_WLAN0_MAC |\ 
    1218 +        AR5312_RESET_WARM_WLAN0_BB) 
    1219 + 
    1220 +#define AR5312_RESET_WMAC1_BITS \ 
    1221 +       (AR5312_RESET_WLAN1 |\ 
    1222 +        AR5312_RESET_WARM_WLAN1_MAC |\ 
    1223 +        AR5312_RESET_WARM_WLAN1_BB) 
     1134+#define AR5312_RESET_SYSTEM            0x00000001  /* cold reset full system */ 
     1135+#define AR5312_RESET_PROC              0x00000002  /* cold reset MIPS core */ 
     1136+#define AR5312_RESET_WLAN0             0x00000004  /* cold reset WLAN MAC/BB */ 
     1137+#define AR5312_RESET_EPHY0             0x00000008  /* cold reset ENET0 phy */ 
     1138+#define AR5312_RESET_EPHY1             0x00000010  /* cold reset ENET1 phy */ 
     1139+#define AR5312_RESET_ENET0             0x00000020  /* cold reset ENET0 MAC */ 
     1140+#define AR5312_RESET_ENET1             0x00000040  /* cold reset ENET1 MAC */ 
     1141+#define AR5312_RESET_UART0             0x00000100  /* cold reset UART0 */ 
     1142+#define AR5312_RESET_WLAN1             0x00000200  /* cold reset WLAN MAC/BB */ 
     1143+#define AR5312_RESET_APB               0x00000400  /* cold reset APB ar5312 */ 
     1144+#define AR5312_RESET_WARM_PROC         0x00001000  /* warm reset MIPS core */ 
     1145+#define AR5312_RESET_WARM_WLAN0_MAC    0x00002000  /* warm reset WLAN0 MAC */ 
     1146+#define AR5312_RESET_WARM_WLAN0_BB     0x00004000  /* warm reset WLAN0 BB */ 
     1147+#define AR5312_RESET_NMI               0x00010000  /* send an NMI to the CPU */ 
     1148+#define AR5312_RESET_WARM_WLAN1_MAC    0x00020000  /* warm reset WLAN1 MAC */ 
     1149+#define AR5312_RESET_WARM_WLAN1_BB     0x00040000  /* warm reset WLAN1 BB */ 
     1150+#define AR5312_RESET_LOCAL_BUS         0x00080000  /* reset local bus */ 
     1151+#define AR5312_RESET_WDOG              0x00100000  /* last reset was a wdt */ 
     1152+ 
     1153+#define AR5312_RESET_WMAC0_BITS                (AR5312_RESET_WLAN0 |\ 
     1154+                                        AR5312_RESET_WARM_WLAN0_MAC |\ 
     1155+                                        AR5312_RESET_WARM_WLAN0_BB) 
     1156+ 
     1157+#define AR5312_RESET_WMAC1_BITS                (AR5312_RESET_WLAN1 |\ 
     1158+                                        AR5312_RESET_WARM_WLAN1_MAC |\ 
     1159+                                        AR5312_RESET_WARM_WLAN1_BB) 
    12241160+ 
    12251161+/* AR5312_CLOCKCTL1 register bit field definitions */ 
    1226 +#define AR5312_CLOCKCTL1_PREDIVIDE_MASK    0x00000030 
    1227 +#define AR5312_CLOCKCTL1_PREDIVIDE_SHIFT            4 
    1228 +#define AR5312_CLOCKCTL1_MULTIPLIER_MASK   0x00001f00 
    1229 +#define AR5312_CLOCKCTL1_MULTIPLIER_SHIFT           8 
    1230 +#define AR5312_CLOCKCTL1_DOUBLER_MASK      0x00010000 
     1162+#define AR5312_CLOCKCTL1_PREDIVIDE_MASK                0x00000030 
     1163+#define AR5312_CLOCKCTL1_PREDIVIDE_SHIFT       4 
     1164+#define AR5312_CLOCKCTL1_MULTIPLIER_MASK       0x00001f00 
     1165+#define AR5312_CLOCKCTL1_MULTIPLIER_SHIFT      8 
     1166+#define AR5312_CLOCKCTL1_DOUBLER_MASK          0x00010000 
    12311167+ 
    12321168+/* Valid for AR5312 and AR2312 */ 
    1233 +#define AR5312_CLOCKCTL1_PREDIVIDE_MASK    0x00000030 
    1234 +#define AR5312_CLOCKCTL1_PREDIVIDE_SHIFT            4 
    1235 +#define AR5312_CLOCKCTL1_MULTIPLIER_MASK   0x00001f00 
    1236 +#define AR5312_CLOCKCTL1_MULTIPLIER_SHIFT           8 
    1237 +#define AR5312_CLOCKCTL1_DOUBLER_MASK      0x00010000 
     1169+#define AR5312_CLOCKCTL1_PREDIVIDE_MASK                0x00000030 
     1170+#define AR5312_CLOCKCTL1_PREDIVIDE_SHIFT       4 
     1171+#define AR5312_CLOCKCTL1_MULTIPLIER_MASK       0x00001f00 
     1172+#define AR5312_CLOCKCTL1_MULTIPLIER_SHIFT      8 
     1173+#define AR5312_CLOCKCTL1_DOUBLER_MASK          0x00010000 
    12381174+ 
    12391175+/* Valid for AR2313 */ 
    1240 +#define AR2313_CLOCKCTL1_PREDIVIDE_MASK    0x00003000 
    1241 +#define AR2313_CLOCKCTL1_PREDIVIDE_SHIFT           12 
    1242 +#define AR2313_CLOCKCTL1_MULTIPLIER_MASK   0x001f0000 
    1243 +#define AR2313_CLOCKCTL1_MULTIPLIER_SHIFT          16 
    1244 +#define AR2313_CLOCKCTL1_DOUBLER_MASK      0x00000000 
     1176+#define AR2313_CLOCKCTL1_PREDIVIDE_MASK                0x00003000 
     1177+#define AR2313_CLOCKCTL1_PREDIVIDE_SHIFT       12 
     1178+#define AR2313_CLOCKCTL1_MULTIPLIER_MASK       0x001f0000 
     1179+#define AR2313_CLOCKCTL1_MULTIPLIER_SHIFT      16 
     1180+#define AR2313_CLOCKCTL1_DOUBLER_MASK          0x00000000 
    12451181+ 
    12461182+/* AR5312_ENABLE register bit field definitions */ 
    1247 +#define AR5312_ENABLE_WLAN0              0x0001 
    1248 +#define AR5312_ENABLE_ENET0              0x0002 
    1249 +#define AR5312_ENABLE_ENET1              0x0004 
    1250 +#define AR5312_ENABLE_UART_AND_WLAN1_PIO 0x0008   /* UART, and WLAN1 PIOs */ 
    1251 +#define AR5312_ENABLE_WLAN1_DMA          0x0010   /* WLAN1 DMAs */ 
    1252 +#define AR5312_ENABLE_WLAN1 \ 
    1253 +       (AR5312_ENABLE_UART_AND_WLAN1_PIO |\ 
    1254 +        AR5312_ENABLE_WLAN1_DMA) 
     1183+#define AR5312_ENABLE_WLAN0                    0x00000001 
     1184+#define AR5312_ENABLE_ENET0                    0x00000002 
     1185+#define AR5312_ENABLE_ENET1                    0x00000004 
     1186+#define AR5312_ENABLE_UART_AND_WLAN1_PIO       0x00000008/* UART & WLAN1 PIO */ 
     1187+#define AR5312_ENABLE_WLAN1_DMA                        0x00000010/* WLAN1 DMAs */ 
     1188+#define AR5312_ENABLE_WLAN1            (AR5312_ENABLE_UART_AND_WLAN1_PIO |\ 
     1189+                                        AR5312_ENABLE_WLAN1_DMA) 
    12551190+ 
    12561191+/* AR5312_REV register bit field definitions */ 
    1257 +#define AR5312_REV_WMAC_MAJ    0xf000 
    1258 +#define AR5312_REV_WMAC_MAJ_S  12 
    1259 +#define AR5312_REV_WMAC_MIN    0x0f00 
    1260 +#define AR5312_REV_WMAC_MIN_S  8 
    1261 +#define AR5312_REV_MAJ         0x00f0 
    1262 +#define AR5312_REV_MAJ_S       4 
    1263 +#define AR5312_REV_MIN         0x000f 
    1264 +#define AR5312_REV_MIN_S       0 
    1265 +#define AR5312_REV_CHIP        (AR5312_REV_MAJ|AR5312_REV_MIN) 
     1192+#define AR5312_REV_WMAC_MAJ    0x0000f000 
     1193+#define AR5312_REV_WMAC_MAJ_S  12 
     1194+#define AR5312_REV_WMAC_MIN    0x00000f00 
     1195+#define AR5312_REV_WMAC_MIN_S  8 
     1196+#define AR5312_REV_MAJ         0x000000f0 
     1197+#define AR5312_REV_MAJ_S       4 
     1198+#define AR5312_REV_MIN         0x0000000f 
     1199+#define AR5312_REV_MIN_S       0 
     1200+#define AR5312_REV_CHIP                (AR5312_REV_MAJ|AR5312_REV_MIN) 
    12661201+ 
    12671202+/* Major revision numbers, bits 7..4 of Revision ID register */ 
    1268 +#define AR5312_REV_MAJ_AR5312          0x4 
    1269 +#define AR5312_REV_MAJ_AR2313          0x5 
     1203+#define AR5312_REV_MAJ_AR5312          0x4 
     1204+#define AR5312_REV_MAJ_AR2313          0x5 
    12701205+ 
    12711206+/* Minor revision numbers, bits 3..0 of Revision ID register */ 
    1272 +#define AR5312_REV_MIN_DUAL     0x0     /* Dual WLAN version */ 
    1273 +#define AR5312_REV_MIN_SINGLE   0x1     /* Single WLAN version */ 
    1274 + 
    1275 +/* ARM Flash Controller -- 3 flash banks with either x8 or x16 devices.  */ 
     1207+#define AR5312_REV_MIN_DUAL            0x0     /* Dual WLAN version */ 
     1208+#define AR5312_REV_MIN_SINGLE          0x1     /* Single WLAN version */ 
     1209+ 
     1210+/* 
     1211+ * ARM Flash Controller -- 3 flash banks with either x8 or x16 devices 
     1212+ */ 
    12761213+#define AR5312_FLASHCTL0       0x0000 
    12771214+#define AR5312_FLASHCTL1       0x0004 
     
    13091246+#define AR5312_FLASHCTL_ATR4   0xc0000000      /* Access == retry every 4 */ 
    13101247+ 
    1311 +/* ARM SDRAM Controller -- just enough to determine memory size */ 
     1248+/* 
     1249+ * ARM SDRAM Controller -- just enough to determine memory size 
     1250+ */ 
    13121251+#define AR5312_MEM_CFG1                0x0004 
    13131252+ 
     
    13201259--- /dev/null 
    13211260+++ b/arch/mips/ath25/ar5312.c 
    1322 @@ -0,0 +1,396 @@ 
     1261@@ -0,0 +1,393 @@ 
    13231262+/* 
    13241263+ * This file is subject to the terms and conditions of the GNU General Public 
     
    13341273+ 
    13351274+/* 
    1336 + * Platform devices for Atheros SoCs 
     1275+ * Platform devices for Atheros AR5312 SoCs 
    13371276+ */ 
    13381277+ 
     
    16091548+static unsigned __init ar5312_cpu_frequency(void) 
    16101549+{ 
    1611 +       unsigned int scratch; 
    1612 +       unsigned int predivide_mask, predivide_shift; 
    1613 +       unsigned int multiplier_mask, multiplier_shift; 
    1614 +       unsigned int clock_ctl1, predivide_select, predivisor, multiplier; 
    1615 +       unsigned int doubler_mask; 
    1616 +       u16 devid; 
     1550+       u32 scratch, devid, clock_ctl1; 
     1551+       u32 predivide_mask, multiplier_mask, doubler_mask; 
     1552+       unsigned predivide_shift, multiplier_shift; 
     1553+       unsigned predivide_select, predivisor, multiplier; 
    16171554+ 
    16181555+       /* Trust the bootrom's idea of cpu frequency. */ 
     
    16221559+ 
    16231560+       devid = ar5312_rst_reg_read(AR5312_REV); 
    1624 +       devid &= AR5312_REV_MAJ; 
    1625 +       devid >>= AR5312_REV_MAJ_S; 
     1561+       devid = (devid & AR5312_REV_MAJ) >> AR5312_REV_MAJ_S; 
    16261562+       if (devid == AR5312_REV_MAJ_AR2313) { 
    16271563+               predivide_mask = AR2313_CLOCKCTL1_PREDIVIDE_MASK; 
     
    16451581+        *                                 flash, Timer, Watchdog Timer) 
    16461582+        * 
    1647 +        *  cnt_freq = cpu_freq / 2        (use for CPU count/compare) 
     1583+        *  cnt_freq = cpu_freq / 2       (use for CPU count/compare) 
    16481584+        * 
    16491585+        * So, for example, with a PLL multiplier of 5, we have 
     
    16621598+ 
    16631599+       if (clock_ctl1 & doubler_mask) 
    1664 +               multiplier = multiplier << 1; 
     1600+               multiplier <<= 1; 
    16651601+ 
    16661602+       return (40000000 / predivisor) * multiplier; 
     
    17191655--- /dev/null 
    17201656+++ b/arch/mips/ath25/ar2315.c 
    1721 @@ -0,0 +1,307 @@ 
     1657@@ -0,0 +1,308 @@ 
    17221658+/* 
    17231659+ * This file is subject to the terms and conditions of the GNU General Public 
     
    17331669+ 
    17341670+/* 
    1735 + * Platform devices for Atheros SoCs 
     1671+ * Platform devices for Atheros AR2315 SoCs 
    17361672+ */ 
    17371673+ 
     
    19321868+       fdiv = ATH25_REG_MS(pllc_ctrl, AR2315_PLLC_FDBACK_DIV); 
    19331869+       divby2 = ATH25_REG_MS(pllc_ctrl, AR2315_PLLC_ADD_FDBACK_DIV) + 1; 
    1934 +       pllc_out = (40000000/refdiv)*(2*divby2)*fdiv; 
     1870+       pllc_out = (40000000 / refdiv) * (2 * divby2) * fdiv; 
    19351871+ 
    19361872+       /* clkm input selected */ 
     
    19791915+       u32 config; 
    19801916+ 
     1917+       /* Detect memory size */ 
    19811918+       sdram_base = ioremap_nocache(AR2315_SDRAMCTL_BASE, 
    19821919+                                    AR2315_SDRAMCTL_SIZE); 
     
    20291966--- /dev/null 
    20301967+++ b/arch/mips/ath25/ar2315.h 
    2031 @@ -0,0 +1,36 @@ 
     1968@@ -0,0 +1,22 @@ 
    20321969+#ifndef __AR2315_H 
    20331970+#define __AR2315_H 
     
    20431980+#else 
    20441981+ 
    2045 +static inline void ar2315_arch_init_irq(void) 
    2046 +{ 
    2047 +} 
    2048 + 
    2049 +static inline void ar2315_init_devices(void) 
    2050 +{ 
    2051 +} 
    2052 + 
    2053 +static inline void ar2315_plat_time_init(void) 
    2054 +{ 
    2055 +} 
    2056 + 
    2057 +static inline void ar2315_plat_mem_setup(void) 
    2058 +{ 
    2059 +} 
    2060 + 
    2061 +static inline void ar2315_arch_init(void) 
    2062 +{ 
    2063 +} 
     1982+static inline void ar2315_arch_init_irq(void) {} 
     1983+static inline void ar2315_init_devices(void) {} 
     1984+static inline void ar2315_plat_time_init(void) {} 
     1985+static inline void ar2315_plat_mem_setup(void) {} 
     1986+static inline void ar2315_arch_init(void) {} 
    20641987+ 
    20651988+#endif 
    20661989+ 
    2067 +#endif 
     1990+#endif /* __AR2315_H */ 
    20681991--- /dev/null 
    20691992+++ b/arch/mips/ath25/ar5312.h 
    2070 @@ -0,0 +1,36 @@ 
     1993@@ -0,0 +1,22 @@ 
    20711994+#ifndef __AR5312_H 
    20721995+#define __AR5312_H 
     
    20822005+#else 
    20832006+ 
    2084 +static inline void ar5312_arch_init_irq(void) 
    2085 +{ 
    2086 +} 
    2087 + 
    2088 +static inline void ar5312_init_devices(void) 
    2089 +{ 
    2090 +} 
    2091 + 
    2092 +static inline void ar5312_plat_time_init(void) 
    2093 +{ 
    2094 +} 
    2095 + 
    2096 +static inline void ar5312_plat_mem_setup(void) 
    2097 +{ 
    2098 +} 
    2099 + 
    2100 +static inline void ar5312_arch_init(void) 
    2101 +{ 
    2102 +} 
     2007+static inline void ar5312_arch_init_irq(void) {} 
     2008+static inline void ar5312_init_devices(void) {} 
     2009+static inline void ar5312_plat_time_init(void) {} 
     2010+static inline void ar5312_plat_mem_setup(void) {} 
     2011+static inline void ar5312_arch_init(void) {} 
    21032012+ 
    21042013+#endif 
    21052014+ 
    2106 +#endif 
     2015+#endif /* __AR5312_H */ 
    21072016--- /dev/null 
    21082017+++ b/arch/mips/ath25/devices.h 
     
    21152024+#define ATH25_REG_MS(_val, _field)     (((_val) & _field##_M) >> _field##_S) 
    21162025+ 
    2117 +#define ATH25_IRQ_CPU_CLOCK    (MIPS_CPU_IRQ_BASE + 7) /* C0_CAUSE: 0x8000 */ 
     2026+#define ATH25_IRQ_CPU_CLOCK    (MIPS_CPU_IRQ_BASE + 7) /* C0_CAUSE: 0x8000 */ 
    21182027+ 
    21192028+enum ath25_soc_type { 
  • trunk/target/linux/atheros/patches-3.18/101-early-printk-support.patch

    r44730 r44731  
    11--- /dev/null 
    22+++ b/arch/mips/ath25/early_printk.c 
    3 @@ -0,0 +1,45 @@ 
     3@@ -0,0 +1,44 @@ 
    44+/* 
    55+ * This file is subject to the terms and conditions of the GNU General Public 
     
    4646+               ; 
    4747+} 
    48 + 
    4948--- a/arch/mips/ath25/Makefile 
    5049+++ b/arch/mips/ath25/Makefile 
     
    6665+       select SYS_HAS_EARLY_PRINTK 
    6766        help 
    68           Support for AR231x and AR531x based boards 
     67          Support for Atheros AR231x and Atheros AR531x based boards 
    6968  
  • trunk/target/linux/atheros/patches-3.18/105-ar2315_pci.patch

    r44730 r44731  
    526526+++ b/arch/mips/ath25/Kconfig 
    527527@@ -7,3 +7,10 @@ config SOC_AR2315 
    528         bool "Atheros 2315+ support" 
     528        bool "Atheros AR2315+ SoC support" 
    529529        depends on ATH25 
    530530        default y 
    531531+ 
    532532+config PCI_AR2315 
    533 +       bool "AR2315 PCI controller support" 
     533+       bool "Atheros AR2315 PCI controller support" 
    534534+       depends on SOC_AR2315 
    535535+       select HW_HAS_PCI 
     
    549549                do_IRQ(AR2315_IRQ_MISC); 
    550550        else if (pending & CAUSEF_IP7) 
    551 @@ -298,10 +302,62 @@ void __init ar2315_plat_mem_setup(void) 
     551@@ -299,10 +303,62 @@ void __init ar2315_plat_mem_setup(void) 
    552552        _machine_restart = ar2315_restart; 
    553553 } 
  • trunk/target/linux/atheros/patches-3.18/107-ar5312_gpio.patch

    r44730 r44731  
    33@@ -1,6 +1,7 @@ 
    44 config SOC_AR5312 
    5         bool "Atheros 5312/2312+ support" 
     5        bool "Atheros AR5312/AR2312+ SoC support" 
    66        depends on ATH25 
    77+       select GPIO_AR5312 
     
    209209+       select ARCH_REQUIRE_GPIOLIB 
    210210        help 
    211           Support for AR231x and AR531x based boards 
    212   
     211          Support for Atheros AR231x and Atheros AR531x based boards 
     212  
  • trunk/target/linux/atheros/patches-3.18/108-ar2315_gpio.patch

    r44730 r44731  
    33@@ -7,6 +7,7 @@ config SOC_AR5312 
    44 config SOC_AR2315 
    5         bool "Atheros 2315+ support" 
     5        bool "Atheros AR2315+ SoC support" 
    66        depends on ATH25 
    77+       select GPIO_AR2315 
     
    349349 #define ATH25_REG_MS(_val, _field)     (((_val) & _field##_M) >> _field##_S) 
    350350  
    351  #define ATH25_IRQ_CPU_CLOCK    (MIPS_CPU_IRQ_BASE + 7) /* C0_CAUSE: 0x8000 */ 
     351 #define ATH25_IRQ_CPU_CLOCK    (MIPS_CPU_IRQ_BASE + 7) /* C0_CAUSE: 0x8000 */ 
    352352--- a/arch/mips/ath25/ar2315_regs.h 
    353353+++ b/arch/mips/ath25/ar2315_regs.h 
    354 @@ -322,6 +322,9 @@ 
    355  #define AR2315_AMBACLK_CLK_DIV_M       0x0000000c 
    356  #define AR2315_AMBACLK_CLK_DIV_S       2 
     354@@ -315,6 +315,9 @@ 
     355 #define AR2315_MEM_CFG_BANKADDR_BITS_M 0x00000018 
     356 #define AR2315_MEM_CFG_BANKADDR_BITS_S 3 
    357357  
    358358+/* GPIO MMR base address */ 
     
    360360+ 
    361361 /* 
    362   *  PCI Clock Control 
     362  * Local Bus Interface Registers 
    363363  */ 
  • trunk/target/linux/atheros/patches-3.18/110-ar2313_ethernet.patch

    r44730 r44731  
    15421542+ 
    15431543 /* 
    1544   * Cold reset register 
     1544  * Configuration registers 
    15451545  */ 
    15461546--- a/arch/mips/ath25/ar5312_regs.h 
    15471547+++ b/arch/mips/ath25/ar5312_regs.h 
    15481548@@ -64,6 +64,10 @@ 
    1549  #define AR5312_AR5312_REV7      0x0057          /* AR5312 WMAC (AP30-040) */ 
    1550  #define AR5312_AR2313_REV8      0x0058          /* AR2313 WMAC (AP43-030) */ 
     1549 #define AR5312_AR5312_REV7     0x0057          /* AR5312 WMAC (AP30-040) */ 
     1550 #define AR5312_AR2313_REV8     0x0058          /* AR2313 WMAC (AP43-030) */ 
    15511551  
    15521552+/* MII registers offset inside Ethernet MMR region */ 
Note: See TracChangeset for help on using the changeset viewer.