f_ changed the topic of ##raspberrypi-internals to: The inner workings of the Raspberry Pi (Low level VPU/HW) -- for general queries please visit #raspberrypi -- open firmware: https://librerpi.github.io/ -- VC4 VPU Programmers Manual: https://github.com/hermanhermitage/videocoreiv/wiki -- chat logs: https://libera.irclog.whitequark.org/~h~raspberrypi-internals
jcea has quit [Ping timeout: 256 seconds]
sneak has quit [Quit: ZNC 1.7.5 - https://znc.in]
sneak has joined ##raspberrypi-internals
sneak has quit [Quit: ZNC 1.7.5 - https://znc.in]
sneak has joined ##raspberrypi-internals
jcea has joined ##raspberrypi-internals
fury999io has joined ##raspberrypi-internals
<f_> hi fury999io
<clever> f_: about a month or 2 ago, i looked over the linux hdmi drivers and tried porting them to LK
<clever> the initial code looks fairly simply, if you just ignore edid and try to bring it up at a fixed res
<clever> but the hdmi hw block appears to be offline
<fury999io> hello f_
<clever> all writes are ignored, and all reads return dbus as a 32bit int
<f_> Hmm seems like the VPU does some HDMI init after all
<f_> (for linux, I mean)
<clever> yeah, there seems to be 2 undocuemnted things the firmware is doing, to help hdmi
<clever> 1: turning the hdmi itself on
<clever> 2: allowing the arm access to the 2d core
<f_> Did you try to look that up in the binary?
<clever> f_: ive searched for 2 before, but its a rather large binary and i dont know where to look
<clever> 1, i havent looked for that hard yet
<f_> You should search for mentions of registers using HDMI's register base address perhaps
<clever> i think the code would be before that, because it looks like the entire peripheral has dropped off the bus
<clever> so it would be accessing a non-hdmi (power? reset?) register, to bring it online
<f_> Probably. But the VPU also does some other things to display things over HDMI before passing control to linux
<clever> which would put you in this area
<clever> start.elf contains the full dispmanx display stack
<clever> which is basically the same job as kms
<clever> so it brings the 2d core online, and can drive hdmi/composite/dpi/dsi, and manage multiple sprites on each screen
<clever> and also handles offline composition if there are too many sprites or rotation is needed
<clever> it cant be as easy as PM_HDMI, i had to have checked that before....
<f_> Try again perhaps
<clever> yeah, i did
<f_> ok
<clever> PLLH generates some hdmi related clocks, and the PLLH_PIX tap has to divide down to the hdmi pixel clock
<f_> Explains why it didn't work. Does it work now?
<clever> i was able to bring PLLH and PLLH_PIX online fairly easily
<clever> but the hdmi block still doesnt respond properly to r/w
<f_> Seems like more work is needed apart from dealing with clocks.
<clever> yep
<clever> i also ran into fun problems with trying to get the camera online
<f_> How fun? :P
<clever> do you see how every register in cpr_powman.h has an _RESET constant?
<clever> i believe that is the hard-wired reset default value fo the register
<clever> the unicam (csi input) doesnt respect that when i bring it online :P
<clever> and then the linux driver goes haywire, beause interrupts are enabled from the start
<clever> i tried to fix it on the linux side, but i suspect the hw block is just malfunctioning in unpredictable ways
<clever> possibly due to under-volting
<fury999io> suggest me. should i purchase a pi 0 for running znc?
<clever> fury999io: id say get whichever model you can, they should all work for a task like that
<f_> Heavily depends on what you want to do with it and what you expect from it.
<fury999io> clever, alright
<f_> fury999io: https://librerpi.github.io/ has a table of working features (might be out of date)
<fury999io> thanks
<fury999io> btw why isn't the channel name #librepi
<fury999io> * #librerpi
<clever> this is the old name from before i took over the project
<fury999io> oh
<f_> Also because this channel isn't only related to librerpi, but more related to RPi inner workings in general.
<clever> i originally joined this channel back in 2014, and it already had 39 other users at the time
<fury999io> seems nice
<fury999io> i will invite my friend here. he's a rpi nerd
<f_> Except this channel isn't +g, so you can't /invite people.
<fury999io> i mean i will ask him to join
<f_> right
<fury999io> okay no problem
<f_> I recently asked whitequark to log this channel
<f_> (and cc'd clever)
<fury999io> f_ what's can you please share me the logging bot's source
<f_> I don't own the bot
<fury999io> oh
<f_> and if you look hard enough on the website you can find the link.
<fury999io> so can i invite it to my channel too?
<f_> No, you have to send an email to whitequark
<fury999io> oh okay
<f_> which will configure the bot so that it joins your channel.
<f_> And libera guidelines state that the topic must state that the channel is logged.
<fury999io> yep
<fury999io> at the moment i manually update the logs lmao
<f_> Or you can also host the bot
<fury999io> yeah i'll do it later on
test75 has joined ##raspberrypi-internals
test75 has quit [Client Quit]
srk- has joined ##raspberrypi-internals
srk has quit [Ping timeout: 276 seconds]
srk- is now known as srk
srk- has joined ##raspberrypi-internals