122122#define PCIE_MEM_WIN0_LIMIT_HI (win ) \
123123 PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI + ((win) * 8)
124124
125- #define PCIE_MISC_HARD_PCIE_HARD_DEBUG 0x4204
126125#define PCIE_MISC_HARD_PCIE_HARD_DEBUG_CLKREQ_DEBUG_ENABLE_MASK 0x2
127126#define PCIE_MISC_HARD_PCIE_HARD_DEBUG_L1SS_ENABLE_MASK 0x200000
128127#define PCIE_MISC_HARD_PCIE_HARD_DEBUG_SERDES_IDDQ_MASK 0x08000000
131130 (PCIE_MISC_HARD_PCIE_HARD_DEBUG_CLKREQ_DEBUG_ENABLE_MASK | \
132131 PCIE_MISC_HARD_PCIE_HARD_DEBUG_L1SS_ENABLE_MASK)
133132
134- #define PCIE_INTR2_CPU_BASE 0x4300
135133#define PCIE_MSI_INTR2_BASE 0x4500
136- /* Offsets from PCIE_INTR2_CPU_BASE and PCIE_MSI_INTR2_BASE */
134+
135+ /* Offsets from INTR2_CPU and MSI_INTR2 BASE offsets */
137136#define MSI_INT_STATUS 0x0
138137#define MSI_INT_CLR 0x8
139138#define MSI_INT_MASK_SET 0x10
184183#define SSC_STATUS_PLL_LOCK_MASK 0x800
185184#define PCIE_BRCM_MAX_MEMC 3
186185
187- #define IDX_ADDR (pcie ) (pcie->reg_offsets[EXT_CFG_INDEX])
188- #define DATA_ADDR (pcie ) (pcie->reg_offsets[EXT_CFG_DATA])
189- #define PCIE_RGR1_SW_INIT_1 (pcie ) (pcie->reg_offsets[RGR1_SW_INIT_1])
186+ #define IDX_ADDR (pcie ) ((pcie)->reg_offsets[EXT_CFG_INDEX])
187+ #define DATA_ADDR (pcie ) ((pcie)->reg_offsets[EXT_CFG_DATA])
188+ #define PCIE_RGR1_SW_INIT_1 (pcie ) ((pcie)->reg_offsets[RGR1_SW_INIT_1])
189+ #define HARD_DEBUG (pcie ) ((pcie)->reg_offsets[PCIE_HARD_DEBUG])
190+ #define INTR2_CPU_BASE (pcie ) ((pcie)->reg_offsets[PCIE_INTR2_CPU_BASE])
190191
191192/* Rescal registers */
192193#define PCIE_DVT_PMU_PCIE_PHY_CTRL 0xc700
@@ -205,6 +206,8 @@ enum {
205206 RGR1_SW_INIT_1 ,
206207 EXT_CFG_INDEX ,
207208 EXT_CFG_DATA ,
209+ PCIE_HARD_DEBUG ,
210+ PCIE_INTR2_CPU_BASE ,
208211};
209212
210213enum {
@@ -651,7 +654,7 @@ static int brcm_pcie_enable_msi(struct brcm_pcie *pcie)
651654 BUILD_BUG_ON (BRCM_INT_PCI_MSI_LEGACY_NR > BRCM_INT_PCI_MSI_NR );
652655
653656 if (msi -> legacy ) {
654- msi -> intr_base = msi -> base + PCIE_INTR2_CPU_BASE ;
657+ msi -> intr_base = msi -> base + INTR2_CPU_BASE ( pcie ) ;
655658 msi -> nr = BRCM_INT_PCI_MSI_LEGACY_NR ;
656659 msi -> legacy_shift = 24 ;
657660 } else {
@@ -900,12 +903,12 @@ static int brcm_pcie_setup(struct brcm_pcie *pcie)
900903 /* Take the bridge out of reset */
901904 pcie -> bridge_sw_init_set (pcie , 0 );
902905
903- tmp = readl (base + PCIE_MISC_HARD_PCIE_HARD_DEBUG );
906+ tmp = readl (base + HARD_DEBUG ( pcie ) );
904907 if (is_bmips (pcie ))
905908 tmp &= ~PCIE_BMIPS_MISC_HARD_PCIE_HARD_DEBUG_SERDES_IDDQ_MASK ;
906909 else
907910 tmp &= ~PCIE_MISC_HARD_PCIE_HARD_DEBUG_SERDES_IDDQ_MASK ;
908- writel (tmp , base + PCIE_MISC_HARD_PCIE_HARD_DEBUG );
911+ writel (tmp , base + HARD_DEBUG ( pcie ) );
909912 /* Wait for SerDes to be stable */
910913 usleep_range (100 , 200 );
911914
@@ -1074,7 +1077,7 @@ static void brcm_config_clkreq(struct brcm_pcie *pcie)
10741077 }
10751078
10761079 /* Start out assuming safe mode (both mode bits cleared) */
1077- clkreq_cntl = readl (pcie -> base + PCIE_MISC_HARD_PCIE_HARD_DEBUG );
1080+ clkreq_cntl = readl (pcie -> base + HARD_DEBUG ( pcie ) );
10781081 clkreq_cntl &= ~PCIE_CLKREQ_MASK ;
10791082
10801083 if (strcmp (mode , "no-l1ss" ) == 0 ) {
@@ -1117,7 +1120,7 @@ static void brcm_config_clkreq(struct brcm_pcie *pcie)
11171120 dev_err (pcie -> dev , err_msg );
11181121 mode = "safe" ;
11191122 }
1120- writel (clkreq_cntl , pcie -> base + PCIE_MISC_HARD_PCIE_HARD_DEBUG );
1123+ writel (clkreq_cntl , pcie -> base + HARD_DEBUG ( pcie ) );
11211124
11221125 dev_info (pcie -> dev , "clkreq-mode set to %s\n" , mode );
11231126}
@@ -1339,9 +1342,9 @@ static void brcm_pcie_turn_off(struct brcm_pcie *pcie)
13391342 writel (tmp , base + PCIE_MISC_PCIE_CTRL );
13401343
13411344 /* Turn off SerDes */
1342- tmp = readl (base + PCIE_MISC_HARD_PCIE_HARD_DEBUG );
1345+ tmp = readl (base + HARD_DEBUG ( pcie ) );
13431346 u32p_replace_bits (& tmp , 1 , PCIE_MISC_HARD_PCIE_HARD_DEBUG_SERDES_IDDQ_MASK );
1344- writel (tmp , base + PCIE_MISC_HARD_PCIE_HARD_DEBUG );
1347+ writel (tmp , base + HARD_DEBUG ( pcie ) );
13451348
13461349 /* Shutdown PCIe bridge */
13471350 pcie -> bridge_sw_init_set (pcie , 1 );
@@ -1427,9 +1430,9 @@ static int brcm_pcie_resume_noirq(struct device *dev)
14271430 pcie -> bridge_sw_init_set (pcie , 0 );
14281431
14291432 /* SERDES_IDDQ = 0 */
1430- tmp = readl (base + PCIE_MISC_HARD_PCIE_HARD_DEBUG );
1433+ tmp = readl (base + HARD_DEBUG ( pcie ) );
14311434 u32p_replace_bits (& tmp , 0 , PCIE_MISC_HARD_PCIE_HARD_DEBUG_SERDES_IDDQ_MASK );
1432- writel (tmp , base + PCIE_MISC_HARD_PCIE_HARD_DEBUG );
1435+ writel (tmp , base + HARD_DEBUG ( pcie ) );
14331436
14341437 /* wait for serdes to be stable */
14351438 udelay (100 );
@@ -1501,12 +1504,16 @@ static const int pcie_offsets[] = {
15011504 [RGR1_SW_INIT_1 ] = 0x9210 ,
15021505 [EXT_CFG_INDEX ] = 0x9000 ,
15031506 [EXT_CFG_DATA ] = 0x9004 ,
1507+ [PCIE_HARD_DEBUG ] = 0x4204 ,
1508+ [PCIE_INTR2_CPU_BASE ] = 0x4300 ,
15041509};
15051510
15061511static const int pcie_offsets_bmips_7425 [] = {
15071512 [RGR1_SW_INIT_1 ] = 0x8010 ,
15081513 [EXT_CFG_INDEX ] = 0x8300 ,
15091514 [EXT_CFG_DATA ] = 0x8304 ,
1515+ [PCIE_HARD_DEBUG ] = 0x4204 ,
1516+ [PCIE_INTR2_CPU_BASE ] = 0x4300 ,
15101517};
15111518
15121519static const struct pcie_cfg_data generic_cfg = {
@@ -1541,6 +1548,8 @@ static const int pcie_offset_bcm7278[] = {
15411548 [RGR1_SW_INIT_1 ] = 0xc010 ,
15421549 [EXT_CFG_INDEX ] = 0x9000 ,
15431550 [EXT_CFG_DATA ] = 0x9004 ,
1551+ [PCIE_HARD_DEBUG ] = 0x4204 ,
1552+ [PCIE_INTR2_CPU_BASE ] = 0x4300 ,
15441553};
15451554
15461555static const struct pcie_cfg_data bcm7278_cfg = {
0 commit comments