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
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot