47 #ifdef CONFIG_BCMA_BLOCKIO
59 #define BCMA_MANUF_ARM 0x43B
60 #define BCMA_MANUF_MIPS 0x4A7
61 #define BCMA_MANUF_BCM 0x4BF
64 #define BCMA_CL_SIM 0x0
65 #define BCMA_CL_EROM 0x1
66 #define BCMA_CL_CORESIGHT 0x9
67 #define BCMA_CL_VERIF 0xB
68 #define BCMA_CL_OPTIMO 0xD
69 #define BCMA_CL_GEN 0xE
70 #define BCMA_CL_PRIMECELL 0xF
73 #define BCMA_CORE_OOB_ROUTER 0x367
74 #define BCMA_CORE_4706_CHIPCOMMON 0x500
75 #define BCMA_CORE_4706_SOC_RAM 0x50E
76 #define BCMA_CORE_4706_MAC_GBIT 0x52D
77 #define BCMA_CORE_AMEMC 0x52E
78 #define BCMA_CORE_ALTA 0x534
79 #define BCMA_CORE_4706_MAC_GBIT_COMMON 0x5DC
80 #define BCMA_CORE_DDR23_PHY 0x5DD
81 #define BCMA_CORE_INVALID 0x700
82 #define BCMA_CORE_CHIPCOMMON 0x800
83 #define BCMA_CORE_ILINE20 0x801
84 #define BCMA_CORE_SRAM 0x802
85 #define BCMA_CORE_SDRAM 0x803
86 #define BCMA_CORE_PCI 0x804
87 #define BCMA_CORE_MIPS 0x805
88 #define BCMA_CORE_ETHERNET 0x806
89 #define BCMA_CORE_V90 0x807
90 #define BCMA_CORE_USB11_HOSTDEV 0x808
91 #define BCMA_CORE_ADSL 0x809
92 #define BCMA_CORE_ILINE100 0x80A
93 #define BCMA_CORE_IPSEC 0x80B
94 #define BCMA_CORE_UTOPIA 0x80C
95 #define BCMA_CORE_PCMCIA 0x80D
96 #define BCMA_CORE_INTERNAL_MEM 0x80E
97 #define BCMA_CORE_MEMC_SDRAM 0x80F
98 #define BCMA_CORE_OFDM 0x810
99 #define BCMA_CORE_EXTIF 0x811
100 #define BCMA_CORE_80211 0x812
101 #define BCMA_CORE_PHY_A 0x813
102 #define BCMA_CORE_PHY_B 0x814
103 #define BCMA_CORE_PHY_G 0x815
104 #define BCMA_CORE_MIPS_3302 0x816
105 #define BCMA_CORE_USB11_HOST 0x817
106 #define BCMA_CORE_USB11_DEV 0x818
107 #define BCMA_CORE_USB20_HOST 0x819
108 #define BCMA_CORE_USB20_DEV 0x81A
109 #define BCMA_CORE_SDIO_HOST 0x81B
110 #define BCMA_CORE_ROBOSWITCH 0x81C
111 #define BCMA_CORE_PARA_ATA 0x81D
112 #define BCMA_CORE_SATA_XORDMA 0x81E
113 #define BCMA_CORE_ETHERNET_GBIT 0x81F
114 #define BCMA_CORE_PCIE 0x820
115 #define BCMA_CORE_PHY_N 0x821
116 #define BCMA_CORE_SRAM_CTL 0x822
117 #define BCMA_CORE_MINI_MACPHY 0x823
118 #define BCMA_CORE_ARM_1176 0x824
119 #define BCMA_CORE_ARM_7TDMI 0x825
120 #define BCMA_CORE_PHY_LP 0x826
121 #define BCMA_CORE_PMU 0x827
122 #define BCMA_CORE_PHY_SSN 0x828
123 #define BCMA_CORE_SDIO_DEV 0x829
124 #define BCMA_CORE_ARM_CM3 0x82A
125 #define BCMA_CORE_PHY_HT 0x82B
126 #define BCMA_CORE_MIPS_74K 0x82C
127 #define BCMA_CORE_MAC_GBIT 0x82D
128 #define BCMA_CORE_DDR12_MEM_CTL 0x82E
129 #define BCMA_CORE_PCIE_RC 0x82F
130 #define BCMA_CORE_OCP_OCP_BRIDGE 0x830
131 #define BCMA_CORE_SHARED_COMMON 0x831
132 #define BCMA_CORE_OCP_AHB_BRIDGE 0x832
133 #define BCMA_CORE_SPI_HOST 0x833
134 #define BCMA_CORE_I2S 0x834
135 #define BCMA_CORE_SDR_DDR1_MEM_CTL 0x835
136 #define BCMA_CORE_SHIM 0x837
137 #define BCMA_CORE_DEFAULT 0xFFF
139 #define BCMA_MAX_NR_CORES 16
142 #define BCMA_CHIP_ID_BCM4313 0x4313
143 #define BCMA_CHIP_ID_BCM43224 43224
144 #define BCMA_PKG_ID_BCM43224_FAB_CSM 0x8
145 #define BCMA_PKG_ID_BCM43224_FAB_SMIC 0xa
146 #define BCMA_CHIP_ID_BCM43225 43225
147 #define BCMA_CHIP_ID_BCM43227 43227
148 #define BCMA_CHIP_ID_BCM43228 43228
149 #define BCMA_CHIP_ID_BCM43421 43421
150 #define BCMA_CHIP_ID_BCM43428 43428
151 #define BCMA_CHIP_ID_BCM43431 43431
152 #define BCMA_CHIP_ID_BCM43460 43460
153 #define BCMA_CHIP_ID_BCM4331 0x4331
154 #define BCMA_CHIP_ID_BCM6362 0x6362
155 #define BCMA_CHIP_ID_BCM4360 0x4360
156 #define BCMA_CHIP_ID_BCM4352 0x4352
159 #define BCMA_CHIP_ID_BCM4706 0x5300
160 #define BCMA_CHIP_ID_BCM4716 0x4716
161 #define BCMA_PKG_ID_BCM4716 8
162 #define BCMA_PKG_ID_BCM4717 9
163 #define BCMA_PKG_ID_BCM4718 10
164 #define BCMA_CHIP_ID_BCM47162 47162
165 #define BCMA_CHIP_ID_BCM4748 0x4748
166 #define BCMA_CHIP_ID_BCM4749 0x4749
167 #define BCMA_CHIP_ID_BCM5356 0x5356
168 #define BCMA_CHIP_ID_BCM5357 0x5357
169 #define BCMA_CHIP_ID_BCM53572 53572
218 #define bcma_driver_register(drv) \
219 __bcma_driver_register(drv, THIS_MODULE)
265 return core->
bus->ops->read8(core, offset);
269 return core->
bus->ops->read16(core, offset);
273 return core->
bus->ops->read32(core, offset);
278 core->
bus->ops->write8(core, offset, value);
283 core->
bus->ops->write16(core, offset, value);
288 core->
bus->ops->write32(core, offset, value);
290 #ifdef CONFIG_BCMA_BLOCKIO
294 core->
bus->ops->block_read(core, buffer, count, offset, reg_width);
296 static inline void bcma_block_write(
struct bcma_device *core,
297 const void *buffer,
size_t count,
298 u16 offset,
u8 reg_width)
300 core->
bus->ops->block_write(core, buffer, count, offset, reg_width);
305 return core->
bus->ops->aread32(core, offset);
310 core->
bus->ops->awrite32(core, offset, value);
315 bcma_write32(cc, offset, bcma_read32(cc, offset) & mask);
319 bcma_write32(cc, offset, bcma_read32(cc, offset) |
set);
321 static inline void bcma_maskset32(
struct bcma_device *cc,
324 bcma_write32(cc, offset, (bcma_read32(cc, offset) & mask) |
set);
328 bcma_write16(cc, offset, bcma_read16(cc, offset) & mask);
332 bcma_write16(cc, offset, bcma_read16(cc, offset) |
set);
334 static inline void bcma_maskset16(
struct bcma_device *cc,
337 bcma_write16(cc, offset, (bcma_read16(cc, offset) & mask) |
set);
348 #define BCMA_DMA_TRANSLATION_MASK 0xC0000000
349 #define BCMA_DMA_TRANSLATION_NONE 0x00000000
350 #define BCMA_DMA_TRANSLATION_DMA32_CMT 0x40000000
351 #define BCMA_DMA_TRANSLATION_DMA64_CMT 0x80000000