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