00:00
steev has quit [*.net *.split]
00:00
dliviu has quit [*.net *.split]
00:00
steev has joined #linux-amlogic
00:00
dliviu has joined #linux-amlogic
01:47
jacobk has quit [Ping timeout: 260 seconds]
01:54
camus has joined #linux-amlogic
02:57
BlueMatt has quit [Ping timeout: 258 seconds]
03:05
vagrantc has quit [Quit: leaving]
03:06
BlueMatt has joined #linux-amlogic
03:28
jacobk has joined #linux-amlogic
03:33
jacobk has quit [Ping timeout: 260 seconds]
04:35
buzzmarshall has quit [Quit: Konversation terminated!]
04:56
jacobk has joined #linux-amlogic
08:42
luka177 has joined #linux-amlogic
08:46
luka177 has quit [Ping timeout: 246 seconds]
09:42
f_ has joined #linux-amlogic
09:58
luka177 has joined #linux-amlogic
10:17
luka177 has quit [Read error: Connection reset by peer]
10:20
luka177 has joined #linux-amlogic
10:26
<
f_ >
Let's see what I forgot to init.
10:37
<
f_ >
That's it. I'm parsing all header files found in their old sources
10:46
luka177 has quit [Read error: Connection reset by peer]
10:46
luka177 has joined #linux-amlogic
10:56
<
f_ >
narmstrong: If I understood correctly, Amlogic burning tool loads a BL2, right?
10:57
<
f_ >
BL1 waits for something to be sent via USB, the tool sends a BL2, which then detects if it was sent from USB and then enables a special BL2 "USB mode".
10:57
<
f_ >
What does it print in the UART logs?
10:58
<
f_ >
It most likely prints:
10:58
<
f_ >
BL2 Built : date
10:58
<
f_ >
but what about the rest?
10:59
<
f_ >
Actually I could try myself.
11:12
<
f_ >
Looks confusingly named..running xxd on it seems to reveal there's only BL2
11:20
<
f_ >
Either way getting mainline TF-A BL2 on gxbb will require more reverse-engineering.
11:43
Daaanct12 has quit [Remote host closed the connection]
11:49
Danct12 has joined #linux-amlogic
11:56
luka177 has quit [Ping timeout: 260 seconds]
12:08
luka177 has joined #linux-amlogic
12:15
luka177 has quit [Ping timeout: 246 seconds]
12:20
luka177 has joined #linux-amlogic
12:27
luka177 has quit [Ping timeout: 260 seconds]
12:27
luka177 has joined #linux-amlogic
12:39
<
narmstrong >
f_: yes it sends the bl2 then waits for bl2 to boot then the tool send the rest in memory after ddr has been initialized
12:39
<
narmstrong >
Oops indeed the 2024 is a typo
12:40
<
f_ >
(I renamed it to bl2_usb_handler locally)
12:40
<
f_ >
Honestly I should try getting pyamlboot to run on my KII Pro
12:41
<
f_ >
narmstrong: Glad to know my patches will land in v2023.10 though! =)
12:41
<
narmstrong >
The new protocol implemented on G12 is must cleaner, it basically « requests » the fip elements
12:42
<
f_ >
It requests the fip
12:42
<
f_ >
So you basically make one and send it via USB
12:42
<
narmstrong >
And no need to send a special bl2, you send the bl2 in the boot package
12:42
<
f_ >
All that is implemented in BL1 I guess
12:42
<
f_ >
I should really make a dump of gxbb BL1 to then look at it in ghidra..just curious ;)
12:42
<
narmstrong >
Yep, the first part is
12:43
<
f_ >
You then send an fip and it runs BL2 which does the rest
12:43
<
narmstrong >
The first part ingests the bl2 and the fip table
12:43
<
f_ >
Isn't BL2 in the fip?
12:45
<
f_ >
About BL1: is it covered by Amlogic's proprietary license or is it no licensed?
12:46
narmstrong has quit [Server closed connection]
12:46
narmstrong has joined #linux-amlogic
12:47
<
f_ >
Did you receive my messages?
13:12
<
f_ >
Let's go from reversing BL2 to reversing BL1 & BL2!!
13:44
camus has quit [Ping timeout: 240 seconds]
13:48
<
f_ >
So BL1 does have a watchdog!
13:48
<
f_ >
I see references to a watchdog in their old sources
13:48
<
f_ >
git branch: master, thelinuxmacbook:amlogic-bl2 » git grep watchdog_disable
13:48
<
f_ >
plat/gxb/watchdog.c:void watchdog_disable(void)
13:50
<
f_ >
Makes me remember about Intel's watchdog of 30 minutes if the CPU can't load the proprietary Intel ME firmware..
13:51
<
f_ >
But except here, it's less than 2 minutes.
13:51
<
f_ >
I think we do have a way of disabling it. I'll have to try.
14:17
<
f_ >
I disabled the watchdog!
14:17
<
f_ >
So there was indeed a watchdog
14:17
<
f_ >
Nice try Amlogic :P
14:17
<
f_ >
Now it doesn't reset anymore
14:18
<
f_ >
I can keep watching logs going crazy forever now :P
14:20
<
f_ >
Really thought Amlogic SoCs didn't have a watchdog unlike intel CPUs..well
14:20
<
f_ >
There's nothing better than a single line to say bye bye to watchdogs!
14:21
<
f_ >
mmio_write_32(0xc11098d0, mmio_read_32(0xc11098d0) & 0xfdfbffff);
14:21
<
f_ >
^ this disables the watchdog
14:22
<
f_ >
I'll put this somewhere and push
14:52
f_[xmpp] has joined #linux-amlogic
15:01
luka177 has quit [Read error: Connection reset by peer]
15:03
luka177 has joined #linux-amlogic
15:22
luka177 has quit [Ping timeout: 250 seconds]
15:23
luka177 has joined #linux-amlogic
15:28
luka177 has quit [Ping timeout: 260 seconds]
15:29
luka177 has joined #linux-amlogic
15:33
luka177 has quit [Ping timeout: 246 seconds]
15:35
luka177 has joined #linux-amlogic
15:40
luka177 has quit [Ping timeout: 264 seconds]
15:41
luka177 has joined #linux-amlogic
16:09
<
f_ >
This disables the BL1 watchdog entirely.
16:14
<
f_ >
I think the BL1 watchdog was intended for waiting for USB
16:36
jacobk has quit [Ping timeout: 252 seconds]
16:38
luka177 has quit [Ping timeout: 240 seconds]
16:44
luka177 has joined #linux-amlogic
17:01
jacobk has joined #linux-amlogic
17:32
luka177 has quit [Ping timeout: 260 seconds]
17:34
luka177 has joined #linux-amlogic
17:51
luka177 has quit [Read error: Connection reset by peer]
17:51
luka177 has joined #linux-amlogic
18:54
f_ has quit [Quit: zzz]
19:55
luka177 has quit [Read error: Connection reset by peer]
20:15
luka177 has joined #linux-amlogic
22:00
vagrantc has joined #linux-amlogic
23:56
luka177 has quit [Ping timeout: 250 seconds]