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 -- bridged to matrix and discord
jcea has quit [Ping timeout: 246 seconds]
angerisagift has quit [Read error: Connection reset by peer]
angerisagift has joined ##raspberrypi-internals
indy has quit [Ping timeout: 244 seconds]
t0mm13b_ has joined ##raspberrypi-internals
t0mm13b has quit [Ping timeout: 255 seconds]
jcea has joined ##raspberrypi-internals
angerisagift has quit [Ping timeout: 245 seconds]
angerisagift has joined ##raspberrypi-internals
<clever> jn: i need to put some more work into my network stack sometime tonight, then i can maybe start looking into jtag more
<jn> oh cool
<clever> most recently, i got ethernet drivers working on the pi3
<clever> along with LWIP and dhcp
<jn> i've recently been looking into how jtag works on certain motorola/freescale/NXP PowerPC chips
<clever> so if i just mix in some tftp, then i should have network boot
<clever> ah
<sys64738> oh those chips
<jn> mpc83xx
<clever> https://www.fpga4fun.com/JTAG.html has been a great starting point for me
<sys64738> yeah i have an spc56xx here for some reason (free s amples is the reason)
<jn> NXP application note AN3283 was my starting point, it's a very nice documented and looks quite implementable, but unfortunately it's not the debug protocol that my chips speak
<jn> (OnCE vs. COP)
<sys64738> don't they speak Nexus? (cf AN4088) or is it different on the 83xx?
<jn> OnCE is mentioned together with Nexus (maybe the same, maybe a different one, not sure), but on the 83xx and a few others i only see JTAG/COP in the documentation
<clever> jn: the main points i learned from #openocd, is that the capture-{ir,dr} stage, will load the selected ir/dr into the shift register, and the update-{ir,dr} will write the shift reg back into the ir/dr, and trigger the hw to begin reacting to it
<clever> and for arm debug specifically, the debug is built around that shift register, you write a 35bit command+data, and get a result for the previous command out of the shift register in the saem action
<clever> if the result says WAIT, then the command isnt done yet, and it ignored the command you just sent, so you should retry
<clever> and a smart probe can then just repeat the ignored command, until it isnt ignored
<jn> sys64738: AN4088 mentions MPC55xx/56xx, which is also what AN3283, and the JTAG/COP protocol looks *very* different from what i've seen so far
<sys64738> ah
<jn> * what AN3283 is about
<jn> i've been calling it OnCE instead of Nexus since my initial research, but documentation is so sparse that i might just be wrong in my naming
<clever> brb
<sys64738> i thought OnCE was a 56k thing
<jn> it is a term that appears in MPC55xx documentation (AN3283)
<sys64738> ah bruh
<jn> the craziest thing is AN4384 which describes *both* debug protocols (OnCE and COP) going into the same chip: https://boopsnoot.de/@jn/112404883136012026