xref: /openbmc/linux/drivers/bcma/README (revision e5451c8f8330e03ad3cfa16048b4daf961af434f)
1*8369ae33SRafał MiłeckiBroadcom introduced new bus as replacement for older SSB. It is based on AMBA,
2*8369ae33SRafał Miłeckihowever from programming point of view there is nothing AMBA specific we use.
3*8369ae33SRafał Miłecki
4*8369ae33SRafał MiłeckiStandard AMBA drivers are platform specific, have hardcoded addresses and use
5*8369ae33SRafał MiłeckiAMBA standard fields like CID and PID.
6*8369ae33SRafał Miłecki
7*8369ae33SRafał MiłeckiIn case of Broadcom's cards every device consists of:
8*8369ae33SRafał Miłecki1) Broadcom specific AMBA device. It is put on AMBA bus, but can not be treated
9*8369ae33SRafał Miłecki   as standard AMBA device. Reading it's CID or PID can cause machine lockup.
10*8369ae33SRafał Miłecki2) AMBA standard devices called ports or wrappers. They have CIDs (AMBA_CID)
11*8369ae33SRafał Miłecki   and PIDs (0x103BB369), but we do not use that info for anything. One of that
12*8369ae33SRafał Miłecki   devices is used for managing Broadcom specific core.
13*8369ae33SRafał Miłecki
14*8369ae33SRafał MiłeckiAddresses of AMBA devices are not hardcoded in driver and have to be read from
15*8369ae33SRafał MiłeckiEPROM.
16*8369ae33SRafał Miłecki
17*8369ae33SRafał MiłeckiIn this situation we decided to introduce separated bus. It can contain up to
18*8369ae33SRafał Miłecki16 devices identified by Broadcom specific fields: manufacturer, id, revision
19*8369ae33SRafał Miłeckiand class.
20