Michael
Posts: 340
Joined: Sat Jul 30, 2011 6:05 pm

Re: Broadcom BCM2835 SoC

Sun Jul 31, 2011 12:18 pm

Hi,

I'm guessing that the reason for the redactions about the specifics of the Broadcom chip you are using is either to allow you to change to a slightly different model if it is available in time, or more likely that Boradcom themselves haven't officially announced the chip that you are using.

With that in mind, what can you currently tell us about the features of this chip or the features of the Raspberry Pi device in general?


For instance, could you tell us about the GPU core that the R.Pi device will have?
Is there a DSP? If so, is there a public API to the DSP like there is with the TI C64x or is it private like most of the other ARM SoCs?
Does the Broadcom device feature ARM NEON or similar?
What floating-point capabilities does it have?

User avatar
liz
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 5202
Joined: Thu Jul 28, 2011 7:22 pm
Contact: Website

Re: Broadcom BCM2835 SoC

Sun Jul 31, 2011 1:56 pm

I can catch this one - the GPU is a Broadcom proprietary GPU that Eben was on the architecture team for. There is a DSP, but there isn't currently a public API (I think the BC team are keen to make one available at some point). There are 24 GFLOPS of general purpose compute and a bunch of texture filtering and DMA infrastructure (admission - I had to ask about this) in the GPU, and we're looking at how we can make that available to application programmers.

There's no ARM NEON, but it does have ARM VFP. (Had to ask about that too!)
Director of Communications, Raspberry Pi

marked
Posts: 218
Joined: Fri Jul 29, 2011 4:25 pm

Re: Broadcom BCM2835 SoC

Sun Jul 31, 2011 3:21 pm

Is it the processor listed here,
http://www.broadcom.com/produc.....rs/BCM2763 as there is no documentation listed for it, unless it requires logging in. Or hasn't the info been released yet?

Michael
Posts: 340
Joined: Sat Jul 30, 2011 6:05 pm

Re: Broadcom BCM2835 SoC

Sun Jul 31, 2011 3:39 pm

It was widely reported that the first prototype board (the USB-stick shaped one) featured the Broadcom part to which you linked. It would appear that a different (not yet announced) BCM2xxx series chip will be used for production Raspberry Pi.

Common with most other manufacturers, Broadcom will likely only supply datasheets for its products to companies under a signed NDA.

eggn1n3
Posts: 106
Joined: Fri Jul 29, 2011 10:36 am

Re: Broadcom BCM2835 SoC

Sun Jul 31, 2011 3:47 pm

the GPU is a Broadcom proprietary GPU that Eben was on the architecture team for Does this mean that the Raspberry Pi team has written some drivers for this chip so it is supported by Linux?

User avatar
liz
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 5202
Joined: Thu Jul 28, 2011 7:22 pm
Contact: Website

Re: Broadcom BCM2835 SoC

Sun Jul 31, 2011 8:24 pm

Quote from eggn1n3 on July 31, 2011, 16:47
the GPU is a Broadcom proprietary GPU that Eben was on the architecture team for Does this mean that the Raspberry Pi team has written some drivers for this chip so it is supported by Linux?

Yup - bang on. :)
Director of Communications, Raspberry Pi

Johannes
Posts: 64
Joined: Sun Jul 31, 2011 8:05 pm

Re: Broadcom BCM2835 SoC

Mon Aug 01, 2011 12:08 am

Any chance that the GPU can be used for accelerating AES through a standard kernel interface? Or is there a dedicated AES coprocessor?

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: Broadcom BCM2835 SoC

Mon Aug 01, 2011 5:51 pm

Quote from liz on July 31, 2011, 21:24
Yup - bang on. :)

The next questions would be...would those drivers be something that leverages Gallium3D for the ES support, and if so, will we be seeing open source support thereof?

(If so, I can see Broadcom wanting to seriously consider licensing the Cortex A15 for their next part there... :D)

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: Broadcom BCM2835 SoC

Mon Aug 01, 2011 5:53 pm

Quote from Johannes on August 1, 2011, 01:08
Any chance that the GPU can be used for accelerating AES through a standard kernel interface? Or is there a dedicated AES coprocessor?

I wouldn't think you'd get a kernel interface for the GPU stuff there (Limited GPU code allowed in the kernel...)- but you might be able to make Sh (a metaprogramming language framework that was the predecessor to RapidMind...) do- and it's open sourced. You'd just have to educate it on OpenGL ES 2.0 and have a shader compiler on the native system to be able to use it.

eben
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 85
Joined: Sun Jul 17, 2011 11:54 am

Re: Broadcom BCM2835 SoC

Mon Aug 01, 2011 10:19 pm

The GPU interface is via a closed-source userland module, which communicates via a proprietary (but GPL'd) stream interface in the kernel to a RISC core on the GPU side. No AES coprocessor I'm afraid; wouldn't want RP to be a munition, would we?

User avatar
Emanuele
Posts: 180
Joined: Wed Aug 03, 2011 5:28 pm
Contact: Website

Re: Broadcom BCM2835 SoC

Thu Aug 04, 2011 1:18 pm

I don't know how much you can (or have time to) say, but here I go:

- Have you tried Quake in SD? Can it handle 50/60 fps consistently? While the chipset can handle high resolution, I would personally target SD anyway (bandwidth).
- Can you use OpenGL without X11 (e.g. directfb or similar)?
- I guess it's the usual tiled architecture. How much memory is inside the chip?
- I think you mentioned ETC somewhere else. Any other formats?
- Does it support something like GL_AMD_performance_monitor? If so, do you think info about the counters will ever become public?

User avatar
liz
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 5202
Joined: Thu Jul 28, 2011 7:22 pm
Contact: Website

Re: Broadcom BCM2835 SoC

Thu Aug 04, 2011 1:36 pm

Heh - have we tried Quake! We've got a lovely little demo of Quake III running at 1080p coming up in a blog post for you guys later on.
Director of Communications, Raspberry Pi

ShiftPlusOne
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 6074
Joined: Fri Jul 29, 2011 5:36 pm
Location: The unfashionable end of the western spiral arm of the Galaxy

Re: Broadcom BCM2835 SoC

Thu Aug 04, 2011 1:36 pm

DirectFB will be supported, yes.

crispy
Posts: 4
Joined: Sat Aug 06, 2011 10:07 am

Re: Broadcom BCM2835 SoC

Sat Aug 06, 2011 10:49 am

Any chance of open sourcing it?

KanjiMonster
Posts: 9
Joined: Sat Aug 06, 2011 10:12 pm

Re: Broadcom BCM2835 SoC

Sat Aug 06, 2011 10:19 pm

Will there be a data sheet/programmer's guide available? I mean, having an embedded device intended for teaching programming without a data sheet would be a bit silly, right?

eben
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 85
Joined: Sun Jul 17, 2011 11:54 am

Re: Broadcom BCM2835 SoC

Sat Aug 06, 2011 10:27 pm

Quote from Emanuele on August 4, 2011, 14:18
I don't know how much you can (or have time to) say, but here I go:

- Have you tried Quake in SD? Can it handle 50/60 fps consistently? While the chipset can handle high resolution, I would personally target SD anyway (bandwidth).

I'm sure it can. Even the older (VideoCore III) parts can do this.

- Can you use OpenGL without X11 (e.g. directfb or similar)?

Yes. In fact, you can currently *only* use it without X11.

- I guess it's the usual tiled architecture. How much memory is inside the chip?

You mean how big is the tile? Not a publicly-documented figure.

- I think you mentioned ETC somewhere else. Any other formats?

No other compressed formats. We do the usual OpenGL ES 2.0 formats, plus 16-bit float.

- Does it support something like GL_AMD_performance_monitor? If so, do you think info about the counters will ever become public?

Yes it does. We need to see about releasing some performance counter documentation.

eben
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 85
Joined: Sun Jul 17, 2011 11:54 am

Re: Broadcom BCM2835 SoC

Sat Aug 06, 2011 10:28 pm

Quote from KanjiMonster on August 6, 2011, 23:19
Will there be a data sheet/programmer's guide available? I mean, having an embedded device intended for teaching programming without a data sheet would be a bit silly, right?

Yes. There will be plenty of data. Only the multimedia side is likely to remain relatively closed.

KanjiMonster
Posts: 9
Joined: Sat Aug 06, 2011 10:12 pm

Re: Broadcom BCM2835 SoC

Sat Aug 06, 2011 10:38 pm

Quote from eben on August 6, 2011, 23:28
Quote from KanjiMonster on August 6, 2011, 23:19
Will there be a data sheet/programmer's guide available? I mean, having an embedded device intended for teaching programming without a data sheet would be a bit silly, right?

Yes. There will be plenty of data. Only the multimedia side is likely to remain relatively closed.

Okay, so there will be actual documentation of the hardware, not just some source code?

Also since I couldn't find any definite answer on the forums will the JTAG be available (with at least pads for soldering)?
It would make debugging much easier (especially if you are mucking with the kernel).
Same goes for a serial/uart port for debug output.

User avatar
liz
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 5202
Joined: Thu Jul 28, 2011 7:22 pm
Contact: Website

Re: Broadcom BCM2835 SoC

Sat Aug 06, 2011 10:50 pm

ARM JTAG will be brought out to pads. There will be full documentation of the non-multimedia peripherals (one of our developers has the documentation pretty much finished already).

I have visions of you poised with your soldering iron waiting for the release date!
Director of Communications, Raspberry Pi

KanjiMonster
Posts: 9
Joined: Sat Aug 06, 2011 10:12 pm

Re: Broadcom BCM2835 SoC

Sat Aug 06, 2011 10:58 pm

Quote from liz on August 6, 2011, 23:50
ARM JTAG will be brought out to pads. There will be full documentation of the non-multimedia peripherals (one of our developers has the documentation pretty much finished already).

Sounds good. What about serial?

I have visions of you poised with your soldering iron waiting for the release date!

Not quite yet, the proprietary blob is still quite a turn-off. I'm currently trying to find out how (un-)usable the device is without it.

User avatar
liz
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 5202
Joined: Thu Jul 28, 2011 7:22 pm
Contact: Website

Re: Broadcom BCM2835 SoC

Sat Aug 06, 2011 11:06 pm

Serial's documented. Unless you really love ASCII art, serial's not a multimedia peripheral. (Multimedia peripherals are 3d and video, displays, cameras and audio.)

TBH, I'm not aware of anyone who genuinely open sources all of their multimedia. Without the proprietary blob, you're not going to be able to run any multimedia at all, so you may be better off looking elsewhere.
Director of Communications, Raspberry Pi

KanjiMonster
Posts: 9
Joined: Sat Aug 06, 2011 10:12 pm

Re: Broadcom BCM2835 SoC

Sat Aug 06, 2011 11:54 pm

Quote from liz on August 7, 2011, 00:06
Serial's documented. Unless you really love ASCII art, serial's not a multimedia peripheral. (Multimedia peripherals are 3d and video, displays, cameras and audio.)

There are several applications I can think of that don't require multimedia at all since it has an ethernet port.


TBH, I'm not aware of anyone who genuinely open sources all of their multimedia.
At least AMD and Intel do.


Without the proprietary blob, you're not going to be able to run any multimedia at all, so you may be better off looking elsewhere.


A proprietary blob really has some ugly implications - no switching of the libc implementation if it's in user space, no switching of the kernel version if it's a kernel module, and other OS's are totally out :-/

BTW, will be booting from network supported (e.g. loading a kernel/image from a tftp server)?

Michael
Posts: 340
Joined: Sat Jul 30, 2011 6:05 pm

Re: Broadcom BCM2835 SoC

Sun Aug 07, 2011 9:43 am

Eric Raymond has some excellent points to make on this subject
http://oreilly.com/catalog/cat.....ml#drivers

Also this essay by James Bottomley of The Linux Foundation is worth a read
https://www.linuxfoundation.org/publica ... hics-essay

If Broadcom wants to leapfrog NVIDIA, they need to do what NVIDIA isn't currently willing to: open source its multimedia drivers.

User avatar
Emanuele
Posts: 180
Joined: Wed Aug 03, 2011 5:28 pm
Contact: Website

Re: Broadcom BCM2835 SoC

Sun Aug 07, 2011 12:01 pm

Maybe Eric Raymond is right, but it could be that the most compelling reason not to open up the drivers has little to do with (perceived) competitive advantage, and a lot to do with limiting exposure to the disgraceful scam that the patent system has become.

Intel and AMD are often cited, but they are big companies and can defend themselves better. I don't see open source drivers for Adreno, PowerVR, etc...

Open source drivers would be nice and would allow a few more use cases, but if Broadcom feels that they have a better chance of survival by keeping their drivers closed, I'm fine with that. However, I admit that I'm biased in the sense that I personally find the kernel level not that interesting and I think that the real innovation is at the application level.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 24129
Joined: Sat Jul 30, 2011 7:41 pm

Re: Broadcom BCM2835 SoC

Sun Aug 07, 2011 5:59 pm

I'm not sure whether people above are talking about the linux drives, or the binary firmware blob that runs on the MM chip itself, but remember, the drivers give you access to the firmware on the MM chip. There is a lot of firmware running on that chip which stays closed, which nobody really needs access to anyway - and that's the same for all MM chips (and network chips, and bluetooth chips and wireless chips and and and etc).

I would hazard a guess that 99.99% of people who would use this sort of board will be fine with the binary firmware blob. A lot of work has gone in to that code to make it perform extremely well, and there is no real need to have access to it - you won't be able to make it better (well, you might, but it would be extremely difficult as you would have to write lots of propriety assembler code - I've tried and it's not pleasant).

I'd have to check about the open source status of them, but I think the linux drivers will give you all the access most would need to the very high performance levels of the MM chip.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I think it’s wrong that only one company makes the game Monopoly.” – Steven Wright

Return to “General discussion”