⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ar531x.h

📁 atheros ar531x watchdog driver
💻 H
📖 第 1 页 / 共 4 页
字号:
                                        /* write 1 to clear all bits in ERR0     */#define AHB_ERROR_OVR               2   /* AHB Error overflow has been detected  */#define AHB_ERROR_WDT               4   /* AHB Error due to wdt instead of hresp */#define PROCERR_HMAST               0x0000000f#define PROCERR_HMAST_DFLT          0#define PROCERR_HMAST_WMAC          1#define PROCERR_HMAST_ENET          2#define PROCERR_HMAST_PCIENDPT      3#define PROCERR_HMAST_LOCAL         4#define PROCERR_HMAST_CPU           5#define PROCERR_HMAST_PCITGT        6                                    #define PROCERR_HMAST_S             0#define PROCERR_HWRITE              0x00000010#define PROCERR_HSIZE               0x00000060#define PROCERR_HSIZE_S             5#define PROCERR_HTRANS              0x00000180#define PROCERR_HTRANS_S            7#define PROCERR_HBURST              0x00000e00#define PROCERR_HBURST_S            9/* * Clock Control */#define AR531XPLUS_PLLC_CTL         (AR531XPLUS_DSLBASE + 0x0064)#define AR531XPLUS_PLLV_CTL         (AR531XPLUS_DSLBASE + 0x0068)#define AR531XPLUS_CPUCLK           (AR531XPLUS_DSLBASE + 0x006c)#define AR531XPLUS_AMBACLK          (AR531XPLUS_DSLBASE + 0x0070)#define AR531XPLUS_SYNCCLK          (AR531XPLUS_DSLBASE + 0x0074)#define AR531XPLUS_DSL_SLEEP_CTL    (AR531XPLUS_DSLBASE + 0x0080)#define AR531XPLUS_DSL_SLEEP_DUR    (AR531XPLUS_DSLBASE + 0x0084)/* PLLc Control fields */#define PLLC_REF_DIV_M              0x00000003#define PLLC_REF_DIV_S              0#define PLLC_FDBACK_DIV_M           0x0000007C#define PLLC_FDBACK_DIV_S           2#define PLLC_ADD_FDBACK_DIV_M       0x00000080#define PLLC_ADD_FDBACK_DIV_S       7#define PLLC_CLKC_DIV_M             0x0001c000#define PLLC_CLKC_DIV_S             14#define PLLC_CLKM_DIV_M             0x00700000#define PLLC_CLKM_DIV_S             20/* CPU CLK Control fields */#define CPUCLK_CLK_SEL_M            0x00000003#define CPUCLK_CLK_SEL_S            0#define CPUCLK_CLK_DIV_M            0x0000000c#define CPUCLK_CLK_DIV_S            2/* AMBA CLK Control fields */#define AMBACLK_CLK_SEL_M           0x00000003#define AMBACLK_CLK_SEL_S           0#define AMBACLK_CLK_DIV_M           0x0000000c#define AMBACLK_CLK_DIV_S           2#if defined(COBRA_EMUL)#define AR531XPLUS_AMBA_CLOCK_RATE  20000000#define AR531XPLUS_CPU_CLOCK_RATE   40000000#else#if defined(DEFAULT_PLL)#define AR531XPLUS_AMBA_CLOCK_RATE  40000000#define AR531XPLUS_CPU_CLOCK_RATE   40000000#else#define AR531XPLUS_AMBA_CLOCK_RATE  92000000#define AR531XPLUS_CPU_CLOCK_RATE   184000000#endif /* ! DEFAULT_PLL */#endif /* ! COBRA_EMUL */#define AR531XPLUS_UART_CLOCK_RATE  AR531XPLUS_AMBA_CLOCK_RATE#define AR531XPLUS_SDRAM_CLOCK_RATE AR531XPLUS_AMBA_CLOCK_RATE/* * The UART computes baud rate as: *   baud = clock / (16 * divisor) * where divisor is specified as a High Byte (DLM) and a Low Byte (DLL). */#define DESIRED_BAUD_RATE           38400/* * The WATCHDOG value is computed as *  10 seconds * AR531X_WATCHDOG_CLOCK_RATE */#define DESIRED_WATCHDOG_SECONDS    10#define AR531X_WATCHDOG_TIME \        (DESIRED_WATCHDOG_SECONDS * AR531X_WATCHDOG_CLOCK_RATE)#define CLOCKCTL_UART0  0x0010  /* enable UART0 external clock */ /* * Applicable "PCICFG" bits for WLAN(s).  Assoc status and LED mode. */#define AR531X_PCICFG               (AR531X_RESETTMR + 0x00b0)#define ASSOC_STATUS_M              0x00000003#define ASSOC_STATUS_NONE           0#define ASSOC_STATUS_PENDING        1   #define ASSOC_STATUS_ASSOCIATED     2#define LED_MODE_M                  0x0000001c#define LED_BLINK_THRESHOLD_M       0x000000e0#define LED_SLOW_BLINK_MODE         0x00000100/* * GPIO */#define AR531XPLUS_GPIO_DI          (AR531XPLUS_DSLBASE + 0x0088)#define AR531XPLUS_GPIO_DO          (AR531XPLUS_DSLBASE + 0x0090)#define AR531XPLUS_GPIO_CR          (AR531XPLUS_DSLBASE + 0x0098)#define AR531XPLUS_GPIO_INT         (AR531XPLUS_DSLBASE + 0x00a0)#define GPIO_CR_M(x)                (1 << (x))                  /* mask for i/o */#define GPIO_CR_O(x)                (1 << (x))                  /* output */#define GPIO_CR_I(x)                (0 << (x))                  /* input */#define GPIO_INT(x,Y)               ((x) << (8 * (Y)))          /* interrupt enable */#define GPIO_INT_M(Y)               ((0x3F) << (8 * (Y)))       /* mask for int */#define GPIO_INT_LVL(x,Y)           ((x) << (8 * (Y) + 6))      /* interrupt level */#define GPIO_INT_LVL_M(Y)           ((0x3) << (8 * (Y) + 6))    /* mask for int level */#define AR531XPLUS_RESET_GPIO       5#define AR531XPLUS_NUM_GPIO         22    /*  *  PCI Clock Control */      #define AR531XPLUS_PCICLK           (AR531XPLUS_DSLBASE + 0x00a4)#define PCICLK_INPUT_M              0x3#define PCICLK_INPUT_S              0                         #define PCICLK_PLLC_CLKM            0#define PCICLK_PLLC_CLKM1           1#define PCICLK_PLLC_CLKC            2#define PCICLK_REF_CLK              3 #define PCICLK_DIV_M                0xc#define PCICLK_DIV_S                2                         #define PCICLK_IN_FREQ              0#define PCICLK_IN_FREQ_DIV_6        1#define PCICLK_IN_FREQ_DIV_8        2#define PCICLK_IN_FREQ_DIV_10       3 /* * Observation Control Register */#define AR531XPLUS_OCR              (AR531XPLUS_DSLBASE + 0x00b0)#define OCR_GPIO0_IRIN              0x0040#define OCR_GPIO1_IROUT             0x0080#define OCR_GPIO3_RXCLR             0x0200/*  *  General Clock Control */      #define AR531XPLUS_MISCCLK          (AR531XPLUS_DSLBASE + 0x00b4)#define MISCCLK_PLLBYPASS_EN        0x00000001#define MISCCLK_PROCREFCLK          0x00000002/* * SDRAM Controller *   - No read or write buffers are included. */#define AR531XPLUS_MEM_CFG          (AR531XPLUS_SDRAMCTL + 0x00)#define AR531XPLUS_MEM_CTRL         (AR531XPLUS_SDRAMCTL + 0x0c)#define AR531XPLUS_MEM_REF          (AR531XPLUS_SDRAMCTL + 0x10)#define SDRAM_DATA_WIDTH_M          0x00006000#define SDRAM_DATA_WIDTH_S          13#define SDRAM_COL_WIDTH_M           0x00001E00#define SDRAM_COL_WIDTH_S           9#define SDRAM_ROW_WIDTH_M           0x000001E0#define SDRAM_ROW_WIDTH_S           5#define SDRAM_BANKADDR_BITS_M       0x00000018#define SDRAM_BANKADDR_BITS_S       3/* * SDRAM Memory Refresh (MEM_REF) value is computed as: * MEMCTL_SREFR = (Tr * hclk_freq) / R * where Tr is max. time of refresh of any single row * R is number of rows in the DRAM * For most 133MHz SDRAM parts, Tr=64ms, R=4096 or 8192 */#if defined(COBRA_EMUL)#define AR531XPLUS_SDRAM_MEMORY_REFRESH_VALUE  0x96#else #if defined(DEFAULT_PLL)#define AR531XPLUS_SDRAM_MEMORY_REFRESH_VALUE  0x200#else#define AR531XPLUS_SDRAM_MEMORY_REFRESH_VALUE  0x61a#endif /* ! DEFAULT_PLL */#endif #if defined(AR531XPLUS)#define AR531XPLUS_SDRAM_DDR_SDRAM      0   /* Not DDR SDRAM */#define AR531XPLUS_SDRAM_DATA_WIDTH     16  /* bits */   #define AR531XPLUS_SDRAM_COL_WIDTH      8#define AR531XPLUS_SDRAM_ROW_WIDTH      12#else#define AR531XPLUS_SDRAM_DDR_SDRAM      0   /* Not DDR SDRAM */#define AR531XPLUS_SDRAM_DATA_WIDTH     16#define AR531XPLUS_SDRAM_COL_WIDTH      8#define AR531XPLUS_SDRAM_ROW_WIDTH      12#endif /* ! AR531XPLUS *//* * SPI Flash Interface Registers */#define AR531XPLUS_SPI_CTL      (AR531XPLUS_SPI + 0x00)#define AR531XPLUS_SPI_OPCODE   (AR531XPLUS_SPI + 0x04)#define AR531XPLUS_SPI_DATA     (AR531XPLUS_SPI + 0x08)#define SPI_CTL_START           0x00000100#define SPI_CTL_BUSY            0x00010000#define SPI_CTL_TXCNT_MASK      0x0000000f#define SPI_CTL_RXCNT_MASK      0x000000f0#define SPI_CTL_TX_RX_CNT_MASK  0x000000ff#define SPI_CTL_SIZE_MASK       0x00060000#define SPI_CTL_CLK_SEL_MASK    0x03000000#define SPI_OPCODE_MASK         0x000000ff/*  * PCI-MAC Configuration registers  */#define PCI_MAC_RC              (AR531XPLUS_PCI + 0x4000) #define PCI_MAC_SCR             (AR531XPLUS_PCI + 0x4004)#define PCI_MAC_INTPEND         (AR531XPLUS_PCI + 0x4008)#define PCI_MAC_SFR             (AR531XPLUS_PCI + 0x400C)#define PCI_MAC_PCICFG          (AR531XPLUS_PCI + 0x4010)#define PCI_MAC_SREV            (AR531XPLUS_PCI + 0x4020)#define PCI_MAC_RC_MAC          0x00000001#define PCI_MAC_RC_BB           0x00000002#define PCI_MAC_SCR_SLMODE_M    0x00030000#define PCI_MAC_SCR_SLMODE_S    16        #define PCI_MAC_SCR_SLM_FWAKE   0         #define PCI_MAC_SCR_SLM_FSLEEP  1         #define PCI_MAC_SCR_SLM_NORMAL  2         #define PCI_MAC_SFR_SLEEP       0x00000001#define PCI_MAC_PCICFG_SPWR_DN  0x00010000 /* * PCI Bus Interface Registers */#define AR531XPLUS_PCI_1MS_REG      (AR531XPLUS_PCI + 0x0008)#define AR531XPLUS_PCI_1MS_MASK     0x3FFFF         /* # of AHB clk cycles in 1ms */#define AR531XPLUS_PCI_MISC_CONFIG  (AR531XPLUS_PCI + 0x000c)#define AR531XPLUS_PCIMISC_TXD_EN   0x00000001      /* Enable TXD for fragments */#define AR531XPLUS_PCIMISC_CFG_SEL  0x00000002      /* mem or config cycles */#define AR531XPLUS_PCIMISC_GIG_MASK 0x0000000C      /* bits 31-30 for pci req */#define AR531XPLUS_PCIMISC_RST_MODE 0x00000030#define AR531XPLUS_PCIRST_INPUT     0x00000000      /* 4:5=0 rst is input */#define AR531XPLUS_PCIRST_LOW       0x00000010      /* 4:5=1 rst to GND */#define AR531XPLUS_PCIRST_HIGH      0x00000020      /* 4:5=2 rst to VDD */#define AR531XPLUS_PCIGRANT_EN      0x00000000      /* 6:7=0 early grant en */#define AR531XPLUS_PCIGRANT_FRAME   0x00000040      /* 6:7=1 grant waits 4 frame */#define AR531XPLUS_PCIGRANT_IDLE    0x00000080      /* 6:7=2 grant waits 4 idle */#define AR531XPLUS_PCIGRANT_GAP     0x00000000      /* 6:7=2 grant waits 4 idle */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -