4 ms·
Rockchip RK3399 and RK3588 SoCs Just so people don't get confused, there is a huge world of difference between these two chips. They are not in the same categ
by karma_pharmer 2y ago
Rockchip RK3399 and RK3588 SoCs
Just so people don't get confused, there is a huge world of difference between these two chips. They are not in the same category.
Rockchip RK3399 is 100% blobless. You even control the EL3 Trustzone Secure World! This is True Root.
Rockchip RK3588 still needs blobs in EL3, the highest privilege level. We've been hearing rumors for years now about "oh they'll open source it next month for sure" and it.... just. never. happens. Please stop spreading this rumor. Source or GTFO, Rockchip.
- transpute 2y agoFeb 2024, https://news.ycombinator.com/item?id=39490540 https://news.ycombinator.com/item?id=39490540 & https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/21840 https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a... > Rockchip have sent a few patches to the TF-A project here to support [RK3588].. From TF-A we can now build a complete working BL31 and replace the closed binary blob with an open-source binary that we can compile ourselves.. There are still some missing parts and the most important that is remaining right now is the DDR training blob, which is still closed source.
- karma_pharmer 2y agoLike I said: blobs in EL3, the highest privilege level. We've been getting these "almost there" announcements quarterly for multiple years at this point.
- transpute 2y agoIn decreasing order of preference: OSS TF-A at EL3 + OSS DDR training (RK3399) OSS TF-A at EL3 + closed DDR training (RK3588) OSS uboot + closed TF-A closed uboot + closed TF-A Those who need the features of RK3588 can compare it to competitors which are less open. Those who don't need the features of RK3588 can use the older and fully open RK3399.
- karma_pharmer 2y ago> OSS TF-A at EL3 + closed DDR training (RK3588) That should be "blob which does stuff, including DDR training, at EL3". That blob certainly does DDR training. Maybe it does other stuff. But all of it is done at EL3. > In decreasing order of preference "Warning! Diagram is not drawn to scale."
- transpute 2y ago> That blob certainly does DDR training. Maybe it does other stuff. But all of it is done at EL3. If someone wants to find out, they can load it in IDA/Ghidra?
- karma_pharmer 2y agoIf it was that easy we'd have a cleanroom FOSS implementation by now. It's been more than two years! https://wiki.raptorcs.com/wiki/Project_Ortega https://wiki.raptorcs.com/wiki/Project_Ortega
- transpute 2y agoCleanroom reverse engineering for the purpose of publishing new driver code, to avoid legal/IP minefields, is super-expensive. It should be a much narrower scope to determine whether a binary blob's actions are limited to memory training, since there is no requirement to publish reusable source code. Looks like Collabora is already monitoring the blob, so it's not entirely a mystery: At the moment of writing this article, we have identified a few differences from the binary blob previously used, which we can highlight as following: Binary BL31 contains some unknown code to get HDMI-RX PHY access working. The cpufreq support in binary BL31 is different from TF-A. There could be more issues that are unknown at the moment and users should be aware of it.
- karma_pharmer 2y ago> Cleanroom reverse engineering for the purpose of publishing new driver code, to avoid legal/IP minefields, is super-expensive Project Ortega did it to an entire gigabit ethernet controller for the princely sum of zero dollars: https://media.ccc.de/v/37c3-11781-adventures_in_reverse_engineering_broadcom_nic_firmware https://media.ccc.de/v/37c3-11781-adventures_in_reverse_engi... https://wiki.raptorcs.com/wiki/Project_Ortega https://wiki.raptorcs.com/wiki/Project_Ortega > Binary BL31 contains some unknown code to get HDMI-RX PHY access working. That doesn't sound like DDR training to me. Maybe now you see the problem?