11d3d0f1fSWills Wang /* 21d3d0f1fSWills Wang * Atheros AR71XX/AR724X/AR913X SoC register definitions 31d3d0f1fSWills Wang * 41d3d0f1fSWills Wang * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com> 51d3d0f1fSWills Wang * Copyright (C) 2010-2011 Jaiganesh Narayanan <jnarayanan@atheros.com> 61d3d0f1fSWills Wang * Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org> 71d3d0f1fSWills Wang * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org> 81d3d0f1fSWills Wang * 91d3d0f1fSWills Wang * SPDX-License-Identifier: GPL-2.0+ 101d3d0f1fSWills Wang */ 111d3d0f1fSWills Wang 121d3d0f1fSWills Wang #ifndef __ASM_MACH_AR71XX_REGS_H 131d3d0f1fSWills Wang #define __ASM_MACH_AR71XX_REGS_H 141d3d0f1fSWills Wang 151d3d0f1fSWills Wang #ifndef __ASSEMBLY__ 161d3d0f1fSWills Wang #include <linux/bitops.h> 171d3d0f1fSWills Wang #else 181d3d0f1fSWills Wang #ifndef BIT 191d3d0f1fSWills Wang #define BIT(nr) (1 << (nr)) 201d3d0f1fSWills Wang #endif 211d3d0f1fSWills Wang #endif 221d3d0f1fSWills Wang 231d3d0f1fSWills Wang #define AR71XX_APB_BASE 0x18000000 241d3d0f1fSWills Wang #define AR71XX_GE0_BASE 0x19000000 251d3d0f1fSWills Wang #define AR71XX_GE0_SIZE 0x10000 261d3d0f1fSWills Wang #define AR71XX_GE1_BASE 0x1a000000 271d3d0f1fSWills Wang #define AR71XX_GE1_SIZE 0x10000 281d3d0f1fSWills Wang #define AR71XX_EHCI_BASE 0x1b000000 291d3d0f1fSWills Wang #define AR71XX_EHCI_SIZE 0x1000 301d3d0f1fSWills Wang #define AR71XX_OHCI_BASE 0x1c000000 311d3d0f1fSWills Wang #define AR71XX_OHCI_SIZE 0x1000 321d3d0f1fSWills Wang #define AR71XX_SPI_BASE 0x1f000000 331d3d0f1fSWills Wang #define AR71XX_SPI_SIZE 0x01000000 341d3d0f1fSWills Wang 350a6767efSMarek Vasut #define AR71XX_DDR_CTRL_BASE \ 360a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00000000) 371d3d0f1fSWills Wang #define AR71XX_DDR_CTRL_SIZE 0x100 380a6767efSMarek Vasut #define AR71XX_UART_BASE \ 390a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00020000) 401d3d0f1fSWills Wang #define AR71XX_UART_SIZE 0x100 410a6767efSMarek Vasut #define AR71XX_USB_CTRL_BASE \ 420a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00030000) 431d3d0f1fSWills Wang #define AR71XX_USB_CTRL_SIZE 0x100 440a6767efSMarek Vasut #define AR71XX_GPIO_BASE \ 450a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00040000) 461d3d0f1fSWills Wang #define AR71XX_GPIO_SIZE 0x100 470a6767efSMarek Vasut #define AR71XX_PLL_BASE \ 480a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00050000) 491d3d0f1fSWills Wang #define AR71XX_PLL_SIZE 0x100 500a6767efSMarek Vasut #define AR71XX_RESET_BASE \ 510a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00060000) 521d3d0f1fSWills Wang #define AR71XX_RESET_SIZE 0x100 530a6767efSMarek Vasut #define AR71XX_MII_BASE \ 540a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00070000) 551d3d0f1fSWills Wang #define AR71XX_MII_SIZE 0x100 561d3d0f1fSWills Wang 571d3d0f1fSWills Wang #define AR71XX_PCI_MEM_BASE 0x10000000 581d3d0f1fSWills Wang #define AR71XX_PCI_MEM_SIZE 0x07000000 591d3d0f1fSWills Wang 601d3d0f1fSWills Wang #define AR71XX_PCI_WIN0_OFFS 0x10000000 611d3d0f1fSWills Wang #define AR71XX_PCI_WIN1_OFFS 0x11000000 621d3d0f1fSWills Wang #define AR71XX_PCI_WIN2_OFFS 0x12000000 631d3d0f1fSWills Wang #define AR71XX_PCI_WIN3_OFFS 0x13000000 641d3d0f1fSWills Wang #define AR71XX_PCI_WIN4_OFFS 0x14000000 651d3d0f1fSWills Wang #define AR71XX_PCI_WIN5_OFFS 0x15000000 661d3d0f1fSWills Wang #define AR71XX_PCI_WIN6_OFFS 0x16000000 671d3d0f1fSWills Wang #define AR71XX_PCI_WIN7_OFFS 0x07000000 681d3d0f1fSWills Wang 691d3d0f1fSWills Wang #define AR71XX_PCI_CFG_BASE \ 701d3d0f1fSWills Wang (AR71XX_PCI_MEM_BASE + AR71XX_PCI_WIN7_OFFS + 0x10000) 711d3d0f1fSWills Wang #define AR71XX_PCI_CFG_SIZE 0x100 721d3d0f1fSWills Wang 730a6767efSMarek Vasut #define AR7240_USB_CTRL_BASE \ 740a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00030000) 751d3d0f1fSWills Wang #define AR7240_USB_CTRL_SIZE 0x100 761d3d0f1fSWills Wang #define AR7240_OHCI_BASE 0x1b000000 771d3d0f1fSWills Wang #define AR7240_OHCI_SIZE 0x1000 781d3d0f1fSWills Wang 791d3d0f1fSWills Wang #define AR724X_PCI_MEM_BASE 0x10000000 801d3d0f1fSWills Wang #define AR724X_PCI_MEM_SIZE 0x04000000 811d3d0f1fSWills Wang 821d3d0f1fSWills Wang #define AR724X_PCI_CFG_BASE 0x14000000 831d3d0f1fSWills Wang #define AR724X_PCI_CFG_SIZE 0x1000 840a6767efSMarek Vasut #define AR724X_PCI_CRP_BASE \ 850a6767efSMarek Vasut (AR71XX_APB_BASE + 0x000c0000) 861d3d0f1fSWills Wang #define AR724X_PCI_CRP_SIZE 0x1000 870a6767efSMarek Vasut #define AR724X_PCI_CTRL_BASE \ 880a6767efSMarek Vasut (AR71XX_APB_BASE + 0x000f0000) 891d3d0f1fSWills Wang #define AR724X_PCI_CTRL_SIZE 0x100 901d3d0f1fSWills Wang 911d3d0f1fSWills Wang #define AR724X_EHCI_BASE 0x1b000000 921d3d0f1fSWills Wang #define AR724X_EHCI_SIZE 0x1000 931d3d0f1fSWills Wang 941d3d0f1fSWills Wang #define AR913X_EHCI_BASE 0x1b000000 951d3d0f1fSWills Wang #define AR913X_EHCI_SIZE 0x1000 960a6767efSMarek Vasut #define AR913X_WMAC_BASE \ 970a6767efSMarek Vasut (AR71XX_APB_BASE + 0x000C0000) 981d3d0f1fSWills Wang #define AR913X_WMAC_SIZE 0x30000 991d3d0f1fSWills Wang 1000a6767efSMarek Vasut #define AR933X_UART_BASE \ 1010a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00020000) 1021d3d0f1fSWills Wang #define AR933X_UART_SIZE 0x14 1030a6767efSMarek Vasut #define AR933X_GMAC_BASE \ 1040a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00070000) 1051d3d0f1fSWills Wang #define AR933X_GMAC_SIZE 0x04 1060a6767efSMarek Vasut #define AR933X_WMAC_BASE \ 1070a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00100000) 1081d3d0f1fSWills Wang #define AR933X_WMAC_SIZE 0x20000 1090a6767efSMarek Vasut #define AR933X_RTC_BASE \ 1100a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00107000) 1111d3d0f1fSWills Wang #define AR933X_RTC_SIZE 0x1000 1121d3d0f1fSWills Wang #define AR933X_EHCI_BASE 0x1b000000 1131d3d0f1fSWills Wang #define AR933X_EHCI_SIZE 0x1000 1140a6767efSMarek Vasut #define AR933X_SRIF_BASE \ 1150a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00116000) 1161d3d0f1fSWills Wang #define AR933X_SRIF_SIZE 0x1000 1171d3d0f1fSWills Wang 1180a6767efSMarek Vasut #define AR934X_GMAC_BASE \ 1190a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00070000) 1201d3d0f1fSWills Wang #define AR934X_GMAC_SIZE 0x14 1210a6767efSMarek Vasut #define AR934X_WMAC_BASE \ 1220a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00100000) 1231d3d0f1fSWills Wang #define AR934X_WMAC_SIZE 0x20000 1241d3d0f1fSWills Wang #define AR934X_EHCI_BASE 0x1b000000 1251d3d0f1fSWills Wang #define AR934X_EHCI_SIZE 0x200 1261d3d0f1fSWills Wang #define AR934X_NFC_BASE 0x1b000200 1271d3d0f1fSWills Wang #define AR934X_NFC_SIZE 0xb8 1280a6767efSMarek Vasut #define AR934X_SRIF_BASE \ 1290a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00116000) 1301d3d0f1fSWills Wang #define AR934X_SRIF_SIZE 0x1000 1311d3d0f1fSWills Wang 1320a6767efSMarek Vasut #define QCA953X_GMAC_BASE \ 1330a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00070000) 1341d3d0f1fSWills Wang #define QCA953X_GMAC_SIZE 0x14 1350a6767efSMarek Vasut #define QCA953X_WMAC_BASE \ 1360a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00100000) 1371d3d0f1fSWills Wang #define QCA953X_WMAC_SIZE 0x20000 1380a6767efSMarek Vasut #define QCA953X_RTC_BASE \ 1390a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00107000) 1401d3d0f1fSWills Wang #define QCA953X_RTC_SIZE 0x1000 1411d3d0f1fSWills Wang #define QCA953X_EHCI_BASE 0x1b000000 1421d3d0f1fSWills Wang #define QCA953X_EHCI_SIZE 0x200 1430a6767efSMarek Vasut #define QCA953X_SRIF_BASE \ 1440a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00116000) 1451d3d0f1fSWills Wang #define QCA953X_SRIF_SIZE 0x1000 1461d3d0f1fSWills Wang 1471d3d0f1fSWills Wang #define QCA953X_PCI_CFG_BASE0 0x14000000 1480a6767efSMarek Vasut #define QCA953X_PCI_CTRL_BASE0 \ 1490a6767efSMarek Vasut (AR71XX_APB_BASE + 0x000f0000) 1500a6767efSMarek Vasut #define QCA953X_PCI_CRP_BASE0 \ 1510a6767efSMarek Vasut (AR71XX_APB_BASE + 0x000c0000) 1521d3d0f1fSWills Wang #define QCA953X_PCI_MEM_BASE0 0x10000000 1531d3d0f1fSWills Wang #define QCA953X_PCI_MEM_SIZE 0x02000000 1541d3d0f1fSWills Wang 1551d3d0f1fSWills Wang #define QCA955X_PCI_MEM_BASE0 0x10000000 1561d3d0f1fSWills Wang #define QCA955X_PCI_MEM_BASE1 0x12000000 1571d3d0f1fSWills Wang #define QCA955X_PCI_MEM_SIZE 0x02000000 1581d3d0f1fSWills Wang #define QCA955X_PCI_CFG_BASE0 0x14000000 1591d3d0f1fSWills Wang #define QCA955X_PCI_CFG_BASE1 0x16000000 1601d3d0f1fSWills Wang #define QCA955X_PCI_CFG_SIZE 0x1000 1610a6767efSMarek Vasut #define QCA955X_PCI_CRP_BASE0 \ 1620a6767efSMarek Vasut (AR71XX_APB_BASE + 0x000c0000) 1630a6767efSMarek Vasut #define QCA955X_PCI_CRP_BASE1 \ 1640a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00250000) 1651d3d0f1fSWills Wang #define QCA955X_PCI_CRP_SIZE 0x1000 1660a6767efSMarek Vasut #define QCA955X_PCI_CTRL_BASE0 \ 1670a6767efSMarek Vasut (AR71XX_APB_BASE + 0x000f0000) 1680a6767efSMarek Vasut #define QCA955X_PCI_CTRL_BASE1 \ 1690a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00280000) 1701d3d0f1fSWills Wang #define QCA955X_PCI_CTRL_SIZE 0x100 1711d3d0f1fSWills Wang 1720a6767efSMarek Vasut #define QCA955X_GMAC_BASE \ 1730a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00070000) 1741d3d0f1fSWills Wang #define QCA955X_GMAC_SIZE 0x40 1750a6767efSMarek Vasut #define QCA955X_WMAC_BASE \ 1760a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00100000) 1771d3d0f1fSWills Wang #define QCA955X_WMAC_SIZE 0x20000 1781d3d0f1fSWills Wang #define QCA955X_EHCI0_BASE 0x1b000000 1791d3d0f1fSWills Wang #define QCA955X_EHCI1_BASE 0x1b400000 1801d3d0f1fSWills Wang #define QCA955X_EHCI_SIZE 0x1000 1811d3d0f1fSWills Wang #define QCA955X_NFC_BASE 0x1b800200 1821d3d0f1fSWills Wang #define QCA955X_NFC_SIZE 0xb8 1831d3d0f1fSWills Wang 1841d3d0f1fSWills Wang #define QCA956X_PCI_MEM_BASE1 0x12000000 1851d3d0f1fSWills Wang #define QCA956X_PCI_MEM_SIZE 0x02000000 1861d3d0f1fSWills Wang #define QCA956X_PCI_CFG_BASE1 0x16000000 1871d3d0f1fSWills Wang #define QCA956X_PCI_CFG_SIZE 0x1000 1880a6767efSMarek Vasut #define QCA956X_PCI_CRP_BASE1 \ 1890a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00250000) 1901d3d0f1fSWills Wang #define QCA956X_PCI_CRP_SIZE 0x1000 1910a6767efSMarek Vasut #define QCA956X_PCI_CTRL_BASE1 \ 1920a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00280000) 1931d3d0f1fSWills Wang #define QCA956X_PCI_CTRL_SIZE 0x100 1941d3d0f1fSWills Wang 1950a6767efSMarek Vasut #define QCA956X_WMAC_BASE \ 1960a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00100000) 1971d3d0f1fSWills Wang #define QCA956X_WMAC_SIZE 0x20000 1981d3d0f1fSWills Wang #define QCA956X_EHCI0_BASE 0x1b000000 1991d3d0f1fSWills Wang #define QCA956X_EHCI1_BASE 0x1b400000 2001d3d0f1fSWills Wang #define QCA956X_EHCI_SIZE 0x200 2010a6767efSMarek Vasut #define QCA956X_GMAC_BASE \ 2020a6767efSMarek Vasut (AR71XX_APB_BASE + 0x00070000) 2031d3d0f1fSWills Wang #define QCA956X_GMAC_SIZE 0x64 2041d3d0f1fSWills Wang 2051d3d0f1fSWills Wang /* 2061d3d0f1fSWills Wang * DDR_CTRL block 2071d3d0f1fSWills Wang */ 2081d3d0f1fSWills Wang #define AR71XX_DDR_REG_CONFIG 0x00 2091d3d0f1fSWills Wang #define AR71XX_DDR_REG_CONFIG2 0x04 2101d3d0f1fSWills Wang #define AR71XX_DDR_REG_MODE 0x08 2111d3d0f1fSWills Wang #define AR71XX_DDR_REG_EMR 0x0c 2121d3d0f1fSWills Wang #define AR71XX_DDR_REG_CONTROL 0x10 2131d3d0f1fSWills Wang #define AR71XX_DDR_REG_REFRESH 0x14 2141d3d0f1fSWills Wang #define AR71XX_DDR_REG_RD_CYCLE 0x18 2151d3d0f1fSWills Wang #define AR71XX_DDR_REG_TAP_CTRL0 0x1c 2161d3d0f1fSWills Wang #define AR71XX_DDR_REG_TAP_CTRL1 0x20 2171d3d0f1fSWills Wang 2181d3d0f1fSWills Wang #define AR71XX_DDR_REG_PCI_WIN0 0x7c 2191d3d0f1fSWills Wang #define AR71XX_DDR_REG_PCI_WIN1 0x80 2201d3d0f1fSWills Wang #define AR71XX_DDR_REG_PCI_WIN2 0x84 2211d3d0f1fSWills Wang #define AR71XX_DDR_REG_PCI_WIN3 0x88 2221d3d0f1fSWills Wang #define AR71XX_DDR_REG_PCI_WIN4 0x8c 2231d3d0f1fSWills Wang #define AR71XX_DDR_REG_PCI_WIN5 0x90 2241d3d0f1fSWills Wang #define AR71XX_DDR_REG_PCI_WIN6 0x94 2251d3d0f1fSWills Wang #define AR71XX_DDR_REG_PCI_WIN7 0x98 2261d3d0f1fSWills Wang #define AR71XX_DDR_REG_FLUSH_GE0 0x9c 2271d3d0f1fSWills Wang #define AR71XX_DDR_REG_FLUSH_GE1 0xa0 2281d3d0f1fSWills Wang #define AR71XX_DDR_REG_FLUSH_USB 0xa4 2291d3d0f1fSWills Wang #define AR71XX_DDR_REG_FLUSH_PCI 0xa8 2301d3d0f1fSWills Wang 2311d3d0f1fSWills Wang #define AR724X_DDR_REG_FLUSH_GE0 0x7c 2321d3d0f1fSWills Wang #define AR724X_DDR_REG_FLUSH_GE1 0x80 2331d3d0f1fSWills Wang #define AR724X_DDR_REG_FLUSH_USB 0x84 2341d3d0f1fSWills Wang #define AR724X_DDR_REG_FLUSH_PCIE 0x88 2351d3d0f1fSWills Wang 2361d3d0f1fSWills Wang #define AR913X_DDR_REG_FLUSH_GE0 0x7c 2371d3d0f1fSWills Wang #define AR913X_DDR_REG_FLUSH_GE1 0x80 2381d3d0f1fSWills Wang #define AR913X_DDR_REG_FLUSH_USB 0x84 2391d3d0f1fSWills Wang #define AR913X_DDR_REG_FLUSH_WMAC 0x88 2401d3d0f1fSWills Wang 2411d3d0f1fSWills Wang #define AR933X_DDR_REG_FLUSH_GE0 0x7c 2421d3d0f1fSWills Wang #define AR933X_DDR_REG_FLUSH_GE1 0x80 2431d3d0f1fSWills Wang #define AR933X_DDR_REG_FLUSH_USB 0x84 2441d3d0f1fSWills Wang #define AR933X_DDR_REG_FLUSH_WMAC 0x88 2451d3d0f1fSWills Wang #define AR933X_DDR_REG_DDR2_CONFIG 0x8c 2461d3d0f1fSWills Wang #define AR933X_DDR_REG_EMR2 0x90 2471d3d0f1fSWills Wang #define AR933X_DDR_REG_EMR3 0x94 2481d3d0f1fSWills Wang #define AR933X_DDR_REG_BURST 0x98 2491d3d0f1fSWills Wang #define AR933X_DDR_REG_TIMEOUT_MAX 0x9c 2501d3d0f1fSWills Wang #define AR933X_DDR_REG_TIMEOUT_CNT 0x9c 2511d3d0f1fSWills Wang #define AR933X_DDR_REG_TIMEOUT_ADDR 0x9c 2521d3d0f1fSWills Wang 2531d3d0f1fSWills Wang #define AR934X_DDR_REG_FLUSH_GE0 0x9c 2541d3d0f1fSWills Wang #define AR934X_DDR_REG_FLUSH_GE1 0xa0 2551d3d0f1fSWills Wang #define AR934X_DDR_REG_FLUSH_USB 0xa4 2561d3d0f1fSWills Wang #define AR934X_DDR_REG_FLUSH_PCIE 0xa8 2571d3d0f1fSWills Wang #define AR934X_DDR_REG_FLUSH_WMAC 0xac 2581d3d0f1fSWills Wang 2591d3d0f1fSWills Wang #define QCA953X_DDR_REG_FLUSH_GE0 0x9c 2601d3d0f1fSWills Wang #define QCA953X_DDR_REG_FLUSH_GE1 0xa0 2611d3d0f1fSWills Wang #define QCA953X_DDR_REG_FLUSH_USB 0xa4 2621d3d0f1fSWills Wang #define QCA953X_DDR_REG_FLUSH_PCIE 0xa8 2631d3d0f1fSWills Wang #define QCA953X_DDR_REG_FLUSH_WMAC 0xac 2641d3d0f1fSWills Wang #define QCA953X_DDR_REG_DDR2_CONFIG 0xb8 2651d3d0f1fSWills Wang #define QCA953X_DDR_REG_BURST 0xc4 2661d3d0f1fSWills Wang #define QCA953X_DDR_REG_BURST2 0xc8 2671d3d0f1fSWills Wang #define QCA953X_DDR_REG_TIMEOUT_MAX 0xcc 2681d3d0f1fSWills Wang #define QCA953X_DDR_REG_CTL_CONF 0x108 2691d3d0f1fSWills Wang #define QCA953X_DDR_REG_CONFIG3 0x15c 2701d3d0f1fSWills Wang 2711d3d0f1fSWills Wang /* 2721d3d0f1fSWills Wang * PLL block 2731d3d0f1fSWills Wang */ 2741d3d0f1fSWills Wang #define AR71XX_PLL_REG_CPU_CONFIG 0x00 2751d3d0f1fSWills Wang #define AR71XX_PLL_REG_SEC_CONFIG 0x04 2761d3d0f1fSWills Wang #define AR71XX_PLL_REG_ETH0_INT_CLOCK 0x10 2771d3d0f1fSWills Wang #define AR71XX_PLL_REG_ETH1_INT_CLOCK 0x14 2781d3d0f1fSWills Wang 2791d3d0f1fSWills Wang #define AR71XX_PLL_DIV_SHIFT 3 2801d3d0f1fSWills Wang #define AR71XX_PLL_DIV_MASK 0x1f 2811d3d0f1fSWills Wang #define AR71XX_CPU_DIV_SHIFT 16 2821d3d0f1fSWills Wang #define AR71XX_CPU_DIV_MASK 0x3 2831d3d0f1fSWills Wang #define AR71XX_DDR_DIV_SHIFT 18 2841d3d0f1fSWills Wang #define AR71XX_DDR_DIV_MASK 0x3 2851d3d0f1fSWills Wang #define AR71XX_AHB_DIV_SHIFT 20 2861d3d0f1fSWills Wang #define AR71XX_AHB_DIV_MASK 0x7 2871d3d0f1fSWills Wang 2881d3d0f1fSWills Wang #define AR71XX_ETH0_PLL_SHIFT 17 2891d3d0f1fSWills Wang #define AR71XX_ETH1_PLL_SHIFT 19 2901d3d0f1fSWills Wang 2911d3d0f1fSWills Wang #define AR724X_PLL_REG_CPU_CONFIG 0x00 2921d3d0f1fSWills Wang #define AR724X_PLL_REG_PCIE_CONFIG 0x18 2931d3d0f1fSWills Wang 2941d3d0f1fSWills Wang #define AR724X_PLL_DIV_SHIFT 0 2951d3d0f1fSWills Wang #define AR724X_PLL_DIV_MASK 0x3ff 2961d3d0f1fSWills Wang #define AR724X_PLL_REF_DIV_SHIFT 10 2971d3d0f1fSWills Wang #define AR724X_PLL_REF_DIV_MASK 0xf 2981d3d0f1fSWills Wang #define AR724X_AHB_DIV_SHIFT 19 2991d3d0f1fSWills Wang #define AR724X_AHB_DIV_MASK 0x1 3001d3d0f1fSWills Wang #define AR724X_DDR_DIV_SHIFT 22 3011d3d0f1fSWills Wang #define AR724X_DDR_DIV_MASK 0x3 3021d3d0f1fSWills Wang 3031d3d0f1fSWills Wang #define AR7242_PLL_REG_ETH0_INT_CLOCK 0x2c 3041d3d0f1fSWills Wang 3051d3d0f1fSWills Wang #define AR913X_PLL_REG_CPU_CONFIG 0x00 3061d3d0f1fSWills Wang #define AR913X_PLL_REG_ETH_CONFIG 0x04 3071d3d0f1fSWills Wang #define AR913X_PLL_REG_ETH0_INT_CLOCK 0x14 3081d3d0f1fSWills Wang #define AR913X_PLL_REG_ETH1_INT_CLOCK 0x18 3091d3d0f1fSWills Wang 3101d3d0f1fSWills Wang #define AR913X_PLL_DIV_SHIFT 0 3111d3d0f1fSWills Wang #define AR913X_PLL_DIV_MASK 0x3ff 3121d3d0f1fSWills Wang #define AR913X_DDR_DIV_SHIFT 22 3131d3d0f1fSWills Wang #define AR913X_DDR_DIV_MASK 0x3 3141d3d0f1fSWills Wang #define AR913X_AHB_DIV_SHIFT 19 3151d3d0f1fSWills Wang #define AR913X_AHB_DIV_MASK 0x1 3161d3d0f1fSWills Wang 3171d3d0f1fSWills Wang #define AR913X_ETH0_PLL_SHIFT 20 3181d3d0f1fSWills Wang #define AR913X_ETH1_PLL_SHIFT 22 3191d3d0f1fSWills Wang 3201d3d0f1fSWills Wang #define AR933X_PLL_CPU_CONFIG_REG 0x00 3211d3d0f1fSWills Wang #define AR933X_PLL_CLK_CTRL_REG 0x08 3221d3d0f1fSWills Wang #define AR933X_PLL_DITHER_FRAC_REG 0x10 3231d3d0f1fSWills Wang 3241d3d0f1fSWills Wang #define AR933X_PLL_CPU_CONFIG_NINT_SHIFT 10 3251d3d0f1fSWills Wang #define AR933X_PLL_CPU_CONFIG_NINT_MASK 0x3f 3261d3d0f1fSWills Wang #define AR933X_PLL_CPU_CONFIG_REFDIV_SHIFT 16 3271d3d0f1fSWills Wang #define AR933X_PLL_CPU_CONFIG_REFDIV_MASK 0x1f 3281d3d0f1fSWills Wang #define AR933X_PLL_CPU_CONFIG_OUTDIV_SHIFT 23 3291d3d0f1fSWills Wang #define AR933X_PLL_CPU_CONFIG_OUTDIV_MASK 0x7 3301d3d0f1fSWills Wang 3311d3d0f1fSWills Wang #define AR933X_PLL_CLK_CTRL_BYPASS BIT(2) 3321d3d0f1fSWills Wang #define AR933X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT 5 3331d3d0f1fSWills Wang #define AR933X_PLL_CLK_CTRL_CPU_POST_DIV_MASK 0x3 3341d3d0f1fSWills Wang #define AR933X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT 10 3351d3d0f1fSWills Wang #define AR933X_PLL_CLK_CTRL_DDR_POST_DIV_MASK 0x3 3361d3d0f1fSWills Wang #define AR933X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT 15 3371d3d0f1fSWills Wang #define AR933X_PLL_CLK_CTRL_AHB_POST_DIV_MASK 0x7 3381d3d0f1fSWills Wang 3391d3d0f1fSWills Wang #define AR934X_PLL_CPU_CONFIG_REG 0x00 3401d3d0f1fSWills Wang #define AR934X_PLL_DDR_CONFIG_REG 0x04 3411d3d0f1fSWills Wang #define AR934X_PLL_CPU_DDR_CLK_CTRL_REG 0x08 3421d3d0f1fSWills Wang #define AR934X_PLL_SWITCH_CLOCK_CONTROL_REG 0x24 3431d3d0f1fSWills Wang #define AR934X_PLL_ETH_XMII_CONTROL_REG 0x2c 3441d3d0f1fSWills Wang 3451d3d0f1fSWills Wang #define AR934X_PLL_CPU_CONFIG_NFRAC_SHIFT 0 3461d3d0f1fSWills Wang #define AR934X_PLL_CPU_CONFIG_NFRAC_MASK 0x3f 3471d3d0f1fSWills Wang #define AR934X_PLL_CPU_CONFIG_NINT_SHIFT 6 3481d3d0f1fSWills Wang #define AR934X_PLL_CPU_CONFIG_NINT_MASK 0x3f 3491d3d0f1fSWills Wang #define AR934X_PLL_CPU_CONFIG_REFDIV_SHIFT 12 3501d3d0f1fSWills Wang #define AR934X_PLL_CPU_CONFIG_REFDIV_MASK 0x1f 3511d3d0f1fSWills Wang #define AR934X_PLL_CPU_CONFIG_OUTDIV_SHIFT 19 3521d3d0f1fSWills Wang #define AR934X_PLL_CPU_CONFIG_OUTDIV_MASK 0x3 3531d3d0f1fSWills Wang 3541d3d0f1fSWills Wang #define AR934X_PLL_DDR_CONFIG_NFRAC_SHIFT 0 3551d3d0f1fSWills Wang #define AR934X_PLL_DDR_CONFIG_NFRAC_MASK 0x3ff 3561d3d0f1fSWills Wang #define AR934X_PLL_DDR_CONFIG_NINT_SHIFT 10 3571d3d0f1fSWills Wang #define AR934X_PLL_DDR_CONFIG_NINT_MASK 0x3f 3581d3d0f1fSWills Wang #define AR934X_PLL_DDR_CONFIG_REFDIV_SHIFT 16 3591d3d0f1fSWills Wang #define AR934X_PLL_DDR_CONFIG_REFDIV_MASK 0x1f 3601d3d0f1fSWills Wang #define AR934X_PLL_DDR_CONFIG_OUTDIV_SHIFT 23 3611d3d0f1fSWills Wang #define AR934X_PLL_DDR_CONFIG_OUTDIV_MASK 0x7 3621d3d0f1fSWills Wang 3631d3d0f1fSWills Wang #define AR934X_PLL_CLK_CTRL_CPU_PLL_BYPASS BIT(2) 3641d3d0f1fSWills Wang #define AR934X_PLL_CLK_CTRL_DDR_PLL_BYPASS BIT(3) 3651d3d0f1fSWills Wang #define AR934X_PLL_CLK_CTRL_AHB_PLL_BYPASS BIT(4) 3661d3d0f1fSWills Wang #define AR934X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT 5 3671d3d0f1fSWills Wang #define AR934X_PLL_CLK_CTRL_CPU_POST_DIV_MASK 0x1f 3681d3d0f1fSWills Wang #define AR934X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT 10 3691d3d0f1fSWills Wang #define AR934X_PLL_CLK_CTRL_DDR_POST_DIV_MASK 0x1f 3701d3d0f1fSWills Wang #define AR934X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT 15 3711d3d0f1fSWills Wang #define AR934X_PLL_CLK_CTRL_AHB_POST_DIV_MASK 0x1f 3721d3d0f1fSWills Wang #define AR934X_PLL_CLK_CTRL_CPUCLK_FROM_CPUPLL BIT(20) 3731d3d0f1fSWills Wang #define AR934X_PLL_CLK_CTRL_DDRCLK_FROM_DDRPLL BIT(21) 3741d3d0f1fSWills Wang #define AR934X_PLL_CLK_CTRL_AHBCLK_FROM_DDRPLL BIT(24) 3751d3d0f1fSWills Wang 3761d3d0f1fSWills Wang #define AR934X_PLL_SWITCH_CLK_CTRL_MDIO_CLK_SEL BIT(6) 3771d3d0f1fSWills Wang 3781d3d0f1fSWills Wang #define QCA953X_PLL_CPU_CONFIG_REG 0x00 3791d3d0f1fSWills Wang #define QCA953X_PLL_DDR_CONFIG_REG 0x04 3801d3d0f1fSWills Wang #define QCA953X_PLL_CLK_CTRL_REG 0x08 3811d3d0f1fSWills Wang #define QCA953X_PLL_SWITCH_CLOCK_CONTROL_REG 0x24 3821d3d0f1fSWills Wang #define QCA953X_PLL_ETH_XMII_CONTROL_REG 0x2c 3831d3d0f1fSWills Wang #define QCA953X_PLL_DDR_DIT_FRAC_REG 0x44 3841d3d0f1fSWills Wang #define QCA953X_PLL_CPU_DIT_FRAC_REG 0x48 3851d3d0f1fSWills Wang 3861d3d0f1fSWills Wang #define QCA953X_PLL_CPU_CONFIG_NFRAC_SHIFT 0 3871d3d0f1fSWills Wang #define QCA953X_PLL_CPU_CONFIG_NFRAC_MASK 0x3f 3881d3d0f1fSWills Wang #define QCA953X_PLL_CPU_CONFIG_NINT_SHIFT 6 3891d3d0f1fSWills Wang #define QCA953X_PLL_CPU_CONFIG_NINT_MASK 0x3f 3901d3d0f1fSWills Wang #define QCA953X_PLL_CPU_CONFIG_REFDIV_SHIFT 12 3911d3d0f1fSWills Wang #define QCA953X_PLL_CPU_CONFIG_REFDIV_MASK 0x1f 3921d3d0f1fSWills Wang #define QCA953X_PLL_CPU_CONFIG_OUTDIV_SHIFT 19 3931d3d0f1fSWills Wang #define QCA953X_PLL_CPU_CONFIG_OUTDIV_MASK 0x7 3941d3d0f1fSWills Wang 3951d3d0f1fSWills Wang #define QCA953X_PLL_DDR_CONFIG_NFRAC_SHIFT 0 3961d3d0f1fSWills Wang #define QCA953X_PLL_DDR_CONFIG_NFRAC_MASK 0x3ff 3971d3d0f1fSWills Wang #define QCA953X_PLL_DDR_CONFIG_NINT_SHIFT 10 3981d3d0f1fSWills Wang #define QCA953X_PLL_DDR_CONFIG_NINT_MASK 0x3f 3991d3d0f1fSWills Wang #define QCA953X_PLL_DDR_CONFIG_REFDIV_SHIFT 16 4001d3d0f1fSWills Wang #define QCA953X_PLL_DDR_CONFIG_REFDIV_MASK 0x1f 4011d3d0f1fSWills Wang #define QCA953X_PLL_DDR_CONFIG_OUTDIV_SHIFT 23 4021d3d0f1fSWills Wang #define QCA953X_PLL_DDR_CONFIG_OUTDIV_MASK 0x7 4031d3d0f1fSWills Wang 4041d3d0f1fSWills Wang #define QCA953X_PLL_CONFIG_PWD BIT(30) 4051d3d0f1fSWills Wang 4061d3d0f1fSWills Wang #define QCA953X_PLL_CLK_CTRL_CPU_PLL_BYPASS BIT(2) 4071d3d0f1fSWills Wang #define QCA953X_PLL_CLK_CTRL_DDR_PLL_BYPASS BIT(3) 4081d3d0f1fSWills Wang #define QCA953X_PLL_CLK_CTRL_AHB_PLL_BYPASS BIT(4) 4091d3d0f1fSWills Wang #define QCA953X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT 5 4101d3d0f1fSWills Wang #define QCA953X_PLL_CLK_CTRL_CPU_POST_DIV_MASK 0x1f 4111d3d0f1fSWills Wang #define QCA953X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT 10 4121d3d0f1fSWills Wang #define QCA953X_PLL_CLK_CTRL_DDR_POST_DIV_MASK 0x1f 4131d3d0f1fSWills Wang #define QCA953X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT 15 4141d3d0f1fSWills Wang #define QCA953X_PLL_CLK_CTRL_AHB_POST_DIV_MASK 0x1f 4151d3d0f1fSWills Wang #define QCA953X_PLL_CLK_CTRL_CPUCLK_FROM_CPUPLL BIT(20) 4161d3d0f1fSWills Wang #define QCA953X_PLL_CLK_CTRL_DDRCLK_FROM_DDRPLL BIT(21) 4171d3d0f1fSWills Wang #define QCA953X_PLL_CLK_CTRL_AHBCLK_FROM_DDRPLL BIT(24) 4181d3d0f1fSWills Wang 4191d3d0f1fSWills Wang #define QCA953X_PLL_CPU_DIT_FRAC_MAX_SHIFT 0 4201d3d0f1fSWills Wang #define QCA953X_PLL_CPU_DIT_FRAC_MAX_MASK 0x3f 4211d3d0f1fSWills Wang #define QCA953X_PLL_CPU_DIT_FRAC_MIN_SHIFT 6 4221d3d0f1fSWills Wang #define QCA953X_PLL_CPU_DIT_FRAC_MIN_MASK 0x3f 4231d3d0f1fSWills Wang #define QCA953X_PLL_CPU_DIT_FRAC_STEP_SHIFT 12 4241d3d0f1fSWills Wang #define QCA953X_PLL_CPU_DIT_FRAC_STEP_MASK 0x3f 4251d3d0f1fSWills Wang #define QCA953X_PLL_CPU_DIT_UPD_CNT_SHIFT 18 4261d3d0f1fSWills Wang #define QCA953X_PLL_CPU_DIT_UPD_CNT_MASK 0x3f 4271d3d0f1fSWills Wang 4281d3d0f1fSWills Wang #define QCA953X_PLL_DDR_DIT_FRAC_MAX_SHIFT 0 4291d3d0f1fSWills Wang #define QCA953X_PLL_DDR_DIT_FRAC_MAX_MASK 0x3ff 4301d3d0f1fSWills Wang #define QCA953X_PLL_DDR_DIT_FRAC_MIN_SHIFT 9 4311d3d0f1fSWills Wang #define QCA953X_PLL_DDR_DIT_FRAC_MIN_MASK 0x3ff 4321d3d0f1fSWills Wang #define QCA953X_PLL_DDR_DIT_FRAC_STEP_SHIFT 20 4331d3d0f1fSWills Wang #define QCA953X_PLL_DDR_DIT_FRAC_STEP_MASK 0x3f 4341d3d0f1fSWills Wang #define QCA953X_PLL_DDR_DIT_UPD_CNT_SHIFT 27 4351d3d0f1fSWills Wang #define QCA953X_PLL_DDR_DIT_UPD_CNT_MASK 0x3f 4361d3d0f1fSWills Wang 4371d3d0f1fSWills Wang #define QCA953X_PLL_DIT_FRAC_EN BIT(31) 4381d3d0f1fSWills Wang 4391d3d0f1fSWills Wang #define QCA955X_PLL_CPU_CONFIG_REG 0x00 4401d3d0f1fSWills Wang #define QCA955X_PLL_DDR_CONFIG_REG 0x04 4411d3d0f1fSWills Wang #define QCA955X_PLL_CLK_CTRL_REG 0x08 4421d3d0f1fSWills Wang #define QCA955X_PLL_ETH_XMII_CONTROL_REG 0x28 4431d3d0f1fSWills Wang #define QCA955X_PLL_ETH_SGMII_CONTROL_REG 0x48 4441d3d0f1fSWills Wang 4451d3d0f1fSWills Wang #define QCA955X_PLL_CPU_CONFIG_NFRAC_SHIFT 0 4461d3d0f1fSWills Wang #define QCA955X_PLL_CPU_CONFIG_NFRAC_MASK 0x3f 4471d3d0f1fSWills Wang #define QCA955X_PLL_CPU_CONFIG_NINT_SHIFT 6 4481d3d0f1fSWills Wang #define QCA955X_PLL_CPU_CONFIG_NINT_MASK 0x3f 4491d3d0f1fSWills Wang #define QCA955X_PLL_CPU_CONFIG_REFDIV_SHIFT 12 4501d3d0f1fSWills Wang #define QCA955X_PLL_CPU_CONFIG_REFDIV_MASK 0x1f 4511d3d0f1fSWills Wang #define QCA955X_PLL_CPU_CONFIG_OUTDIV_SHIFT 19 4521d3d0f1fSWills Wang #define QCA955X_PLL_CPU_CONFIG_OUTDIV_MASK 0x3 4531d3d0f1fSWills Wang 4541d3d0f1fSWills Wang #define QCA955X_PLL_DDR_CONFIG_NFRAC_SHIFT 0 4551d3d0f1fSWills Wang #define QCA955X_PLL_DDR_CONFIG_NFRAC_MASK 0x3ff 4561d3d0f1fSWills Wang #define QCA955X_PLL_DDR_CONFIG_NINT_SHIFT 10 4571d3d0f1fSWills Wang #define QCA955X_PLL_DDR_CONFIG_NINT_MASK 0x3f 4581d3d0f1fSWills Wang #define QCA955X_PLL_DDR_CONFIG_REFDIV_SHIFT 16 4591d3d0f1fSWills Wang #define QCA955X_PLL_DDR_CONFIG_REFDIV_MASK 0x1f 4601d3d0f1fSWills Wang #define QCA955X_PLL_DDR_CONFIG_OUTDIV_SHIFT 23 4611d3d0f1fSWills Wang #define QCA955X_PLL_DDR_CONFIG_OUTDIV_MASK 0x7 4621d3d0f1fSWills Wang 4631d3d0f1fSWills Wang #define QCA955X_PLL_CLK_CTRL_CPU_PLL_BYPASS BIT(2) 4641d3d0f1fSWills Wang #define QCA955X_PLL_CLK_CTRL_DDR_PLL_BYPASS BIT(3) 4651d3d0f1fSWills Wang #define QCA955X_PLL_CLK_CTRL_AHB_PLL_BYPASS BIT(4) 4661d3d0f1fSWills Wang #define QCA955X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT 5 4671d3d0f1fSWills Wang #define QCA955X_PLL_CLK_CTRL_CPU_POST_DIV_MASK 0x1f 4681d3d0f1fSWills Wang #define QCA955X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT 10 4691d3d0f1fSWills Wang #define QCA955X_PLL_CLK_CTRL_DDR_POST_DIV_MASK 0x1f 4701d3d0f1fSWills Wang #define QCA955X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT 15 4711d3d0f1fSWills Wang #define QCA955X_PLL_CLK_CTRL_AHB_POST_DIV_MASK 0x1f 4721d3d0f1fSWills Wang #define QCA955X_PLL_CLK_CTRL_CPUCLK_FROM_CPUPLL BIT(20) 4731d3d0f1fSWills Wang #define QCA955X_PLL_CLK_CTRL_DDRCLK_FROM_DDRPLL BIT(21) 4741d3d0f1fSWills Wang #define QCA955X_PLL_CLK_CTRL_AHBCLK_FROM_DDRPLL BIT(24) 4751d3d0f1fSWills Wang 4761d3d0f1fSWills Wang #define QCA956X_PLL_CPU_CONFIG_REG 0x00 4771d3d0f1fSWills Wang #define QCA956X_PLL_CPU_CONFIG1_REG 0x04 4781d3d0f1fSWills Wang #define QCA956X_PLL_DDR_CONFIG_REG 0x08 4791d3d0f1fSWills Wang #define QCA956X_PLL_DDR_CONFIG1_REG 0x0c 4801d3d0f1fSWills Wang #define QCA956X_PLL_CLK_CTRL_REG 0x10 4811d3d0f1fSWills Wang 4821d3d0f1fSWills Wang #define QCA956X_PLL_CPU_CONFIG_REFDIV_SHIFT 12 4831d3d0f1fSWills Wang #define QCA956X_PLL_CPU_CONFIG_REFDIV_MASK 0x1f 4841d3d0f1fSWills Wang #define QCA956X_PLL_CPU_CONFIG_OUTDIV_SHIFT 19 4851d3d0f1fSWills Wang #define QCA956X_PLL_CPU_CONFIG_OUTDIV_MASK 0x7 4861d3d0f1fSWills Wang 4871d3d0f1fSWills Wang #define QCA956X_PLL_CPU_CONFIG1_NFRAC_L_SHIFT 0 4881d3d0f1fSWills Wang #define QCA956X_PLL_CPU_CONFIG1_NFRAC_L_MASK 0x1f 4891d3d0f1fSWills Wang #define QCA956X_PLL_CPU_CONFIG1_NFRAC_H_SHIFT 5 4901d3d0f1fSWills Wang #define QCA956X_PLL_CPU_CONFIG1_NFRAC_H_MASK 0x3fff 4911d3d0f1fSWills Wang #define QCA956X_PLL_CPU_CONFIG1_NINT_SHIFT 18 4921d3d0f1fSWills Wang #define QCA956X_PLL_CPU_CONFIG1_NINT_MASK 0x1ff 4931d3d0f1fSWills Wang 4941d3d0f1fSWills Wang #define QCA956X_PLL_DDR_CONFIG_REFDIV_SHIFT 16 4951d3d0f1fSWills Wang #define QCA956X_PLL_DDR_CONFIG_REFDIV_MASK 0x1f 4961d3d0f1fSWills Wang #define QCA956X_PLL_DDR_CONFIG_OUTDIV_SHIFT 23 4971d3d0f1fSWills Wang #define QCA956X_PLL_DDR_CONFIG_OUTDIV_MASK 0x7 4981d3d0f1fSWills Wang 4991d3d0f1fSWills Wang #define QCA956X_PLL_DDR_CONFIG1_NFRAC_L_SHIFT 0 5001d3d0f1fSWills Wang #define QCA956X_PLL_DDR_CONFIG1_NFRAC_L_MASK 0x1f 5011d3d0f1fSWills Wang #define QCA956X_PLL_DDR_CONFIG1_NFRAC_H_SHIFT 5 5021d3d0f1fSWills Wang #define QCA956X_PLL_DDR_CONFIG1_NFRAC_H_MASK 0x3fff 5031d3d0f1fSWills Wang #define QCA956X_PLL_DDR_CONFIG1_NINT_SHIFT 18 5041d3d0f1fSWills Wang #define QCA956X_PLL_DDR_CONFIG1_NINT_MASK 0x1ff 5051d3d0f1fSWills Wang 5061d3d0f1fSWills Wang #define QCA956X_PLL_CLK_CTRL_CPU_PLL_BYPASS BIT(2) 5071d3d0f1fSWills Wang #define QCA956X_PLL_CLK_CTRL_DDR_PLL_BYPASS BIT(3) 5081d3d0f1fSWills Wang #define QCA956X_PLL_CLK_CTRL_AHB_PLL_BYPASS BIT(4) 5091d3d0f1fSWills Wang #define QCA956X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT 5 5101d3d0f1fSWills Wang #define QCA956X_PLL_CLK_CTRL_CPU_POST_DIV_MASK 0x1f 5111d3d0f1fSWills Wang #define QCA956X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT 10 5121d3d0f1fSWills Wang #define QCA956X_PLL_CLK_CTRL_DDR_POST_DIV_MASK 0x1f 5131d3d0f1fSWills Wang #define QCA956X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT 15 5141d3d0f1fSWills Wang #define QCA956X_PLL_CLK_CTRL_AHB_POST_DIV_MASK 0x1f 5151d3d0f1fSWills Wang #define QCA956X_PLL_CLK_CTRL_CPU_DDRCLK_FROM_DDRPLL BIT(20) 5161d3d0f1fSWills Wang #define QCA956X_PLL_CLK_CTRL_CPU_DDRCLK_FROM_CPUPLL BIT(21) 5171d3d0f1fSWills Wang #define QCA956X_PLL_CLK_CTRL_AHBCLK_FROM_DDRPLL BIT(24) 5181d3d0f1fSWills Wang 5191d3d0f1fSWills Wang /* 5201d3d0f1fSWills Wang * USB_CONFIG block 5211d3d0f1fSWills Wang */ 5221d3d0f1fSWills Wang #define AR71XX_USB_CTRL_REG_FLADJ 0x00 5231d3d0f1fSWills Wang #define AR71XX_USB_CTRL_REG_CONFIG 0x04 5241d3d0f1fSWills Wang 5251d3d0f1fSWills Wang /* 5261d3d0f1fSWills Wang * RESET block 5271d3d0f1fSWills Wang */ 5281d3d0f1fSWills Wang #define AR71XX_RESET_REG_TIMER 0x00 5291d3d0f1fSWills Wang #define AR71XX_RESET_REG_TIMER_RELOAD 0x04 5301d3d0f1fSWills Wang #define AR71XX_RESET_REG_WDOG_CTRL 0x08 5311d3d0f1fSWills Wang #define AR71XX_RESET_REG_WDOG 0x0c 5321d3d0f1fSWills Wang #define AR71XX_RESET_REG_MISC_INT_STATUS 0x10 5331d3d0f1fSWills Wang #define AR71XX_RESET_REG_MISC_INT_ENABLE 0x14 5341d3d0f1fSWills Wang #define AR71XX_RESET_REG_PCI_INT_STATUS 0x18 5351d3d0f1fSWills Wang #define AR71XX_RESET_REG_PCI_INT_ENABLE 0x1c 5361d3d0f1fSWills Wang #define AR71XX_RESET_REG_GLOBAL_INT_STATUS 0x20 5371d3d0f1fSWills Wang #define AR71XX_RESET_REG_RESET_MODULE 0x24 5381d3d0f1fSWills Wang #define AR71XX_RESET_REG_PERFC_CTRL 0x2c 5391d3d0f1fSWills Wang #define AR71XX_RESET_REG_PERFC0 0x30 5401d3d0f1fSWills Wang #define AR71XX_RESET_REG_PERFC1 0x34 5411d3d0f1fSWills Wang #define AR71XX_RESET_REG_REV_ID 0x90 5421d3d0f1fSWills Wang 5431d3d0f1fSWills Wang #define AR913X_RESET_REG_GLOBAL_INT_STATUS 0x18 5441d3d0f1fSWills Wang #define AR913X_RESET_REG_RESET_MODULE 0x1c 5451d3d0f1fSWills Wang #define AR913X_RESET_REG_PERF_CTRL 0x20 5461d3d0f1fSWills Wang #define AR913X_RESET_REG_PERFC0 0x24 5471d3d0f1fSWills Wang #define AR913X_RESET_REG_PERFC1 0x28 5481d3d0f1fSWills Wang 5491d3d0f1fSWills Wang #define AR724X_RESET_REG_RESET_MODULE 0x1c 5501d3d0f1fSWills Wang 5511d3d0f1fSWills Wang #define AR933X_RESET_REG_RESET_MODULE 0x1c 5521d3d0f1fSWills Wang #define AR933X_RESET_REG_BOOTSTRAP 0xac 5531d3d0f1fSWills Wang 5541d3d0f1fSWills Wang #define AR934X_RESET_REG_RESET_MODULE 0x1c 5551d3d0f1fSWills Wang #define AR934X_RESET_REG_BOOTSTRAP 0xb0 5561d3d0f1fSWills Wang #define AR934X_RESET_REG_PCIE_WMAC_INT_STATUS 0xac 5571d3d0f1fSWills Wang 5581d3d0f1fSWills Wang #define QCA953X_RESET_REG_RESET_MODULE 0x1c 5591d3d0f1fSWills Wang #define QCA953X_RESET_REG_BOOTSTRAP 0xb0 5601d3d0f1fSWills Wang #define QCA953X_RESET_REG_PCIE_WMAC_INT_STATUS 0xac 5611d3d0f1fSWills Wang 5621d3d0f1fSWills Wang #define QCA955X_RESET_REG_RESET_MODULE 0x1c 5631d3d0f1fSWills Wang #define QCA955X_RESET_REG_BOOTSTRAP 0xb0 5641d3d0f1fSWills Wang #define QCA955X_RESET_REG_EXT_INT_STATUS 0xac 5651d3d0f1fSWills Wang 5661d3d0f1fSWills Wang #define QCA956X_RESET_REG_RESET_MODULE 0x1c 5671d3d0f1fSWills Wang #define QCA956X_RESET_REG_BOOTSTRAP 0xb0 5681d3d0f1fSWills Wang #define QCA956X_RESET_REG_EXT_INT_STATUS 0xac 5691d3d0f1fSWills Wang 5701d3d0f1fSWills Wang #define MISC_INT_MIPS_SI_TIMERINT_MASK BIT(28) 5711d3d0f1fSWills Wang #define MISC_INT_ETHSW BIT(12) 5721d3d0f1fSWills Wang #define MISC_INT_TIMER4 BIT(10) 5731d3d0f1fSWills Wang #define MISC_INT_TIMER3 BIT(9) 5741d3d0f1fSWills Wang #define MISC_INT_TIMER2 BIT(8) 5751d3d0f1fSWills Wang #define MISC_INT_DMA BIT(7) 5761d3d0f1fSWills Wang #define MISC_INT_OHCI BIT(6) 5771d3d0f1fSWills Wang #define MISC_INT_PERFC BIT(5) 5781d3d0f1fSWills Wang #define MISC_INT_WDOG BIT(4) 5791d3d0f1fSWills Wang #define MISC_INT_UART BIT(3) 5801d3d0f1fSWills Wang #define MISC_INT_GPIO BIT(2) 5811d3d0f1fSWills Wang #define MISC_INT_ERROR BIT(1) 5821d3d0f1fSWills Wang #define MISC_INT_TIMER BIT(0) 5831d3d0f1fSWills Wang 5841d3d0f1fSWills Wang #define AR71XX_RESET_EXTERNAL BIT(28) 5851d3d0f1fSWills Wang #define AR71XX_RESET_FULL_CHIP BIT(24) 5861d3d0f1fSWills Wang #define AR71XX_RESET_CPU_NMI BIT(21) 5871d3d0f1fSWills Wang #define AR71XX_RESET_CPU_COLD BIT(20) 5881d3d0f1fSWills Wang #define AR71XX_RESET_DMA BIT(19) 5891d3d0f1fSWills Wang #define AR71XX_RESET_SLIC BIT(18) 5901d3d0f1fSWills Wang #define AR71XX_RESET_STEREO BIT(17) 5911d3d0f1fSWills Wang #define AR71XX_RESET_DDR BIT(16) 5921d3d0f1fSWills Wang #define AR71XX_RESET_GE1_MAC BIT(13) 5931d3d0f1fSWills Wang #define AR71XX_RESET_GE1_PHY BIT(12) 5941d3d0f1fSWills Wang #define AR71XX_RESET_USBSUS_OVERRIDE BIT(10) 5951d3d0f1fSWills Wang #define AR71XX_RESET_GE0_MAC BIT(9) 5961d3d0f1fSWills Wang #define AR71XX_RESET_GE0_PHY BIT(8) 5971d3d0f1fSWills Wang #define AR71XX_RESET_USB_OHCI_DLL BIT(6) 5981d3d0f1fSWills Wang #define AR71XX_RESET_USB_HOST BIT(5) 5991d3d0f1fSWills Wang #define AR71XX_RESET_USB_PHY BIT(4) 6001d3d0f1fSWills Wang #define AR71XX_RESET_PCI_BUS BIT(1) 6011d3d0f1fSWills Wang #define AR71XX_RESET_PCI_CORE BIT(0) 6021d3d0f1fSWills Wang 6031d3d0f1fSWills Wang #define AR7240_RESET_USB_HOST BIT(5) 6041d3d0f1fSWills Wang #define AR7240_RESET_OHCI_DLL BIT(3) 6051d3d0f1fSWills Wang 6061d3d0f1fSWills Wang #define AR724X_RESET_GE1_MDIO BIT(23) 6071d3d0f1fSWills Wang #define AR724X_RESET_GE0_MDIO BIT(22) 6081d3d0f1fSWills Wang #define AR724X_RESET_PCIE_PHY_SERIAL BIT(10) 6091d3d0f1fSWills Wang #define AR724X_RESET_PCIE_PHY BIT(7) 6101d3d0f1fSWills Wang #define AR724X_RESET_PCIE BIT(6) 6111d3d0f1fSWills Wang #define AR724X_RESET_USB_HOST BIT(5) 6121d3d0f1fSWills Wang #define AR724X_RESET_USB_PHY BIT(4) 6131d3d0f1fSWills Wang #define AR724X_RESET_USBSUS_OVERRIDE BIT(3) 6141d3d0f1fSWills Wang 6151d3d0f1fSWills Wang #define AR913X_RESET_AMBA2WMAC BIT(22) 6161d3d0f1fSWills Wang #define AR913X_RESET_USBSUS_OVERRIDE BIT(10) 6171d3d0f1fSWills Wang #define AR913X_RESET_USB_HOST BIT(5) 6181d3d0f1fSWills Wang #define AR913X_RESET_USB_PHY BIT(4) 6191d3d0f1fSWills Wang 6201d3d0f1fSWills Wang #define AR933X_RESET_GE1_MDIO BIT(23) 6211d3d0f1fSWills Wang #define AR933X_RESET_GE0_MDIO BIT(22) 6221d3d0f1fSWills Wang #define AR933X_RESET_GE1_MAC BIT(13) 6231d3d0f1fSWills Wang #define AR933X_RESET_WMAC BIT(11) 6241d3d0f1fSWills Wang #define AR933X_RESET_GE0_MAC BIT(9) 625*4771bbeeSMarek Vasut #define AR933X_RESET_ETH_SWITCH BIT(8) 6261d3d0f1fSWills Wang #define AR933X_RESET_USB_HOST BIT(5) 6271d3d0f1fSWills Wang #define AR933X_RESET_USB_PHY BIT(4) 6281d3d0f1fSWills Wang #define AR933X_RESET_USBSUS_OVERRIDE BIT(3) 6291d3d0f1fSWills Wang 6301d3d0f1fSWills Wang #define AR934X_RESET_HOST BIT(31) 6311d3d0f1fSWills Wang #define AR934X_RESET_SLIC BIT(30) 6321d3d0f1fSWills Wang #define AR934X_RESET_HDMA BIT(29) 6331d3d0f1fSWills Wang #define AR934X_RESET_EXTERNAL BIT(28) 6341d3d0f1fSWills Wang #define AR934X_RESET_RTC BIT(27) 6351d3d0f1fSWills Wang #define AR934X_RESET_PCIE_EP_INT BIT(26) 6361d3d0f1fSWills Wang #define AR934X_RESET_CHKSUM_ACC BIT(25) 6371d3d0f1fSWills Wang #define AR934X_RESET_FULL_CHIP BIT(24) 6381d3d0f1fSWills Wang #define AR934X_RESET_GE1_MDIO BIT(23) 6391d3d0f1fSWills Wang #define AR934X_RESET_GE0_MDIO BIT(22) 6401d3d0f1fSWills Wang #define AR934X_RESET_CPU_NMI BIT(21) 6411d3d0f1fSWills Wang #define AR934X_RESET_CPU_COLD BIT(20) 6421d3d0f1fSWills Wang #define AR934X_RESET_HOST_RESET_INT BIT(19) 6431d3d0f1fSWills Wang #define AR934X_RESET_PCIE_EP BIT(18) 6441d3d0f1fSWills Wang #define AR934X_RESET_UART1 BIT(17) 6451d3d0f1fSWills Wang #define AR934X_RESET_DDR BIT(16) 6461d3d0f1fSWills Wang #define AR934X_RESET_USB_PHY_PLL_PWD_EXT BIT(15) 6471d3d0f1fSWills Wang #define AR934X_RESET_NANDF BIT(14) 6481d3d0f1fSWills Wang #define AR934X_RESET_GE1_MAC BIT(13) 6491d3d0f1fSWills Wang #define AR934X_RESET_ETH_SWITCH_ANALOG BIT(12) 6501d3d0f1fSWills Wang #define AR934X_RESET_USB_PHY_ANALOG BIT(11) 6511d3d0f1fSWills Wang #define AR934X_RESET_HOST_DMA_INT BIT(10) 6521d3d0f1fSWills Wang #define AR934X_RESET_GE0_MAC BIT(9) 6531d3d0f1fSWills Wang #define AR934X_RESET_ETH_SWITCH BIT(8) 6541d3d0f1fSWills Wang #define AR934X_RESET_PCIE_PHY BIT(7) 6551d3d0f1fSWills Wang #define AR934X_RESET_PCIE BIT(6) 6561d3d0f1fSWills Wang #define AR934X_RESET_USB_HOST BIT(5) 6571d3d0f1fSWills Wang #define AR934X_RESET_USB_PHY BIT(4) 6581d3d0f1fSWills Wang #define AR934X_RESET_USBSUS_OVERRIDE BIT(3) 6591d3d0f1fSWills Wang #define AR934X_RESET_LUT BIT(2) 6601d3d0f1fSWills Wang #define AR934X_RESET_MBOX BIT(1) 6611d3d0f1fSWills Wang #define AR934X_RESET_I2S BIT(0) 6621d3d0f1fSWills Wang 6631d3d0f1fSWills Wang #define QCA953X_RESET_USB_EXT_PWR BIT(29) 6641d3d0f1fSWills Wang #define QCA953X_RESET_EXTERNAL BIT(28) 6651d3d0f1fSWills Wang #define QCA953X_RESET_RTC BIT(27) 6661d3d0f1fSWills Wang #define QCA953X_RESET_FULL_CHIP BIT(24) 6671d3d0f1fSWills Wang #define QCA953X_RESET_GE1_MDIO BIT(23) 6681d3d0f1fSWills Wang #define QCA953X_RESET_GE0_MDIO BIT(22) 6691d3d0f1fSWills Wang #define QCA953X_RESET_CPU_NMI BIT(21) 6701d3d0f1fSWills Wang #define QCA953X_RESET_CPU_COLD BIT(20) 6711d3d0f1fSWills Wang #define QCA953X_RESET_DDR BIT(16) 6721d3d0f1fSWills Wang #define QCA953X_RESET_USB_PHY_PLL_PWD_EXT BIT(15) 6731d3d0f1fSWills Wang #define QCA953X_RESET_GE1_MAC BIT(13) 6741d3d0f1fSWills Wang #define QCA953X_RESET_ETH_SWITCH_ANALOG BIT(12) 6751d3d0f1fSWills Wang #define QCA953X_RESET_USB_PHY_ANALOG BIT(11) 6761d3d0f1fSWills Wang #define QCA953X_RESET_GE0_MAC BIT(9) 6771d3d0f1fSWills Wang #define QCA953X_RESET_ETH_SWITCH BIT(8) 6781d3d0f1fSWills Wang #define QCA953X_RESET_PCIE_PHY BIT(7) 6791d3d0f1fSWills Wang #define QCA953X_RESET_PCIE BIT(6) 6801d3d0f1fSWills Wang #define QCA953X_RESET_USB_HOST BIT(5) 6811d3d0f1fSWills Wang #define QCA953X_RESET_USB_PHY BIT(4) 6821d3d0f1fSWills Wang #define QCA953X_RESET_USBSUS_OVERRIDE BIT(3) 6831d3d0f1fSWills Wang 6841d3d0f1fSWills Wang #define QCA955X_RESET_HOST BIT(31) 6851d3d0f1fSWills Wang #define QCA955X_RESET_SLIC BIT(30) 6861d3d0f1fSWills Wang #define QCA955X_RESET_HDMA BIT(29) 6871d3d0f1fSWills Wang #define QCA955X_RESET_EXTERNAL BIT(28) 6881d3d0f1fSWills Wang #define QCA955X_RESET_RTC BIT(27) 6891d3d0f1fSWills Wang #define QCA955X_RESET_PCIE_EP_INT BIT(26) 6901d3d0f1fSWills Wang #define QCA955X_RESET_CHKSUM_ACC BIT(25) 6911d3d0f1fSWills Wang #define QCA955X_RESET_FULL_CHIP BIT(24) 6921d3d0f1fSWills Wang #define QCA955X_RESET_GE1_MDIO BIT(23) 6931d3d0f1fSWills Wang #define QCA955X_RESET_GE0_MDIO BIT(22) 6941d3d0f1fSWills Wang #define QCA955X_RESET_CPU_NMI BIT(21) 6951d3d0f1fSWills Wang #define QCA955X_RESET_CPU_COLD BIT(20) 6961d3d0f1fSWills Wang #define QCA955X_RESET_HOST_RESET_INT BIT(19) 6971d3d0f1fSWills Wang #define QCA955X_RESET_PCIE_EP BIT(18) 6981d3d0f1fSWills Wang #define QCA955X_RESET_UART1 BIT(17) 6991d3d0f1fSWills Wang #define QCA955X_RESET_DDR BIT(16) 7001d3d0f1fSWills Wang #define QCA955X_RESET_USB_PHY_PLL_PWD_EXT BIT(15) 7011d3d0f1fSWills Wang #define QCA955X_RESET_NANDF BIT(14) 7021d3d0f1fSWills Wang #define QCA955X_RESET_GE1_MAC BIT(13) 7031d3d0f1fSWills Wang #define QCA955X_RESET_SGMII_ANALOG BIT(12) 7041d3d0f1fSWills Wang #define QCA955X_RESET_USB_PHY_ANALOG BIT(11) 7051d3d0f1fSWills Wang #define QCA955X_RESET_HOST_DMA_INT BIT(10) 7061d3d0f1fSWills Wang #define QCA955X_RESET_GE0_MAC BIT(9) 7071d3d0f1fSWills Wang #define QCA955X_RESET_SGMII BIT(8) 7081d3d0f1fSWills Wang #define QCA955X_RESET_PCIE_PHY BIT(7) 7091d3d0f1fSWills Wang #define QCA955X_RESET_PCIE BIT(6) 7101d3d0f1fSWills Wang #define QCA955X_RESET_USB_HOST BIT(5) 7111d3d0f1fSWills Wang #define QCA955X_RESET_USB_PHY BIT(4) 7121d3d0f1fSWills Wang #define QCA955X_RESET_USBSUS_OVERRIDE BIT(3) 7131d3d0f1fSWills Wang #define QCA955X_RESET_LUT BIT(2) 7141d3d0f1fSWills Wang #define QCA955X_RESET_MBOX BIT(1) 7151d3d0f1fSWills Wang #define QCA955X_RESET_I2S BIT(0) 7161d3d0f1fSWills Wang 7171d3d0f1fSWills Wang #define AR933X_BOOTSTRAP_MDIO_GPIO_EN BIT(18) 7181d3d0f1fSWills Wang #define AR933X_BOOTSTRAP_DDR2 BIT(13) 7191d3d0f1fSWills Wang #define AR933X_BOOTSTRAP_EEPBUSY BIT(4) 7201d3d0f1fSWills Wang #define AR933X_BOOTSTRAP_REF_CLK_40 BIT(0) 7211d3d0f1fSWills Wang 7221d3d0f1fSWills Wang #define AR934X_BOOTSTRAP_SW_OPTION8 BIT(23) 7231d3d0f1fSWills Wang #define AR934X_BOOTSTRAP_SW_OPTION7 BIT(22) 7241d3d0f1fSWills Wang #define AR934X_BOOTSTRAP_SW_OPTION6 BIT(21) 7251d3d0f1fSWills Wang #define AR934X_BOOTSTRAP_SW_OPTION5 BIT(20) 7261d3d0f1fSWills Wang #define AR934X_BOOTSTRAP_SW_OPTION4 BIT(19) 7271d3d0f1fSWills Wang #define AR934X_BOOTSTRAP_SW_OPTION3 BIT(18) 7281d3d0f1fSWills Wang #define AR934X_BOOTSTRAP_SW_OPTION2 BIT(17) 7291d3d0f1fSWills Wang #define AR934X_BOOTSTRAP_SW_OPTION1 BIT(16) 7301d3d0f1fSWills Wang #define AR934X_BOOTSTRAP_USB_MODE_DEVICE BIT(7) 7311d3d0f1fSWills Wang #define AR934X_BOOTSTRAP_PCIE_RC BIT(6) 7321d3d0f1fSWills Wang #define AR934X_BOOTSTRAP_EJTAG_MODE BIT(5) 7331d3d0f1fSWills Wang #define AR934X_BOOTSTRAP_REF_CLK_40 BIT(4) 7341d3d0f1fSWills Wang #define AR934X_BOOTSTRAP_BOOT_FROM_SPI BIT(2) 7351d3d0f1fSWills Wang #define AR934X_BOOTSTRAP_SDRAM_DISABLED BIT(1) 7361d3d0f1fSWills Wang #define AR934X_BOOTSTRAP_DDR1 BIT(0) 7371d3d0f1fSWills Wang 7381d3d0f1fSWills Wang #define QCA953X_BOOTSTRAP_SW_OPTION2 BIT(12) 7391d3d0f1fSWills Wang #define QCA953X_BOOTSTRAP_SW_OPTION1 BIT(11) 7401d3d0f1fSWills Wang #define QCA953X_BOOTSTRAP_EJTAG_MODE BIT(5) 7411d3d0f1fSWills Wang #define QCA953X_BOOTSTRAP_REF_CLK_40 BIT(4) 7421d3d0f1fSWills Wang #define QCA953X_BOOTSTRAP_SDRAM_DISABLED BIT(1) 7431d3d0f1fSWills Wang #define QCA953X_BOOTSTRAP_DDR1 BIT(0) 7441d3d0f1fSWills Wang 7451d3d0f1fSWills Wang #define QCA955X_BOOTSTRAP_REF_CLK_40 BIT(4) 7461d3d0f1fSWills Wang 7471d3d0f1fSWills Wang #define QCA956X_BOOTSTRAP_REF_CLK_40 BIT(2) 7481d3d0f1fSWills Wang 7491d3d0f1fSWills Wang #define AR934X_PCIE_WMAC_INT_WMAC_MISC BIT(0) 7501d3d0f1fSWills Wang #define AR934X_PCIE_WMAC_INT_WMAC_TX BIT(1) 7511d3d0f1fSWills Wang #define AR934X_PCIE_WMAC_INT_WMAC_RXLP BIT(2) 7521d3d0f1fSWills Wang #define AR934X_PCIE_WMAC_INT_WMAC_RXHP BIT(3) 7531d3d0f1fSWills Wang #define AR934X_PCIE_WMAC_INT_PCIE_RC BIT(4) 7541d3d0f1fSWills Wang #define AR934X_PCIE_WMAC_INT_PCIE_RC0 BIT(5) 7551d3d0f1fSWills Wang #define AR934X_PCIE_WMAC_INT_PCIE_RC1 BIT(6) 7561d3d0f1fSWills Wang #define AR934X_PCIE_WMAC_INT_PCIE_RC2 BIT(7) 7571d3d0f1fSWills Wang #define AR934X_PCIE_WMAC_INT_PCIE_RC3 BIT(8) 7581d3d0f1fSWills Wang #define AR934X_PCIE_WMAC_INT_WMAC_ALL \ 7591d3d0f1fSWills Wang (AR934X_PCIE_WMAC_INT_WMAC_MISC | AR934X_PCIE_WMAC_INT_WMAC_TX | \ 7601d3d0f1fSWills Wang AR934X_PCIE_WMAC_INT_WMAC_RXLP | AR934X_PCIE_WMAC_INT_WMAC_RXHP) 7611d3d0f1fSWills Wang 7621d3d0f1fSWills Wang #define AR934X_PCIE_WMAC_INT_PCIE_ALL \ 7631d3d0f1fSWills Wang (AR934X_PCIE_WMAC_INT_PCIE_RC | AR934X_PCIE_WMAC_INT_PCIE_RC0 | \ 7641d3d0f1fSWills Wang AR934X_PCIE_WMAC_INT_PCIE_RC1 | AR934X_PCIE_WMAC_INT_PCIE_RC2 | \ 7651d3d0f1fSWills Wang AR934X_PCIE_WMAC_INT_PCIE_RC3) 7661d3d0f1fSWills Wang 7671d3d0f1fSWills Wang #define QCA953X_PCIE_WMAC_INT_WMAC_MISC BIT(0) 7681d3d0f1fSWills Wang #define QCA953X_PCIE_WMAC_INT_WMAC_TX BIT(1) 7691d3d0f1fSWills Wang #define QCA953X_PCIE_WMAC_INT_WMAC_RXLP BIT(2) 7701d3d0f1fSWills Wang #define QCA953X_PCIE_WMAC_INT_WMAC_RXHP BIT(3) 7711d3d0f1fSWills Wang #define QCA953X_PCIE_WMAC_INT_PCIE_RC BIT(4) 7721d3d0f1fSWills Wang #define QCA953X_PCIE_WMAC_INT_PCIE_RC0 BIT(5) 7731d3d0f1fSWills Wang #define QCA953X_PCIE_WMAC_INT_PCIE_RC1 BIT(6) 7741d3d0f1fSWills Wang #define QCA953X_PCIE_WMAC_INT_PCIE_RC2 BIT(7) 7751d3d0f1fSWills Wang #define QCA953X_PCIE_WMAC_INT_PCIE_RC3 BIT(8) 7761d3d0f1fSWills Wang #define QCA953X_PCIE_WMAC_INT_WMAC_ALL \ 7771d3d0f1fSWills Wang (QCA953X_PCIE_WMAC_INT_WMAC_MISC | QCA953X_PCIE_WMAC_INT_WMAC_TX | \ 7781d3d0f1fSWills Wang QCA953X_PCIE_WMAC_INT_WMAC_RXLP | QCA953X_PCIE_WMAC_INT_WMAC_RXHP) 7791d3d0f1fSWills Wang 7801d3d0f1fSWills Wang #define QCA953X_PCIE_WMAC_INT_PCIE_ALL \ 7811d3d0f1fSWills Wang (QCA953X_PCIE_WMAC_INT_PCIE_RC | QCA953X_PCIE_WMAC_INT_PCIE_RC0 | \ 7821d3d0f1fSWills Wang QCA953X_PCIE_WMAC_INT_PCIE_RC1 | QCA953X_PCIE_WMAC_INT_PCIE_RC2 | \ 7831d3d0f1fSWills Wang QCA953X_PCIE_WMAC_INT_PCIE_RC3) 7841d3d0f1fSWills Wang 7851d3d0f1fSWills Wang #define QCA955X_EXT_INT_WMAC_MISC BIT(0) 7861d3d0f1fSWills Wang #define QCA955X_EXT_INT_WMAC_TX BIT(1) 7871d3d0f1fSWills Wang #define QCA955X_EXT_INT_WMAC_RXLP BIT(2) 7881d3d0f1fSWills Wang #define QCA955X_EXT_INT_WMAC_RXHP BIT(3) 7891d3d0f1fSWills Wang #define QCA955X_EXT_INT_PCIE_RC1 BIT(4) 7901d3d0f1fSWills Wang #define QCA955X_EXT_INT_PCIE_RC1_INT0 BIT(5) 7911d3d0f1fSWills Wang #define QCA955X_EXT_INT_PCIE_RC1_INT1 BIT(6) 7921d3d0f1fSWills Wang #define QCA955X_EXT_INT_PCIE_RC1_INT2 BIT(7) 7931d3d0f1fSWills Wang #define QCA955X_EXT_INT_PCIE_RC1_INT3 BIT(8) 7941d3d0f1fSWills Wang #define QCA955X_EXT_INT_PCIE_RC2 BIT(12) 7951d3d0f1fSWills Wang #define QCA955X_EXT_INT_PCIE_RC2_INT0 BIT(13) 7961d3d0f1fSWills Wang #define QCA955X_EXT_INT_PCIE_RC2_INT1 BIT(14) 7971d3d0f1fSWills Wang #define QCA955X_EXT_INT_PCIE_RC2_INT2 BIT(15) 7981d3d0f1fSWills Wang #define QCA955X_EXT_INT_PCIE_RC2_INT3 BIT(16) 7991d3d0f1fSWills Wang #define QCA955X_EXT_INT_USB1 BIT(24) 8001d3d0f1fSWills Wang #define QCA955X_EXT_INT_USB2 BIT(28) 8011d3d0f1fSWills Wang 8021d3d0f1fSWills Wang #define QCA955X_EXT_INT_WMAC_ALL \ 8031d3d0f1fSWills Wang (QCA955X_EXT_INT_WMAC_MISC | QCA955X_EXT_INT_WMAC_TX | \ 8041d3d0f1fSWills Wang QCA955X_EXT_INT_WMAC_RXLP | QCA955X_EXT_INT_WMAC_RXHP) 8051d3d0f1fSWills Wang 8061d3d0f1fSWills Wang #define QCA955X_EXT_INT_PCIE_RC1_ALL \ 8071d3d0f1fSWills Wang (QCA955X_EXT_INT_PCIE_RC1 | QCA955X_EXT_INT_PCIE_RC1_INT0 | \ 8081d3d0f1fSWills Wang QCA955X_EXT_INT_PCIE_RC1_INT1 | QCA955X_EXT_INT_PCIE_RC1_INT2 | \ 8091d3d0f1fSWills Wang QCA955X_EXT_INT_PCIE_RC1_INT3) 8101d3d0f1fSWills Wang 8111d3d0f1fSWills Wang #define QCA955X_EXT_INT_PCIE_RC2_ALL \ 8121d3d0f1fSWills Wang (QCA955X_EXT_INT_PCIE_RC2 | QCA955X_EXT_INT_PCIE_RC2_INT0 | \ 8131d3d0f1fSWills Wang QCA955X_EXT_INT_PCIE_RC2_INT1 | QCA955X_EXT_INT_PCIE_RC2_INT2 | \ 8141d3d0f1fSWills Wang QCA955X_EXT_INT_PCIE_RC2_INT3) 8151d3d0f1fSWills Wang 8161d3d0f1fSWills Wang #define QCA956X_EXT_INT_WMAC_MISC BIT(0) 8171d3d0f1fSWills Wang #define QCA956X_EXT_INT_WMAC_TX BIT(1) 8181d3d0f1fSWills Wang #define QCA956X_EXT_INT_WMAC_RXLP BIT(2) 8191d3d0f1fSWills Wang #define QCA956X_EXT_INT_WMAC_RXHP BIT(3) 8201d3d0f1fSWills Wang #define QCA956X_EXT_INT_PCIE_RC1 BIT(4) 8211d3d0f1fSWills Wang #define QCA956X_EXT_INT_PCIE_RC1_INT0 BIT(5) 8221d3d0f1fSWills Wang #define QCA956X_EXT_INT_PCIE_RC1_INT1 BIT(6) 8231d3d0f1fSWills Wang #define QCA956X_EXT_INT_PCIE_RC1_INT2 BIT(7) 8241d3d0f1fSWills Wang #define QCA956X_EXT_INT_PCIE_RC1_INT3 BIT(8) 8251d3d0f1fSWills Wang #define QCA956X_EXT_INT_PCIE_RC2 BIT(12) 8261d3d0f1fSWills Wang #define QCA956X_EXT_INT_PCIE_RC2_INT0 BIT(13) 8271d3d0f1fSWills Wang #define QCA956X_EXT_INT_PCIE_RC2_INT1 BIT(14) 8281d3d0f1fSWills Wang #define QCA956X_EXT_INT_PCIE_RC2_INT2 BIT(15) 8291d3d0f1fSWills Wang #define QCA956X_EXT_INT_PCIE_RC2_INT3 BIT(16) 8301d3d0f1fSWills Wang #define QCA956X_EXT_INT_USB1 BIT(24) 8311d3d0f1fSWills Wang #define QCA956X_EXT_INT_USB2 BIT(28) 8321d3d0f1fSWills Wang 8331d3d0f1fSWills Wang #define QCA956X_EXT_INT_WMAC_ALL \ 8341d3d0f1fSWills Wang (QCA956X_EXT_INT_WMAC_MISC | QCA956X_EXT_INT_WMAC_TX | \ 8351d3d0f1fSWills Wang QCA956X_EXT_INT_WMAC_RXLP | QCA956X_EXT_INT_WMAC_RXHP) 8361d3d0f1fSWills Wang 8371d3d0f1fSWills Wang #define QCA956X_EXT_INT_PCIE_RC1_ALL \ 8381d3d0f1fSWills Wang (QCA956X_EXT_INT_PCIE_RC1 | QCA956X_EXT_INT_PCIE_RC1_INT0 | \ 8391d3d0f1fSWills Wang QCA956X_EXT_INT_PCIE_RC1_INT1 | QCA956X_EXT_INT_PCIE_RC1_INT2 | \ 8401d3d0f1fSWills Wang QCA956X_EXT_INT_PCIE_RC1_INT3) 8411d3d0f1fSWills Wang 8421d3d0f1fSWills Wang #define QCA956X_EXT_INT_PCIE_RC2_ALL \ 8431d3d0f1fSWills Wang (QCA956X_EXT_INT_PCIE_RC2 | QCA956X_EXT_INT_PCIE_RC2_INT0 | \ 8441d3d0f1fSWills Wang QCA956X_EXT_INT_PCIE_RC2_INT1 | QCA956X_EXT_INT_PCIE_RC2_INT2 | \ 8451d3d0f1fSWills Wang QCA956X_EXT_INT_PCIE_RC2_INT3) 8461d3d0f1fSWills Wang 8471d3d0f1fSWills Wang #define REV_ID_MAJOR_MASK 0xfff0 8481d3d0f1fSWills Wang #define REV_ID_MAJOR_AR71XX 0x00a0 8491d3d0f1fSWills Wang #define REV_ID_MAJOR_AR913X 0x00b0 8501d3d0f1fSWills Wang #define REV_ID_MAJOR_AR7240 0x00c0 8511d3d0f1fSWills Wang #define REV_ID_MAJOR_AR7241 0x0100 8521d3d0f1fSWills Wang #define REV_ID_MAJOR_AR7242 0x1100 8531d3d0f1fSWills Wang #define REV_ID_MAJOR_AR9330 0x0110 8541d3d0f1fSWills Wang #define REV_ID_MAJOR_AR9331 0x1110 8551d3d0f1fSWills Wang #define REV_ID_MAJOR_AR9341 0x0120 8561d3d0f1fSWills Wang #define REV_ID_MAJOR_AR9342 0x1120 8571d3d0f1fSWills Wang #define REV_ID_MAJOR_AR9344 0x2120 8581d3d0f1fSWills Wang #define REV_ID_MAJOR_QCA9533 0x0140 8591d3d0f1fSWills Wang #define REV_ID_MAJOR_QCA9533_V2 0x0160 8601d3d0f1fSWills Wang #define REV_ID_MAJOR_QCA9556 0x0130 8611d3d0f1fSWills Wang #define REV_ID_MAJOR_QCA9558 0x1130 8621d3d0f1fSWills Wang #define REV_ID_MAJOR_TP9343 0x0150 8631d3d0f1fSWills Wang #define REV_ID_MAJOR_QCA9561 0x1150 8641d3d0f1fSWills Wang 8651d3d0f1fSWills Wang #define AR71XX_REV_ID_MINOR_MASK 0x3 8661d3d0f1fSWills Wang #define AR71XX_REV_ID_MINOR_AR7130 0x0 8671d3d0f1fSWills Wang #define AR71XX_REV_ID_MINOR_AR7141 0x1 8681d3d0f1fSWills Wang #define AR71XX_REV_ID_MINOR_AR7161 0x2 8691d3d0f1fSWills Wang #define AR913X_REV_ID_MINOR_AR9130 0x0 8701d3d0f1fSWills Wang #define AR913X_REV_ID_MINOR_AR9132 0x1 8711d3d0f1fSWills Wang 8721d3d0f1fSWills Wang #define AR71XX_REV_ID_REVISION_MASK 0x3 8731d3d0f1fSWills Wang #define AR71XX_REV_ID_REVISION_SHIFT 2 8741d3d0f1fSWills Wang #define AR71XX_REV_ID_REVISION2_MASK 0xf 8751d3d0f1fSWills Wang 8761d3d0f1fSWills Wang /* 8771d3d0f1fSWills Wang * RTC block 8781d3d0f1fSWills Wang */ 8791d3d0f1fSWills Wang #define AR933X_RTC_REG_RESET 0x40 8801d3d0f1fSWills Wang #define AR933X_RTC_REG_STATUS 0x44 8811d3d0f1fSWills Wang #define AR933X_RTC_REG_DERIVED 0x48 8821d3d0f1fSWills Wang #define AR933X_RTC_REG_FORCE_WAKE 0x4c 8831d3d0f1fSWills Wang #define AR933X_RTC_REG_INT_CAUSE 0x50 8841d3d0f1fSWills Wang #define AR933X_RTC_REG_CAUSE_CLR 0x50 8851d3d0f1fSWills Wang #define AR933X_RTC_REG_INT_ENABLE 0x54 8861d3d0f1fSWills Wang #define AR933X_RTC_REG_INT_MASKE 0x58 8871d3d0f1fSWills Wang 8881d3d0f1fSWills Wang #define QCA953X_RTC_REG_SYNC_RESET 0x40 8891d3d0f1fSWills Wang #define QCA953X_RTC_REG_SYNC_STATUS 0x44 8901d3d0f1fSWills Wang 8911d3d0f1fSWills Wang /* 8921d3d0f1fSWills Wang * SPI block 8931d3d0f1fSWills Wang */ 8941d3d0f1fSWills Wang #define AR71XX_SPI_REG_FS 0x00 8951d3d0f1fSWills Wang #define AR71XX_SPI_REG_CTRL 0x04 8961d3d0f1fSWills Wang #define AR71XX_SPI_REG_IOC 0x08 8971d3d0f1fSWills Wang #define AR71XX_SPI_REG_RDS 0x0c 8981d3d0f1fSWills Wang 8991d3d0f1fSWills Wang #define AR71XX_SPI_FS_GPIO BIT(0) 9001d3d0f1fSWills Wang 9011d3d0f1fSWills Wang #define AR71XX_SPI_CTRL_RD BIT(6) 9021d3d0f1fSWills Wang #define AR71XX_SPI_CTRL_DIV_MASK 0x3f 9031d3d0f1fSWills Wang 9041d3d0f1fSWills Wang #define AR71XX_SPI_IOC_DO BIT(0) 9051d3d0f1fSWills Wang #define AR71XX_SPI_IOC_CLK BIT(8) 9061d3d0f1fSWills Wang #define AR71XX_SPI_IOC_CS(n) BIT(16 + (n)) 9071d3d0f1fSWills Wang #define AR71XX_SPI_IOC_CS0 AR71XX_SPI_IOC_CS(0) 9081d3d0f1fSWills Wang #define AR71XX_SPI_IOC_CS1 AR71XX_SPI_IOC_CS(1) 9091d3d0f1fSWills Wang #define AR71XX_SPI_IOC_CS2 AR71XX_SPI_IOC_CS(2) 9101d3d0f1fSWills Wang #define AR71XX_SPI_IOC_CS_ALL \ 9111d3d0f1fSWills Wang (AR71XX_SPI_IOC_CS0 | AR71XX_SPI_IOC_CS1 | AR71XX_SPI_IOC_CS2) 9121d3d0f1fSWills Wang 9131d3d0f1fSWills Wang /* 9141d3d0f1fSWills Wang * GPIO block 9151d3d0f1fSWills Wang */ 9161d3d0f1fSWills Wang #define AR71XX_GPIO_REG_OE 0x00 9171d3d0f1fSWills Wang #define AR71XX_GPIO_REG_IN 0x04 9181d3d0f1fSWills Wang #define AR71XX_GPIO_REG_OUT 0x08 9191d3d0f1fSWills Wang #define AR71XX_GPIO_REG_SET 0x0c 9201d3d0f1fSWills Wang #define AR71XX_GPIO_REG_CLEAR 0x10 9211d3d0f1fSWills Wang #define AR71XX_GPIO_REG_INT_MODE 0x14 9221d3d0f1fSWills Wang #define AR71XX_GPIO_REG_INT_TYPE 0x18 9231d3d0f1fSWills Wang #define AR71XX_GPIO_REG_INT_POLARITY 0x1c 9241d3d0f1fSWills Wang #define AR71XX_GPIO_REG_INT_PENDING 0x20 9251d3d0f1fSWills Wang #define AR71XX_GPIO_REG_INT_ENABLE 0x24 9261d3d0f1fSWills Wang #define AR71XX_GPIO_REG_FUNC 0x28 9271d3d0f1fSWills Wang #define AR933X_GPIO_REG_FUNC 0x30 9281d3d0f1fSWills Wang 9291d3d0f1fSWills Wang #define AR934X_GPIO_REG_OUT_FUNC0 0x2c 9301d3d0f1fSWills Wang #define AR934X_GPIO_REG_OUT_FUNC1 0x30 9311d3d0f1fSWills Wang #define AR934X_GPIO_REG_OUT_FUNC2 0x34 9321d3d0f1fSWills Wang #define AR934X_GPIO_REG_OUT_FUNC3 0x38 9331d3d0f1fSWills Wang #define AR934X_GPIO_REG_OUT_FUNC4 0x3c 9341d3d0f1fSWills Wang #define AR934X_GPIO_REG_OUT_FUNC5 0x40 9351d3d0f1fSWills Wang #define AR934X_GPIO_REG_FUNC 0x6c 9361d3d0f1fSWills Wang 9371d3d0f1fSWills Wang #define QCA953X_GPIO_REG_OUT_FUNC0 0x2c 9381d3d0f1fSWills Wang #define QCA953X_GPIO_REG_OUT_FUNC1 0x30 9391d3d0f1fSWills Wang #define QCA953X_GPIO_REG_OUT_FUNC2 0x34 9401d3d0f1fSWills Wang #define QCA953X_GPIO_REG_OUT_FUNC3 0x38 9411d3d0f1fSWills Wang #define QCA953X_GPIO_REG_OUT_FUNC4 0x3c 9421d3d0f1fSWills Wang #define QCA953X_GPIO_REG_IN_ENABLE0 0x44 9431d3d0f1fSWills Wang #define QCA953X_GPIO_REG_FUNC 0x6c 9441d3d0f1fSWills Wang 9451d3d0f1fSWills Wang #define QCA955X_GPIO_REG_OUT_FUNC0 0x2c 9461d3d0f1fSWills Wang #define QCA955X_GPIO_REG_OUT_FUNC1 0x30 9471d3d0f1fSWills Wang #define QCA955X_GPIO_REG_OUT_FUNC2 0x34 9481d3d0f1fSWills Wang #define QCA955X_GPIO_REG_OUT_FUNC3 0x38 9491d3d0f1fSWills Wang #define QCA955X_GPIO_REG_OUT_FUNC4 0x3c 9501d3d0f1fSWills Wang #define QCA955X_GPIO_REG_OUT_FUNC5 0x40 9511d3d0f1fSWills Wang #define QCA955X_GPIO_REG_FUNC 0x6c 9521d3d0f1fSWills Wang 9531d3d0f1fSWills Wang #define QCA956X_GPIO_REG_OUT_FUNC0 0x2c 9541d3d0f1fSWills Wang #define QCA956X_GPIO_REG_OUT_FUNC1 0x30 9551d3d0f1fSWills Wang #define QCA956X_GPIO_REG_OUT_FUNC2 0x34 9561d3d0f1fSWills Wang #define QCA956X_GPIO_REG_OUT_FUNC3 0x38 9571d3d0f1fSWills Wang #define QCA956X_GPIO_REG_OUT_FUNC4 0x3c 9581d3d0f1fSWills Wang #define QCA956X_GPIO_REG_OUT_FUNC5 0x40 9591d3d0f1fSWills Wang #define QCA956X_GPIO_REG_IN_ENABLE0 0x44 9601d3d0f1fSWills Wang #define QCA956X_GPIO_REG_IN_ENABLE3 0x50 9611d3d0f1fSWills Wang #define QCA956X_GPIO_REG_FUNC 0x6c 9621d3d0f1fSWills Wang 9631d3d0f1fSWills Wang #define AR71XX_GPIO_FUNC_STEREO_EN BIT(17) 9641d3d0f1fSWills Wang #define AR71XX_GPIO_FUNC_SLIC_EN BIT(16) 9651d3d0f1fSWills Wang #define AR71XX_GPIO_FUNC_SPI_CS2_EN BIT(13) 9661d3d0f1fSWills Wang #define AR71XX_GPIO_FUNC_SPI_CS1_EN BIT(12) 9671d3d0f1fSWills Wang #define AR71XX_GPIO_FUNC_UART_EN BIT(8) 9681d3d0f1fSWills Wang #define AR71XX_GPIO_FUNC_USB_OC_EN BIT(4) 9691d3d0f1fSWills Wang #define AR71XX_GPIO_FUNC_USB_CLK_EN BIT(0) 9701d3d0f1fSWills Wang 9711d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_GE0_MII_CLK_EN BIT(19) 9721d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_SPI_EN BIT(18) 9731d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_SPI_CS_EN2 BIT(14) 9741d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_SPI_CS_EN1 BIT(13) 9751d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_CLK_OBS5_EN BIT(12) 9761d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_CLK_OBS4_EN BIT(11) 9771d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_CLK_OBS3_EN BIT(10) 9781d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_CLK_OBS2_EN BIT(9) 9791d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_CLK_OBS1_EN BIT(8) 9801d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN BIT(7) 9811d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN BIT(6) 9821d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN BIT(5) 9831d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN BIT(4) 9841d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN BIT(3) 9851d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_UART_RTS_CTS_EN BIT(2) 9861d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_UART_EN BIT(1) 9871d3d0f1fSWills Wang #define AR724X_GPIO_FUNC_JTAG_DISABLE BIT(0) 9881d3d0f1fSWills Wang 9891d3d0f1fSWills Wang #define AR913X_GPIO_FUNC_WMAC_LED_EN BIT(22) 9901d3d0f1fSWills Wang #define AR913X_GPIO_FUNC_EXP_PORT_CS_EN BIT(21) 9911d3d0f1fSWills Wang #define AR913X_GPIO_FUNC_I2S_REFCLKEN BIT(20) 9921d3d0f1fSWills Wang #define AR913X_GPIO_FUNC_I2S_MCKEN BIT(19) 9931d3d0f1fSWills Wang #define AR913X_GPIO_FUNC_I2S1_EN BIT(18) 9941d3d0f1fSWills Wang #define AR913X_GPIO_FUNC_I2S0_EN BIT(17) 9951d3d0f1fSWills Wang #define AR913X_GPIO_FUNC_SLIC_EN BIT(16) 9961d3d0f1fSWills Wang #define AR913X_GPIO_FUNC_UART_RTSCTS_EN BIT(9) 9971d3d0f1fSWills Wang #define AR913X_GPIO_FUNC_UART_EN BIT(8) 9981d3d0f1fSWills Wang #define AR913X_GPIO_FUNC_USB_CLK_EN BIT(4) 9991d3d0f1fSWills Wang 10001d3d0f1fSWills Wang #define AR933X_GPIO(x) BIT(x) 10011d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_SPDIF2TCK BIT(31) 10021d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_SPDIF_EN BIT(30) 10031d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_I2SO_22_18_EN BIT(29) 10041d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_I2S_MCK_EN BIT(27) 10051d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_I2SO_EN BIT(26) 10061d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_ETH_SWITCH_LED_DUPL BIT(25) 10071d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_ETH_SWITCH_LED_COLL BIT(24) 10081d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_ETH_SWITCH_LED_ACT BIT(23) 10091d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_SPI_EN BIT(18) 10101d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_RES_TRUE BIT(15) 10111d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_SPI_CS_EN2 BIT(14) 10121d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_SPI_CS_EN1 BIT(13) 10131d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_XLNA_EN BIT(12) 10141d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN BIT(7) 10151d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN BIT(6) 10161d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN BIT(5) 10171d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN BIT(4) 10181d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN BIT(3) 10191d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_UART_RTS_CTS_EN BIT(2) 10201d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_UART_EN BIT(1) 10211d3d0f1fSWills Wang #define AR933X_GPIO_FUNC_JTAG_DISABLE BIT(0) 10221d3d0f1fSWills Wang 10231d3d0f1fSWills Wang #define AR934X_GPIO_FUNC_CLK_OBS7_EN BIT(9) 10241d3d0f1fSWills Wang #define AR934X_GPIO_FUNC_CLK_OBS6_EN BIT(8) 10251d3d0f1fSWills Wang #define AR934X_GPIO_FUNC_CLK_OBS5_EN BIT(7) 10261d3d0f1fSWills Wang #define AR934X_GPIO_FUNC_CLK_OBS4_EN BIT(6) 10271d3d0f1fSWills Wang #define AR934X_GPIO_FUNC_CLK_OBS3_EN BIT(5) 10281d3d0f1fSWills Wang #define AR934X_GPIO_FUNC_CLK_OBS2_EN BIT(4) 10291d3d0f1fSWills Wang #define AR934X_GPIO_FUNC_CLK_OBS1_EN BIT(3) 10301d3d0f1fSWills Wang #define AR934X_GPIO_FUNC_CLK_OBS0_EN BIT(2) 10311d3d0f1fSWills Wang #define AR934X_GPIO_FUNC_JTAG_DISABLE BIT(1) 10321d3d0f1fSWills Wang 10331d3d0f1fSWills Wang #define AR934X_GPIO_OUT_GPIO 0 10341d3d0f1fSWills Wang #define AR934X_GPIO_OUT_SPI_CS1 7 10351d3d0f1fSWills Wang #define AR934X_GPIO_OUT_LED_LINK0 41 10361d3d0f1fSWills Wang #define AR934X_GPIO_OUT_LED_LINK1 42 10371d3d0f1fSWills Wang #define AR934X_GPIO_OUT_LED_LINK2 43 10381d3d0f1fSWills Wang #define AR934X_GPIO_OUT_LED_LINK3 44 10391d3d0f1fSWills Wang #define AR934X_GPIO_OUT_LED_LINK4 45 10401d3d0f1fSWills Wang #define AR934X_GPIO_OUT_EXT_LNA0 46 10411d3d0f1fSWills Wang #define AR934X_GPIO_OUT_EXT_LNA1 47 10421d3d0f1fSWills Wang 10431d3d0f1fSWills Wang #define QCA953X_GPIO(x) BIT(x) 10441d3d0f1fSWills Wang #define QCA953X_GPIO_MUX_MASK(x) (0xff << (x)) 10451d3d0f1fSWills Wang #define QCA953X_GPIO_OUT_MUX_SPI_CS1 10 10461d3d0f1fSWills Wang #define QCA953X_GPIO_OUT_MUX_SPI_CS2 11 10471d3d0f1fSWills Wang #define QCA953X_GPIO_OUT_MUX_SPI_CS0 9 10481d3d0f1fSWills Wang #define QCA953X_GPIO_OUT_MUX_SPI_CLK 8 10491d3d0f1fSWills Wang #define QCA953X_GPIO_OUT_MUX_SPI_MOSI 12 10501d3d0f1fSWills Wang #define QCA953X_GPIO_OUT_MUX_UART0_SOUT 22 10511d3d0f1fSWills Wang #define QCA953X_GPIO_OUT_MUX_LED_LINK1 41 10521d3d0f1fSWills Wang #define QCA953X_GPIO_OUT_MUX_LED_LINK2 42 10531d3d0f1fSWills Wang #define QCA953X_GPIO_OUT_MUX_LED_LINK3 43 10541d3d0f1fSWills Wang #define QCA953X_GPIO_OUT_MUX_LED_LINK4 44 10551d3d0f1fSWills Wang #define QCA953X_GPIO_OUT_MUX_LED_LINK5 45 10561d3d0f1fSWills Wang 10571d3d0f1fSWills Wang #define QCA953X_GPIO_IN_MUX_UART0_SIN 9 10581d3d0f1fSWills Wang #define QCA953X_GPIO_IN_MUX_SPI_DATA_IN 8 10591d3d0f1fSWills Wang 10601d3d0f1fSWills Wang #define QCA956X_GPIO_OUT_MUX_GE0_MDO 32 10611d3d0f1fSWills Wang #define QCA956X_GPIO_OUT_MUX_GE0_MDC 33 10621d3d0f1fSWills Wang 10631d3d0f1fSWills Wang #define AR71XX_GPIO_COUNT 16 10641d3d0f1fSWills Wang #define AR7240_GPIO_COUNT 18 10651d3d0f1fSWills Wang #define AR7241_GPIO_COUNT 20 10661d3d0f1fSWills Wang #define AR913X_GPIO_COUNT 22 10671d3d0f1fSWills Wang #define AR933X_GPIO_COUNT 30 10681d3d0f1fSWills Wang #define AR934X_GPIO_COUNT 23 10691d3d0f1fSWills Wang #define QCA953X_GPIO_COUNT 18 10701d3d0f1fSWills Wang #define QCA955X_GPIO_COUNT 24 10711d3d0f1fSWills Wang #define QCA956X_GPIO_COUNT 23 10721d3d0f1fSWills Wang 10731d3d0f1fSWills Wang /* 10741d3d0f1fSWills Wang * SRIF block 10751d3d0f1fSWills Wang */ 10761d3d0f1fSWills Wang #define AR933X_SRIF_DDR_DPLL1_REG 0x240 10771d3d0f1fSWills Wang #define AR933X_SRIF_DDR_DPLL2_REG 0x244 10781d3d0f1fSWills Wang #define AR933X_SRIF_DDR_DPLL3_REG 0x248 10791d3d0f1fSWills Wang #define AR933X_SRIF_DDR_DPLL4_REG 0x24c 10801d3d0f1fSWills Wang 10811d3d0f1fSWills Wang #define AR934X_SRIF_CPU_DPLL1_REG 0x1c0 10821d3d0f1fSWills Wang #define AR934X_SRIF_CPU_DPLL2_REG 0x1c4 10831d3d0f1fSWills Wang #define AR934X_SRIF_CPU_DPLL3_REG 0x1c8 10841d3d0f1fSWills Wang 10851d3d0f1fSWills Wang #define AR934X_SRIF_DDR_DPLL1_REG 0x240 10861d3d0f1fSWills Wang #define AR934X_SRIF_DDR_DPLL2_REG 0x244 10871d3d0f1fSWills Wang #define AR934X_SRIF_DDR_DPLL3_REG 0x248 10881d3d0f1fSWills Wang 10891d3d0f1fSWills Wang #define AR934X_SRIF_DPLL1_REFDIV_SHIFT 27 10901d3d0f1fSWills Wang #define AR934X_SRIF_DPLL1_REFDIV_MASK 0x1f 10911d3d0f1fSWills Wang #define AR934X_SRIF_DPLL1_NINT_SHIFT 18 10921d3d0f1fSWills Wang #define AR934X_SRIF_DPLL1_NINT_MASK 0x1ff 10931d3d0f1fSWills Wang #define AR934X_SRIF_DPLL1_NFRAC_MASK 0x0003ffff 10941d3d0f1fSWills Wang 10951d3d0f1fSWills Wang #define AR934X_SRIF_DPLL2_LOCAL_PLL BIT(30) 10961d3d0f1fSWills Wang #define AR934X_SRIF_DPLL2_OUTDIV_SHIFT 13 10971d3d0f1fSWills Wang #define AR934X_SRIF_DPLL2_OUTDIV_MASK 0x7 10981d3d0f1fSWills Wang 10991d3d0f1fSWills Wang #define QCA953X_SRIF_BB_DPLL1_REG 0x180 11001d3d0f1fSWills Wang #define QCA953X_SRIF_BB_DPLL2_REG 0x184 11011d3d0f1fSWills Wang #define QCA953X_SRIF_BB_DPLL3_REG 0x188 11021d3d0f1fSWills Wang 11031d3d0f1fSWills Wang #define QCA953X_SRIF_CPU_DPLL1_REG 0x1c0 11041d3d0f1fSWills Wang #define QCA953X_SRIF_CPU_DPLL2_REG 0x1c4 11051d3d0f1fSWills Wang #define QCA953X_SRIF_CPU_DPLL3_REG 0x1c8 11061d3d0f1fSWills Wang 11071d3d0f1fSWills Wang #define QCA953X_SRIF_DDR_DPLL1_REG 0x240 11081d3d0f1fSWills Wang #define QCA953X_SRIF_DDR_DPLL2_REG 0x244 11091d3d0f1fSWills Wang #define QCA953X_SRIF_DDR_DPLL3_REG 0x248 11101d3d0f1fSWills Wang 11111d3d0f1fSWills Wang #define QCA953X_SRIF_PCIE_DPLL1_REG 0xc00 11121d3d0f1fSWills Wang #define QCA953X_SRIF_PCIE_DPLL2_REG 0xc04 11131d3d0f1fSWills Wang #define QCA953X_SRIF_PCIE_DPLL3_REG 0xc08 11141d3d0f1fSWills Wang 11151d3d0f1fSWills Wang #define QCA953X_SRIF_PMU1_REG 0xc40 11161d3d0f1fSWills Wang #define QCA953X_SRIF_PMU2_REG 0xc44 11171d3d0f1fSWills Wang 11181d3d0f1fSWills Wang #define QCA953X_SRIF_DPLL1_REFDIV_SHIFT 27 11191d3d0f1fSWills Wang #define QCA953X_SRIF_DPLL1_REFDIV_MASK 0x1f 11201d3d0f1fSWills Wang 11211d3d0f1fSWills Wang #define QCA953X_SRIF_DPLL1_NINT_SHIFT 18 11221d3d0f1fSWills Wang #define QCA953X_SRIF_DPLL1_NINT_MASK 0x1ff 11231d3d0f1fSWills Wang #define QCA953X_SRIF_DPLL1_NFRAC_MASK 0x0003ffff 11241d3d0f1fSWills Wang 11251d3d0f1fSWills Wang #define QCA953X_SRIF_DPLL2_LOCAL_PLL BIT(30) 11261d3d0f1fSWills Wang 11271d3d0f1fSWills Wang #define QCA953X_SRIF_DPLL2_KI_SHIFT 29 11281d3d0f1fSWills Wang #define QCA953X_SRIF_DPLL2_KI_MASK 0x3 11291d3d0f1fSWills Wang 11301d3d0f1fSWills Wang #define QCA953X_SRIF_DPLL2_KD_SHIFT 25 11311d3d0f1fSWills Wang #define QCA953X_SRIF_DPLL2_KD_MASK 0xf 11321d3d0f1fSWills Wang 11331d3d0f1fSWills Wang #define QCA953X_SRIF_DPLL2_PWD BIT(22) 11341d3d0f1fSWills Wang 11351d3d0f1fSWills Wang #define QCA953X_SRIF_DPLL2_OUTDIV_SHIFT 13 11361d3d0f1fSWills Wang #define QCA953X_SRIF_DPLL2_OUTDIV_MASK 0x7 11371d3d0f1fSWills Wang 11381d3d0f1fSWills Wang /* 11391d3d0f1fSWills Wang * MII_CTRL block 11401d3d0f1fSWills Wang */ 11411d3d0f1fSWills Wang #define AR71XX_MII_REG_MII0_CTRL 0x00 11421d3d0f1fSWills Wang #define AR71XX_MII_REG_MII1_CTRL 0x04 11431d3d0f1fSWills Wang 11441d3d0f1fSWills Wang #define AR71XX_MII_CTRL_IF_MASK 3 11451d3d0f1fSWills Wang #define AR71XX_MII_CTRL_SPEED_SHIFT 4 11461d3d0f1fSWills Wang #define AR71XX_MII_CTRL_SPEED_MASK 3 11471d3d0f1fSWills Wang #define AR71XX_MII_CTRL_SPEED_10 0 11481d3d0f1fSWills Wang #define AR71XX_MII_CTRL_SPEED_100 1 11491d3d0f1fSWills Wang #define AR71XX_MII_CTRL_SPEED_1000 2 11501d3d0f1fSWills Wang 11511d3d0f1fSWills Wang #define AR71XX_MII0_CTRL_IF_GMII 0 11521d3d0f1fSWills Wang #define AR71XX_MII0_CTRL_IF_MII 1 11531d3d0f1fSWills Wang #define AR71XX_MII0_CTRL_IF_RGMII 2 11541d3d0f1fSWills Wang #define AR71XX_MII0_CTRL_IF_RMII 3 11551d3d0f1fSWills Wang 11561d3d0f1fSWills Wang #define AR71XX_MII1_CTRL_IF_RGMII 0 11571d3d0f1fSWills Wang #define AR71XX_MII1_CTRL_IF_RMII 1 11581d3d0f1fSWills Wang 11591d3d0f1fSWills Wang /* 11601d3d0f1fSWills Wang * AR933X GMAC interface 11611d3d0f1fSWills Wang */ 11621d3d0f1fSWills Wang #define AR933X_GMAC_REG_ETH_CFG 0x00 11631d3d0f1fSWills Wang 11641d3d0f1fSWills Wang #define AR933X_ETH_CFG_RGMII_GE0 BIT(0) 11651d3d0f1fSWills Wang #define AR933X_ETH_CFG_MII_GE0 BIT(1) 11661d3d0f1fSWills Wang #define AR933X_ETH_CFG_GMII_GE0 BIT(2) 11671d3d0f1fSWills Wang #define AR933X_ETH_CFG_MII_GE0_MASTER BIT(3) 11681d3d0f1fSWills Wang #define AR933X_ETH_CFG_MII_GE0_SLAVE BIT(4) 11691d3d0f1fSWills Wang #define AR933X_ETH_CFG_MII_GE0_ERR_EN BIT(5) 11701d3d0f1fSWills Wang #define AR933X_ETH_CFG_SW_PHY_SWAP BIT(7) 11711d3d0f1fSWills Wang #define AR933X_ETH_CFG_SW_PHY_ADDR_SWAP BIT(8) 11721d3d0f1fSWills Wang #define AR933X_ETH_CFG_RMII_GE0 BIT(9) 11731d3d0f1fSWills Wang #define AR933X_ETH_CFG_RMII_GE0_SPD_10 0 11741d3d0f1fSWills Wang #define AR933X_ETH_CFG_RMII_GE0_SPD_100 BIT(10) 11751d3d0f1fSWills Wang 11761d3d0f1fSWills Wang /* 11771d3d0f1fSWills Wang * AR934X GMAC Interface 11781d3d0f1fSWills Wang */ 11791d3d0f1fSWills Wang #define AR934X_GMAC_REG_ETH_CFG 0x00 11801d3d0f1fSWills Wang 11811d3d0f1fSWills Wang #define AR934X_ETH_CFG_RGMII_GMAC0 BIT(0) 11821d3d0f1fSWills Wang #define AR934X_ETH_CFG_MII_GMAC0 BIT(1) 11831d3d0f1fSWills Wang #define AR934X_ETH_CFG_GMII_GMAC0 BIT(2) 11841d3d0f1fSWills Wang #define AR934X_ETH_CFG_MII_GMAC0_MASTER BIT(3) 11851d3d0f1fSWills Wang #define AR934X_ETH_CFG_MII_GMAC0_SLAVE BIT(4) 11861d3d0f1fSWills Wang #define AR934X_ETH_CFG_MII_GMAC0_ERR_EN BIT(5) 11871d3d0f1fSWills Wang #define AR934X_ETH_CFG_SW_ONLY_MODE BIT(6) 11881d3d0f1fSWills Wang #define AR934X_ETH_CFG_SW_PHY_SWAP BIT(7) 11891d3d0f1fSWills Wang #define AR934X_ETH_CFG_SW_APB_ACCESS BIT(9) 11901d3d0f1fSWills Wang #define AR934X_ETH_CFG_RMII_GMAC0 BIT(10) 11911d3d0f1fSWills Wang #define AR933X_ETH_CFG_MII_CNTL_SPEED BIT(11) 11921d3d0f1fSWills Wang #define AR934X_ETH_CFG_RMII_GMAC0_MASTER BIT(12) 11931d3d0f1fSWills Wang #define AR933X_ETH_CFG_SW_ACC_MSB_FIRST BIT(13) 11941d3d0f1fSWills Wang #define AR934X_ETH_CFG_RXD_DELAY BIT(14) 11951d3d0f1fSWills Wang #define AR934X_ETH_CFG_RXD_DELAY_MASK 0x3 11961d3d0f1fSWills Wang #define AR934X_ETH_CFG_RXD_DELAY_SHIFT 14 11971d3d0f1fSWills Wang #define AR934X_ETH_CFG_RDV_DELAY BIT(16) 11981d3d0f1fSWills Wang #define AR934X_ETH_CFG_RDV_DELAY_MASK 0x3 11991d3d0f1fSWills Wang #define AR934X_ETH_CFG_RDV_DELAY_SHIFT 16 12001d3d0f1fSWills Wang 12011d3d0f1fSWills Wang /* 12021d3d0f1fSWills Wang * QCA953X GMAC Interface 12031d3d0f1fSWills Wang */ 12041d3d0f1fSWills Wang #define QCA953X_GMAC_REG_ETH_CFG 0x00 12051d3d0f1fSWills Wang 12061d3d0f1fSWills Wang #define QCA953X_ETH_CFG_SW_ONLY_MODE BIT(6) 12071d3d0f1fSWills Wang #define QCA953X_ETH_CFG_SW_PHY_SWAP BIT(7) 12081d3d0f1fSWills Wang #define QCA953X_ETH_CFG_SW_APB_ACCESS BIT(9) 12091d3d0f1fSWills Wang #define QCA953X_ETH_CFG_SW_ACC_MSB_FIRST BIT(13) 12101d3d0f1fSWills Wang 12111d3d0f1fSWills Wang /* 12121d3d0f1fSWills Wang * QCA955X GMAC Interface 12131d3d0f1fSWills Wang */ 12141d3d0f1fSWills Wang 12151d3d0f1fSWills Wang #define QCA955X_GMAC_REG_ETH_CFG 0x00 12161d3d0f1fSWills Wang 12171d3d0f1fSWills Wang #define QCA955X_ETH_CFG_RGMII_EN BIT(0) 12181d3d0f1fSWills Wang #define QCA955X_ETH_CFG_GE0_SGMII BIT(6) 12191d3d0f1fSWills Wang 12201d3d0f1fSWills Wang #endif /* __ASM_AR71XX_H */ 1221