This source file includes following definitions.
- fsl_pci_assign_primary
- fsl_pci_mcheck_exception
1
2
3
4
5
6
7
8 #ifdef __KERNEL__
9 #ifndef __POWERPC_FSL_PCI_H
10 #define __POWERPC_FSL_PCI_H
11
12 struct platform_device;
13
14
15
16 #define PCI_FSL_BRR1 0xbf8
17 #define PCI_FSL_BRR1_VER 0xffff
18
19 #define PCIE_LTSSM 0x0404
20 #define PCIE_LTSSM_L0 0x16
21 #define PCIE_IP_REV_2_2 0x02080202
22 #define PCIE_IP_REV_3_0 0x02080300
23 #define PIWAR_EN 0x80000000
24 #define PIWAR_PF 0x20000000
25 #define PIWAR_TGI_LOCAL 0x00f00000
26 #define PIWAR_READ_SNOOP 0x00050000
27 #define PIWAR_WRITE_SNOOP 0x00005000
28 #define PIWAR_SZ_MASK 0x0000003f
29
30 #define PEX_PMCR_PTOMR 0x1
31 #define PEX_PMCR_EXL2S 0x2
32
33 #define PME_DISR_EN_PTOD 0x00008000
34 #define PME_DISR_EN_ENL23D 0x00002000
35 #define PME_DISR_EN_EXL23D 0x00001000
36
37
38 struct pci_outbound_window_regs {
39 __be32 potar;
40 __be32 potear;
41 __be32 powbar;
42 u8 res1[4];
43 __be32 powar;
44 u8 res2[12];
45 };
46
47
48 struct pci_inbound_window_regs {
49 __be32 pitar;
50 u8 res1[4];
51 __be32 piwbar;
52 __be32 piwbear;
53 __be32 piwar;
54 u8 res2[12];
55 };
56
57
58 struct ccsr_pci {
59 __be32 config_addr;
60 __be32 config_data;
61 __be32 int_ack;
62 __be32 pex_otb_cpl_tor;
63 __be32 pex_conf_tor;
64 __be32 pex_config;
65 __be32 pex_int_status;
66 u8 res2[4];
67 __be32 pex_pme_mes_dr;
68 __be32 pex_pme_mes_disr;
69 __be32 pex_pme_mes_ier;
70 __be32 pex_pmcr;
71 u8 res3[3016];
72 __be32 block_rev1;
73 __be32 block_rev2;
74
75
76
77
78
79
80 struct pci_outbound_window_regs pow[5];
81 u8 res14[96];
82 struct pci_inbound_window_regs pmit;
83 u8 res6[96];
84
85
86
87
88 struct pci_inbound_window_regs piw[4];
89
90 __be32 pex_err_dr;
91 u8 res21[4];
92 __be32 pex_err_en;
93 u8 res22[4];
94 __be32 pex_err_disr;
95 u8 res23[12];
96 __be32 pex_err_cap_stat;
97 u8 res24[4];
98 __be32 pex_err_cap_r0;
99 __be32 pex_err_cap_r1;
100 __be32 pex_err_cap_r2;
101 __be32 pex_err_cap_r3;
102 u8 res_e38[200];
103 __be32 pdb_stat;
104 u8 res_f04[16];
105 __be32 pex_csr0;
106 #define PEX_CSR0_LTSSM_MASK 0xFC
107 #define PEX_CSR0_LTSSM_SHIFT 2
108 #define PEX_CSR0_LTSSM_L0 0x11
109 __be32 pex_csr1;
110 u8 res_f1c[228];
111
112 };
113
114 extern int fsl_add_bridge(struct platform_device *pdev, int is_primary);
115 extern void fsl_pcibios_fixup_bus(struct pci_bus *bus);
116 extern void fsl_pcibios_fixup_phb(struct pci_controller *phb);
117 extern int mpc83xx_add_bridge(struct device_node *dev);
118 u64 fsl_pci_immrbar_base(struct pci_controller *hose);
119
120 extern struct device_node *fsl_pci_primary;
121
122 #ifdef CONFIG_PCI
123 void fsl_pci_assign_primary(void);
124 #else
125 static inline void fsl_pci_assign_primary(void) {}
126 #endif
127
128 #ifdef CONFIG_FSL_PCI
129 extern int fsl_pci_mcheck_exception(struct pt_regs *);
130 #else
131 static inline int fsl_pci_mcheck_exception(struct pt_regs *regs) {return 0; }
132 #endif
133
134 #endif
135 #endif