18c2ecf20Sopenharmony_ciBroadcom introduced new bus as replacement for older SSB. It is based on AMBA, 28c2ecf20Sopenharmony_cihowever from programming point of view there is nothing AMBA specific we use. 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ciStandard AMBA drivers are platform specific, have hardcoded addresses and use 58c2ecf20Sopenharmony_ciAMBA standard fields like CID and PID. 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ciIn case of Broadcom's cards every device consists of: 88c2ecf20Sopenharmony_ci1) Broadcom specific AMBA device. It is put on AMBA bus, but can not be treated 98c2ecf20Sopenharmony_ci as standard AMBA device. Reading it's CID or PID can cause machine lockup. 108c2ecf20Sopenharmony_ci2) AMBA standard devices called ports or wrappers. They have CIDs (AMBA_CID) 118c2ecf20Sopenharmony_ci and PIDs (0x103BB369), but we do not use that info for anything. One of that 128c2ecf20Sopenharmony_ci devices is used for managing Broadcom specific core. 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ciAddresses of AMBA devices are not hardcoded in driver and have to be read from 158c2ecf20Sopenharmony_ciEPROM. 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciIn this situation we decided to introduce separated bus. It can contain up to 188c2ecf20Sopenharmony_ci16 devices identified by Broadcom specific fields: manufacturer, id, revision 198c2ecf20Sopenharmony_ciand class. 20