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

Last change on this file since 30410 was 30410, checked in by juhosg, 5 years ago

ar71xx: add preliminary support for 3.3

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

    a b  
    2020#include <linux/io.h> 
    2121#include <linux/bitops.h> 
    2222 
     23#define AR71XX_PCI_MEM_BASE     0x10000000 
     24#define AR71XX_PCI_MEM_SIZE     0x08000000 
    2325#define AR71XX_APB_BASE         0x18000000 
     26#define AR71XX_GE0_BASE         0x19000000 
     27#define AR71XX_GE0_SIZE         0x10000 
     28#define AR71XX_GE1_BASE         0x1a000000 
     29#define AR71XX_GE1_SIZE         0x10000 
    2430#define AR71XX_EHCI_BASE        0x1b000000 
    2531#define AR71XX_EHCI_SIZE        0x1000 
    2632#define AR71XX_OHCI_BASE        0x1c000000 
     
    4046#define AR71XX_PLL_SIZE         0x100 
    4147#define AR71XX_RESET_BASE       (AR71XX_APB_BASE + 0x00060000) 
    4248#define AR71XX_RESET_SIZE       0x100 
     49#define AR71XX_MII_BASE         (AR71XX_APB_BASE + 0x00070000) 
     50#define AR71XX_MII_SIZE         0x100 
    4351 
    4452#define AR7240_USB_CTRL_BASE    (AR71XX_APB_BASE + 0x00030000) 
    4553#define AR7240_USB_CTRL_SIZE    0x100 
     
    5664 
    5765#define AR933X_UART_BASE        (AR71XX_APB_BASE + 0x00020000) 
    5866#define AR933X_UART_SIZE        0x14 
     67#define AR933X_GMAC_BASE        (AR71XX_APB_BASE + 0x00070000) 
     68#define AR933X_GMAC_SIZE        0x04 
    5969#define AR933X_WMAC_BASE        (AR71XX_APB_BASE + 0x00100000) 
    6070#define AR933X_WMAC_SIZE        0x20000 
    6171#define AR933X_EHCI_BASE        0x1b000000 
    6272#define AR933X_EHCI_SIZE        0x1000 
    6373 
     74#define AR934X_GMAC_BASE        (AR71XX_APB_BASE + 0x00070000) 
     75#define AR934X_GMAC_SIZE        0x14 
    6476#define AR934X_WMAC_BASE        (AR71XX_APB_BASE + 0x00100000) 
    6577#define AR934X_WMAC_SIZE        0x20000 
    6678#define AR934X_EHCI_BASE        0x1b000000 
     
    120132#define AR71XX_AHB_DIV_SHIFT            20 
    121133#define AR71XX_AHB_DIV_MASK             0x7 
    122134 
     135#define AR71XX_ETH0_PLL_SHIFT           17 
     136#define AR71XX_ETH1_PLL_SHIFT           19 
     137 
    123138#define AR724X_PLL_REG_CPU_CONFIG       0x00 
    124139#define AR724X_PLL_REG_PCIE_CONFIG      0x18 
    125140 
     
    132147#define AR724X_DDR_DIV_SHIFT            22 
    133148#define AR724X_DDR_DIV_MASK             0x3 
    134149 
     150#define AR7242_PLL_REG_ETH0_INT_CLOCK   0x2c 
     151 
    135152#define AR913X_PLL_REG_CPU_CONFIG       0x00 
    136153#define AR913X_PLL_REG_ETH_CONFIG       0x04 
    137154#define AR913X_PLL_REG_ETH0_INT_CLOCK   0x14 
     
    144161#define AR913X_AHB_DIV_SHIFT            19 
    145162#define AR913X_AHB_DIV_MASK             0x1 
    146163 
     164#define AR913X_ETH0_PLL_SHIFT           20 
     165#define AR913X_ETH1_PLL_SHIFT           22 
     166 
    147167#define AR933X_PLL_CPU_CONFIG_REG       0x00 
    148168#define AR933X_PLL_CLOCK_CTRL_REG       0x08 
    149169 
     
    285305#define AR913X_RESET_USB_HOST           BIT(5) 
    286306#define AR913X_RESET_USB_PHY            BIT(4) 
    287307 
     308#define AR933X_RESET_GE1_MDIO           BIT(23) 
     309#define AR933X_RESET_GE0_MDIO           BIT(22) 
     310#define AR933X_RESET_GE1_MAC            BIT(13) 
    288311#define AR933X_RESET_WMAC               BIT(11) 
     312#define AR933X_RESET_GE0_MAC            BIT(9) 
    289313#define AR933X_RESET_USB_HOST           BIT(5) 
    290314#define AR933X_RESET_USB_PHY            BIT(4) 
    291315#define AR933X_RESET_USBSUS_OVERRIDE    BIT(3) 
     
    323347#define AR934X_RESET_MBOX               BIT(1) 
    324348#define AR934X_RESET_I2S                BIT(0) 
    325349 
     350#define AR933X_BOOTSTRAP_MDIO_GPIO_EN   BIT(18) 
     351#define AR933X_BOOTSTRAP_EEPBUSY        BIT(4) 
    326352#define AR933X_BOOTSTRAP_REF_CLK_40     BIT(0) 
    327353 
    328354#define AR934X_BOOTSTRAP_SW_OPTION8     BIT(23) 
     
    427453#define AR71XX_GPIO_REG_INT_ENABLE      0x24 
    428454#define AR71XX_GPIO_REG_FUNC            0x28 
    429455 
     456#define AR934X_GPIO_REG_OUT_FUNC0       0x2c 
     457#define AR934X_GPIO_REG_OUT_FUNC1       0x30 
     458#define AR934X_GPIO_REG_OUT_FUNC2       0x34 
     459#define AR934X_GPIO_REG_OUT_FUNC3       0x38 
     460#define AR934X_GPIO_REG_OUT_FUNC4       0x3c 
     461#define AR934X_GPIO_REG_OUT_FUNC5       0x40 
     462#define AR934X_GPIO_REG_FUNC            0x6c 
     463 
    430464#define AR71XX_GPIO_COUNT               16 
    431465#define AR7240_GPIO_COUNT               18 
    432466#define AR7241_GPIO_COUNT               20 
     
    434468#define AR933X_GPIO_COUNT               30 
    435469#define AR934X_GPIO_COUNT               23 
    436470 
     471#define AR71XX_GPIO_FUNC_STEREO_EN              BIT(17) 
     472#define AR71XX_GPIO_FUNC_SLIC_EN                BIT(16) 
     473#define AR71XX_GPIO_FUNC_SPI_CS2_EN             BIT(13) 
     474#define AR71XX_GPIO_FUNC_SPI_CS1_EN             BIT(12) 
     475#define AR71XX_GPIO_FUNC_UART_EN                BIT(8) 
     476#define AR71XX_GPIO_FUNC_USB_OC_EN              BIT(4) 
     477#define AR71XX_GPIO_FUNC_USB_CLK_EN             BIT(0) 
     478 
     479#define AR724X_GPIO_FUNC_GE0_MII_CLK_EN         BIT(19) 
     480#define AR724X_GPIO_FUNC_SPI_EN                 BIT(18) 
     481#define AR724X_GPIO_FUNC_SPI_CS_EN2             BIT(14) 
     482#define AR724X_GPIO_FUNC_SPI_CS_EN1             BIT(13) 
     483#define AR724X_GPIO_FUNC_CLK_OBS5_EN            BIT(12) 
     484#define AR724X_GPIO_FUNC_CLK_OBS4_EN            BIT(11) 
     485#define AR724X_GPIO_FUNC_CLK_OBS3_EN            BIT(10) 
     486#define AR724X_GPIO_FUNC_CLK_OBS2_EN            BIT(9) 
     487#define AR724X_GPIO_FUNC_CLK_OBS1_EN            BIT(8) 
     488#define AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN     BIT(7) 
     489#define AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN     BIT(6) 
     490#define AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN     BIT(5) 
     491#define AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN     BIT(4) 
     492#define AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN     BIT(3) 
     493#define AR724X_GPIO_FUNC_UART_RTS_CTS_EN        BIT(2) 
     494#define AR724X_GPIO_FUNC_UART_EN                BIT(1) 
     495#define AR724X_GPIO_FUNC_JTAG_DISABLE           BIT(0) 
     496 
     497#define AR913X_GPIO_FUNC_WMAC_LED_EN            BIT(22) 
     498#define AR913X_GPIO_FUNC_EXP_PORT_CS_EN         BIT(21) 
     499#define AR913X_GPIO_FUNC_I2S_REFCLKEN           BIT(20) 
     500#define AR913X_GPIO_FUNC_I2S_MCKEN              BIT(19) 
     501#define AR913X_GPIO_FUNC_I2S1_EN                BIT(18) 
     502#define AR913X_GPIO_FUNC_I2S0_EN                BIT(17) 
     503#define AR913X_GPIO_FUNC_SLIC_EN                BIT(16) 
     504#define AR913X_GPIO_FUNC_UART_RTSCTS_EN         BIT(9) 
     505#define AR913X_GPIO_FUNC_UART_EN                BIT(8) 
     506#define AR913X_GPIO_FUNC_USB_CLK_EN             BIT(4) 
     507 
     508#define AR933X_GPIO_FUNC_SPDIF2TCK              BIT(31) 
     509#define AR933X_GPIO_FUNC_SPDIF_EN               BIT(30) 
     510#define AR933X_GPIO_FUNC_I2SO_22_18_EN          BIT(29) 
     511#define AR933X_GPIO_FUNC_I2S_MCK_EN             BIT(27) 
     512#define AR933X_GPIO_FUNC_I2SO_EN                BIT(26) 
     513#define AR933X_GPIO_FUNC_ETH_SWITCH_LED_DUPL    BIT(25) 
     514#define AR933X_GPIO_FUNC_ETH_SWITCH_LED_COLL    BIT(24) 
     515#define AR933X_GPIO_FUNC_ETH_SWITCH_LED_ACT     BIT(23) 
     516#define AR933X_GPIO_FUNC_SPI_EN                 BIT(18) 
     517#define AR933X_GPIO_FUNC_SPI_CS_EN2             BIT(14) 
     518#define AR933X_GPIO_FUNC_SPI_CS_EN1             BIT(13) 
     519#define AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN     BIT(7) 
     520#define AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN     BIT(6) 
     521#define AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN     BIT(5) 
     522#define AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN     BIT(4) 
     523#define AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN     BIT(3) 
     524#define AR933X_GPIO_FUNC_UART_RTS_CTS_EN        BIT(2) 
     525#define AR933X_GPIO_FUNC_UART_EN                BIT(1) 
     526#define AR933X_GPIO_FUNC_JTAG_DISABLE           BIT(0) 
     527 
     528#define AR934X_GPIO_FUNC_DDR_DQOE_EN    BIT(17) 
     529#define AR934X_GPIO_FUNC_SPI_CS_1_EN    BIT(14) 
     530#define AR934X_GPIO_FUNC_SPI_CS_0_EN    BIT(13) 
     531 
     532#define AR934X_GPIO_OUT_GPIO            0x00 
     533 
     534/* 
     535 * MII_CTRL block 
     536 */ 
     537#define AR71XX_MII_REG_MII0_CTRL        0x00 
     538#define AR71XX_MII_REG_MII1_CTRL        0x04 
     539 
     540#define AR71XX_MII_CTRL_IF_MASK         3 
     541#define AR71XX_MII_CTRL_SPEED_SHIFT     4 
     542#define AR71XX_MII_CTRL_SPEED_MASK      3 
     543#define AR71XX_MII_CTRL_SPEED_10        0 
     544#define AR71XX_MII_CTRL_SPEED_100       1 
     545#define AR71XX_MII_CTRL_SPEED_1000      2 
     546 
     547#define AR71XX_MII0_CTRL_IF_GMII        0 
     548#define AR71XX_MII0_CTRL_IF_MII         1 
     549#define AR71XX_MII0_CTRL_IF_RGMII       2 
     550#define AR71XX_MII0_CTRL_IF_RMII        3 
     551 
     552#define AR71XX_MII1_CTRL_IF_RGMII       0 
     553#define AR71XX_MII1_CTRL_IF_RMII        1 
     554 
     555/* 
     556 * AR933X GMAC interface 
     557 */ 
     558#define AR933X_GMAC_REG_ETH_CFG         0x00 
     559 
     560#define AR933X_ETH_CFG_RGMII_GE0        BIT(0) 
     561#define AR933X_ETH_CFG_MII_GE0          BIT(1) 
     562#define AR933X_ETH_CFG_GMII_GE0         BIT(2) 
     563#define AR933X_ETH_CFG_MII_GE0_MASTER   BIT(3) 
     564#define AR933X_ETH_CFG_MII_GE0_SLAVE    BIT(4) 
     565#define AR933X_ETH_CFG_MII_GE0_ERR_EN   BIT(5) 
     566#define AR933X_ETH_CFG_SW_PHY_SWAP      BIT(7) 
     567#define AR933X_ETH_CFG_SW_PHY_ADDR_SWAP BIT(8) 
     568#define AR933X_ETH_CFG_RMII_GE0         BIT(9) 
     569#define AR933X_ETH_CFG_RMII_GE0_SPD_10  0 
     570#define AR933X_ETH_CFG_RMII_GE0_SPD_100 BIT(10) 
     571 
     572/* 
     573 * AR934X GMAC Interface 
     574 */ 
     575#define AR934X_GMAC_REG_ETH_CFG         0x00 
     576 
     577#define AR934X_ETH_CFG_RGMII_GMAC0      BIT(0) 
     578#define AR934X_ETH_CFG_MII_GMAC0        BIT(1) 
     579#define AR934X_ETH_CFG_GMII_GMAC0       BIT(2) 
     580#define AR934X_ETH_CFG_MII_GMAC0_MASTER BIT(3) 
     581#define AR934X_ETH_CFG_MII_GMAC0_SLAVE  BIT(4) 
     582#define AR934X_ETH_CFG_MII_GMAC0_ERR_EN BIT(5) 
     583#define AR934X_ETH_CFG_SW_ONLY_MODE     BIT(6) 
     584#define AR934X_ETH_CFG_SW_PHY_SWAP      BIT(7) 
     585#define AR934X_ETH_CFG_SW_APB_ACCESS    BIT(9) 
     586#define AR934X_ETH_CFG_RMII_GMAC0       BIT(10) 
     587#define AR933X_ETH_CFG_MII_CNTL_SPEED   BIT(11) 
     588#define AR934X_ETH_CFG_RMII_GMAC0_MASTER BIT(12) 
     589#define AR933X_ETH_CFG_SW_ACC_MSB_FIRST BIT(13) 
     590 
    437591#endif /* __ASM_MACH_AR71XX_REGS_H */ 
Note: See TracBrowser for help on using the repository browser.