Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Firmware update. Expose more overclocking options through mailbox cha…

…nnel.

Restrict H264/ISP/V3D to integer divisors of PLL. Choose highest PLL below 2.4G. Disable overclock above 85'C.
Try to fix 14:9/16:9 sdtv aspect ratio. Allow bcm_host_init to be called more than once.
  • Loading branch information...
commit 790681ab24260d652755901cbe8c5fe59b734b71 1 parent 0c0ef8a
@popcornmix popcornmix authored
View
BIN  boot/arm128_start.elf
Binary file not shown
View
BIN  boot/arm192_start.elf
Binary file not shown
View
BIN  boot/arm224_start.elf
Binary file not shown
View
BIN  boot/arm240_start.elf
Binary file not shown
View
BIN  boot/start.elf
Binary file not shown
View
BIN  hardfp/opt/vc/lib/libEGL_static.a
Binary file not shown
View
BIN  hardfp/opt/vc/lib/libGLESv2_static.a
Binary file not shown
View
BIN  hardfp/opt/vc/lib/libbcm_host.so
Binary file not shown
View
BIN  hardfp/opt/vc/lib/libkhrn_client.a
Binary file not shown
View
BIN  hardfp/opt/vc/lib/libkhrn_static.a
Binary file not shown
View
BIN  hardfp/opt/vc/lib/libvcfiled_check.a
Binary file not shown
View
BIN  hardfp/opt/vc/lib/libvchostif.a
Binary file not shown
View
BIN  hardfp/opt/vc/lib/libvmcs_rpc_client.a
Binary file not shown
View
BIN  opt/vc/lib/libEGL_static.a
Binary file not shown
View
BIN  opt/vc/lib/libGLESv2_static.a
Binary file not shown
View
BIN  opt/vc/lib/libbcm_host.so
Binary file not shown
View
BIN  opt/vc/lib/libkhrn_client.a
Binary file not shown
View
BIN  opt/vc/lib/libkhrn_static.a
Binary file not shown
View
BIN  opt/vc/lib/libvcfiled_check.a
Binary file not shown
View
BIN  opt/vc/lib/libvchostif.a
Binary file not shown
View
BIN  opt/vc/lib/libvmcs_rpc_client.a
Binary file not shown

20 comments on commit 790681a

@licaon-kter

"Disable overclock above 85'C"
So there's an actual temperature sensor on board or what?

"Restrict H264/ISP/V3D to integer divisors of PLL. Choose highest PLL below 2.4G."
Any more details? How is this related to 'pll_freq = core_freq * 2^n' ? What effect does 'avoid_pwm_pll=1' have on it?

@ppuskari

This latest release locks up my Pi right after flashing the color screen. I had everything working perfectly before updating from the previous release. I'm running DVI to lcd panel. I'm overclocked to 908mhz, 500 sdram, and 465 gpu

Well it boots and I can at least ssh into the pi. I enabled the hdmi safe option and now it no longer even trips the lcd panel on. Like there is no signal present. I removed all overclocks as well and still not picture.

Okay, I had to enable force_hotplug for the first time ever. Now I get screens back with all my overclocks turned back on too. Looks like you changed a fair bit of videocore this time around?

@popcornmix
Owner

@licaon-kter Yes, there is a temperature sensor on chip. I've never managed to get it up to 85'C. I'll describe pll changes on overclock thread.
@ppuskari Well, your overclock settings don't sound safe to begin with. You can't run GPU at 465 and have 3D work for example. Can you try reducing them until it boots. Can you also try boot_delay=1 (in config.txt) to see if that helps.

@licaon-kter

@popcornmix: then why bother telling us that there is no temperature sensor all this time :( ? where can we read the current temp then? what module does it uses? details. we need them! :D

@popcornmix
Owner

You can read it from mailbox interface:
https://github.com/raspberrypi/firmware/wiki/Mailbox-property-interface

We'd like to add a hwmon driver to make this available through linux, but haven't written that yet. It's quite a simple driver, so feel free to add it and submit a pull request.

@ppuskari

I guess I'm confused and you can chat offline if you want with me. I'm using basically a slightly diff rev of the "tested values" in row 4 of the http://elinux.org/RPi_config.txt#Overclocking_options guide. Perhaps 3D won't work, but I've not needed 3d yet, since I have not found anything useful for that on the pi quite yet.

I take it I missed a forum or wiki entry that states there's an exact gpu freq where 3d cuts out? Or is it simply because the divisor setup when gpu_freq is set and core_freq is not and left default?

I just kept pushing gpu_freq until eventually omxplayer locked about 475mhz after 45 mins or so on my unit. Basically EVERYTHING is working rock solid including USB finally with the right combination of cmdline.txt options. Thanks guys for getting things sorted out bit by bit. webcam, usb-serial converter, trackball,keyboard, usb hd, usb mic/speaker. The only issue that came up is now I have to force hdmi/dvi output for whatever reason. Yes, I'll try the wait option too and see if that changes anything. It was definitely a surprise to see the blip on the screen about 1/10 the time it usually appears then screen go out. But like I said, when I set it to force hdmi/dvi out then it fires right up like normal.

@popcornmix
Owner

I take it I missed a forum or wiki entry that states there's an exact gpu freq where 3d cuts out?

No, there is a distribution of where your overclocking will fail. I've never seen v3d work at 400 (even with overvolt), so you getting 465 seems unlikely. Run hello_triangle2 or quake to see if it's really working.

Check out the overclocking thread. You should probably be using something like
core_freq=465
gpu_freq=310
which might have a chance of running quake.

@ppuskari
@licaon-kter

Any reason (arm/core/v3d/isp/h264):
900/320/320/noset/noset yields 900/320/320/240/240
but
900/320/320/320/320 yields 900/240/240/240/240
?

@popcornmix
Owner

@ppuskari
It's not the thermal limit you are hitting, it's just clock frequency is reduced when idle.
force_turbo=1 will make it overclock even when idle.
/opt/vc/bin/vcgencmd measure_temp
should be interesting.

@licaon-kter
Not sure. I'll look into it.

@licaon-kter

one more:
notforcedturbo/700/400/300/300/300 yields 700/250/0/0/0 (it reports zero) and running stress --cpu 1 --vm 2 --vm-bytes 32M does not ramp up the core value, but I did forget to monitor frequencies during a successful Q3 demo run, I'll do that today

@popcornmix
Owner

@licaon-kter
Reporting zero is okay. It basically means the clock is disabled. It's not quite consistent - sometimes the clock is enabled - e.g. before first use, but that is harmless - the domain is powered off.
I looked into your first numbers, but they no longer occur (as h264/isp/v3d don't get increaed with turbo)

@licaon-kter

So i got a chance to test some more, and indeed running Q3 will ramp up the only the GPU to 300 as it should, while h264/isp stay at zero, now, while running Q3 + 'stress' I had a background script to sample temp/freq at every other second, any reason it showed 300 only 20% of the time, like every 5-th sample or so? ( BTW, hope it's not a problem that I keep this here and not in the OC thread)

@popcornmix
Owner

The v3d block is switched on and off as needed (i.e. every frame). Actually Q3 doesn't stress the v3d very much, and it is powered down for the majority of the time. The bottleneck in quake is mostly on the ARM side.

@licaon-kter

Any reason the the freqs stay at 700/450/0/0/0 in idle with force_turbo=1 ?

@popcornmix
Owner

Yes, that's what force_turbo does - runs at max speed even when idle.

@licaon-kter

Umm that's not what I meant, considering the latest firmware with "Exclude v3d/h264/isp from turbo" I thought that the v3d/h264/isp freqs will be kept at turbo all the time and if I use force_turbo this will also get arm/core up to max all the time. Also maybe I'm doing it wrong by using force_turbo=1 in my config.txt and it actually should be in cmdline.txt?

@popcornmix
Owner

force_turbo=1 (in config.txt) keeps all clocks at max.
You may see some clocks reading 0 when that block is not in use.

@licaon-kter

only reading 0 or they set at zero? that's what got me asking

@popcornmix
Owner

If it reads 0 the hw block is unclocked and powered down.

Please sign in to comment.
Something went wrong with that request. Please try again.