martinayotte Posted March 17, 2019 Posted March 17, 2019 I've struggled the whole day on that task using v2019.01 ... It is even worst than my struggling back in early December, even using Method #2 give me headache with Pinctrl not initialize and boot device been garbage : channel 0 training pass! channel 1 training pass! change freq to 800MHz 1,0 ch 0 ddrconfig = 0x101, ddrsize = 0x20 ch 1 ddrconfig = 0x101, ddrsize = 0x20 pmugrf_os_reg[2] = 0x3281F281, stride = 0x9 OUT U-Boot SPL board init Pinctrl init failed: -19 Trying to boot from m�iYk~Ⱥ�C��+J)H�^J!������wZ��q�+����q����!
TonyMac32 Posted March 17, 2019 Posted March 17, 2019 wow. I guess I'll give it a shot too? Could be a device tree problem?
martinayotte Posted March 17, 2019 Author Posted March 17, 2019 7 hours ago, TonyMac32 said: wow. I guess I'll give it a shot too? Could be a device tree problem? You can definitively ... DT problem ? I doubt since I'm using the same we have for ayufan-v2017.09 builds.
martinayotte Posted March 18, 2019 Author Posted March 18, 2019 Here is a summary of my today's struggling ... Looking at v2019.01 defconfig, it seems that it was always defaulting to evb_rk3399 board. So, I've decided to add patch to create board/rockchip/rockpro64_rk3399/ based from ayufan's branch, along with defconfig tweaks. This brings me this first results: no more Pinctrl init error, but No Serial found ! Grrrr ! MR24=0x8 MR25=0x0 channel 0 training pass! channel 1 training pass! change freq to 800MHz 1,0 ch 0 ddrconfig = 0x101, ddrsize = 0x20 ch 1 ddrconfig = 0x101, ddrsize = 0x20 pmugrf_os_reg[2] = 0x3281F281, stride = 0x9 OUT U-Boot SPL board init No serial driver found resetting ... ### ERROR ### Please RESET the board ### How Serial can't be found if debug is already outputted to serial ? Stupid U-Boot, I hate you !!! I've found that CONFIG_REQUIRE_SERIAL_CONSOLE=n can skip this error, but I've only come up to that state : MR24=0x8 MR25=0x0 channel 0 training pass! channel 1 training pass! change freq to 800MHz 1,0 ch 0 ddrconfig = 0x101, ddrsize = 0x20 ch 1 ddrconfig = 0x101, ddrsize = 0x20 pmugrf_os_reg[2] = 0x3281F281, stride = 0x9 OUT U-Boot SPL board init U-Boot SPL board init Stupid U-Boot, I hate you !!!
martinayotte Posted June 23, 2019 Author Posted June 23, 2019 I was preparing myself to struggle again with this issue ... But in the meantime, upgrading first all my RK3399 to 5.1.y, I've discovered that we have random eth0 MAC on few ones (I didn't check this in past months, since I mostly running all those on WiFi) : The discovery is that random MAC are present on v2019.04, but not in Ayufan's v2017.09. It was missing the ethernet0 alias, I've added it, but it didn't fixed the issue... The sad thing is that is on the wrong side of the fence : if the issue were in v2017.09, I wouldn't bother trying to fix it, but it is under v2019.04 ... I don't have any other idea for now ... 1
TonyMac32 Posted June 23, 2019 Posted June 23, 2019 This 99-strong patch list is to add lpddr support to mainline https://patchwork.ozlabs.org/project/uboot/list/?series=114166 https://patchwork.ozlabs.org/project/uboot/list/?series=115179 This is the biggest problem with the RK3399 board families, the LPDDR4 devices are [edit] crap [/edit] when it comes to booting because the code simply isn't there, even the rockchip u-boot acts stupid, and there's something up with the TPL/SPL that I can't remember the details of specifically.
jock Posted July 3, 2019 Posted July 3, 2019 @martinayotte I dealt with u-boot long time ago with rk3288 and I confirm it is a real PITA. I remember I had the same serial port error. Be sure to have the "chosen" node in root DTS: / { model = "Tinker-RK3288"; compatible = "rockchip,rk3288-tinker", "rockchip,rk3288"; chosen { stdout-path = &uart2; }; }; Also be sure to have the serial node enabled and with u-boot,dm-pre-reloc (or u-boot,dm-spl/u-boot,dm-tpl) tag: &uart2 { status="okay"; u-boot,dm-pre-reloc; }; Then I strongly suggest you to enable the DEBUG logging level that will produce much more verbose. I found it is essential trying to bring up u-boot. I had to manually edit the source code to enable it in some header file because I could not find any documentation about on the internet. Anyway you may take a look in doc/README.log which may suggest the proper way to do it. Beware that it will make the executables much bigger and that could be a problem if there are some size limits.
Recommended Posts