TAB-A02-SD の u-boot

途中で、別の手段で目的を達成することができたため、結局、全部を把握する必要がなくなった。
せっかく調べたので、一応、残しておく。

アドレス関数名ソースメモ
0x00000000_startarch/arm/cpu/armv8/start.S
0x00000028resetarch/arm/cpu/armv8/start.S
0x00002180save_boot_paramsarch/arm/cpu/armv8/smp_init.S
0x00000858__asm_flush_dcache_allarch/arm/cpu/armv8/cache.S
0x00000800__asm_flush_dcache_levelarch/arm/cpu/armv8/cache.S
0x000008e8__asm_invalidate_icache_allarch/arm/cpu/armv8/cache.S
0x000021f8__asm_invalidate_tlb_allarch/arm/cpu/armv8/tlb.S
0x000020f8lowlevel_initarch/arm/cpu/armv8/smp_init.S
0x00002000gic_initarch/arm/cpu/armv8/gic.S
0x000031b4pxa_cpu_configurearch/arm/cpu/armv8/pxa1928/cpu.c
0x00003718_mainarch/arm/lib/crt0_64.S
0x000038ccboard_init_farch/arm/lib/board.c
0x00042140memsetlib/string.c
0x0001b5a0getenv_ulongcommon/cmd_nvedit.c
0x0001b4d4getenvcommon/cmd_nvedit.c
0x0003ff8chsearch_rlib/hashtable.c
0x0001b3e4getenv_fcommon/cmd_nvedit.c
0x000431f4simple_strtoullib/vsprintf.c
0x000034d0arch_cpu_initarch/arm/cpu/armv8/pxa1928/cpu.cboard_init_f の init_sequence で定義
0x00003250powerup_display_controllerarch/arm/cpu/armv8/pxa1928/cpu.c
0x0001cfe4printfcommon/console.c
0x0004344cvscnprintflib/vsprintf.c
0x0001cf8cputscommon/console.c
0x0001cd50mmp_log_buf_writecommon/console.c
0x00034f60serial_putsdrivers/serial/serial.c
0x00034bbcget_currentdrivers/serial/serial.c
0x000038b0mark_bootstageboard_init_f の init_sequence で定義
0x0000a2d0board_early_init_fboard_init_f の init_sequence で定義
0x000033c0timer_initboard_init_f の init_sequence で定義
0x0001f5ccenv_initboard_init_f の init_sequence で定義
0x00003874init_baudratearch/arm/lib/board.cboard_init_f の init_sequence で定義
0x00034dc4serial_initdrivers/serial/serial.cboard_init_f の init_sequence で定義
0x0001d2e8console_init_fcommon/console.cboard_init_f の init_sequence で定義
0x0000384cdisplay_bannerarch/arm/lib/board.cboard_init_f の init_sequence で定義
0x000036b8print_rebootinfoarch/arm/cpu/armv8/pxa1928/cpu.cboard_init_f の init_sequence で定義
0x0000361cprint_cpuinfoarch/arm/cpu/armv8/pxa1928/cpu.cboard_init_f の init_sequence で定義
0x00003810init_func_i2carch/arm/lib/board.cboard_init_f の init_sequence で定義
0x0002ba3cdram_initdrivers/ddr/mck/mck5.cboard_init_f の init_sequence で定義

下記は実際に発行されるコマンド達

NoCmd備考
1bmp display_center 000000000938b980 1280 800
2bmp display_center 000000000938b980 1280 800
3setvolt vcc_main dvc0011 1300
4setcpurate 1386
5setddrrate hwdfc 312
6setaxirate 156
7cp_d2
8mmc dev 0 0; mmc read 000000000affee00 28000 0x9
9mmc read b000000 28004 291c
10mmc read 3000000 2a920 14b4
11mmc read 9800000 2a81c 100
12fdt addr 0x0000000009800000
13fdt rsvmem delete 0x1
14fdt rsvmem add 0x17000000 0xbc1000
15fdt set /soc/axi/fbbase marvell,fb-mem <0x17000000>
16fdt set /profile marvell,profile-number <9>
17fdt set /iddq marvell,iddq-1p05 <89>
18fdt set /iddq marvell,iddq-1p30 <205>
19fdt set /pp_version version pxa1928
20fdt set /chip_type type <2>
21fdt set /pxa1928_apmu_ver version bx
22fdt rm /soc/axi/wakeupgen@d4284000
23fdt set /soc/apb@d4000000/uart@d4018000 break-abnormal <1>
24fdt addr 0x9800000; bootm 0xb000000 – 0x9800000

メモ)SELinuxを無効化する(init の selinux_initialize において、security_setenforce の引数を 1 ではなく 0 を渡す)

00401204 20 00 80 52     mov        w0,#0x1
-> 00 00 80 52  mov        w0,#0x0
 

メモ)u-boot で マイクロSDに入れた独自のramdisk(ram1.gz)で起動させる

mmc dev 0 0; mmc read 000000000affee00 28000 0x9; mmc read b000000 28004 291c; mmc read 9800000 2a81c 100; fatload mmc 1 0x3000000 ram1.gz; fdt addr 0x9800000; bootm 0xb000000 - 0x9800000

下記のカーネルの場合
# Linux version 3.10.33 (builduser@builduser-HP-ProDesk-600-G1-SFF) (gcc version 4.9.x-google 20140827 (prerelease) (GCC) ) #2 SMP PREEMPT Mon Jun 19 18:02:35 JST 2017

mmc dev 0 0; mmc read 000000000affee00 28000 0x9; mmc read 0xb000000 0x28004 0x2920; mmc read 0x9800000 0x2A820 0x100; fatload mmc 1 0x3000000 ram1.gz; fdt addr 0x9800000; bootm 0xb000000 – 0x9800000


	

コメントを残す

メールアドレスが公開されることはありません。