[U-Boot] u-boot Boot issue about rk3188

Hi Heiko: I try to boot the upstream u-boot-rockchip branch on my rk3188 board with(rock_defconfig)
But I got this error: early_init() nit_and_scan() returned error -22 early_init() failed: -22 ERROR ### Please RESET the board ###
the current commit head is: 782088d("rockchip: imply ADC and SARADC_ROCKCHIP on supported SoCs") Do you ever meet something like this?

Hi Andy,
Am Donnerstag, 21. September 2017, 22:03:32 CEST schrieb Andy Yan:
Hi Heiko: I try to boot the upstream u-boot-rockchip branch on my rk3188 board with(rock_defconfig)
But I got this error: early_init() nit_and_scan() returned error -22 early_init() failed: -22 ERROR ### Please RESET the board ###
the current commit head is: 782088d("rockchip: imply ADC and SARADC_ROCKCHIP on supported SoCs") Do you ever meet something like this?
that is very strange. When testing Philipp's branch, I was also testing the commit you mention to see if anything broke since I last changed u-boot on my radxa rock. And the above commit started just fine, when starting from an sd-card.
Not sure from which medium you're starting though. But from what I remember Pawel got nand working in his rk3066 series, but that is not yet merged.
Heiko

Hi Heiko:
On 2017年09月21日 22:55, Heiko Stübner wrote:
Hi Andy,
Am Donnerstag, 21. September 2017, 22:03:32 CEST schrieb Andy Yan:
Hi Heiko: I try to boot the upstream u-boot-rockchip branch on my rk3188 board with(rock_defconfig)
But I got this error: early_init() nit_and_scan() returned error -22 early_init() failed: -22 ERROR ### Please RESET the board ###
the current commit head is: 782088d("rockchip: imply ADC and SARADC_ROCKCHIP on supported SoCs") Do you ever meet something like this?
that is very strange. When testing Philipp's branch, I was also testing the commit you mention to see if anything broke since I last changed u-boot on my radxa rock. And the above commit started just fine, when starting from an sd-card.
Not sure from which medium you're starting though. But from what I remember Pawel got nand working in his rk3066 series, but that is not yet merged.
I boot from emmc, I will go on hack on it.
Heiko

Hi Heiko:
On 2017年09月22日 08:24, Andy Yan wrote:
Hi Heiko:
On 2017年09月21日 22:55, Heiko Stübner wrote:
Hi Andy,
Am Donnerstag, 21. September 2017, 22:03:32 CEST schrieb Andy Yan:
Hi Heiko: I try to boot the upstream u-boot-rockchip branch on my rk3188 board with(rock_defconfig)
But I got this error: early_init() nit_and_scan() returned error -22 early_init() failed: -22 ERROR ### Please RESET the board ###
the current commit head is: 782088d("rockchip: imply ADC and SARADC_ROCKCHIP on supported SoCs") Do you ever meet something like this?
that is very strange. When testing Philipp's branch, I was also testing the commit you mention to see if anything broke since I last changed u-boot on my radxa rock. And the above commit started just fine, when starting from an sd-card.
Not sure from which medium you're starting though. But from what I remember Pawel got nand working in his rk3066 series, but that is not yet merged.
I boot from emmc, I will go on hack on it.
I finally can boot it with the rock_defconfig. But the way to package the tpl spl u-boot a little different.
cat ${DIR}/out/tpl/u-boot-tpl.bin > tplspl.bin truncate -s 1020 tplspl.bin sed -i "/^/{1s/^/RK31/}" tplspl.bin cat ${DIR}/out/spl/u-boot-spl.bin > spl.bin truncate -s %2048 spl.bin cat spl.bin >> tplspl.bin
Then the tplspl.bin + u-boot.bin should package by boot_merger(tplsplb.in for FLashData, u-boot.bin for FlashBoot) from rockchip downstream u-boot repo: ./tools/boot_merger ./tools/rk_tools/RKBOOT/RK310BMINIALL.ini
download to emmc by "upgrade_tool ul" command. According to our bootrom code author, the rk31(maybe include rk30) bootrom has a limitation that the idbblock couldn't accessed by upgrade_tool wl command.
Heiko

Am Freitag, 22. September 2017, 08:50:49 CEST schrieb Andy Yan:
Hi Heiko:
On 2017年09月22日 08:24, Andy Yan wrote:
Hi Heiko:
On 2017年09月21日 22:55, Heiko Stübner wrote:
Hi Andy,
Am Donnerstag, 21. September 2017, 22:03:32 CEST schrieb Andy Yan:
Hi Heiko: I try to boot the upstream u-boot-rockchip branch on my rk3188 board with(rock_defconfig)
But I got this error: early_init() nit_and_scan() returned error -22 early_init() failed: -22 ERROR ### Please RESET the board ###
the current commit head is: 782088d("rockchip: imply ADC and SARADC_ROCKCHIP on supported SoCs") Do you ever meet something like this?
that is very strange. When testing Philipp's branch, I was also testing the commit you mention to see if anything broke since I last changed u-boot on my radxa rock. And the above commit started just fine, when starting from an sd-card.
Not sure from which medium you're starting though. But from what I remember Pawel got nand working in his rk3066 series, but that is not yet merged.
I boot from emmc, I will go on hack on it.
I finally can boot it with the rock_defconfig. But the way to
package the tpl spl u-boot a little different.
cat ${DIR}/out/tpl/u-boot-tpl.bin > tplspl.bin truncate -s 1020 tplspl.bin sed -i "/^/{1s/^/RK31/}" tplspl.bin cat ${DIR}/out/spl/u-boot-spl.bin > spl.bin truncate -s %2048 spl.bin cat spl.bin >> tplspl.bin Then the tplspl.bin + u-boot.bin should package by
boot_merger(tplsplb.in for FLashData, u-boot.bin for FlashBoot) from rockchip downstream u-boot repo: ./tools/boot_merger ./tools/rk_tools/RKBOOT/RK310BMINIALL.ini
download to emmc by "upgrade_tool ul" command. According to our
bootrom code author, the rk31(maybe include rk30) bootrom has a limitation that the idbblock couldn't accessed by upgrade_tool wl command.
I do have a script handling that [0]. At least for the sd-card variant a simple "openssl rc4" works just as well as the legacy boot_merger :-)
Heiko
[0] https://github.com/mmind/u-boot-rockchip/commit/81458bde873d6cf588e082ccf556...

Hi Heiko:
On 2017年09月22日 13:56, Heiko Stuebner wrote:
Am Freitag, 22. September 2017, 08:50:49 CEST schrieb Andy Yan:
Hi Heiko:
On 2017年09月22日 08:24, Andy Yan wrote:
Hi Heiko:
On 2017年09月21日 22:55, Heiko Stübner wrote:
Hi Andy,
Am Donnerstag, 21. September 2017, 22:03:32 CEST schrieb Andy Yan:
Hi Heiko: I try to boot the upstream u-boot-rockchip branch on my rk3188 board with(rock_defconfig)
But I got this error: early_init() nit_and_scan() returned error -22 early_init() failed: -22 ERROR ### Please RESET the board ###
the current commit head is: 782088d("rockchip: imply ADC and SARADC_ROCKCHIP on supported SoCs") Do you ever meet something like this?
that is very strange. When testing Philipp's branch, I was also testing the commit you mention to see if anything broke since I last changed u-boot on my radxa rock. And the above commit started just fine, when starting from an sd-card.
Not sure from which medium you're starting though. But from what I remember Pawel got nand working in his rk3066 series, but that is not yet merged.
I boot from emmc, I will go on hack on it.
I finally can boot it with the rock_defconfig. But the way to
package the tpl spl u-boot a little different.
cat ${DIR}/out/tpl/u-boot-tpl.bin > tplspl.bin truncate -s 1020 tplspl.bin sed -i "/^/{1s/^/RK31/}" tplspl.bin cat ${DIR}/out/spl/u-boot-spl.bin > spl.bin truncate -s %2048 spl.bin cat spl.bin >> tplspl.bin Then the tplspl.bin + u-boot.bin should package by
boot_merger(tplsplb.in for FLashData, u-boot.bin for FlashBoot) from rockchip downstream u-boot repo: ./tools/boot_merger ./tools/rk_tools/RKBOOT/RK310BMINIALL.ini
download to emmc by "upgrade_tool ul" command. According to our
bootrom code author, the rk31(maybe include rk30) bootrom has a limitation that the idbblock couldn't accessed by upgrade_tool wl command.
I do have a script handling that [0]. At least for the sd-card variant a simple "openssl rc4" works just as well as the legacy boot_merger :-)
Heiko
[0] https://github.com/mmind/u-boot-rockchip/commit/81458bde873d6cf588e082ccf556...
Is there a way to download the out that generated by[0] to emmc/flash? It seems that the upgrate_tool can't access 0x40 of the emmc/nand on rk3188.

Hi Andy,
Am Montag, 25. September 2017, 17:45:03 CEST schrieb Andy Yan:
On 2017年09月22日 13:56, Heiko Stuebner wrote:
Am Freitag, 22. September 2017, 08:50:49 CEST schrieb Andy Yan:
Hi Heiko:
On 2017年09月22日 08:24, Andy Yan wrote:
Hi Heiko:
On 2017年09月21日 22:55, Heiko Stübner wrote:
Hi Andy,
Am Donnerstag, 21. September 2017, 22:03:32 CEST schrieb Andy Yan:
Hi Heiko: I try to boot the upstream u-boot-rockchip branch on my rk3188 board with(rock_defconfig)
But I got this error: early_init() nit_and_scan() returned error -22 early_init() failed: -22 ERROR ### Please RESET the board ###
the current commit head is: 782088d("rockchip: imply ADC and SARADC_ROCKCHIP on supported SoCs") Do you ever meet something like this?
that is very strange. When testing Philipp's branch, I was also testing the commit you mention to see if anything broke since I last changed u-boot on my radxa rock. And the above commit started just fine, when starting from an sd-card.
Not sure from which medium you're starting though. But from what I remember Pawel got nand working in his rk3066 series, but that is not yet merged.
I boot from emmc, I will go on hack on it.
I finally can boot it with the rock_defconfig. But the way to
package the tpl spl u-boot a little different.
cat ${DIR}/out/tpl/u-boot-tpl.bin > tplspl.bin truncate -s 1020 tplspl.bin sed -i "/^/{1s/^/RK31/}" tplspl.bin cat ${DIR}/out/spl/u-boot-spl.bin > spl.bin truncate -s %2048 spl.bin cat spl.bin >> tplspl.bin Then the tplspl.bin + u-boot.bin should package by
boot_merger(tplsplb.in for FLashData, u-boot.bin for FlashBoot) from
rockchip downstream u-boot repo: ./tools/boot_merger ./tools/rk_tools/RKBOOT/RK310BMINIALL.ini
download to emmc by "upgrade_tool ul" command. According to our
bootrom code author, the rk31(maybe include rk30) bootrom has a limitation that the idbblock couldn't accessed by upgrade_tool wl command.
I do have a script handling that [0]. At least for the sd-card variant a simple "openssl rc4" works just as well as the legacy boot_merger :-)
Heiko
[0] https://github.com/mmind/u-boot-rockchip/commit/81458bde873d6cf588e082ccf 556e818f46ad9df
Is there a way to download the out that generated by[0] to
emmc/flash? It seems that the upgrate_tool can't access 0x40 of the emmc/nand on rk3188.
you have the @rock-chips.com address, so I'd guess you might even have the better resources to find out ;-) .
In any case, as I said I haven't looked at all at the internal storage on my radxarock so far.
But as the rk3066 and rk3188 are so similar I've added Paweł.
@Paweł: you had uboot starting from nand on your rk3066 board, maybe you could describe how you wrote it to the board so maybe Andy can check if he needs to adapt anything?
Thanks Heiko

Hi Heiko:
On 2017年09月25日 18:29, Heiko Stübner wrote:
Hi Andy,
Am Montag, 25. September 2017, 17:45:03 CEST schrieb Andy Yan:
On 2017年09月22日 13:56, Heiko Stuebner wrote:
Am Freitag, 22. September 2017, 08:50:49 CEST schrieb Andy Yan:
Hi Heiko:
On 2017年09月22日 08:24, Andy Yan wrote:
Hi Heiko:
On 2017年09月21日 22:55, Heiko Stübner wrote:
Hi Andy,
Am Donnerstag, 21. September 2017, 22:03:32 CEST schrieb Andy Yan: > Hi Heiko: > I try to boot the upstream u-boot-rockchip branch on my rk3188 board > with(rock_defconfig) > > But I got this error: > early_init() > nit_and_scan() returned error -22 > early_init() failed: -22 > ERROR ### Please RESET the board ### > > the current commit head is: 782088d("rockchip: imply ADC and > SARADC_ROCKCHIP > on supported SoCs") Do you ever meet something like this? that is very strange. When testing Philipp's branch, I was also testing the commit you mention to see if anything broke since I last changed u-boot on my radxa rock. And the above commit started just fine, when starting from an sd-card.
Not sure from which medium you're starting though. But from what I remember Pawel got nand working in his rk3066 series, but that is not yet merged.
I boot from emmc, I will go on hack on it.
I finally can boot it with the rock_defconfig. But the way to
package the tpl spl u-boot a little different.
cat ${DIR}/out/tpl/u-boot-tpl.bin > tplspl.bin truncate -s 1020 tplspl.bin sed -i "/^/{1s/^/RK31/}" tplspl.bin cat ${DIR}/out/spl/u-boot-spl.bin > spl.bin truncate -s %2048 spl.bin cat spl.bin >> tplspl.bin Then the tplspl.bin + u-boot.bin should package by
boot_merger(tplsplb.in for FLashData, u-boot.bin for FlashBoot) from
rockchip downstream u-boot repo: ./tools/boot_merger ./tools/rk_tools/RKBOOT/RK310BMINIALL.ini
download to emmc by "upgrade_tool ul" command. According to our
bootrom code author, the rk31(maybe include rk30) bootrom has a limitation that the idbblock couldn't accessed by upgrade_tool wl command.
I do have a script handling that [0]. At least for the sd-card variant a simple "openssl rc4" works just as well as the legacy boot_merger :-)
Heiko
[0] https://github.com/mmind/u-boot-rockchip/commit/81458bde873d6cf588e082ccf 556e818f46ad9df
Is there a way to download the out that generated by[0] to
emmc/flash? It seems that the upgrate_tool can't access 0x40 of the emmc/nand on rk3188.
you have the @rock-chips.com address, so I'd guess you might even have the better resources to find out ;-) .
Actually, as I mail last week, I can download the image packaged by boot_merge (with ddr bin from rockchip as 471 and rk30usbplug as 472, tplspl as Flashdata u-boot.bing as Flashboot) to nand/emmc.
When you mentioned your scripts, I though you have a better way.
In any case, as I said I haven't looked at all at the internal storage on my radxarock so far.
But as the rk3066 and rk3188 are so similar I've added Paweł.
@Paweł: you had uboot starting from nand on your rk3066 board, maybe you could describe how you wrote it to the board so maybe Andy can check if he needs to adapt anything?
Thanks Heiko

Am Montag, 25. September 2017, 19:49:01 CEST schrieb Andy Yan:
Hi Heiko:
On 2017年09月25日 18:29, Heiko Stübner wrote:
Hi Andy,
Am Montag, 25. September 2017, 17:45:03 CEST schrieb Andy Yan:
On 2017年09月22日 13:56, Heiko Stuebner wrote:
Am Freitag, 22. September 2017, 08:50:49 CEST schrieb Andy Yan:
Hi Heiko:
On 2017年09月22日 08:24, Andy Yan wrote:
Hi Heiko:
On 2017年09月21日 22:55, Heiko Stübner wrote: > Hi Andy, > > Am Donnerstag, 21. September 2017, 22:03:32 CEST schrieb Andy Yan: >> Hi Heiko: >> I try to boot the upstream u-boot-rockchip branch on my rk3188 >> board >> with(rock_defconfig) >> >> But I got this error: >> early_init() >> nit_and_scan() returned error -22 >> early_init() failed: -22 >> ERROR ### Please RESET the board ### >> >> the current commit head is: 782088d("rockchip: imply ADC and >> SARADC_ROCKCHIP >> on supported SoCs") Do you ever meet something like this? > > that is very strange. When testing Philipp's branch, I was also > testing the > commit you mention to see if anything broke since I last changed > u-boot > on my radxa rock. And the above commit started just fine, when > starting > from an sd-card. > > Not sure from which medium you're starting though. But from what I > remember Pawel got nand working in his rk3066 series, but that is not > yet merged. > I boot from emmc, I will go on hack on it.
I finally can boot it with the rock_defconfig. But the way to
package the tpl spl u-boot a little different.
cat ${DIR}/out/tpl/u-boot-tpl.bin > tplspl.bin truncate -s 1020 tplspl.bin sed -i "/^/{1s/^/RK31/}" tplspl.bin cat ${DIR}/out/spl/u-boot-spl.bin > spl.bin truncate -s %2048 spl.bin cat spl.bin >> tplspl.bin Then the tplspl.bin + u-boot.bin should package by
boot_merger(tplsplb.in for FLashData, u-boot.bin for FlashBoot) from
rockchip downstream u-boot repo: ./tools/boot_merger ./tools/rk_tools/RKBOOT/RK310BMINIALL.ini
download to emmc by "upgrade_tool ul" command. According to our
bootrom code author, the rk31(maybe include rk30) bootrom has a limitation that the idbblock couldn't accessed by upgrade_tool wl command.
I do have a script handling that [0]. At least for the sd-card variant a simple "openssl rc4" works just as well as the legacy boot_merger :-)
Heiko
[0] https://github.com/mmind/u-boot-rockchip/commit/81458bde873d6cf588e082cc f 556e818f46ad9df
Is there a way to download the out that generated by[0] to
emmc/flash? It seems that the upgrate_tool can't access 0x40 of the emmc/nand on rk3188.
you have the @rock-chips.com address, so I'd guess you might even have the better resources to find out ;-) .
Actually, as I mail last week, I can download the image packaged by
boot_merge (with ddr bin from rockchip as 471 and rk30usbplug as 472, tplspl as Flashdata u-boot.bing as Flashboot) to nand/emmc.
When you mentioned your scripts, I though you have a better way.
Sadly not really, as I'm just using a sd-card in rk3188, I normally just dd the image to the card and everything works then.
In any case, as I said I haven't looked at all at the internal storage on my radxarock so far.
But as the rk3066 and rk3188 are so similar I've added Paweł.
@Paweł: you had uboot starting from nand on your rk3066 board, maybe you could describe how you wrote it to the board so maybe Andy can check if he needs to adapt anything?
Thanks Heiko

Hi,
W dniu 25.09.2017 o 12:29, Heiko Stübner pisze:
Hi Andy,
Am Montag, 25. September 2017, 17:45:03 CEST schrieb Andy Yan:
On 2017年09月22日 13:56, Heiko Stuebner wrote:
Am Freitag, 22. September 2017, 08:50:49 CEST schrieb Andy Yan:
Hi Heiko:
On 2017年09月22日 08:24, Andy Yan wrote:
Hi Heiko:
On 2017年09月21日 22:55, Heiko Stübner wrote:
Hi Andy,
Am Donnerstag, 21. September 2017, 22:03:32 CEST schrieb Andy Yan: > Hi Heiko: > I try to boot the upstream u-boot-rockchip branch on my rk3188 board > with(rock_defconfig) > > But I got this error: > early_init() > nit_and_scan() returned error -22 > early_init() failed: -22 > ERROR ### Please RESET the board ### > > the current commit head is: 782088d("rockchip: imply ADC and > SARADC_ROCKCHIP > on supported SoCs") Do you ever meet something like this? that is very strange. When testing Philipp's branch, I was also testing the commit you mention to see if anything broke since I last changed u-boot on my radxa rock. And the above commit started just fine, when starting from an sd-card.
Not sure from which medium you're starting though. But from what I remember Pawel got nand working in his rk3066 series, but that is not yet merged.
I boot from emmc, I will go on hack on it.
I finally can boot it with the rock_defconfig. But the way to
package the tpl spl u-boot a little different.
cat ${DIR}/out/tpl/u-boot-tpl.bin > tplspl.bin truncate -s 1020 tplspl.bin sed -i "/^/{1s/^/RK31/}" tplspl.bin cat ${DIR}/out/spl/u-boot-spl.bin > spl.bin truncate -s %2048 spl.bin cat spl.bin >> tplspl.bin Then the tplspl.bin + u-boot.bin should package by
boot_merger(tplsplb.in for FLashData, u-boot.bin for FlashBoot) from
rockchip downstream u-boot repo: ./tools/boot_merger ./tools/rk_tools/RKBOOT/RK310BMINIALL.ini
download to emmc by "upgrade_tool ul" command. According to our
bootrom code author, the rk31(maybe include rk30) bootrom has a limitation that the idbblock couldn't accessed by upgrade_tool wl command.
I do have a script handling that [0]. At least for the sd-card variant a simple "openssl rc4" works just as well as the legacy boot_merger :-)
Heiko
[0] https://github.com/mmind/u-boot-rockchip/commit/81458bde873d6cf588e082ccf 556e818f46ad9df
Is there a way to download the out that generated by[0] to
emmc/flash? It seems that the upgrate_tool can't access 0x40 of the emmc/nand on rk3188.
you have the @rock-chips.com address, so I'd guess you might even have the better resources to find out ;-) .
In any case, as I said I haven't looked at all at the internal storage on my radxarock so far.
But as the rk3066 and rk3188 are so similar I've added Paweł.
@Paweł: you had uboot starting from nand on your rk3066 board, maybe you could describe how you wrote it to the board so maybe Andy can check if he needs to adapt anything?
Almost all knowledge i had about rk3066 boot process was from Heiko and bootrom disassembly.
Andy, do you have any output on serial console ? (TPL, Uboot-spl or anything else) Can you compile u-boot with #define DEBUG in rk3188_common and send the output? Also you can check size of u-boot tpl (less than 1kb), u-boot spl + tpl (less than sram size on rk3188, i think it's 32KB)? This is important as you wont get any output on serial console if you don't meet this conditions. Also on rk3066 bootmerger FlashBoot size + FlashData size should be less than 256KB (32KB for FlashData, and the rest for FlashBoot, if it's more than 256KB, you get few lines of errors when flashing with upgrade_tool and might have no output on serial console)
One more thing ... to boot from usb with openssl rc4 method on rk3066 i think only one back to bootrom is needed, two if you are booting from nand.
Cheers Paweł
Thanks Heiko

Hi Pawel:
On 2017年09月26日 19:34, Paweł Jarosz wrote:
Hi,
W dniu 25.09.2017 o 12:29, Heiko Stübner pisze:
Hi Andy,
Am Montag, 25. September 2017, 17:45:03 CEST schrieb Andy Yan:
On 2017年09月22日 13:56, Heiko Stuebner wrote:
Am Freitag, 22. September 2017, 08:50:49 CEST schrieb Andy Yan:
Hi Heiko:
On 2017年09月22日 08:24, Andy Yan wrote:
Hi Heiko:
On 2017年09月21日 22:55, Heiko Stübner wrote: > Hi Andy, > > Am Donnerstag, 21. September 2017, 22:03:32 CEST schrieb Andy Yan: >> Hi Heiko: >> I try to boot the upstream u-boot-rockchip branch on my rk3188 >> board >> with(rock_defconfig) >> >> But I got this error: >> early_init() >> nit_and_scan() returned error -22 >> early_init() failed: -22 >> ERROR ### Please RESET the board ### >> >> the current commit head is: 782088d("rockchip: imply ADC and >> SARADC_ROCKCHIP >> on supported SoCs") Do you ever meet something like this? > that is very strange. When testing Philipp's branch, I was also > testing the > commit you mention to see if anything broke since I last changed > u-boot > on my radxa rock. And the above commit started just fine, when > starting > from an sd-card. > > Not sure from which medium you're starting though. But from what I > remember Pawel got nand working in his rk3066 series, but that > is not > yet merged. > I boot from emmc, I will go on hack on it.
I finally can boot it with the rock_defconfig. But the way to
package the tpl spl u-boot a little different.
cat ${DIR}/out/tpl/u-boot-tpl.bin > tplspl.bin truncate -s 1020 tplspl.bin sed -i "/^/{1s/^/RK31/}" tplspl.bin cat ${DIR}/out/spl/u-boot-spl.bin > spl.bin truncate -s %2048 spl.bin cat spl.bin >> tplspl.bin Then the tplspl.bin + u-boot.bin should package by
boot_merger(tplsplb.in for FLashData, u-boot.bin for FlashBoot) from
rockchip downstream u-boot repo: ./tools/boot_merger ./tools/rk_tools/RKBOOT/RK310BMINIALL.ini download to emmc by "upgrade_tool ul" command. According to our
bootrom code author, the rk31(maybe include rk30) bootrom has a limitation that the idbblock couldn't accessed by upgrade_tool wl command.
I do have a script handling that [0]. At least for the sd-card variant a simple "openssl rc4" works just as well as the legacy boot_merger :-)
Heiko
[0] https://github.com/mmind/u-boot-rockchip/commit/81458bde873d6cf588e082ccf
556e818f46ad9df
Is there a way to download the out that generated by[0] to emmc/flash? It seems that the upgrate_tool can't access 0x40 of the emmc/nand on rk3188.
you have the @rock-chips.com address, so I'd guess you might even have the better resources to find out ;-) .
In any case, as I said I haven't looked at all at the internal storage on my radxarock so far.
But as the rk3066 and rk3188 are so similar I've added Paweł.
@Paweł: you had uboot starting from nand on your rk3066 board, maybe you could describe how you wrote it to the board so maybe Andy can check if he needs to adapt anything?
Almost all knowledge i had about rk3066 boot process was from Heiko and bootrom disassembly.
Andy, do you have any output on serial console ? (TPL, Uboot-spl or anything else) Can you compile u-boot with #define DEBUG in rk3188_common and send the output?
Here is my console output [1] that boot from a nand on rk3188 board. But I found that the board will reset again and again in spl stage if I defined DEBUG in rk3188_common [2]
Also you can check size of u-boot tpl (less than 1kb), u-boot spl + tpl (less than sram size on rk3188, i think it's 32KB)? This is important as you wont get any output on serial console if you don't meet this conditions. Also on rk3066 bootmerger FlashBoot size + FlashData size should be less than 256KB (32KB for FlashData, and the rest for FlashBoot, if it's more than 256KB, you get few lines of errors when flashing with upgrade_tool and might have no output on serial console)
Bellow is my binary blob size. And I got a knowledge that the safe size of FlashBoot + FlashData shoud be less than 128kb(some flashed can up to 256, but some may not).
-rwxrwxr-x 1 andy andy 788 u-boot-tpl.bin -rwxrwxr-x 1 andy andy 15956 u-boot-spl.bin -rw-rw-r-- 1 andy andy 98249 u-boot.bin
One more thing ... to boot from usb with openssl rc4 method on rk3066 i think only one back to bootrom is needed, two if you are booting from nand.
[1] tpl-1 Returning to boot ROM... tpl-2 spl first data training fail!
U-Boot SPL 2017.09-00107-g99c4c38-dirty (Sep 27 2017 - 08:46:48) Returning to boot ROM...
U-Boot 2017.09-00107-g99c4c38-dirty (Sep 27 2017 - 08:46:48 +0800)
Model: Radxa Rock DRAM: 2 GiB MMC: MMC Device 0 not found *** Warning - No MMC card found, using default environment
In: serial@20064000 Out: serial@20064000 Err: serial@20064000 Model: Radxa Rock =>
[2] tpl-1 Returning to boot ROM... tpl-2 spl spl_early_init() malloc_simple: size=18, ptr=18, limit=2000: 10085ff0 malloc_simple: size=54, ptr=6c, limit=2000: 10086008 malloc_simple: size=4, ptr=70, limit=2000: 1008605c uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'root_driver' - not found malloc_simple: size=18, ptr=88, limit=2000: 10086060 malloc_simple: size=54, ptr=dc, limit=2000: 10086078 malloc_simple: size=18, ptr=f4, limit=2000: 100860cc malloc_simple: size=54, ptr=148, limit=2000: 100860e4 Bound device reset to root_driver Bound device rockchip_rk3188_cru to root_driver malloc_simple: size=18, ptr=160, limit=2000: 10086138 malloc_simple: size=54, ptr=1b4, limit=2000: 10086150 malloc_simple: size=1cc, ptr=380, limit=2000: 100861a4 Bound device rockchip_rk3188_dmc to root_driver malloc_simple: size=18, ptr=398, limit=2000: 10086370 malloc_simple: size=54, ptr=3ec, limit=2000: 10086388 syscon: rockchip_rk3188_grf 1 Bound device rockchip_rk3188_grf to root_driver malloc_simple: size=18, ptr=404, limit=2000: 100863dc malloc_simple: size=54, ptr=458, limit=2000: 100863f4 Bound device rockchip_rk3188_pinctrl to root_driver malloc_simple: size=54, ptr=4ac, limit=2000: 10086448 syscon: rockchip_rk3188_pmu 3 Bound device rockchip_rk3188_pmu to root_driver malloc_simple: size=18, ptr=4c4, limit=2000: 1008649c malloc_simple: size=54, ptr=518, limit=2000: 100864b4 malloc_simple: size=44, ptr=55c, limit=2000: 10086508 Bound device rockchip_rk3188_uart to root_driver malloc_simple: size=54, ptr=5b0, limit=2000: 1008654c syscon: rockchip_rk3188_noc 0 Bound device rockchip_rk3188_noc to root_driver malloc_simple: size=10, ptr=5c0, limit=2000: 100865a0 uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'rockchip_rk3188_cru' - not found malloc_simple: size=c, ptr=5cc, limit=2000: 100865b0 uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'rockchip_rk3188_pinctrl' - not found malloc_simple: size=4, ptr=5d0, limit=2000: 100865bc uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'rockchip_rk3188_grf' - -1 -1 'rockchip_rk3188_pmu' - -1 -1 'rockchip_rk3188_noc' - not found malloc_simple: size=14, ptr=5e4, limit=2000: 100865c0 malloc_simple: size=10, ptr=5f4, limit=2000: 100865d4 malloc_simple: size=4, ptr=5f8, limit=2000: 100865e4 uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 0 'rockchip_rk3188_grf' - found uclass_find_device_by_seq: 0 1 - -1 0 'rockchip_rk3188_grf' - -1 -1 'rockchip_rk3188_pmu' - -1 -1 'rockchip_rk3188_noc' - not found malloc_simple: size=14, ptr=60c, limit=2000: 100865e8 malloc_simple: size=10, ptr=61c, limit=2000: 100865fc rk3188_pinctrl_probe: grf=20008000, pmu=20004000 PLL at 20000030: nf=99, nr=2, no=2, vco=1188000000 Hz, output=594000000 Hz PLL at 20000020: nf=32, nr=1, no=2, vco=768000000 Hz, output=384000000 Hz rockchip_mmc_set_clk: gclk_rate=148500000 malloc_simple: size=2c, ptr=648, limit=2000: 1008660c uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'rockchip_rk3188_dmc' - not found malloc_simple: size=14, ptr=65c, limit=2000: 10086638 malloc_simple: size=10, ptr=66c, limit=2000: 1008664c malloc_simple: size=4, ptr=670, limit=2000: 1008665c uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 0 'rockchip_rk3188_grf' - found uclass_find_device_by_seq: 0 1 - -1 0 'rockchip_rk3188_grf' - -1 1 'rockchip_rk3188_pmu' - found uclass_find_device_by_seq: 0 2 - -1 0 'rockchip_rk3188_grf' - -1 1 'rockchip_rk3188_pmu' - -1 -1 'rockchip_rk3188_noc' - not found malloc_simple: size=14, ptr=684, limit=2000: 10086660 malloc_simple: size=10, ptr=694, limit=2000: 10086674 clk_request(dev=10086078, clk=10086620) clk_set_rate(clk=10086620, rate=300000000) PLL at 20000010: nf=25, nr=2, no=1, vco=300000000 Hz, output=300000000 Hz /home/andy/WorkSpace/U-BOOT/u-boot/drivers/clk/rockchip/clk_rk3188.c:101: rkclk_set_pll: Assertion `vco_hz >= VCO_MIN_HZ & & vco_hz <= VCO_MAX_HZ && output_hz >= OUTPUT_MIN_HZ && output_hz <= OUTPUT_MAX_HZ && (div->no == 1 || !(div->no % 2))' fa iled. uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'reset' - not found tpl-1 Returning to boot ROM..
Cheers Paweł
Thanks Heiko

Hi,
W dniu 27.09.2017 o 03:48, Andy Yan pisze:
Hi Pawel:
On 2017年09月26日 19:34, Paweł Jarosz wrote:
Hi,
W dniu 25.09.2017 o 12:29, Heiko Stübner pisze:
Hi Andy,
Am Montag, 25. September 2017, 17:45:03 CEST schrieb Andy Yan:
On 2017年09月22日 13:56, Heiko Stuebner wrote:
Am Freitag, 22. September 2017, 08:50:49 CEST schrieb Andy Yan:
Hi Heiko:
On 2017年09月22日 08:24, Andy Yan wrote: > Hi Heiko: > > On 2017年09月21日 22:55, Heiko Stübner wrote: >> Hi Andy, >> >> Am Donnerstag, 21. September 2017, 22:03:32 CEST schrieb Andy Yan: >>> Hi Heiko: >>> I try to boot the upstream u-boot-rockchip branch on my rk3188 >>> board >>> with(rock_defconfig) >>> >>> But I got this error: >>> early_init() >>> nit_and_scan() returned error -22 >>> early_init() failed: -22 >>> ERROR ### Please RESET the board ### >>> >>> the current commit head is: 782088d("rockchip: imply ADC and >>> SARADC_ROCKCHIP >>> on supported SoCs") Do you ever meet something like this? >> that is very strange. When testing Philipp's branch, I was also >> testing the >> commit you mention to see if anything broke since I last >> changed u-boot >> on my radxa rock. And the above commit started just fine, when >> starting >> from an sd-card. >> >> Not sure from which medium you're starting though. But from what I >> remember Pawel got nand working in his rk3066 series, but that >> is not >> yet merged. >> > I boot from emmc, I will go on hack on it. I finally can boot it with the rock_defconfig. But the way to
package the tpl spl u-boot a little different.
cat ${DIR}/out/tpl/u-boot-tpl.bin > tplspl.bin truncate -s 1020 tplspl.bin sed -i "/^/{1s/^/RK31/}" tplspl.bin cat ${DIR}/out/spl/u-boot-spl.bin > spl.bin truncate -s %2048 spl.bin cat spl.bin >> tplspl.bin Then the tplspl.bin + u-boot.bin should package by
boot_merger(tplsplb.in for FLashData, u-boot.bin for FlashBoot) from
rockchip downstream u-boot repo: ./tools/boot_merger ./tools/rk_tools/RKBOOT/RK310BMINIALL.ini download to emmc by "upgrade_tool ul" command. According to our
bootrom code author, the rk31(maybe include rk30) bootrom has a limitation that the idbblock couldn't accessed by upgrade_tool wl command.
I do have a script handling that [0]. At least for the sd-card variant a simple "openssl rc4" works just as well as the legacy boot_merger :-)
Heiko
[0] https://github.com/mmind/u-boot-rockchip/commit/81458bde873d6cf588e082ccf
556e818f46ad9df
Is there a way to download the out that generated by[0] to emmc/flash? It seems that the upgrate_tool can't access 0x40 of the emmc/nand on rk3188.
you have the @rock-chips.com address, so I'd guess you might even have the better resources to find out ;-) .
In any case, as I said I haven't looked at all at the internal storage on my radxarock so far.
But as the rk3066 and rk3188 are so similar I've added Paweł.
@Paweł: you had uboot starting from nand on your rk3066 board, maybe you could describe how you wrote it to the board so maybe Andy can check if he needs to adapt anything?
Almost all knowledge i had about rk3066 boot process was from Heiko and bootrom disassembly.
Andy, do you have any output on serial console ? (TPL, Uboot-spl or anything else) Can you compile u-boot with #define DEBUG in rk3188_common and send the output?
Here is my console output [1] that boot from a nand on rk3188 board. But I found that the board will reset again and again in spl stage if I defined DEBUG in rk3188_common [2]
Also you can check size of u-boot tpl (less than 1kb), u-boot spl + tpl (less than sram size on rk3188, i think it's 32KB)? This is important as you wont get any output on serial console if you don't meet this conditions. Also on rk3066 bootmerger FlashBoot size + FlashData size should be less than 256KB (32KB for FlashData, and the rest for FlashBoot, if it's more than 256KB, you get few lines of errors when flashing with upgrade_tool and might have no output on serial console)
Bellow is my binary blob size. And I got a knowledge that the safe size of FlashBoot + FlashData shoud be less than 128kb(some flashed can up to 256, but some may not).
-rwxrwxr-x 1 andy andy 788 u-boot-tpl.bin -rwxrwxr-x 1 andy andy 15956 u-boot-spl.bin -rw-rw-r-- 1 andy andy 98249 u-boot.bin
Size of binaries looks good. You should flash u-boot-dtb.bin not u-boot.bin
One more thing ... to boot from usb with openssl rc4 method on rk3066 i think only one back to bootrom is needed, two if you are booting from nand.
[1] tpl-1 Returning to boot ROM... tpl-2 spl first data training fail!
U-Boot SPL 2017.09-00107-g99c4c38-dirty (Sep 27 2017 - 08:46:48) Returning to boot ROM...
U-Boot 2017.09-00107-g99c4c38-dirty (Sep 27 2017 - 08:46:48 +0800)
Model: Radxa Rock DRAM: 2 GiB MMC: MMC Device 0 not found *** Warning - No MMC card found, using default environment
In: serial@20064000 Out: serial@20064000 Err: serial@20064000 Model: Radxa Rock =>
This console output looks good ... board tries to boot from mmc but no card is present and u-boot stops on console. So what is your current issue?
[2] tpl-1 Returning to boot ROM... tpl-2 spl spl_early_init() malloc_simple: size=18, ptr=18, limit=2000: 10085ff0 malloc_simple: size=54, ptr=6c, limit=2000: 10086008 malloc_simple: size=4, ptr=70, limit=2000: 1008605c uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'root_driver' - not found malloc_simple: size=18, ptr=88, limit=2000: 10086060 malloc_simple: size=54, ptr=dc, limit=2000: 10086078 malloc_simple: size=18, ptr=f4, limit=2000: 100860cc malloc_simple: size=54, ptr=148, limit=2000: 100860e4 Bound device reset to root_driver Bound device rockchip_rk3188_cru to root_driver malloc_simple: size=18, ptr=160, limit=2000: 10086138 malloc_simple: size=54, ptr=1b4, limit=2000: 10086150 malloc_simple: size=1cc, ptr=380, limit=2000: 100861a4 Bound device rockchip_rk3188_dmc to root_driver malloc_simple: size=18, ptr=398, limit=2000: 10086370 malloc_simple: size=54, ptr=3ec, limit=2000: 10086388 syscon: rockchip_rk3188_grf 1 Bound device rockchip_rk3188_grf to root_driver malloc_simple: size=18, ptr=404, limit=2000: 100863dc malloc_simple: size=54, ptr=458, limit=2000: 100863f4 Bound device rockchip_rk3188_pinctrl to root_driver malloc_simple: size=54, ptr=4ac, limit=2000: 10086448 syscon: rockchip_rk3188_pmu 3 Bound device rockchip_rk3188_pmu to root_driver malloc_simple: size=18, ptr=4c4, limit=2000: 1008649c malloc_simple: size=54, ptr=518, limit=2000: 100864b4 malloc_simple: size=44, ptr=55c, limit=2000: 10086508 Bound device rockchip_rk3188_uart to root_driver malloc_simple: size=54, ptr=5b0, limit=2000: 1008654c syscon: rockchip_rk3188_noc 0 Bound device rockchip_rk3188_noc to root_driver malloc_simple: size=10, ptr=5c0, limit=2000: 100865a0 uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'rockchip_rk3188_cru' - not found malloc_simple: size=c, ptr=5cc, limit=2000: 100865b0 uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'rockchip_rk3188_pinctrl' - not found malloc_simple: size=4, ptr=5d0, limit=2000: 100865bc uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'rockchip_rk3188_grf' - -1 -1 'rockchip_rk3188_pmu' - -1 -1 'rockchip_rk3188_noc' - not found malloc_simple: size=14, ptr=5e4, limit=2000: 100865c0 malloc_simple: size=10, ptr=5f4, limit=2000: 100865d4 malloc_simple: size=4, ptr=5f8, limit=2000: 100865e4 uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 0 'rockchip_rk3188_grf' - found uclass_find_device_by_seq: 0 1 - -1 0 'rockchip_rk3188_grf' - -1 -1 'rockchip_rk3188_pmu' - -1 -1 'rockchip_rk3188_noc' - not found malloc_simple: size=14, ptr=60c, limit=2000: 100865e8 malloc_simple: size=10, ptr=61c, limit=2000: 100865fc rk3188_pinctrl_probe: grf=20008000, pmu=20004000 PLL at 20000030: nf=99, nr=2, no=2, vco=1188000000 Hz, output=594000000 Hz PLL at 20000020: nf=32, nr=1, no=2, vco=768000000 Hz, output=384000000 Hz rockchip_mmc_set_clk: gclk_rate=148500000 malloc_simple: size=2c, ptr=648, limit=2000: 1008660c uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'rockchip_rk3188_dmc' - not found malloc_simple: size=14, ptr=65c, limit=2000: 10086638 malloc_simple: size=10, ptr=66c, limit=2000: 1008664c malloc_simple: size=4, ptr=670, limit=2000: 1008665c uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 0 'rockchip_rk3188_grf' - found uclass_find_device_by_seq: 0 1 - -1 0 'rockchip_rk3188_grf' - -1 1 'rockchip_rk3188_pmu' - found uclass_find_device_by_seq: 0 2 - -1 0 'rockchip_rk3188_grf' - -1 1 'rockchip_rk3188_pmu' - -1 -1 'rockchip_rk3188_noc' - not found malloc_simple: size=14, ptr=684, limit=2000: 10086660 malloc_simple: size=10, ptr=694, limit=2000: 10086674 clk_request(dev=10086078, clk=10086620) clk_set_rate(clk=10086620, rate=300000000) PLL at 20000010: nf=25, nr=2, no=1, vco=300000000 Hz, output=300000000 Hz /home/andy/WorkSpace/U-BOOT/u-boot/drivers/clk/rockchip/clk_rk3188.c:101: rkclk_set_pll: Assertion `vco_hz >= VCO_MIN_HZ & & vco_hz <= VCO_MAX_HZ && output_hz >= OUTPUT_MIN_HZ && output_hz <= OUTPUT_MAX_HZ && (div->no == 1 || !(div->no % 2))' fa iled.
Here is the error as assertion fails in clk_rk3188.c:101. That is why board resets.
Cheers Paweł
uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'reset' - not found tpl-1 Returning to boot ROM..
Cheers Paweł
Thanks Heiko

Hi Pawel:
On 2017年09月27日 14:55, Paweł Jarosz wrote:
Hi,
W dniu 27.09.2017 o 03:48, Andy Yan pisze:
Hi Pawel:
On 2017年09月26日 19:34, Paweł Jarosz wrote:
Hi,
W dniu 25.09.2017 o 12:29, Heiko Stübner pisze:
Hi Andy,
Am Montag, 25. September 2017, 17:45:03 CEST schrieb Andy Yan:
On 2017年09月22日 13:56, Heiko Stuebner wrote:
Am Freitag, 22. September 2017, 08:50:49 CEST schrieb Andy Yan: > Hi Heiko: > > On 2017年09月22日 08:24, Andy Yan wrote: >> Hi Heiko: >> >> On 2017年09月21日 22:55, Heiko Stübner wrote: >>> Hi Andy, >>> >>> Am Donnerstag, 21. September 2017, 22:03:32 CEST schrieb Andy >>> Yan: >>>> Hi Heiko: >>>> I try to boot the upstream u-boot-rockchip branch on my >>>> rk3188 board >>>> with(rock_defconfig) >>>> >>>> But I got this error: >>>> early_init() >>>> nit_and_scan() returned error -22 >>>> early_init() failed: -22 >>>> ERROR ### Please RESET the board ### >>>> >>>> the current commit head is: 782088d("rockchip: imply ADC and >>>> SARADC_ROCKCHIP >>>> on supported SoCs") Do you ever meet something like this? >>> that is very strange. When testing Philipp's branch, I was also >>> testing the >>> commit you mention to see if anything broke since I last >>> changed u-boot >>> on my radxa rock. And the above commit started just fine, when >>> starting >>> from an sd-card. >>> >>> Not sure from which medium you're starting though. But from >>> what I >>> remember Pawel got nand working in his rk3066 series, but that >>> is not >>> yet merged. >>> >> I boot from emmc, I will go on hack on it. > I finally can boot it with the rock_defconfig. But the > way to > > package the tpl spl u-boot a little different. > > cat ${DIR}/out/tpl/u-boot-tpl.bin > tplspl.bin > truncate -s 1020 tplspl.bin > sed -i "/^/{1s/^/RK31/}" tplspl.bin > cat ${DIR}/out/spl/u-boot-spl.bin > spl.bin > truncate -s %2048 spl.bin > cat spl.bin >> tplspl.bin > Then the tplspl.bin + u-boot.bin should package by > > boot_merger(tplsplb.in for FLashData, u-boot.bin for FlashBoot) > from > > rockchip downstream u-boot repo: > ./tools/boot_merger ./tools/rk_tools/RKBOOT/RK310BMINIALL.ini > download to emmc by "upgrade_tool ul" command. > According to our > > bootrom code author, the rk31(maybe include rk30) bootrom has a > limitation that the idbblock > couldn't accessed by upgrade_tool wl command. I do have a script handling that [0]. At least for the sd-card variant a simple "openssl rc4" works just as well as the legacy boot_merger :-)
Heiko
[0] https://github.com/mmind/u-boot-rockchip/commit/81458bde873d6cf588e082ccf
556e818f46ad9df
Is there a way to download the out that generated by[0] to emmc/flash? It seems that the upgrate_tool can't access 0x40 of the emmc/nand on rk3188.
you have the @rock-chips.com address, so I'd guess you might even have the better resources to find out ;-) .
In any case, as I said I haven't looked at all at the internal storage on my radxarock so far.
But as the rk3066 and rk3188 are so similar I've added Paweł.
@Paweł: you had uboot starting from nand on your rk3066 board, maybe you could describe how you wrote it to the board so maybe Andy can check if he needs to adapt anything?
Almost all knowledge i had about rk3066 boot process was from Heiko and bootrom disassembly.
Andy, do you have any output on serial console ? (TPL, Uboot-spl or anything else) Can you compile u-boot with #define DEBUG in rk3188_common and send the output?
Here is my console output [1] that boot from a nand on rk3188 board. But I found that the board will reset again and again in spl stage if I defined DEBUG in rk3188_common [2]
Also you can check size of u-boot tpl (less than 1kb), u-boot spl + tpl (less than sram size on rk3188, i think it's 32KB)? This is important as you wont get any output on serial console if you don't meet this conditions. Also on rk3066 bootmerger FlashBoot size + FlashData size should be less than 256KB (32KB for FlashData, and the rest for FlashBoot, if it's more than 256KB, you get few lines of errors when flashing with upgrade_tool and might have no output on serial console)
Bellow is my binary blob size. And I got a knowledge that the safe size of FlashBoot + FlashData shoud be less than 128kb(some flashed can up to 256, but some may not).
-rwxrwxr-x 1 andy andy 788 u-boot-tpl.bin -rwxrwxr-x 1 andy andy 15956 u-boot-spl.bin -rw-rw-r-- 1 andy andy 98249 u-boot.bin
Size of binaries looks good. You should flash u-boot-dtb.bin not u-boot.bin
u-boot-dtb.bin has the same size as u-boot.bin, so I think they are the same.
One more thing ... to boot from usb with openssl rc4 method on rk3066 i think only one back to bootrom is needed, two if you are booting from nand.
[1] tpl-1 Returning to boot ROM... tpl-2 spl first data training fail!
U-Boot SPL 2017.09-00107-g99c4c38-dirty (Sep 27 2017 - 08:46:48) Returning to boot ROM...
U-Boot 2017.09-00107-g99c4c38-dirty (Sep 27 2017 - 08:46:48 +0800)
Model: Radxa Rock DRAM: 2 GiB MMC: MMC Device 0 not found *** Warning - No MMC card found, using default environment
In: serial@20064000 Out: serial@20064000 Err: serial@20064000 Model: Radxa Rock =>
This console output looks good ... board tries to boot from mmc but no card is present and u-boot stops on console. So what is your current issue?
I have no problem now, I just want to know if you have some new way to flash the binary to nand except using "upgrate_tool ul " command to download the blob generated by bootmerger.
[2] tpl-1 Returning to boot ROM... tpl-2 spl spl_early_init() malloc_simple: size=18, ptr=18, limit=2000: 10085ff0 malloc_simple: size=54, ptr=6c, limit=2000: 10086008 malloc_simple: size=4, ptr=70, limit=2000: 1008605c uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'root_driver' - not found malloc_simple: size=18, ptr=88, limit=2000: 10086060 malloc_simple: size=54, ptr=dc, limit=2000: 10086078 malloc_simple: size=18, ptr=f4, limit=2000: 100860cc malloc_simple: size=54, ptr=148, limit=2000: 100860e4 Bound device reset to root_driver Bound device rockchip_rk3188_cru to root_driver malloc_simple: size=18, ptr=160, limit=2000: 10086138 malloc_simple: size=54, ptr=1b4, limit=2000: 10086150 malloc_simple: size=1cc, ptr=380, limit=2000: 100861a4 Bound device rockchip_rk3188_dmc to root_driver malloc_simple: size=18, ptr=398, limit=2000: 10086370 malloc_simple: size=54, ptr=3ec, limit=2000: 10086388 syscon: rockchip_rk3188_grf 1 Bound device rockchip_rk3188_grf to root_driver malloc_simple: size=18, ptr=404, limit=2000: 100863dc malloc_simple: size=54, ptr=458, limit=2000: 100863f4 Bound device rockchip_rk3188_pinctrl to root_driver malloc_simple: size=54, ptr=4ac, limit=2000: 10086448 syscon: rockchip_rk3188_pmu 3 Bound device rockchip_rk3188_pmu to root_driver malloc_simple: size=18, ptr=4c4, limit=2000: 1008649c malloc_simple: size=54, ptr=518, limit=2000: 100864b4 malloc_simple: size=44, ptr=55c, limit=2000: 10086508 Bound device rockchip_rk3188_uart to root_driver malloc_simple: size=54, ptr=5b0, limit=2000: 1008654c syscon: rockchip_rk3188_noc 0 Bound device rockchip_rk3188_noc to root_driver malloc_simple: size=10, ptr=5c0, limit=2000: 100865a0 uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'rockchip_rk3188_cru' - not found malloc_simple: size=c, ptr=5cc, limit=2000: 100865b0 uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'rockchip_rk3188_pinctrl' - not found malloc_simple: size=4, ptr=5d0, limit=2000: 100865bc uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'rockchip_rk3188_grf' - -1 -1 'rockchip_rk3188_pmu' - -1 -1 'rockchip_rk3188_noc' - not found malloc_simple: size=14, ptr=5e4, limit=2000: 100865c0 malloc_simple: size=10, ptr=5f4, limit=2000: 100865d4 malloc_simple: size=4, ptr=5f8, limit=2000: 100865e4 uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 0 'rockchip_rk3188_grf' - found uclass_find_device_by_seq: 0 1 - -1 0 'rockchip_rk3188_grf' - -1 -1 'rockchip_rk3188_pmu' - -1 -1 'rockchip_rk3188_noc' - not found malloc_simple: size=14, ptr=60c, limit=2000: 100865e8 malloc_simple: size=10, ptr=61c, limit=2000: 100865fc rk3188_pinctrl_probe: grf=20008000, pmu=20004000 PLL at 20000030: nf=99, nr=2, no=2, vco=1188000000 Hz, output=594000000 Hz PLL at 20000020: nf=32, nr=1, no=2, vco=768000000 Hz, output=384000000 Hz rockchip_mmc_set_clk: gclk_rate=148500000 malloc_simple: size=2c, ptr=648, limit=2000: 1008660c uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'rockchip_rk3188_dmc' - not found malloc_simple: size=14, ptr=65c, limit=2000: 10086638 malloc_simple: size=10, ptr=66c, limit=2000: 1008664c malloc_simple: size=4, ptr=670, limit=2000: 1008665c uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 0 'rockchip_rk3188_grf' - found uclass_find_device_by_seq: 0 1 - -1 0 'rockchip_rk3188_grf' - -1 1 'rockchip_rk3188_pmu' - found uclass_find_device_by_seq: 0 2 - -1 0 'rockchip_rk3188_grf' - -1 1 'rockchip_rk3188_pmu' - -1 -1 'rockchip_rk3188_noc' - not found malloc_simple: size=14, ptr=684, limit=2000: 10086660 malloc_simple: size=10, ptr=694, limit=2000: 10086674 clk_request(dev=10086078, clk=10086620) clk_set_rate(clk=10086620, rate=300000000) PLL at 20000010: nf=25, nr=2, no=1, vco=300000000 Hz, output=300000000 Hz /home/andy/WorkSpace/U-BOOT/u-boot/drivers/clk/rockchip/clk_rk3188.c:101: rkclk_set_pll: Assertion `vco_hz >= VCO_MIN_HZ & & vco_hz <= VCO_MAX_HZ && output_hz >= OUTPUT_MIN_HZ && output_hz <= OUTPUT_MAX_HZ && (div->no == 1 || !(div->no % 2))' fa iled.
Here is the error as assertion fails in clk_rk3188.c:101. That is why board resets.
Cheers Paweł
uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'reset' - not found tpl-1 Returning to boot ROM..
Cheers Paweł
Thanks Heiko

W dniu 27.09.2017 o 09:46, Andy Yan pisze:
Hi Pawel:
On 2017年09月27日 14:55, Paweł Jarosz wrote:
Hi,
W dniu 27.09.2017 o 03:48, Andy Yan pisze:
Hi Pawel:
On 2017年09月26日 19:34, Paweł Jarosz wrote:
Hi,
W dniu 25.09.2017 o 12:29, Heiko Stübner pisze:
Hi Andy,
Am Montag, 25. September 2017, 17:45:03 CEST schrieb Andy Yan:
On 2017年09月22日 13:56, Heiko Stuebner wrote: > Am Freitag, 22. September 2017, 08:50:49 CEST schrieb Andy Yan: >> Hi Heiko: >> >> On 2017年09月22日 08:24, Andy Yan wrote: >>> Hi Heiko: >>> >>> On 2017年09月21日 22:55, Heiko Stübner wrote: >>>> Hi Andy, >>>> >>>> Am Donnerstag, 21. September 2017, 22:03:32 CEST schrieb Andy >>>> Yan: >>>>> Hi Heiko: >>>>> I try to boot the upstream u-boot-rockchip branch on my >>>>> rk3188 board >>>>> with(rock_defconfig) >>>>> >>>>> But I got this error: >>>>> early_init() >>>>> nit_and_scan() returned error -22 >>>>> early_init() failed: -22 >>>>> ERROR ### Please RESET the board ### >>>>> >>>>> the current commit head is: 782088d("rockchip: imply ADC and >>>>> SARADC_ROCKCHIP >>>>> on supported SoCs") Do you ever meet something like this? >>>> that is very strange. When testing Philipp's branch, I was also >>>> testing the >>>> commit you mention to see if anything broke since I last >>>> changed u-boot >>>> on my radxa rock. And the above commit started just fine, >>>> when starting >>>> from an sd-card. >>>> >>>> Not sure from which medium you're starting though. But from >>>> what I >>>> remember Pawel got nand working in his rk3066 series, but >>>> that is not >>>> yet merged. >>>> >>> I boot from emmc, I will go on hack on it. >> I finally can boot it with the rock_defconfig. But the >> way to >> >> package the tpl spl u-boot a little different. >> >> cat ${DIR}/out/tpl/u-boot-tpl.bin > tplspl.bin >> truncate -s 1020 tplspl.bin >> sed -i "/^/{1s/^/RK31/}" tplspl.bin >> cat ${DIR}/out/spl/u-boot-spl.bin > spl.bin >> truncate -s %2048 spl.bin >> cat spl.bin >> tplspl.bin >> Then the tplspl.bin + u-boot.bin should package by >> >> boot_merger(tplsplb.in for FLashData, u-boot.bin for FlashBoot) >> from >> >> rockchip downstream u-boot repo: >> ./tools/boot_merger >> ./tools/rk_tools/RKBOOT/RK310BMINIALL.ini >> download to emmc by "upgrade_tool ul" command. >> According to our >> >> bootrom code author, the rk31(maybe include rk30) bootrom has a >> limitation that the idbblock >> couldn't accessed by upgrade_tool wl command. > I do have a script handling that [0]. At least for the sd-card > variant > a simple "openssl rc4" works just as well as the legacy > boot_merger :-) > > Heiko > > [0] > https://github.com/mmind/u-boot-rockchip/commit/81458bde873d6cf588e082ccf > > 556e818f46ad9df Is there a way to download the out that generated by[0] to emmc/flash? It seems that the upgrate_tool can't access 0x40 of the emmc/nand on rk3188.
you have the @rock-chips.com address, so I'd guess you might even have the better resources to find out ;-) .
In any case, as I said I haven't looked at all at the internal storage on my radxarock so far.
But as the rk3066 and rk3188 are so similar I've added Paweł.
@Paweł: you had uboot starting from nand on your rk3066 board, maybe you could describe how you wrote it to the board so maybe Andy can check if he needs to adapt anything?
Almost all knowledge i had about rk3066 boot process was from Heiko and bootrom disassembly.
Andy, do you have any output on serial console ? (TPL, Uboot-spl or anything else) Can you compile u-boot with #define DEBUG in rk3188_common and send the output?
Here is my console output [1] that boot from a nand on rk3188 board. But I found that the board will reset again and again in spl stage if I defined DEBUG in rk3188_common [2]
Also you can check size of u-boot tpl (less than 1kb), u-boot spl + tpl (less than sram size on rk3188, i think it's 32KB)? This is important as you wont get any output on serial console if you don't meet this conditions. Also on rk3066 bootmerger FlashBoot size + FlashData size should be less than 256KB (32KB for FlashData, and the rest for FlashBoot, if it's more than 256KB, you get few lines of errors when flashing with upgrade_tool and might have no output on serial console)
Bellow is my binary blob size. And I got a knowledge that the safe size of FlashBoot + FlashData shoud be less than 128kb(some flashed can up to 256, but some may not).
-rwxrwxr-x 1 andy andy 788 u-boot-tpl.bin -rwxrwxr-x 1 andy andy 15956 u-boot-spl.bin -rw-rw-r-- 1 andy andy 98249 u-boot.bin
Size of binaries looks good. You should flash u-boot-dtb.bin not u-boot.bin
u-boot-dtb.bin has the same size as u-boot.bin, so I think they are the same.
One more thing ... to boot from usb with openssl rc4 method on rk3066 i think only one back to bootrom is needed, two if you are booting from nand.
[1] tpl-1 Returning to boot ROM... tpl-2 spl first data training fail!
U-Boot SPL 2017.09-00107-g99c4c38-dirty (Sep 27 2017 - 08:46:48) Returning to boot ROM...
U-Boot 2017.09-00107-g99c4c38-dirty (Sep 27 2017 - 08:46:48 +0800)
Model: Radxa Rock DRAM: 2 GiB MMC: MMC Device 0 not found *** Warning - No MMC card found, using default environment
In: serial@20064000 Out: serial@20064000 Err: serial@20064000 Model: Radxa Rock =>
This console output looks good ... board tries to boot from mmc but no card is present and u-boot stops on console. So what is your current issue?
I have no problem now, I just want to know if you have some new way to flash the binary to nand except using "upgrate_tool ul " command to download the blob generated by bootmerger.
I have ... on rk3066 u-boot patches i have working nand driver and i'm flashing u-boot with dfu tool. This patches are not merged yet and currently i don't have time to finish them (maybe next month :) ). You can check them on u-boot mailing list.
Patches: * rockchip: mkimage: add support for rockchip nand boot image * mtd: nand: add the rockchip nand controller driver
Cheers Paweł
[2] tpl-1 Returning to boot ROM... tpl-2 spl spl_early_init() malloc_simple: size=18, ptr=18, limit=2000: 10085ff0 malloc_simple: size=54, ptr=6c, limit=2000: 10086008 malloc_simple: size=4, ptr=70, limit=2000: 1008605c uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'root_driver' - not found malloc_simple: size=18, ptr=88, limit=2000: 10086060 malloc_simple: size=54, ptr=dc, limit=2000: 10086078 malloc_simple: size=18, ptr=f4, limit=2000: 100860cc malloc_simple: size=54, ptr=148, limit=2000: 100860e4 Bound device reset to root_driver Bound device rockchip_rk3188_cru to root_driver malloc_simple: size=18, ptr=160, limit=2000: 10086138 malloc_simple: size=54, ptr=1b4, limit=2000: 10086150 malloc_simple: size=1cc, ptr=380, limit=2000: 100861a4 Bound device rockchip_rk3188_dmc to root_driver malloc_simple: size=18, ptr=398, limit=2000: 10086370 malloc_simple: size=54, ptr=3ec, limit=2000: 10086388 syscon: rockchip_rk3188_grf 1 Bound device rockchip_rk3188_grf to root_driver malloc_simple: size=18, ptr=404, limit=2000: 100863dc malloc_simple: size=54, ptr=458, limit=2000: 100863f4 Bound device rockchip_rk3188_pinctrl to root_driver malloc_simple: size=54, ptr=4ac, limit=2000: 10086448 syscon: rockchip_rk3188_pmu 3 Bound device rockchip_rk3188_pmu to root_driver malloc_simple: size=18, ptr=4c4, limit=2000: 1008649c malloc_simple: size=54, ptr=518, limit=2000: 100864b4 malloc_simple: size=44, ptr=55c, limit=2000: 10086508 Bound device rockchip_rk3188_uart to root_driver malloc_simple: size=54, ptr=5b0, limit=2000: 1008654c syscon: rockchip_rk3188_noc 0 Bound device rockchip_rk3188_noc to root_driver malloc_simple: size=10, ptr=5c0, limit=2000: 100865a0 uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'rockchip_rk3188_cru' - not found malloc_simple: size=c, ptr=5cc, limit=2000: 100865b0 uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'rockchip_rk3188_pinctrl' - not found malloc_simple: size=4, ptr=5d0, limit=2000: 100865bc uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'rockchip_rk3188_grf' - -1 -1 'rockchip_rk3188_pmu' - -1 -1 'rockchip_rk3188_noc' - not found malloc_simple: size=14, ptr=5e4, limit=2000: 100865c0 malloc_simple: size=10, ptr=5f4, limit=2000: 100865d4 malloc_simple: size=4, ptr=5f8, limit=2000: 100865e4 uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 0 'rockchip_rk3188_grf' - found uclass_find_device_by_seq: 0 1 - -1 0 'rockchip_rk3188_grf' - -1 -1 'rockchip_rk3188_pmu' - -1 -1 'rockchip_rk3188_noc' - not found malloc_simple: size=14, ptr=60c, limit=2000: 100865e8 malloc_simple: size=10, ptr=61c, limit=2000: 100865fc rk3188_pinctrl_probe: grf=20008000, pmu=20004000 PLL at 20000030: nf=99, nr=2, no=2, vco=1188000000 Hz, output=594000000 Hz PLL at 20000020: nf=32, nr=1, no=2, vco=768000000 Hz, output=384000000 Hz rockchip_mmc_set_clk: gclk_rate=148500000 malloc_simple: size=2c, ptr=648, limit=2000: 1008660c uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'rockchip_rk3188_dmc' - not found malloc_simple: size=14, ptr=65c, limit=2000: 10086638 malloc_simple: size=10, ptr=66c, limit=2000: 1008664c malloc_simple: size=4, ptr=670, limit=2000: 1008665c uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 0 'rockchip_rk3188_grf' - found uclass_find_device_by_seq: 0 1 - -1 0 'rockchip_rk3188_grf' - -1 1 'rockchip_rk3188_pmu' - found uclass_find_device_by_seq: 0 2 - -1 0 'rockchip_rk3188_grf' - -1 1 'rockchip_rk3188_pmu' - -1 -1 'rockchip_rk3188_noc' - not found malloc_simple: size=14, ptr=684, limit=2000: 10086660 malloc_simple: size=10, ptr=694, limit=2000: 10086674 clk_request(dev=10086078, clk=10086620) clk_set_rate(clk=10086620, rate=300000000) PLL at 20000010: nf=25, nr=2, no=1, vco=300000000 Hz, output=300000000 Hz /home/andy/WorkSpace/U-BOOT/u-boot/drivers/clk/rockchip/clk_rk3188.c:101: rkclk_set_pll: Assertion `vco_hz >= VCO_MIN_HZ & & vco_hz <= VCO_MAX_HZ && output_hz >= OUTPUT_MIN_HZ && output_hz <= OUTPUT_MAX_HZ && (div->no == 1 || !(div->no % 2))' fa iled.
Here is the error as assertion fails in clk_rk3188.c:101. That is why board resets.
Cheers Paweł
uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'reset' - not found tpl-1 Returning to boot ROM..
Cheers Paweł
Thanks Heiko
participants (4)
-
Andy Yan
-
Heiko Stuebner
-
Heiko Stübner
-
Paweł Jarosz