sandwich
Posts: 85
Joined: Fri Oct 16, 2020 5:57 am

Videocore 6 documentation

Wed Jun 16, 2021 6:55 pm

Hello,
Is there any publicly available Videocore 6 documentation, such as for programming it at the lowest level?
Thanks.

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

Re: Videocore 6 documentation

Wed Jun 16, 2021 8:59 pm

Just the datasheet we produce, which doesn't actually cover everything in the Videocore. Anything else would need to come from Broadcom.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Working in the Application's Team.

andrum99
Posts: 1449
Joined: Fri Jul 20, 2012 2:41 pm

Re: Videocore 6 documentation

Wed Jun 16, 2021 9:29 pm

In common with all of the other SoCs used by the Raspberry Pi, the most publicly available documentation that has been produced was written by Raspberry Pi folks. For the original SoC (BCM2835) this was officially a Broadcom document, but was done to support people / companies looking to do OSS drivers for the Pi (and I suspect Eben probably had a hand in it - he still works for Broadcom as well as Raspberry Pi's trading subsidiary). If you want more detailed documentation for the SoC you would probably need to sign an NDA with Broadcom: how likely they would be to do that would, I would guess, depend on how many of the chips you wanted to purchase from them.

Don't forget that the various bits of OSS that have been written for the BCM2711 also serve as documentation ;)

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

Re: Videocore 6 documentation

Wed Jun 16, 2021 10:35 pm

Eben no longer works for Broadcom, full time CEO of Trading.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Working in the Application's Team.

sandwich
Posts: 85
Joined: Fri Oct 16, 2020 5:57 am

Re: Videocore 6 documentation

Wed Jul 07, 2021 10:09 pm

andrum99 wrote:
Wed Jun 16, 2021 9:29 pm
If you want more detailed documentation for the SoC you would probably need to sign an NDA with Broadcom: how likely they would be to do that would, I would guess, depend on how many of the chips you wanted to purchase from them
Oh, well that's not great. I've always wondered by hardware companies are so secretive. The best answer I've heard is that they are probably violating one another's patents.

sandwich
Posts: 85
Joined: Fri Oct 16, 2020 5:57 am

Re: Videocore 6 documentation

Wed Jul 07, 2021 10:10 pm

jamesh wrote:
Wed Jun 16, 2021 10:35 pm
Eben no longer works for Broadcom, full time CEO of Trading.
If that's the case, hopefully he is not beholden to them any more. Maybe a RISC-V variant of the Pi is possible?

jdb
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2615
Joined: Thu Jul 11, 2013 2:37 pm

Re: Videocore 6 documentation

Wed Jul 07, 2021 10:12 pm

sandwich wrote:
Wed Jul 07, 2021 10:10 pm
jamesh wrote:
Wed Jun 16, 2021 10:35 pm
Eben no longer works for Broadcom, full time CEO of Trading.
If that's the case, hopefully he is not beholden to them any more. Maybe a RISC-V variant of the Pi is possible?
What does that statement have to do with documentation for Videocore?
Rockets are loud.
https://astro-pi.org

cleverca22
Posts: 3995
Joined: Sat Aug 18, 2012 2:33 pm

Re: Videocore 6 documentation

Wed Jul 07, 2021 11:44 pm

sandwich wrote:
Wed Jul 07, 2021 10:09 pm
andrum99 wrote:
Wed Jun 16, 2021 9:29 pm
If you want more detailed documentation for the SoC you would probably need to sign an NDA with Broadcom: how likely they would be to do that would, I would guess, depend on how many of the chips you wanted to purchase from them
Oh, well that's not great. I've always wondered by hardware companies are so secretive. The best answer I've heard is that they are probably violating one another's patents.
i can see signs of that

the VPU where all of the firmware (bootcode.bin/start.elf/start4.elf) runs
the headers in the .elf file say it was built with the synopsys metaware compiler, which can only be obtained under NDA with synopsys

so even if broadcom did want to open things up, synopsys has to have a say, or your just not getting the compiler
and porting the official firmware to the gcc compiler would involve a decent amount of work
there are likely also pre-made libs from synopsys, which would have to be replaced

W. H. Heydt
Posts: 14859
Joined: Fri Mar 09, 2012 7:36 pm
Location: Vallejo, CA (US)

Re: Videocore 6 documentation

Wed Jul 07, 2021 11:53 pm

sandwich wrote:
Wed Jul 07, 2021 10:10 pm
jamesh wrote:
Wed Jun 16, 2021 10:35 pm
Eben no longer works for Broadcom, full time CEO of Trading.
If that's the case, hopefully he is not beholden to them any more. Maybe a RISC-V variant of the Pi is possible?
At this point, the relationship is probably "extremely valued customer". After all, making Pis requires buying something like 7 million SoCs per year from Broadcom.

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

Re: Videocore 6 documentation

Thu Jul 08, 2021 12:53 pm

sandwich wrote:
Wed Jul 07, 2021 10:10 pm
jamesh wrote:
Wed Jun 16, 2021 10:35 pm
Eben no longer works for Broadcom, full time CEO of Trading.
If that's the case, hopefully he is not beholden to them any more. Maybe a RISC-V variant of the Pi is possible?
I don't think Eben has even been beholden to anyone, except possibly his children....

The Raspberry Pi/Broadcom connection has been entirely beneficial to both parties. Remember that most of the Pi HW/SW team are ex-Broadcom so we have a LOT of knowledge of the SoC's in use. You simply cannot underestimate the value in that.

As for RISC-V, it's not good enough yet to replace the SoC without a colossal amount of work - have you any concept of how expensive that is?

The blocks needed:

CPU's
HDMI
Video bitmap generator thingy (HVS)
Video compression/decompression
3D block
Camera
DSI
GPIO
USB
PCI
SDIO
I2C
SPI
Plus other bits and pieces

The only bit RISC-V gives us is the CPU's.....
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Working in the Application's Team.

User avatar
mahjongg
Forum Moderator
Forum Moderator
Posts: 14057
Joined: Sun Mar 11, 2012 12:19 am
Location: South Holland, The Netherlands

Re: Videocore 6 documentation

Thu Jul 08, 2021 1:04 pm

Correction, the only thing RISC-V gives us is the instruction set! The instruction set is NOT a CPU core!

Also RISC-V has NOTHING to do with the subject of this thread.

bjtheone
Posts: 1420
Joined: Mon May 20, 2019 11:28 pm
Location: The Frozen North (AKA Canada)

Re: Videocore 6 documentation

Thu Jul 08, 2021 2:15 pm

sandwich wrote:
Wed Jul 07, 2021 10:09 pm
andrum99 wrote:
Wed Jun 16, 2021 9:29 pm
If you want more detailed documentation for the SoC you would probably need to sign an NDA with Broadcom: how likely they would be to do that would, I would guess, depend on how many of the chips you wanted to purchase from them
Oh, well that's not great. I've always wondered by hardware companies are so secretive. The best answer I've heard is that they are probably violating one another's patents.
More likely not want to:

* disclose proprietary stuff, that could aid in making copies, competing or derivative products
* feed the patent trolls
* create extra work to develop and maintain

The standard for most companies to disclose the require info under NDA. Depending on said NDA, you may not even be able to disclose/confirm you are working with the hardware, especially if it is pre-release.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11499
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Videocore 6 documentation

Thu Jul 08, 2021 2:24 pm

jamesh wrote:
Thu Jul 08, 2021 12:53 pm
sandwich wrote:
Wed Jul 07, 2021 10:10 pm
If that's the case, hopefully he is not beholden to them any more. Maybe a RISC-V variant of the Pi is possible?
I don't think Eben has even been beholden to anyone, except possibly his children....
And Liz!
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

andrum99
Posts: 1449
Joined: Fri Jul 20, 2012 2:41 pm

Re: Videocore 6 documentation

Thu Jul 08, 2021 4:18 pm

jamesh wrote:
Thu Jul 08, 2021 12:53 pm
The Raspberry Pi/Broadcom connection has been entirely beneficial to both parties. Remember that most of the Pi HW/SW team are ex-Broadcom so we have a LOT of knowledge of the SoC's in use. You simply cannot underestimate the value in that.
^this^

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

Re: Videocore 6 documentation

Thu Jul 08, 2021 5:14 pm

6by9 wrote:
Thu Jul 08, 2021 2:24 pm
jamesh wrote:
Thu Jul 08, 2021 12:53 pm
sandwich wrote:
Wed Jul 07, 2021 10:10 pm
If that's the case, hopefully he is not beholden to them any more. Maybe a RISC-V variant of the Pi is possible?
I don't think Eben has even been beholden to anyone, except possibly his children....
And Liz!
Tru dat.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Working in the Application's Team.

sandwich
Posts: 85
Joined: Fri Oct 16, 2020 5:57 am

Re: Videocore 6 documentation

Thu Jul 08, 2021 7:12 pm

jdb wrote:
Wed Jul 07, 2021 10:12 pm
What does that statement have to do with documentation for Videocore?
As an open-source hardware design, RISC-V would presumably be packaged with an open-source GPU, or at least an open-source friendly GPU like Mali.
Last edited by sandwich on Thu Jul 08, 2021 7:19 pm, edited 1 time in total.

sandwich
Posts: 85
Joined: Fri Oct 16, 2020 5:57 am

Re: Videocore 6 documentation

Thu Jul 08, 2021 7:17 pm

mahjongg wrote:
Thu Jul 08, 2021 1:04 pm
Correction, the only thing RISC-V gives us is the instruction set! The instruction set is NOT a CPU core!
Haven't you kept up with current events? There are now two RISC-V single board computers: Nezha and Beagleboard.

https://hackerboards.com/boards/nezha/
https://www.seeedstudio.com/blog/2021/0 ... run-linux/

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

Re: Videocore 6 documentation

Thu Jul 08, 2021 7:23 pm

sandwich wrote:
Thu Jul 08, 2021 7:17 pm
mahjongg wrote:
Thu Jul 08, 2021 1:04 pm
Correction, the only thing RISC-V gives us is the instruction set! The instruction set is NOT a CPU core!
Haven't you kept up with current events? There are now two RISC-V single board computers: Nezha and Beagleboard.

https://hackerboards.com/boards/nezha/
https://www.seeedstudio.com/blog/2021/0 ... run-linux/
You seem to be misunderstanding the effort involved here. In order to make an SoC, you need the RTL for the cores, plus all the other blocks you might need. So for RISC-V you either copy someone else's RTL (The RISC-V instruction set is OS, not sure about RTL developed that implements them), or develop your own. The other blocks you might be able to buy in, like we did for some parts of the Rp2040, but there is still a colossal amount of other work that needs to be done on new blocks, and then plugging them all together is a way that doesn't suck. RP2040 took, IIRC, 3 years to develop, and that is a tiny device compared with requirements for a next gen Pi, and that was with bought in CPU cores...
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Working in the Application's Team.

sandwich
Posts: 85
Joined: Fri Oct 16, 2020 5:57 am

Re: Videocore 6 documentation

Fri Jul 09, 2021 5:02 pm

jamesh wrote:
Thu Jul 08, 2021 7:23 pm
You seem to be misunderstanding the effort involved here. In order to make an SoC, you need the RTL for the cores, plus all the other blocks you might need. So for RISC-V you either copy someone else's RTL (The RISC-V instruction set is OS, not sure about RTL developed that implements them), or develop your own. The other blocks you might be able to buy in, like we did for some parts of the Rp2040, but there is still a colossal amount of other work that needs to be done on new blocks, and then plugging them all together is a way that doesn't suck. RP2040 took, IIRC, 3 years to develop, and that is a tiny device compared with requirements for a next gen Pi, and that was with bought in CPU cores...
It's not really a misunderstanding if you think about it. It's a lack of information from you. If you don't tell someone an important detail, they're not misunderstanding, they're forming conclusions without sufficient information. I would appreciate if you don't use a condescending term like misunderstanding in order to evade culpability for being unnecessarily secretive. At any rate, in Asia they are able to churn out new boards in a matter of months, so I don't know why it takes you years. But feel free to tell us all what you know and not keep people in the dark.

fruitoftheloom
Posts: 27104
Joined: Tue Mar 25, 2014 12:40 pm

Re: Videocore 6 documentation

Fri Jul 09, 2021 5:19 pm

sandwich wrote:
Fri Jul 09, 2021 5:02 pm
jamesh wrote:
Thu Jul 08, 2021 7:23 pm
You seem to be misunderstanding the effort involved here. In order to make an SoC, you need the RTL for the cores, plus all the other blocks you might need. So for RISC-V you either copy someone else's RTL (The RISC-V instruction set is OS, not sure about RTL developed that implements them), or develop your own. The other blocks you might be able to buy in, like we did for some parts of the Rp2040, but there is still a colossal amount of other work that needs to be done on new blocks, and then plugging them all together is a way that doesn't suck. RP2040 took, IIRC, 3 years to develop, and that is a tiny device compared with requirements for a next gen Pi, and that was with bought in CPU cores...
It's not really a misunderstanding if you think about it. It's a lack of information from you. If you don't tell someone an important detail, they're not misunderstanding, they're forming conclusions without sufficient information. I would appreciate if you don't use a condescending term like misunderstanding in order to evade culpability for being unnecessarily secretive. At any rate, in Asia they are able to churn out new boards in a matter of months, so I don't know why it takes you years. But feel free to tell us all what you know and not keep people in the dark.

Whilst you can make SBC's using open specification in Asia, the quality and longevity in use has not always been great and total of all products offered for sale are measured in the thousands not millions (apart from Hardkernel (Odroid)):

https://www.96boards.org/about

It is a matter of choice, buy a quality well engineered product with full support or buy a product without any real support.

Actually there is a wealth of information out there via your favourite search engine ;)
Last edited by fruitoftheloom on Fri Jul 09, 2021 7:27 pm, edited 1 time in total.
I am a volunteer, take what I advise as advice not the utopian holy grail.

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

Re: Videocore 6 documentation

Fri Jul 09, 2021 7:25 pm

We are talking here about making an SoC with RISC-V, not "churning out a board" that will fail every compliance test you throw at it and has the technical support level of an amoeba. We can knock up a new Pi pretty easily (if we had an appropriate SoC), but making sure it works and can pass compliances and has appropriate software support takes a LONG time.

Making a new SoC with capabilities of the current ARM device but with a RISC-V core will takes years
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Working in the Application's Team.

User avatar
MikeDB
Posts: 546
Joined: Sun Oct 12, 2014 8:27 am
Contact: Website

Re: Videocore 6 documentation

Fri Jul 09, 2021 8:04 pm

sandwich wrote:
Thu Jul 08, 2021 7:17 pm
Haven't you kept up with current events? There are now two RISC-V single board computers: Nezha and Beagleboard.
So you want us to swap a well proven board running a quad core processor using the 64 bit ARMv8 instruction set with a dual core processor using the inferior RV64GBC instruction set ?
Always interested in innovative audio startups needing help and investment. Look for me on ModWiggler or other sites that have PMs.

sandwich
Posts: 85
Joined: Fri Oct 16, 2020 5:57 am

Re: Videocore 6 documentation

Fri Jul 09, 2021 8:09 pm

jamesh wrote:
Fri Jul 09, 2021 7:25 pm
Making a new SoC with capabilities of the current ARM device but with a RISC-V core will takes years
Didn't you click on the links I provided? The Allwinner D1 SoC already exists and has the various coprocessors built into it:
https://d1.docs.allwinnertech.com/asset ... 505246.png
https://d1.docs.allwinnertech.com/asset ... 118258.png
And the Jinhong 7110 SoC will be quad core:
https://www.businesswire.com/news/home/ ... -Run-Linux

fruitoftheloom
Posts: 27104
Joined: Tue Mar 25, 2014 12:40 pm

Re: Videocore 6 documentation

Fri Jul 09, 2021 8:45 pm

sandwich wrote:
Fri Jul 09, 2021 8:09 pm
jamesh wrote:
Fri Jul 09, 2021 7:25 pm
Making a new SoC with capabilities of the current ARM device but with a RISC-V core will takes years
Didn't you click on the links I provided? The Allwinner D1 SoC already exists and has the various coprocessors built into it:
https://d1.docs.allwinnertech.com/asset ... 505246.png
https://d1.docs.allwinnertech.com/asset ... 118258.png
And the Jinhong 7110 SoC will be quad core:
https://www.businesswire.com/news/home/ ... -Run-Linux

The BeagleBoard is an introductory price of $149.00, I can buy an Asus Chromebox 3 (supported for another 4 years) at that price.

https://beagleboard.org/beaglev

Anyway how can that price be got down to around $35.00 for a 2GB memory variant ?


What about the man hour cost of software re-write ?

What Operating System does it run, seems Debian have a way to go for full functionality:

https://wiki.debian.org/RISC-V
I am a volunteer, take what I advise as advice not the utopian holy grail.

jdb
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2615
Joined: Thu Jul 11, 2013 2:37 pm

Re: Videocore 6 documentation

Fri Jul 09, 2021 9:26 pm

sandwich wrote:
Thu Jul 08, 2021 7:12 pm
jdb wrote:
Wed Jul 07, 2021 10:12 pm
What does that statement have to do with documentation for Videocore?
As an open-source hardware design, RISC-V would presumably be packaged with an open-source GPU, or at least an open-source friendly GPU like Mali.
Please provide evidence that Mali is an "open-source friendly" GPU.

Btw, here's the complete and unredacted architecture specification of the Videocore 4 3D engine, as used on Pi 1 through 3B+: https://docs.broadcom.com/doc/12358545

The corresponding Linux open-source driver for V3D can be found in Linus's tree at https://github.com/torvalds/linux/tree/ ... pu/drm/vc4
Rockets are loud.
https://astro-pi.org

Return to “General discussion”