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