1*4882a593SmuzhiyunBroadcom introduced new bus as replacement for older SSB. It is based on AMBA, 2*4882a593Smuzhiyunhowever from programming point of view there is nothing AMBA specific we use. 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunStandard AMBA drivers are platform specific, have hardcoded addresses and use 5*4882a593SmuzhiyunAMBA standard fields like CID and PID. 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunIn case of Broadcom's cards every device consists of: 8*4882a593Smuzhiyun1) Broadcom specific AMBA device. It is put on AMBA bus, but can not be treated 9*4882a593Smuzhiyun as standard AMBA device. Reading it's CID or PID can cause machine lockup. 10*4882a593Smuzhiyun2) AMBA standard devices called ports or wrappers. They have CIDs (AMBA_CID) 11*4882a593Smuzhiyun and PIDs (0x103BB369), but we do not use that info for anything. One of that 12*4882a593Smuzhiyun devices is used for managing Broadcom specific core. 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunAddresses of AMBA devices are not hardcoded in driver and have to be read from 15*4882a593SmuzhiyunEPROM. 16*4882a593Smuzhiyun 17*4882a593SmuzhiyunIn this situation we decided to introduce separated bus. It can contain up to 18*4882a593Smuzhiyun16 devices identified by Broadcom specific fields: manufacturer, id, revision 19*4882a593Smuzhiyunand class. 20