From: zajec5@gmail.com (Rafał Miłecki)
To: linux-arm-kernel@lists.infradead.org
Subject: Could I (ab)use bus (struct bus_type) for virtual Broadcom bus?
Date: Thu, 14 Apr 2011 14:04:05 +0200 [thread overview]
Message-ID: <BANLkTinvpt5vs+rXd3WN-a2JpGtTV+=Gyg@mail.gmail.com> (raw)
In-Reply-To: <1302781431.21145.6.camel@dev.znau.edu.ua>
W dniu 14 kwietnia 2011 13:43 u?ytkownik George Kashperko
<george@znau.edu.ua> napisa?:
>> We have slightly improved our knowledge of new Broadcom's bus. It
>> appears Broadcom took standard AMBA bus and put on it two cores for
>> every device:
>> 1) First core from each pair is real AMBA device, it has CID and PID.
>> Broadcom called it wrapper, it is used to control second core
>> (enabling second, disabling second, resetting second, setting flags of
>> second).
>> 2) Second core from each pair is Broadcom specific device. It can
>> *not* be treated as standard AMBA core - attempting to read it's CID
>> on PID leads to machine hang. Instead it is identified by MANUF, ID,
>> REV and CLASS. Example can be 80211 core.
>>
>> One of the idea is to integrate with current AMBA driver:
>> 1) First driver read info about all cores in Broadcom specific way. It
>> registers all *wrapper* (AMBA type) cores as amba_device(s).
>> 2) Second driver registers for cores with PID 0x103BB369 (Broadcom
>> specific I believe). It receives wrappers (from AMBA bus) and exposes
>> wrapper-related Broadcom specific core in the system.
>>
>> Problem: how to expose Broadcom specific cores in the system? Remember
>> we can not use amba_device, because Broadcom specific cores are
>> programmed and identified differently.
>>
>> Could we register some virtual bcm_amba bus in the system and register
>> Broadcom specific cores with it? Or is there something better for this
>> case? In summary everything I need is to make driver (for example b43)
>> able to register for Broadcom specific core with Broadcom specific
>> identifiers. For example:
>> static const struct axi_device_id b43_axi_tbl[] = {
>> ? ? ? AXI_CORE(AXI_MANUF_BCM, AXI_CORE_80211, 0x17, AXI_ANY_CLASS),
>> ? ? ? AXI_CORETABLE_END
>> };
>> MODULE_DEVICE_TABLE(axi, b43_axi_tbl);
>>
>> We have problems deciding architecture, the whole proposed layout is
>> not approved as final yet. Right now I try to check possibilities.
>>
> If you beleive you do need to register broadcom ip core devices on amba
> bus then I would suggest you to introduce class driver for broadcom
> cores rather than breaking into bus_type layout. But to be honest I
> think it is bad idea and your original approach where you managed agents
> internally and registered _broadcom_ devices on dedicated _broadcom_ bus
> have much more sense. Going your original way you still can also
> register agents on amba thus registering two buses per host but honestly
> registering them just for the sake of registering makes no sense at all.
I think you may be right, but we got so messed with so many ideas we
need to clean this out. Our old ideas:
1) Extending ssb
2) Separated library (brcmaxi)
3) Broadcom specific bus (bcmai)
4) AMBA AXI bus (axi)
5) Integrating with drivers/amba
I simply decide to consider every idea seriously and decide which will
fit our needs the best way.
Hauke: you were proposing integrating with drivers/amba. I really
expect you to comment on this, please tell us how do you see this now,
when we have better overview. I took your proposal seriously, you can
see the results above.
I think I agree with George that in proposed architecture we are using
drivers/amba just for the idea of using it. We don't get anything from
it, we don't provide anything to it that could be used anywhere else.
I think we should simply take the last version of my patch, rename it
to bcmamba, fix last issues and commit. It looks we use almos nothing
AMBA specific in your driver.
But as I said, I treat every proposal seriously. So please share your
minds Hauke & others.
--
Rafa?
next prev parent reply other threads:[~2011-04-14 12:04 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-14 11:28 Could I (ab)use bus (struct bus_type) for virtual Broadcom bus? Rafał Miłecki
2011-04-14 11:43 ` George Kashperko
2011-04-14 12:04 ` Rafał Miłecki [this message]
2011-04-14 12:34 ` Hauke Mehrtens
2011-04-14 13:07 ` Rafał Miłecki
2011-04-14 13:15 ` George Kashperko
2011-04-14 13:45 ` Rafał Miłecki
2011-04-15 18:36 ` George Kashperko
2011-04-15 19:21 ` Rafał Miłecki
2011-04-15 19:42 ` George Kashperko
2011-04-15 19:52 ` Rafał Miłecki
2011-04-15 19:56 ` Peter Stuge
2011-04-16 14:00 ` Rafał Miłecki
2011-04-16 14:13 ` Jonas Gorski
2011-04-15 19:50 ` George Kashperko
2011-04-17 17:38 ` Arnd Bergmann
2011-04-18 12:19 ` Rafał Miłecki
2011-04-18 14:19 ` Arnd Bergmann
2011-04-18 14:31 ` Rafał Miłecki
2011-04-18 15:35 ` George Kashperko
2011-04-18 15:53 ` Rafał Miłecki
2011-04-18 16:48 ` George Kashperko
2011-04-19 13:46 ` Arnd Bergmann
2011-04-19 13:58 ` Arend van Spriel
2011-04-19 14:02 ` Greg KH
2011-04-20 6:39 ` Arend van Spriel
2011-04-20 6:44 ` Arnd Bergmann
2011-04-19 14:20 ` Rafał Miłecki
2011-04-19 14:35 ` Arnd Bergmann
2011-04-20 7:16 ` Arend van Spriel
2011-04-20 7:26 ` Arnd Bergmann
2011-04-20 7:57 ` Arend van Spriel
2011-04-20 7:29 ` Rafał Miłecki
2011-05-05 12:33 ` AXI driver status => previously: " Arend van Spriel
2011-05-05 12:48 ` Rafał Miłecki
2011-05-05 12:54 ` Arend van Spriel
2011-04-14 13:03 ` George Kashperko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='BANLkTinvpt5vs+rXd3WN-a2JpGtTV+=Gyg@mail.gmail.com' \
--to=zajec5@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).