162306a36Sopenharmony_ciBroadcom introduced new bus as replacement for older SSB. It is based on AMBA, 262306a36Sopenharmony_cihowever from programming point of view there is nothing AMBA specific we use. 362306a36Sopenharmony_ci 462306a36Sopenharmony_ciStandard AMBA drivers are platform specific, have hardcoded addresses and use 562306a36Sopenharmony_ciAMBA standard fields like CID and PID. 662306a36Sopenharmony_ci 762306a36Sopenharmony_ciIn case of Broadcom's cards every device consists of: 862306a36Sopenharmony_ci1) Broadcom specific AMBA device. It is put on AMBA bus, but can not be treated 962306a36Sopenharmony_ci as standard AMBA device. Reading it's CID or PID can cause machine lockup. 1062306a36Sopenharmony_ci2) AMBA standard devices called ports or wrappers. They have CIDs (AMBA_CID) 1162306a36Sopenharmony_ci and PIDs (0x103BB369), but we do not use that info for anything. One of that 1262306a36Sopenharmony_ci devices is used for managing Broadcom specific core. 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciAddresses of AMBA devices are not hardcoded in driver and have to be read from 1562306a36Sopenharmony_ciEPROM. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciIn this situation we decided to introduce separated bus. It can contain up to 1862306a36Sopenharmony_ci16 devices identified by Broadcom specific fields: manufacturer, id, revision 1962306a36Sopenharmony_ciand class. 20