source: trunk/target/linux/ar71xx/patches-3.3/601-MIPS-ath79-add-more-register-defines.patch @ 33343

Last change on this file since 33343 was 33343, checked in by juhosg, 4 years ago

ar71xx: use dynamic clock dividers on the 2nd MDIO of AR934x

File size: 9.9 KB
  • arch/mips/include/asm/mach-ath79/ar71xx_regs.h

    a b  
    2121#include <linux/bitops.h> 
    2222 
    2323#define AR71XX_APB_BASE         0x18000000 
     24#define AR71XX_GE0_BASE         0x19000000 
     25#define AR71XX_GE0_SIZE         0x10000 
     26#define AR71XX_GE1_BASE         0x1a000000 
     27#define AR71XX_GE1_SIZE         0x10000 
    2428#define AR71XX_EHCI_BASE        0x1b000000 
    2529#define AR71XX_EHCI_SIZE        0x1000 
    2630#define AR71XX_OHCI_BASE        0x1c000000 
     
    4044#define AR71XX_PLL_SIZE         0x100 
    4145#define AR71XX_RESET_BASE       (AR71XX_APB_BASE + 0x00060000) 
    4246#define AR71XX_RESET_SIZE       0x100 
     47#define AR71XX_MII_BASE         (AR71XX_APB_BASE + 0x00070000) 
     48#define AR71XX_MII_SIZE         0x100 
    4349 
    4450#define AR71XX_PCI_MEM_BASE     0x10000000 
    4551#define AR71XX_PCI_MEM_SIZE     0x07000000 
     
    8288 
    8389#define AR933X_UART_BASE        (AR71XX_APB_BASE + 0x00020000) 
    8490#define AR933X_UART_SIZE        0x14 
     91#define AR933X_GMAC_BASE        (AR71XX_APB_BASE + 0x00070000) 
     92#define AR933X_GMAC_SIZE        0x04 
    8593#define AR933X_WMAC_BASE        (AR71XX_APB_BASE + 0x00100000) 
    8694#define AR933X_WMAC_SIZE        0x20000 
    8795#define AR933X_EHCI_BASE        0x1b000000 
    8896#define AR933X_EHCI_SIZE        0x1000 
    8997 
     98#define AR934X_GMAC_BASE        (AR71XX_APB_BASE + 0x00070000) 
     99#define AR934X_GMAC_SIZE        0x14 
    90100#define AR934X_WMAC_BASE        (AR71XX_APB_BASE + 0x00100000) 
    91101#define AR934X_WMAC_SIZE        0x20000 
    92102#define AR934X_EHCI_BASE        0x1b000000 
     
    112122#define QCA955X_EHCI0_BASE      0x1b000000 
    113123#define QCA955X_EHCI1_BASE      0x1b400000 
    114124#define QCA955X_EHCI_SIZE       0x1000 
     125#define QCA955X_GMAC_BASE       (AR71XX_APB_BASE + 0x00070000) 
     126#define QCA955X_GMAC_SIZE       0x40 
    115127 
    116128/* 
    117129 * DDR_CTRL block 
     
    167179#define AR71XX_AHB_DIV_SHIFT            20 
    168180#define AR71XX_AHB_DIV_MASK             0x7 
    169181 
     182#define AR71XX_ETH0_PLL_SHIFT           17 
     183#define AR71XX_ETH1_PLL_SHIFT           19 
     184 
    170185#define AR724X_PLL_REG_CPU_CONFIG       0x00 
    171186#define AR724X_PLL_REG_PCIE_CONFIG      0x18 
    172187 
     
    179194#define AR724X_DDR_DIV_SHIFT            22 
    180195#define AR724X_DDR_DIV_MASK             0x3 
    181196 
     197#define AR7242_PLL_REG_ETH0_INT_CLOCK   0x2c 
     198 
    182199#define AR913X_PLL_REG_CPU_CONFIG       0x00 
    183200#define AR913X_PLL_REG_ETH_CONFIG       0x04 
    184201#define AR913X_PLL_REG_ETH0_INT_CLOCK   0x14 
     
    191208#define AR913X_AHB_DIV_SHIFT            19 
    192209#define AR913X_AHB_DIV_MASK             0x1 
    193210 
     211#define AR913X_ETH0_PLL_SHIFT           20 
     212#define AR913X_ETH1_PLL_SHIFT           22 
     213 
    194214#define AR933X_PLL_CPU_CONFIG_REG       0x00 
    195215#define AR933X_PLL_CLOCK_CTRL_REG       0x08 
    196216 
     
    212232#define AR934X_PLL_CPU_CONFIG_REG               0x00 
    213233#define AR934X_PLL_DDR_CONFIG_REG               0x04 
    214234#define AR934X_PLL_CPU_DDR_CLK_CTRL_REG         0x08 
     235#define AR934X_PLL_SWITCH_CLOCK_CONTROL_REG     0x24 
     236#define AR934X_PLL_ETH_XMII_CONTROL_REG         0x2c 
    215237 
    216238#define AR934X_PLL_CPU_CONFIG_NFRAC_SHIFT       0 
    217239#define AR934X_PLL_CPU_CONFIG_NFRAC_MASK        0x3f 
     
    244266#define AR934X_PLL_CPU_DDR_CLK_CTRL_DDRCLK_FROM_DDRPLL  BIT(21) 
    245267#define AR934X_PLL_CPU_DDR_CLK_CTRL_AHBCLK_FROM_DDRPLL  BIT(24) 
    246268 
     269#define AR934X_PLL_SWITCH_CLOCK_CONTROL_MDIO_CLK_SEL    BIT(6) 
     270 
    247271#define QCA955X_PLL_CPU_CONFIG_REG              0x00 
    248272#define QCA955X_PLL_DDR_CONFIG_REG              0x04 
    249273#define QCA955X_PLL_CLK_CTRL_REG                0x08 
     
    370394#define AR913X_RESET_USB_HOST           BIT(5) 
    371395#define AR913X_RESET_USB_PHY            BIT(4) 
    372396 
     397#define AR933X_RESET_GE1_MDIO           BIT(23) 
     398#define AR933X_RESET_GE0_MDIO           BIT(22) 
     399#define AR933X_RESET_GE1_MAC            BIT(13) 
    373400#define AR933X_RESET_WMAC               BIT(11) 
     401#define AR933X_RESET_GE0_MAC            BIT(9) 
    374402#define AR933X_RESET_USB_HOST           BIT(5) 
    375403#define AR933X_RESET_USB_PHY            BIT(4) 
    376404#define AR933X_RESET_USBSUS_OVERRIDE    BIT(3) 
    377405 
     406#define AR934X_RESET_HOST               BIT(31) 
     407#define AR934X_RESET_SLIC               BIT(30) 
     408#define AR934X_RESET_HDMA               BIT(29) 
     409#define AR934X_RESET_EXTERNAL           BIT(28) 
     410#define AR934X_RESET_RTC                BIT(27) 
     411#define AR934X_RESET_PCIE_EP_INT        BIT(26) 
     412#define AR934X_RESET_CHKSUM_ACC         BIT(25) 
     413#define AR934X_RESET_FULL_CHIP          BIT(24) 
     414#define AR934X_RESET_GE1_MDIO           BIT(23) 
     415#define AR934X_RESET_GE0_MDIO           BIT(22) 
     416#define AR934X_RESET_CPU_NMI            BIT(21) 
     417#define AR934X_RESET_CPU_COLD           BIT(20) 
     418#define AR934X_RESET_HOST_RESET_INT     BIT(19) 
     419#define AR934X_RESET_PCIE_EP            BIT(18) 
     420#define AR934X_RESET_UART1              BIT(17) 
     421#define AR934X_RESET_DDR                BIT(16) 
     422#define AR934X_RESET_USB_PHY_PLL_PWD_EXT BIT(15) 
     423#define AR934X_RESET_NANDF              BIT(14) 
     424#define AR934X_RESET_GE1_MAC            BIT(13) 
     425#define AR934X_RESET_ETH_SWITCH_ANALOG  BIT(12) 
    378426#define AR934X_RESET_USB_PHY_ANALOG     BIT(11) 
     427#define AR934X_RESET_HOST_DMA_INT       BIT(10) 
     428#define AR934X_RESET_GE0_MAC            BIT(9) 
     429#define AR934X_RESET_ETH_SWITCH         BIT(8) 
     430#define AR934X_RESET_PCIE_PHY           BIT(7) 
     431#define AR934X_RESET_PCIE               BIT(6) 
    379432#define AR934X_RESET_USB_HOST           BIT(5) 
    380433#define AR934X_RESET_USB_PHY            BIT(4) 
    381434#define AR934X_RESET_USBSUS_OVERRIDE    BIT(3) 
     435#define AR934X_RESET_LUT                BIT(2) 
     436#define AR934X_RESET_MBOX               BIT(1) 
     437#define AR934X_RESET_I2S                BIT(0) 
    382438 
     439#define AR933X_BOOTSTRAP_MDIO_GPIO_EN   BIT(18) 
     440#define AR933X_BOOTSTRAP_EEPBUSY        BIT(4) 
    383441#define AR933X_BOOTSTRAP_REF_CLK_40     BIT(0) 
    384442 
    385443#define AR934X_BOOTSTRAP_SW_OPTION8     BIT(23) 
     
    520578#define AR71XX_GPIO_REG_INT_ENABLE      0x24 
    521579#define AR71XX_GPIO_REG_FUNC            0x28 
    522580 
     581#define AR934X_GPIO_REG_OUT_FUNC0       0x2c 
     582#define AR934X_GPIO_REG_OUT_FUNC1       0x30 
     583#define AR934X_GPIO_REG_OUT_FUNC2       0x34 
     584#define AR934X_GPIO_REG_OUT_FUNC3       0x38 
     585#define AR934X_GPIO_REG_OUT_FUNC4       0x3c 
     586#define AR934X_GPIO_REG_OUT_FUNC5       0x40 
     587#define AR934X_GPIO_REG_FUNC            0x6c 
     588 
    523589#define AR71XX_GPIO_COUNT               16 
    524590#define AR724X_GPIO_COUNT               18 
    525591#define AR913X_GPIO_COUNT               22 
     
    548614#define AR934X_SRIF_DPLL2_OUTDIV_SHIFT  13 
    549615#define AR934X_SRIF_DPLL2_OUTDIV_MASK   0x7 
    550616 
     617#define AR71XX_GPIO_FUNC_STEREO_EN              BIT(17) 
     618#define AR71XX_GPIO_FUNC_SLIC_EN                BIT(16) 
     619#define AR71XX_GPIO_FUNC_SPI_CS2_EN             BIT(13) 
     620#define AR71XX_GPIO_FUNC_SPI_CS1_EN             BIT(12) 
     621#define AR71XX_GPIO_FUNC_UART_EN                BIT(8) 
     622#define AR71XX_GPIO_FUNC_USB_OC_EN              BIT(4) 
     623#define AR71XX_GPIO_FUNC_USB_CLK_EN             BIT(0) 
     624 
     625#define AR724X_GPIO_FUNC_GE0_MII_CLK_EN         BIT(19) 
     626#define AR724X_GPIO_FUNC_SPI_EN                 BIT(18) 
     627#define AR724X_GPIO_FUNC_SPI_CS_EN2             BIT(14) 
     628#define AR724X_GPIO_FUNC_SPI_CS_EN1             BIT(13) 
     629#define AR724X_GPIO_FUNC_CLK_OBS5_EN            BIT(12) 
     630#define AR724X_GPIO_FUNC_CLK_OBS4_EN            BIT(11) 
     631#define AR724X_GPIO_FUNC_CLK_OBS3_EN            BIT(10) 
     632#define AR724X_GPIO_FUNC_CLK_OBS2_EN            BIT(9) 
     633#define AR724X_GPIO_FUNC_CLK_OBS1_EN            BIT(8) 
     634#define AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN     BIT(7) 
     635#define AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN     BIT(6) 
     636#define AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN     BIT(5) 
     637#define AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN     BIT(4) 
     638#define AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN     BIT(3) 
     639#define AR724X_GPIO_FUNC_UART_RTS_CTS_EN        BIT(2) 
     640#define AR724X_GPIO_FUNC_UART_EN                BIT(1) 
     641#define AR724X_GPIO_FUNC_JTAG_DISABLE           BIT(0) 
     642 
     643#define AR913X_GPIO_FUNC_WMAC_LED_EN            BIT(22) 
     644#define AR913X_GPIO_FUNC_EXP_PORT_CS_EN         BIT(21) 
     645#define AR913X_GPIO_FUNC_I2S_REFCLKEN           BIT(20) 
     646#define AR913X_GPIO_FUNC_I2S_MCKEN              BIT(19) 
     647#define AR913X_GPIO_FUNC_I2S1_EN                BIT(18) 
     648#define AR913X_GPIO_FUNC_I2S0_EN                BIT(17) 
     649#define AR913X_GPIO_FUNC_SLIC_EN                BIT(16) 
     650#define AR913X_GPIO_FUNC_UART_RTSCTS_EN         BIT(9) 
     651#define AR913X_GPIO_FUNC_UART_EN                BIT(8) 
     652#define AR913X_GPIO_FUNC_USB_CLK_EN             BIT(4) 
     653 
     654#define AR933X_GPIO_FUNC_SPDIF2TCK              BIT(31) 
     655#define AR933X_GPIO_FUNC_SPDIF_EN               BIT(30) 
     656#define AR933X_GPIO_FUNC_I2SO_22_18_EN          BIT(29) 
     657#define AR933X_GPIO_FUNC_I2S_MCK_EN             BIT(27) 
     658#define AR933X_GPIO_FUNC_I2SO_EN                BIT(26) 
     659#define AR933X_GPIO_FUNC_ETH_SWITCH_LED_DUPL    BIT(25) 
     660#define AR933X_GPIO_FUNC_ETH_SWITCH_LED_COLL    BIT(24) 
     661#define AR933X_GPIO_FUNC_ETH_SWITCH_LED_ACT     BIT(23) 
     662#define AR933X_GPIO_FUNC_SPI_EN                 BIT(18) 
     663#define AR933X_GPIO_FUNC_SPI_CS_EN2             BIT(14) 
     664#define AR933X_GPIO_FUNC_SPI_CS_EN1             BIT(13) 
     665#define AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN     BIT(7) 
     666#define AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN     BIT(6) 
     667#define AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN     BIT(5) 
     668#define AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN     BIT(4) 
     669#define AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN     BIT(3) 
     670#define AR933X_GPIO_FUNC_UART_RTS_CTS_EN        BIT(2) 
     671#define AR933X_GPIO_FUNC_UART_EN                BIT(1) 
     672#define AR933X_GPIO_FUNC_JTAG_DISABLE           BIT(0) 
     673 
     674#define AR934X_GPIO_FUNC_DDR_DQOE_EN    BIT(17) 
     675#define AR934X_GPIO_FUNC_SPI_CS_1_EN    BIT(14) 
     676#define AR934X_GPIO_FUNC_SPI_CS_0_EN    BIT(13) 
     677 
     678#define AR934X_GPIO_OUT_GPIO            0x00 
     679 
     680/* 
     681 * MII_CTRL block 
     682 */ 
     683#define AR71XX_MII_REG_MII0_CTRL        0x00 
     684#define AR71XX_MII_REG_MII1_CTRL        0x04 
     685 
     686#define AR71XX_MII_CTRL_IF_MASK         3 
     687#define AR71XX_MII_CTRL_SPEED_SHIFT     4 
     688#define AR71XX_MII_CTRL_SPEED_MASK      3 
     689#define AR71XX_MII_CTRL_SPEED_10        0 
     690#define AR71XX_MII_CTRL_SPEED_100       1 
     691#define AR71XX_MII_CTRL_SPEED_1000      2 
     692 
     693#define AR71XX_MII0_CTRL_IF_GMII        0 
     694#define AR71XX_MII0_CTRL_IF_MII         1 
     695#define AR71XX_MII0_CTRL_IF_RGMII       2 
     696#define AR71XX_MII0_CTRL_IF_RMII        3 
     697 
     698#define AR71XX_MII1_CTRL_IF_RGMII       0 
     699#define AR71XX_MII1_CTRL_IF_RMII        1 
     700 
     701/* 
     702 * AR933X GMAC interface 
     703 */ 
     704#define AR933X_GMAC_REG_ETH_CFG         0x00 
     705 
     706#define AR933X_ETH_CFG_RGMII_GE0        BIT(0) 
     707#define AR933X_ETH_CFG_MII_GE0          BIT(1) 
     708#define AR933X_ETH_CFG_GMII_GE0         BIT(2) 
     709#define AR933X_ETH_CFG_MII_GE0_MASTER   BIT(3) 
     710#define AR933X_ETH_CFG_MII_GE0_SLAVE    BIT(4) 
     711#define AR933X_ETH_CFG_MII_GE0_ERR_EN   BIT(5) 
     712#define AR933X_ETH_CFG_SW_PHY_SWAP      BIT(7) 
     713#define AR933X_ETH_CFG_SW_PHY_ADDR_SWAP BIT(8) 
     714#define AR933X_ETH_CFG_RMII_GE0         BIT(9) 
     715#define AR933X_ETH_CFG_RMII_GE0_SPD_10  0 
     716#define AR933X_ETH_CFG_RMII_GE0_SPD_100 BIT(10) 
     717 
     718/* 
     719 * AR934X GMAC Interface 
     720 */ 
     721#define AR934X_GMAC_REG_ETH_CFG         0x00 
     722 
     723#define AR934X_ETH_CFG_RGMII_GMAC0      BIT(0) 
     724#define AR934X_ETH_CFG_MII_GMAC0        BIT(1) 
     725#define AR934X_ETH_CFG_GMII_GMAC0       BIT(2) 
     726#define AR934X_ETH_CFG_MII_GMAC0_MASTER BIT(3) 
     727#define AR934X_ETH_CFG_MII_GMAC0_SLAVE  BIT(4) 
     728#define AR934X_ETH_CFG_MII_GMAC0_ERR_EN BIT(5) 
     729#define AR934X_ETH_CFG_SW_ONLY_MODE     BIT(6) 
     730#define AR934X_ETH_CFG_SW_PHY_SWAP      BIT(7) 
     731#define AR934X_ETH_CFG_SW_APB_ACCESS    BIT(9) 
     732#define AR934X_ETH_CFG_RMII_GMAC0       BIT(10) 
     733#define AR933X_ETH_CFG_MII_CNTL_SPEED   BIT(11) 
     734#define AR934X_ETH_CFG_RMII_GMAC0_MASTER BIT(12) 
     735#define AR933X_ETH_CFG_SW_ACC_MSB_FIRST BIT(13) 
     736 
     737/* 
     738 * QCA955X GMAC Interface 
     739 */ 
     740 
     741#define QCA955X_GMAC_REG_ETH_CFG        0x00 
     742 
     743#define QCA955X_ETH_CFG_RGMII_GMAC0     BIT(0) 
     744#define QCA955X_ETH_CFG_SGMII_GMAC0     BIT(6) 
     745 
    551746#endif /* __ASM_MACH_AR71XX_REGS_H */ 
Note: See TracBrowser for help on using the repository browser.