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
jn has quit [Ping timeout: 268 seconds]
jn has joined ##raspberrypi-internals
jn has quit [Changing host]
jn has joined ##raspberrypi-internals
jcea has quit [Ping timeout: 246 seconds]
Hans-Martin has joined ##raspberrypi-internals
Hans-Martin has quit [Client Quit]
<f_ridge> <x​2x6_/D> Clever, do you have a branch where you set HS bit successfully?
<f_ridge> <x​2x6_/D> As I understood this example is on sdhost also
<f_ridge> <x​2x6_/D> A, no, you probably don't, as I understood this example is on sdhost also(edited)
NightMonkey has quit [Quit: ZNC - http://znc.in]
NightMonkey has joined ##raspberrypi-internals
<f_ridge> <c​lever___/D> ```
<f_ridge> <c​lever___/D> bool BCM2708SDHost::send_raw(uint32_t, uint32_t):135: CMD 6, arg=0xfffff1
<f_ridge> <c​lever___/D> bool BCM2708SDHost::wait_and_get_response():276: Cmd: 6 Resp: 00000900 0000066e ffffffff ffffffff
<f_ridge> <c​lever___/D> 0x00648001 0x80018001 0x80018001 0x80030000 0x01000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
<f_ridge> <c​lever___/D> ```
<f_ridge> <c​lever___/D> @x2x6_ the first nibble in the argument (the far right 1) says that the access mode should switch to highspeed or sdr25 (depending on something else)
<f_ridge> <c​lever___/D> the 5 f's say that groups 2 thru 6 should remain unchanged
<f_ridge> <c​lever___/D> ah, but bit 31 isnt set in this example
<f_ridge> <c​lever___/D> ```
<f_ridge> <c​lever___/D> bool BCM2708SDHost::send_raw(uint32_t, uint32_t):135: CMD 6, arg=0x80fffff1
<f_ridge> <c​lever___/D> bool BCM2708SDHost::wait_and_get_response():276: Cmd: 6 Resp: 00000900 0000066e 7fffffff 00024037
<f_ridge> <c​lever___/D> 0x00c88001 0x80018001 0x80018001 0x80030000 0x01000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
<f_ridge> <c​lever___/D> ```
<f_ridge> <c​lever___/D> immediately after, i run the same thing again, but with bit 31 set
<f_ridge> <c​lever___/D> you can see it got `0x900` back as the R1 response in both cases
<f_ridge> <c​lever___/D> and it got a 512 bit reply back as well, over the DAT channel
<f_ridge> <c​lever___/D> page 84 explains that those 512 bits mean, and keep in mind, they come out kind of backwards, you need to byteswap (be->le) each 32bit word from the fifo, and then bit 511 (the "last" bit) will be the right most (bit 31) of the 0th word
<f_ridge> <c​lever___/D> the first reply claims 100mA (0x64) to run in the current mode, the 2nd reply claims 200ma (0xc8)
<f_ridge> <c​lever___/D> and then all of the `0x8001`'s claim only function 0 and function f are valid, for groups 2 thru 6
<f_ridge> <c​lever___/D> but the `0x8003` at the end, says that functions 0/1/f are valid in group 1 (access mode)
<f_ridge> <c​lever___/D> but, i cant find a matching high-speed flag on the sdhost controller, and i get random crc16 errors, at many clock speeds, both with and without this set
<f_ridge> <c​lever___/D> i'm heading back to bed, good luck!
<juri_> clever: sounds fun. i've been writing various vector assemblies. :)
jcea has joined ##raspberrypi-internals
Stromeko has quit [Quit: Going… gone.]
Stromeko has joined ##raspberrypi-internals
t0mm13b has joined ##raspberrypi-internals
t0mm13b_ has quit [Ping timeout: 256 seconds]