Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef LINUX_BCMA_REGS_H_
0003 #define LINUX_BCMA_REGS_H_
0004 
0005 /* Some single registers are shared between many cores */
0006 /* BCMA_CLKCTLST: ChipCommon (rev >= 20), PCIe, 80211 */
0007 #define BCMA_CLKCTLST           0x01E0 /* Clock control and status */
0008 #define  BCMA_CLKCTLST_FORCEALP     0x00000001 /* Force ALP request */
0009 #define  BCMA_CLKCTLST_FORCEHT      0x00000002 /* Force HT request */
0010 #define  BCMA_CLKCTLST_FORCEILP     0x00000004 /* Force ILP request */
0011 #define  BCMA_CLKCTLST_HAVEALPREQ   0x00000008 /* ALP available request */
0012 #define  BCMA_CLKCTLST_HAVEHTREQ    0x00000010 /* HT available request */
0013 #define  BCMA_CLKCTLST_HWCROFF      0x00000020 /* Force HW clock request off */
0014 #define  BCMA_CLKCTLST_HQCLKREQ     0x00000040 /* HQ Clock */
0015 #define  BCMA_CLKCTLST_EXTRESREQ    0x00000700 /* Mask of external resource requests */
0016 #define  BCMA_CLKCTLST_EXTRESREQ_SHIFT  8
0017 #define  BCMA_CLKCTLST_HAVEALP      0x00010000 /* ALP available */
0018 #define  BCMA_CLKCTLST_HAVEHT       0x00020000 /* HT available */
0019 #define  BCMA_CLKCTLST_BP_ON_ALP    0x00040000 /* RO: running on ALP clock */
0020 #define  BCMA_CLKCTLST_BP_ON_HT     0x00080000 /* RO: running on HT clock */
0021 #define  BCMA_CLKCTLST_EXTRESST     0x07000000 /* Mask of external resource status */
0022 #define  BCMA_CLKCTLST_EXTRESST_SHIFT   24
0023 /* Is there any BCM4328 on BCMA bus? */
0024 #define  BCMA_CLKCTLST_4328A0_HAVEHT    0x00010000 /* 4328a0 has reversed bits */
0025 #define  BCMA_CLKCTLST_4328A0_HAVEALP   0x00020000 /* 4328a0 has reversed bits */
0026 
0027 /* Agent registers (common for every core) */
0028 #define BCMA_OOB_SEL_OUT_A30        0x0100
0029 #define BCMA_IOCTL          0x0408 /* IO control */
0030 #define  BCMA_IOCTL_CLK         0x0001
0031 #define  BCMA_IOCTL_FGC         0x0002
0032 #define  BCMA_IOCTL_CORE_BITS       0x3FFC
0033 #define  BCMA_IOCTL_PME_EN      0x4000
0034 #define  BCMA_IOCTL_BIST_EN     0x8000
0035 #define BCMA_IOST           0x0500 /* IO status */
0036 #define  BCMA_IOST_CORE_BITS        0x0FFF
0037 #define  BCMA_IOST_DMA64        0x1000
0038 #define  BCMA_IOST_GATED_CLK        0x2000
0039 #define  BCMA_IOST_BIST_ERROR       0x4000
0040 #define  BCMA_IOST_BIST_DONE        0x8000
0041 #define BCMA_RESET_CTL          0x0800
0042 #define  BCMA_RESET_CTL_RESET       0x0001
0043 #define BCMA_RESET_ST           0x0804
0044 
0045 #define BCMA_NS_ROM_IOST_BOOT_DEV_MASK  0x0003
0046 #define BCMA_NS_ROM_IOST_BOOT_DEV_NOR   0x0000
0047 #define BCMA_NS_ROM_IOST_BOOT_DEV_NAND  0x0001
0048 #define BCMA_NS_ROM_IOST_BOOT_DEV_ROM   0x0002
0049 
0050 /* BCMA PCI config space registers. */
0051 #define BCMA_PCI_PMCSR          0x44
0052 #define  BCMA_PCI_PE            0x100
0053 #define BCMA_PCI_BAR0_WIN       0x80    /* Backplane address space 0 */
0054 #define BCMA_PCI_BAR1_WIN       0x84    /* Backplane address space 1 */
0055 #define BCMA_PCI_SPROMCTL       0x88    /* SPROM control */
0056 #define  BCMA_PCI_SPROMCTL_WE       0x10    /* SPROM write enable */
0057 #define BCMA_PCI_BAR1_CONTROL       0x8c    /* Address space 1 burst control */
0058 #define BCMA_PCI_IRQS           0x90    /* PCI interrupts */
0059 #define BCMA_PCI_IRQMASK        0x94    /* PCI IRQ control and mask (pcirev >= 6 only) */
0060 #define BCMA_PCI_BACKPLANE_IRQS     0x98    /* Backplane Interrupts */
0061 #define BCMA_PCI_BAR0_WIN2      0xAC
0062 #define BCMA_PCI_GPIO_IN        0xB0    /* GPIO Input (pcirev >= 3 only) */
0063 #define BCMA_PCI_GPIO_OUT       0xB4    /* GPIO Output (pcirev >= 3 only) */
0064 #define BCMA_PCI_GPIO_OUT_ENABLE    0xB8    /* GPIO Output Enable/Disable (pcirev >= 3 only) */
0065 #define  BCMA_PCI_GPIO_SCS      0x10    /* PCI config space bit 4 for 4306c0 slow clock source */
0066 #define  BCMA_PCI_GPIO_HWRAD        0x20    /* PCI config space GPIO 13 for hw radio disable */
0067 #define  BCMA_PCI_GPIO_XTAL     0x40    /* PCI config space GPIO 14 for Xtal powerup */
0068 #define  BCMA_PCI_GPIO_PLL      0x80    /* PCI config space GPIO 15 for PLL powerdown */
0069 
0070 #define BCMA_PCIE2_BAR0_WIN2        0x70
0071 
0072 /* SiliconBackplane Address Map.
0073  * All regions may not exist on all chips.
0074  */
0075 #define BCMA_SOC_SDRAM_BASE     0x00000000U /* Physical SDRAM */
0076 #define BCMA_SOC_PCI_MEM        0x08000000U /* Host Mode sb2pcitranslation0 (64 MB) */
0077 #define BCMA_SOC_PCI_MEM_SZ     (64 * 1024 * 1024)
0078 #define BCMA_SOC_PCI_CFG        0x0c000000U /* Host Mode sb2pcitranslation1 (64 MB) */
0079 #define BCMA_SOC_SDRAM_SWAPPED      0x10000000U /* Byteswapped Physical SDRAM */
0080 #define BCMA_SOC_SDRAM_R2       0x80000000U /* Region 2 for sdram (512 MB) */
0081 
0082 
0083 #define BCMA_SOC_PCI_DMA        0x40000000U /* Client Mode sb2pcitranslation2 (1 GB) */
0084 #define BCMA_SOC_PCI_DMA2       0x80000000U /* Client Mode sb2pcitranslation2 (1 GB) */
0085 #define BCMA_SOC_PCI_DMA_SZ     0x40000000U /* Client Mode sb2pcitranslation2 size in bytes */
0086 #define BCMA_SOC_PCIE_DMA_L32       0x00000000U /* PCIE Client Mode sb2pcitranslation2
0087                              * (2 ZettaBytes), low 32 bits
0088                              */
0089 #define BCMA_SOC_PCIE_DMA_H32       0x80000000U /* PCIE Client Mode sb2pcitranslation2
0090                              * (2 ZettaBytes), high 32 bits
0091                              */
0092 
0093 #define BCMA_SOC_PCI1_MEM       0x40000000U /* Host Mode sb2pcitranslation0 (64 MB) */
0094 #define BCMA_SOC_PCI1_CFG       0x44000000U /* Host Mode sb2pcitranslation1 (64 MB) */
0095 #define BCMA_SOC_PCIE1_DMA_H32      0xc0000000U /* PCIE Client Mode sb2pcitranslation2
0096                              * (2 ZettaBytes), high 32 bits
0097                              */
0098 
0099 #define BCMA_SOC_FLASH1         0x1fc00000  /* MIPS Flash Region 1 */
0100 #define BCMA_SOC_FLASH1_SZ      0x00400000  /* MIPS Size of Flash Region 1 */
0101 #define BCMA_SOC_FLASH2         0x1c000000  /* Flash Region 2 (region 1 shadowed here) */
0102 #define BCMA_SOC_FLASH2_SZ      0x02000000  /* Size of Flash Region 2 */
0103 
0104 #endif /* LINUX_BCMA_REGS_H_ */