This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Uboot relocation issue

Other Parts Discussed in Thread: AM3352

Hello Everyone,

I was previously using the ti-evm-sdk version 05.05 and I have switched to the version 06.00.00.00. I've completed the Uboot board port exercise and now can run uboot on my board (almost). The problem I'm facing is unclear to me and I was hoping to get some inputs / help.

I've enabled DEBUG option in Uboot and I'm attaching the log file from the serial console output. In the code I've also added several debug messages of my own - they all start with "*** SR:". The problem is with U-boot relocating - the execution seems to go off the rails in the function jump_to_image_no_args defined in spl.c. The last entry in the log file is debug("image entry point: 0x%X\n", spl_image->entry_point);


I am able to run my old U-boot on this board consistently (from sdk 05.05.00.00) but it seems that there are several changes made to the underlying u-boot code that I'm not able to trace the problem back. Any help is much appreciated - thank you.

Also I do have another question regarding some of the defines in the include/configs/am335x_evm.h file. What are these definitions for and how are they used?

#define CONFIG_SYS_LOAD_ADDR        0x81000000

#define CONFIG_SYS_TEXT_BASE        0x80800000
#define CONFIG_SYS_SPL_MALLOC_START    0x80208000
#define CONFIG_SYS_SPL_MALLOC_SIZE    0x00100000

Thank you for your replies and your patience.

Regards

Santhosh

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2014.04.02 17:19:35 =~=~=~=~=~=~=~=~=~=~=~=


U-Boot SPL 2013.01.01 (Apr 02 2014 - 17:18:02)
*** SR: DDR Frequency is 125 Mhz ***
*** SR: Leaving s_init ***
>>spl:board_init_r()

*** SR: Entering am33xx_spl_board_init ***
*** SR: DCDC1 - 1.8V ***
*** SR: DCDC2 - 3.3V ***
*** SR: DCDC3 - 1.1V ***
*** SR: LDO1  - 1.8V ***
*** SR: LDO2  - 3.3V ***
*** SR: LDO3  - 1.8V ***
*** SR: Leaving am33xx_spl_board_init ***

boot device - 8
OMAP SD/MMC: 0
boot mode - FAT
reading u-boot.img
VFAT Support enabled
FAT32, fat_sect: 32, fatlength: 1112
Rootdir begins at cluster: 2, sector: 2256, offset: 11a000
Data begins at: 2254
Sector size: 512, cluster size: 1
FAT read sect=2256, clust_size=1, DIRENTSPERBLOCK=16
RootMismatch: |mlo||
Rootvfatname: |u-boot.img|
RootName: u-boot.img, start: 0x5390, size:  0x4267c 
Filesize: 271996 bytes
64 bytes
gc - clustnum: 21392, startsect: 23646
Size: 271996, got: 64
spl: payload image: U-Boot 2013.01.01 for aa_hcc boa `: load addr: 0x807fffc0 size: 271996
reading u-boot.img
VFAT Support enabled
FAT32, fat_sect: 32, fatlength: 1112
Rootdir begins at cluster: 2, sector: 2256, offset: 11a000
Data begins at: 2254
Sector size: 512, cluster size: 1
FAT read sect=2256, clust_size=1, DIRENTSPERBLOCK=16
RootMismatch: |mlo||
Rootvfatname: |u-boot.img|
RootName: u-boot.img, start: 0x5390, size:  0x4267c 
Filesize: 271996 bytes
271996 bytes
FAT32: entry: 0x5390 = 21392, offset: 0x0290 = 656
FAT32: ret: 00005391, offset: 0290
FAT32: entry: 0x5391 = 21393, offset: 0x0291 = 657
FAT32: ret: 00005392, offset: 0291
FAT32: entry: 0x5392 = 21394, offset: 0x0292 = 658
FAT32: ret: 00005393, offset: 0292
FAT32: entry: 0x5393 = 21395, offset: 0x0293 = 659
FAT32: ret: 00005394, offset: 0293
FAT32: entry: 0x5394 = 21396, offset: 0x0294 = 660
FAT32: ret: 00005395, offset: 0294
FAT32: entry: 0x5395 = 21397, offset: 0x0295 = 661
FAT32: ret: 00005396, offset: 0295
FAT32: entry: 0x5396 = 21398, offset: 0x0296 = 662
FAT32: ret: 00005397, offset: 0296
FAT32: entry: 0x5397 = 21399, offset: 0x0297 = 663
FAT32: ret: 00005398, offset: 0297
FAT32: entry: 0x5398 = 21400, offset: 0x0298 = 664
FAT32: ret: 00005399, offset: 0298
FAT32: entry: 0x5399 = 21401, offset: 0x0299 = 665
FAT32: ret: 0000539a, offset: 0299
FAT32: entry: 0x539a = 21402, offset: 0x029a = 666
FAT32: ret: 0000539b, offset: 029a
FAT32: entry: 0x539b = 21403, offset: 0x029b = 667
FAT32: ret: 0000539c, offset: 029b
FAT32: entry: 0x539c = 21404, offset: 0x029c = 668
FAT32: ret: 0000539d, offset: 029c
FAT32: entry: 0x539d = 21405, offset: 0x029d = 669
FAT32: ret: 0000539e, offset: 029d
FAT32: entry: 0x539e = 21406, offset: 0x029e = 670
FAT32: ret: 0000539f, offset: 029e
FAT32: entry: 0x539f = 21407, offset: 0x029f = 671
FAT32: ret: 000053a0, offset: 029f
FAT32: entry: 0x53a0 = 21408, offset: 0x02a0 = 672
FAT32: ret: 000053a1, offset: 02a0
FAT32: entry: 0x53a1 = 21409, offset: 0x02a1 = 673
FAT32: ret: 000053a2, offset: 02a1
FAT32: entry: 0x53a2 = 21410, offset: 0x02a2 = 674
FAT32: ret: 000053a3, offset: 02a2
FAT32: entry: 0x53a3 = 21411, offset: 0x02a3 = 675
FAT32: ret: 000053a4, offset: 02a3
FAT32: entry: 0x53a4 = 21412, offset: 0x02a4 = 676
FAT32: ret: 000053a5, offset: 02a4
FAT32: entry: 0x53a5 = 21413, offset: 0x02a5 = 677
FAT32: ret: 000053a6, offset: 02a5
FAT32: entry: 0x53a6 = 21414, offset: 0x02a6 = 678
FAT32: ret: 000053a7, offset: 02a6
FAT32: entry: 0x53a7 = 21415, offset: 0x02a7 = 679
FAT32: ret: 000053a8, offset: 02a7
FAT32: entry: 0x53a8 = 21416, offset: 0x02a8 = 680
FAT32: ret: 000053a9, offset: 02a8
FAT32: entry: 0x53a9 = 21417, offset: 0x02a9 = 681
FAT32: ret: 000053aa, offset: 02a9
FAT32: entry: 0x53aa = 21418, offset: 0x02aa = 682
FAT32: ret: 000053ab, offset: 02aa
FAT32: entry: 0x53ab = 21419, offset: 0x02ab = 683
FAT32: ret: 000053ac, offset: 02ab
FAT32: entry: 0x53ac = 21420, offset: 0x02ac = 684
FAT32: ret: 000053ad, offset: 02ac
FAT32: entry: 0x53ad = 21421, offset: 0x02ad = 685
FAT32: ret: 000053ae, offset: 02ad
FAT32: entry: 0x53ae = 21422, offset: 0x02ae = 686
FAT32: ret: 000053af, offset: 02ae
FAT32: entry: 0x53af = 21423, offset: 0x02af = 687
FAT32: ret: 000053b0, offset: 02af
FAT32: entry: 0x53b0 = 21424, offset: 0x02b0 = 688
FAT32: ret: 000053b1, offset: 02b0
FAT32: entry: 0x53b1 = 21425, offset: 0x02b1 = 689
FAT32: ret: 000053b2, offset: 02b1
FAT32: entry: 0x53b2 = 21426, offset: 0x02b2 = 690
FAT32: ret: 000053b3, offset: 02b2
FAT32: entry: 0x53b3 = 21427, offset: 0x02b3 = 691
FAT32: ret: 000053b4, offset: 02b3
FAT32: entry: 0x53b4 = 21428, offset: 0x02b4 = 692
FAT32: ret: 000053b5, offset: 02b4
FAT32: entry: 0x53b5 = 21429, offset: 0x02b5 = 693
FAT32: ret: 000053b6, offset: 02b5
FAT32: entry: 0x53b6 = 21430, offset: 0x02b6 = 694
FAT32: ret: 000053b7, offset: 02b6
FAT32: entry: 0x53b7 = 21431, offset: 0x02b7 = 695
FAT32: ret: 000053b8, offset: 02b7
FAT32: entry: 0x53b8 = 21432, offset: 0x02b8 = 696
FAT32: ret: 000053b9, offset: 02b8
FAT32: entry: 0x53b9 = 21433, offset: 0x02b9 = 697
FAT32: ret: 000053ba, offset: 02b9
FAT32: entry: 0x53ba = 21434, offset: 0x02ba = 698
FAT32: ret: 000053bb, offset: 02ba
FAT32: entry: 0x53bb = 21435, offset: 0x02bb = 699
FAT32: ret: 000053bc, offset: 02bb
FAT32: entry: 0x53bc = 21436, offset: 0x02bc = 700
FAT32: ret: 000053bd, offset: 02bc
FAT32: entry: 0x53bd = 21437, offset: 0x02bd = 701
FAT32: ret: 000053be, offset: 02bd
FAT32: entry: 0x53be = 21438, offset: 0x02be = 702
FAT32: ret: 000053bf, offset: 02be
FAT32: entry: 0x53bf = 21439, offset: 0x02bf = 703
FAT32: ret: 000053c0, offset: 02bf
FAT32: entry: 0x53c0 = 21440, offset: 0x02c0 = 704
FAT32: ret: 000053c1, offset: 02c0
FAT32: entry: 0x53c1 = 21441, offset: 0x02c1 = 705
FAT32: ret: 000053c2, offset: 02c1
FAT32: entry: 0x53c2 = 21442, offset: 0x02c2 = 706
FAT32: ret: 000053c3, offset: 02c2
FAT32: entry: 0x53c3 = 21443, offset: 0x02c3 = 707
FAT32: ret: 000053c4, offset: 02c3
FAT32: entry: 0x53c4 = 21444, offset: 0x02c4 = 708
FAT32: ret: 000053c5, offset: 02c4
FAT32: entry: 0x53c5 = 21445, offset: 0x02c5 = 709
FAT32: ret: 000053c6, offset: 02c5
FAT32: entry: 0x53c6 = 21446, offset: 0x02c6 = 710
FAT32: ret: 000053c7, offset: 02c6
FAT32: entry: 0x53c7 = 21447, offset: 0x02c7 = 711
FAT32: ret: 000053c8, offset: 02c7
FAT32: entry: 0x53c8 = 21448, offset: 0x02c8 = 712
FAT32: ret: 000053c9, offset: 02c8
FAT32: entry: 0x53c9 = 21449, offset: 0x02c9 = 713
FAT32: ret: 000053ca, offset: 02c9
FAT32: entry: 0x53ca = 21450, offset: 0x02ca = 714
FAT32: ret: 000053cb, offset: 02ca
FAT32: entry: 0x53cb = 21451, offset: 0x02cb = 715
FAT32: ret: 000053cc, offset: 02cb
FAT32: entry: 0x53cc = 21452, offset: 0x02cc = 716
FAT32: ret: 000053cd, offset: 02cc
FAT32: entry: 0x53cd = 21453, offset: 0x02cd = 717
FAT32: ret: 000053ce, offset: 02cd
FAT32: entry: 0x53ce = 21454, offset: 0x02ce = 718
FAT32: ret: 000053cf, offset: 02ce
FAT32: entry: 0x53cf = 21455, offset: 0x02cf = 719
FAT32: ret: 000053d0, offset: 02cf
FAT32: entry: 0x53d0 = 21456, offset: 0x02d0 = 720
FAT32: ret: 000053d1, offset: 02d0
FAT32: entry: 0x53d1 = 21457, offset: 0x02d1 = 721
FAT32: ret: 000053d2, offset: 02d1
FAT32: entry: 0x53d2 = 21458, offset: 0x02d2 = 722
FAT32: ret: 000053d3, offset: 02d2
FAT32: entry: 0x53d3 = 21459, offset: 0x02d3 = 723
FAT32: ret: 000053d4, offset: 02d3
FAT32: entry: 0x53d4 = 21460, offset: 0x02d4 = 724
FAT32: ret: 000053d5, offset: 02d4
FAT32: entry: 0x53d5 = 21461, offset: 0x02d5 = 725
FAT32: ret: 000053d6, offset: 02d5
FAT32: entry: 0x53d6 = 21462, offset: 0x02d6 = 726
FAT32: ret: 000053d7, offset: 02d6
FAT32: entry: 0x53d7 = 21463, offset: 0x02d7 = 727
FAT32: ret: 000053d8, offset: 02d7
FAT32: entry: 0x53d8 = 21464, offset: 0x02d8 = 728
FAT32: ret: 000053d9, offset: 02d8
FAT32: entry: 0x53d9 = 21465, offset: 0x02d9 = 729
FAT32: ret: 000053da, offset: 02d9
FAT32: entry: 0x53da = 21466, offset: 0x02da = 730
FAT32: ret: 000053db, offset: 02da
FAT32: entry: 0x53db = 21467, offset: 0x02db = 731
FAT32: ret: 000053dc, offset: 02db
FAT32: entry: 0x53dc = 21468, offset: 0x02dc = 732
FAT32: ret: 000053dd, offset: 02dc
FAT32: entry: 0x53dd = 21469, offset: 0x02dd = 733
FAT32: ret: 000053de, offset: 02dd
FAT32: entry: 0x53de = 21470, offset: 0x02de = 734
FAT32: ret: 000053df, offset: 02de
FAT32: entry: 0x53df = 21471, offset: 0x02df = 735
FAT32: ret: 000053e0, offset: 02df
FAT32: entry: 0x53e0 = 21472, offset: 0x02e0 = 736
FAT32: ret: 000053e1, offset: 02e0
FAT32: entry: 0x53e1 = 21473, offset: 0x02e1 = 737
FAT32: ret: 000053e2, offset: 02e1
FAT32: entry: 0x53e2 = 21474, offset: 0x02e2 = 738
FAT32: ret: 000053e3, offset: 02e2
FAT32: entry: 0x53e3 = 21475, offset: 0x02e3 = 739
FAT32: ret: 000053e4, offset: 02e3
FAT32: entry: 0x53e4 = 21476, offset: 0x02e4 = 740
FAT32: ret: 000053e5, offset: 02e4
FAT32: entry: 0x53e5 = 21477, offset: 0x02e5 = 741
FAT32: ret: 000053e6, offset: 02e5
FAT32: entry: 0x53e6 = 21478, offset: 0x02e6 = 742
FAT32: ret: 000053e7, offset: 02e6
FAT32: entry: 0x53e7 = 21479, offset: 0x02e7 = 743
FAT32: ret: 000053e8, offset: 02e7
FAT32: entry: 0x53e8 = 21480, offset: 0x02e8 = 744
FAT32: ret: 000053e9, offset: 02e8
FAT32: entry: 0x53e9 = 21481, offset: 0x02e9 = 745
FAT32: ret: 000053ea, offset: 02e9
FAT32: entry: 0x53ea = 21482, offset: 0x02ea = 746
FAT32: ret: 000053eb, offset: 02ea
FAT32: entry: 0x53eb = 21483, offset: 0x02eb = 747
FAT32: ret: 000053ec, offset: 02eb
FAT32: entry: 0x53ec = 21484, offset: 0x02ec = 748
FAT32: ret: 000053ed, offset: 02ec
FAT32: entry: 0x53ed = 21485, offset: 0x02ed = 749
FAT32: ret: 000053ee, offset: 02ed
FAT32: entry: 0x53ee = 21486, offset: 0x02ee = 750
FAT32: ret: 000053ef, offset: 02ee
FAT32: entry: 0x53ef = 21487, offset: 0x02ef = 751
FAT32: ret: 000053f0, offset: 02ef
FAT32: entry: 0x53f0 = 21488, offset: 0x02f0 = 752
FAT32: ret: 000053f1, offset: 02f0
FAT32: entry: 0x53f1 = 21489, offset: 0x02f1 = 753
FAT32: ret: 000053f2, offset: 02f1
FAT32: entry: 0x53f2 = 21490, offset: 0x02f2 = 754
FAT32: ret: 000053f3, offset: 02f2
FAT32: entry: 0x53f3 = 21491, offset: 0x02f3 = 755
FAT32: ret: 000053f4, offset: 02f3
FAT32: entry: 0x53f4 = 21492, offset: 0x02f4 = 756
FAT32: ret: 000053f5, offset: 02f4
FAT32: entry: 0x53f5 = 21493, offset: 0x02f5 = 757
FAT32: ret: 000053f6, offset: 02f5
FAT32: entry: 0x53f6 = 21494, offset: 0x02f6 = 758
FAT32: ret: 000053f7, offset: 02f6
FAT32: entry: 0x53f7 = 21495, offset: 0x02f7 = 759
FAT32: ret: 000053f8, offset: 02f7
FAT32: entry: 0x53f8 = 21496, offset: 0x02f8 = 760
FAT32: ret: 000053f9, offset: 02f8
FAT32: entry: 0x53f9 = 21497, offset: 0x02f9 = 761
FAT32: ret: 000053fa, offset: 02f9
FAT32: entry: 0x53fa = 21498, offset: 0x02fa = 762
FAT32: ret: 000053fb, offset: 02fa
FAT32: entry: 0x53fb = 21499, offset: 0x02fb = 763
FAT32: ret: 000053fc, offset: 02fb
FAT32: entry: 0x53fc = 21500, offset: 0x02fc = 764
FAT32: ret: 000053fd, offset: 02fc
FAT32: entry: 0x53fd = 21501, offset: 0x02fd = 765
FAT32: ret: 000053fe, offset: 02fd
FAT32: entry: 0x53fe = 21502, offset: 0x02fe = 766
FAT32: ret: 000053ff, offset: 02fe
FAT32: entry: 0x53ff = 21503, offset: 0x02ff = 767
FAT32: ret: 00005400, offset: 02ff
FAT32: entry: 0x5400 = 21504, offset: 0x0000 = 0
FAT32: ret: 00005401, offset: 0000
FAT32: entry: 0x5401 = 21505, offset: 0x0001 = 1
FAT32: ret: 00005402, offset: 0001
FAT32: entry: 0x5402 = 21506, offset: 0x0002 = 2
FAT32: ret: 00005403, offset: 0002
FAT32: entry: 0x5403 = 21507, offset: 0x0003 = 3
FAT32: ret: 00005404, offset: 0003
FAT32: entry: 0x5404 = 21508, offset: 0x0004 = 4
FAT32: ret: 00005405, offset: 0004
FAT32: entry: 0x5405 = 21509, offset: 0x0005 = 5
FAT32: ret: 00005406, offset: 0005
FAT32: entry: 0x5406 = 21510, offset: 0x0006 = 6
FAT32: ret: 00005407, offset: 0006
FAT32: entry: 0x5407 = 21511, offset: 0x0007 = 7
FAT32: ret: 00005408, offset: 0007
FAT32: entry: 0x5408 = 21512, offset: 0x0008 = 8
FAT32: ret: 00005409, offset: 0008
FAT32: entry: 0x5409 = 21513, offset: 0x0009 = 9
FAT32: ret: 0000540a, offset: 0009
FAT32: entry: 0x540a = 21514, offset: 0x000a = 10
FAT32: ret: 0000540b, offset: 000a
FAT32: entry: 0x540b = 21515, offset: 0x000b = 11
FAT32: ret: 0000540c, offset: 000b
FAT32: entry: 0x540c = 21516, offset: 0x000c = 12
FAT32: ret: 0000540d, offset: 000c
FAT32: entry: 0x540d = 21517, offset: 0x000d = 13
FAT32: ret: 0000540e, offset: 000d
FAT32: entry: 0x540e = 21518, offset: 0x000e = 14
FAT32: ret: 0000540f, offset: 000e
FAT32: entry: 0x540f = 21519, offset: 0x000f = 15
FAT32: ret: 00005410, offset: 000f
FAT32: entry: 0x5410 = 21520, offset: 0x0010 = 16
FAT32: ret: 00005411, offset: 0010
FAT32: entry: 0x5411 = 21521, offset: 0x0011 = 17
FAT32: ret: 00005412, offset: 0011
FAT32: entry: 0x5412 = 21522, offset: 0x0012 = 18
FAT32: ret: 00005413, offset: 0012
FAT32: entry: 0x5413 = 21523, offset: 0x0013 = 19
FAT32: ret: 00005414, offset: 0013
FAT32: entry: 0x5414 = 21524, offset: 0x0014 = 20
FAT32: ret: 00005415, offset: 0014
FAT32: entry: 0x5415 = 21525, offset: 0x0015 = 21
FAT32: ret: 00005416, offset: 0015
FAT32: entry: 0x5416 = 21526, offset: 0x0016 = 22
FAT32: ret: 00005417, offset: 0016
FAT32: entry: 0x5417 = 21527, offset: 0x0017 = 23
FAT32: ret: 00005418, offset: 0017
FAT32: entry: 0x5418 = 21528, offset: 0x0018 = 24
FAT32: ret: 00005419, offset: 0018
FAT32: entry: 0x5419 = 21529, offset: 0x0019 = 25
FAT32: ret: 0000541a, offset: 0019
FAT32: entry: 0x541a = 21530, offset: 0x001a = 26
FAT32: ret: 0000541b, offset: 001a
FAT32: entry: 0x541b = 21531, offset: 0x001b = 27
FAT32: ret: 0000541c, offset: 001b
FAT32: entry: 0x541c = 21532, offset: 0x001c = 28
FAT32: ret: 0000541d, offset: 001c
FAT32: entry: 0x541d = 21533, offset: 0x001d = 29
FAT32: ret: 0000541e, offset: 001d
FAT32: entry: 0x541e = 21534, offset: 0x001e = 30
FAT32: ret: 0000541f, offset: 001e
FAT32: entry: 0x541f = 21535, offset: 0x001f = 31
FAT32: ret: 00005420, offset: 001f
FAT32: entry: 0x5420 = 21536, offset: 0x0020 = 32
FAT32: ret: 00005421, offset: 0020
FAT32: entry: 0x5421 = 21537, offset: 0x0021 = 33
FAT32: ret: 00005422, offset: 0021
FAT32: entry: 0x5422 = 21538, offset: 0x0022 = 34
FAT32: ret: 00005423, offset: 0022
FAT32: entry: 0x5423 = 21539, offset: 0x0023 = 35
FAT32: ret: 00005424, offset: 0023
FAT32: entry: 0x5424 = 21540, offset: 0x0024 = 36
FAT32: ret: 00005425, offset: 0024
FAT32: entry: 0x5425 = 21541, offset: 0x0025 = 37
FAT32: ret: 00005426, offset: 0025
FAT32: entry: 0x5426 = 21542, offset: 0x0026 = 38
FAT32: ret: 00005427, offset: 0026
FAT32: entry: 0x5427 = 21543, offset: 0x0027 = 39
FAT32: ret: 00005428, offset: 0027
FAT32: entry: 0x5428 = 21544, offset: 0x0028 = 40
FAT32: ret: 00005429, offset: 0028
FAT32: entry: 0x5429 = 21545, offset: 0x0029 = 41
FAT32: ret: 0000542a, offset: 0029
FAT32: entry: 0x542a = 21546, offset: 0x002a = 42
FAT32: ret: 0000542b, offset: 002a
FAT32: entry: 0x542b = 21547, offset: 0x002b = 43
FAT32: ret: 0000542c, offset: 002b
FAT32: entry: 0x542c = 21548, offset: 0x002c = 44
FAT32: ret: 0000542d, offset: 002c
FAT32: entry: 0x542d = 21549, offset: 0x002d = 45
FAT32: ret: 0000542e, offset: 002d
FAT32: entry: 0x542e = 21550, offset: 0x002e = 46
FAT32: ret: 0000542f, offset: 002e
FAT32: entry: 0x542f = 21551, offset: 0x002f = 47
FAT32: ret: 00005430, offset: 002f
FAT32: entry: 0x5430 = 21552, offset: 0x0030 = 48
FAT32: ret: 00005431, offset: 0030
FAT32: entry: 0x5431 = 21553, offset: 0x0031 = 49
FAT32: ret: 00005432, offset: 0031
FAT32: entry: 0x5432 = 21554, offset: 0x0032 = 50
FAT32: ret: 00005433, offset: 0032
FAT32: entry: 0x5433 = 21555, offset: 0x0033 = 51
FAT32: ret: 00005434, offset: 0033
FAT32: entry: 0x5434 = 21556, offset: 0x0034 = 52
FAT32: ret: 00005435, offset: 0034
FAT32: entry: 0x5435 = 21557, offset: 0x0035 = 53
FAT32: ret: 00005436, offset: 0035
FAT32: entry: 0x5436 = 21558, offset: 0x0036 = 54
FAT32: ret: 00005437, offset: 0036
FAT32: entry: 0x5437 = 21559, offset: 0x0037 = 55
FAT32: ret: 00005438, offset: 0037
FAT32: entry: 0x5438 = 21560, offset: 0x0038 = 56
FAT32: ret: 00005439, offset: 0038
FAT32: entry: 0x5439 = 21561, offset: 0x0039 = 57
FAT32: ret: 0000543a, offset: 0039
FAT32: entry: 0x543a = 21562, offset: 0x003a = 58
FAT32: ret: 0000543b, offset: 003a
FAT32: entry: 0x543b = 21563, offset: 0x003b = 59
FAT32: ret: 0000543c, offset: 003b
FAT32: entry: 0x543c = 21564, offset: 0x003c = 60
FAT32: ret: 0000543d, offset: 003c
FAT32: entry: 0x543d = 21565, offset: 0x003d = 61
FAT32: ret: 0000543e, offset: 003d
FAT32: entry: 0x543e = 21566, offset: 0x003e = 62
FAT32: ret: 0000543f, offset: 003e
FAT32: entry: 0x543f = 21567, offset: 0x003f = 63
FAT32: ret: 00005440, offset: 003f
FAT32: entry: 0x5440 = 21568, offset: 0x0040 = 64
FAT32: ret: 00005441, offset: 0040
FAT32: entry: 0x5441 = 21569, offset: 0x0041 = 65
FAT32: ret: 00005442, offset: 0041
FAT32: entry: 0x5442 = 21570, offset: 0x0042 = 66
FAT32: ret: 00005443, offset: 0042
FAT32: entry: 0x5443 = 21571, offset: 0x0043 = 67
FAT32: ret: 00005444, offset: 0043
FAT32: entry: 0x5444 = 21572, offset: 0x0044 = 68
FAT32: ret: 00005445, offset: 0044
FAT32: entry: 0x5445 = 21573, offset: 0x0045 = 69
FAT32: ret: 00005446, offset: 0045
FAT32: entry: 0x5446 = 21574, offset: 0x0046 = 70
FAT32: ret: 00005447, offset: 0046
FAT32: entry: 0x5447 = 21575, offset: 0x0047 = 71
FAT32: ret: 00005448, offset: 0047
FAT32: entry: 0x5448 = 21576, offset: 0x0048 = 72
FAT32: ret: 00005449, offset: 0048
FAT32: entry: 0x5449 = 21577, offset: 0x0049 = 73
FAT32: ret: 0000544a, offset: 0049
FAT32: entry: 0x544a = 21578, offset: 0x004a = 74
FAT32: ret: 0000544b, offset: 004a
FAT32: entry: 0x544b = 21579, offset: 0x004b = 75
FAT32: ret: 0000544c, offset: 004b
FAT32: entry: 0x544c = 21580, offset: 0x004c = 76
FAT32: ret: 0000544d, offset: 004c
FAT32: entry: 0x544d = 21581, offset: 0x004d = 77
FAT32: ret: 0000544e, offset: 004d
FAT32: entry: 0x544e = 21582, offset: 0x004e = 78
FAT32: ret: 0000544f, offset: 004e
FAT32: entry: 0x544f = 21583, offset: 0x004f = 79
FAT32: ret: 00005450, offset: 004f
FAT32: entry: 0x5450 = 21584, offset: 0x0050 = 80
FAT32: ret: 00005451, offset: 0050
FAT32: entry: 0x5451 = 21585, offset: 0x0051 = 81
FAT32: ret: 00005452, offset: 0051
FAT32: entry: 0x5452 = 21586, offset: 0x0052 = 82
FAT32: ret: 00005453, offset: 0052
FAT32: entry: 0x5453 = 21587, offset: 0x0053 = 83
FAT32: ret: 00005454, offset: 0053
FAT32: entry: 0x5454 = 21588, offset: 0x0054 = 84
FAT32: ret: 00005455, offset: 0054
FAT32: entry: 0x5455 = 21589, offset: 0x0055 = 85
FAT32: ret: 00005456, offset: 0055
FAT32: entry: 0x5456 = 21590, offset: 0x0056 = 86
FAT32: ret: 00005457, offset: 0056
FAT32: entry: 0x5457 = 21591, offset: 0x0057 = 87
FAT32: ret: 00005458, offset: 0057
FAT32: entry: 0x5458 = 21592, offset: 0x0058 = 88
FAT32: ret: 00005459, offset: 0058
FAT32: entry: 0x5459 = 21593, offset: 0x0059 = 89
FAT32: ret: 0000545a, offset: 0059
FAT32: entry: 0x545a = 21594, offset: 0x005a = 90
FAT32: ret: 0000545b, offset: 005a
FAT32: entry: 0x545b = 21595, offset: 0x005b = 91
FAT32: ret: 0000545c, offset: 005b
FAT32: entry: 0x545c = 21596, offset: 0x005c = 92
FAT32: ret: 0000545d, offset: 005c
FAT32: entry: 0x545d = 21597, offset: 0x005d = 93
FAT32: ret: 0000545e, offset: 005d
FAT32: entry: 0x545e = 21598, offset: 0x005e = 94
FAT32: ret: 0000545f, offset: 005e
FAT32: entry: 0x545f = 21599, offset: 0x005f = 95
FAT32: ret: 00005460, offset: 005f
FAT32: entry: 0x5460 = 21600, offset: 0x0060 = 96
FAT32: ret: 00005461, offset: 0060
FAT32: entry: 0x5461 = 21601, offset: 0x0061 = 97
FAT32: ret: 00005462, offset: 0061
FAT32: entry: 0x5462 = 21602, offset: 0x0062 = 98
FAT32: ret: 00005463, offset: 0062
FAT32: entry: 0x5463 = 21603, offset: 0x0063 = 99
FAT32: ret: 00005464, offset: 0063
FAT32: entry: 0x5464 = 21604, offset: 0x0064 = 100
FAT32: ret: 00005465, offset: 0064
FAT32: entry: 0x5465 = 21605, offset: 0x0065 = 101
FAT32: ret: 00005466, offset: 0065
FAT32: entry: 0x5466 = 21606, offset: 0x0066 = 102
FAT32: ret: 00005467, offset: 0066
FAT32: entry: 0x5467 = 21607, offset: 0x0067 = 103
FAT32: ret: 00005468, offset: 0067
FAT32: entry: 0x5468 = 21608, offset: 0x0068 = 104
FAT32: ret: 00005469, offset: 0068
FAT32: entry: 0x5469 = 21609, offset: 0x0069 = 105
FAT32: ret: 0000546a, offset: 0069
FAT32: entry: 0x546a = 21610, offset: 0x006a = 106
FAT32: ret: 0000546b, offset: 006a
FAT32: entry: 0x546b = 21611, offset: 0x006b = 107
FAT32: ret: 0000546c, offset: 006b
FAT32: entry: 0x546c = 21612, offset: 0x006c = 108
FAT32: ret: 0000546d, offset: 006c
FAT32: entry: 0x546d = 21613, offset: 0x006d = 109
FAT32: ret: 0000546e, offset: 006d
FAT32: entry: 0x546e = 21614, offset: 0x006e = 110
FAT32: ret: 0000546f, offset: 006e
FAT32: entry: 0x546f = 21615, offset: 0x006f = 111
FAT32: ret: 00005470, offset: 006f
FAT32: entry: 0x5470 = 21616, offset: 0x0070 = 112
FAT32: ret: 00005471, offset: 0070
FAT32: entry: 0x5471 = 21617, offset: 0x0071 = 113
FAT32: ret: 00005472, offset: 0071
FAT32: entry: 0x5472 = 21618, offset: 0x0072 = 114
FAT32: ret: 00005473, offset: 0072
FAT32: entry: 0x5473 = 21619, offset: 0x0073 = 115
FAT32: ret: 00005474, offset: 0073
FAT32: entry: 0x5474 = 21620, offset: 0x0074 = 116
FAT32: ret: 00005475, offset: 0074
FAT32: entry: 0x5475 = 21621, offset: 0x0075 = 117
FAT32: ret: 00005476, offset: 0075
FAT32: entry: 0x5476 = 21622, offset: 0x0076 = 118
FAT32: ret: 00005477, offset: 0076
FAT32: entry: 0x5477 = 21623, offset: 0x0077 = 119
FAT32: ret: 00005478, offset: 0077
FAT32: entry: 0x5478 = 21624, offset: 0x0078 = 120
FAT32: ret: 00005479, offset: 0078
FAT32: entry: 0x5479 = 21625, offset: 0x0079 = 121
FAT32: ret: 0000547a, offset: 0079
FAT32: entry: 0x547a = 21626, offset: 0x007a = 122
FAT32: ret: 0000547b, offset: 007a
FAT32: entry: 0x547b = 21627, offset: 0x007b = 123
FAT32: ret: 0000547c, offset: 007b
FAT32: entry: 0x547c = 21628, offset: 0x007c = 124
FAT32: ret: 0000547d, offset: 007c
FAT32: entry: 0x547d = 21629, offset: 0x007d = 125
FAT32: ret: 0000547e, offset: 007d
FAT32: entry: 0x547e = 21630, offset: 0x007e = 126
FAT32: ret: 0000547f, offset: 007e
FAT32: entry: 0x547f = 21631, offset: 0x007f = 127
FAT32: ret: 00005480, offset: 007f
FAT32: entry: 0x5480 = 21632, offset: 0x0080 = 128
FAT32: ret: 00005481, offset: 0080
FAT32: entry: 0x5481 = 21633, offset: 0x0081 = 129
FAT32: ret: 00005482, offset: 0081
FAT32: entry: 0x5482 = 21634, offset: 0x0082 = 130
FAT32: ret: 00005483, offset: 0082
FAT32: entry: 0x5483 = 21635, offset: 0x0083 = 131
FAT32: ret: 00005484, offset: 0083
FAT32: entry: 0x5484 = 21636, offset: 0x0084 = 132
FAT32: ret: 00005485, offset: 0084
FAT32: entry: 0x5485 = 21637, offset: 0x0085 = 133
FAT32: ret: 00005486, offset: 0085
FAT32: entry: 0x5486 = 21638, offset: 0x0086 = 134
FAT32: ret: 00005487, offset: 0086
FAT32: entry: 0x5487 = 21639, offset: 0x0087 = 135
FAT32: ret: 00005488, offset: 0087
FAT32: entry: 0x5488 = 21640, offset: 0x0088 = 136
FAT32: ret: 00005489, offset: 0088
FAT32: entry: 0x5489 = 21641, offset: 0x0089 = 137
FAT32: ret: 0000548a, offset: 0089
FAT32: entry: 0x548a = 21642, offset: 0x008a = 138
FAT32: ret: 0000548b, offset: 008a
FAT32: entry: 0x548b = 21643, offset: 0x008b = 139
FAT32: ret: 0000548c, offset: 008b
FAT32: entry: 0x548c = 21644, offset: 0x008c = 140
FAT32: ret: 0000548d, offset: 008c
FAT32: entry: 0x548d = 21645, offset: 0x008d = 141
FAT32: ret: 0000548e, offset: 008d
FAT32: entry: 0x548e = 21646, offset: 0x008e = 142
FAT32: ret: 0000548f, offset: 008e
FAT32: entry: 0x548f = 21647, offset: 0x008f = 143
FAT32: ret: 00005490, offset: 008f
FAT32: entry: 0x5490 = 21648, offset: 0x0090 = 144
FAT32: ret: 00005491, offset: 0090
FAT32: entry: 0x5491 = 21649, offset: 0x0091 = 145
FAT32: ret: 00005492, offset: 0091
FAT32: entry: 0x5492 = 21650, offset: 0x0092 = 146
FAT32: ret: 00005493, offset: 0092
FAT32: entry: 0x5493 = 21651, offset: 0x0093 = 147
FAT32: ret: 00005494, offset: 0093
FAT32: entry: 0x5494 = 21652, offset: 0x0094 = 148
FAT32: ret: 00005495, offset: 0094
FAT32: entry: 0x5495 = 21653, offset: 0x0095 = 149
FAT32: ret: 00005496, offset: 0095
FAT32: entry: 0x5496 = 21654, offset: 0x0096 = 150
FAT32: ret: 00005497, offset: 0096
FAT32: entry: 0x5497 = 21655, offset: 0x0097 = 151
FAT32: ret: 00005498, offset: 0097
FAT32: entry: 0x5498 = 21656, offset: 0x0098 = 152
FAT32: ret: 00005499, offset: 0098
FAT32: entry: 0x5499 = 21657, offset: 0x0099 = 153
FAT32: ret: 0000549a, offset: 0099
FAT32: entry: 0x549a = 21658, offset: 0x009a = 154
FAT32: ret: 0000549b, offset: 009a
FAT32: entry: 0x549b = 21659, offset: 0x009b = 155
FAT32: ret: 0000549c, offset: 009b
FAT32: entry: 0x549c = 21660, offset: 0x009c = 156
FAT32: ret: 0000549d, offset: 009c
FAT32: entry: 0x549d = 21661, offset: 0x009d = 157
FAT32: ret: 0000549e, offset: 009d
FAT32: entry: 0x549e = 21662, offset: 0x009e = 158
FAT32: ret: 0000549f, offset: 009e
FAT32: entry: 0x549f = 21663, offset: 0x009f = 159
FAT32: ret: 000054a0, offset: 009f
FAT32: entry: 0x54a0 = 21664, offset: 0x00a0 = 160
FAT32: ret: 000054a1, offset: 00a0
FAT32: entry: 0x54a1 = 21665, offset: 0x00a1 = 161
FAT32: ret: 000054a2, offset: 00a1
FAT32: entry: 0x54a2 = 21666, offset: 0x00a2 = 162
FAT32: ret: 000054a3, offset: 00a2
FAT32: entry: 0x54a3 = 21667, offset: 0x00a3 = 163
FAT32: ret: 000054a4, offset: 00a3
FAT32: entry: 0x54a4 = 21668, offset: 0x00a4 = 164
FAT32: ret: 000054a5, offset: 00a4
FAT32: entry: 0x54a5 = 21669, offset: 0x00a5 = 165
FAT32: ret: 000054a6, offset: 00a5
FAT32: entry: 0x54a6 = 21670, offset: 0x00a6 = 166
FAT32: ret: 000054a7, offset: 00a6
FAT32: entry: 0x54a7 = 21671, offset: 0x00a7 = 167
FAT32: ret: 000054a8, offset: 00a7
FAT32: entry: 0x54a8 = 21672, offset: 0x00a8 = 168
FAT32: ret: 000054a9, offset: 00a8
FAT32: entry: 0x54a9 = 21673, offset: 0x00a9 = 169
FAT32: ret: 000054aa, offset: 00a9
FAT32: entry: 0x54aa = 21674, offset: 0x00aa = 170
FAT32: ret: 000054ab, offset: 00aa
FAT32: entry: 0x54ab = 21675, offset: 0x00ab = 171
FAT32: ret: 000054ac, offset: 00ab
FAT32: entry: 0x54ac = 21676, offset: 0x00ac = 172
FAT32: ret: 000054ad, offset: 00ac
FAT32: entry: 0x54ad = 21677, offset: 0x00ad = 173
FAT32: ret: 000054ae, offset: 00ad
FAT32: entry: 0x54ae = 21678, offset: 0x00ae = 174
FAT32: ret: 000054af, offset: 00ae
FAT32: entry: 0x54af = 21679, offset: 0x00af = 175
FAT32: ret: 000054b0, offset: 00af
FAT32: entry: 0x54b0 = 21680, offset: 0x00b0 = 176
FAT32: ret: 000054b1, offset: 00b0
FAT32: entry: 0x54b1 = 21681, offset: 0x00b1 = 177
FAT32: ret: 000054b2, offset: 00b1
FAT32: entry: 0x54b2 = 21682, offset: 0x00b2 = 178
FAT32: ret: 000054b3, offset: 00b2
FAT32: entry: 0x54b3 = 21683, offset: 0x00b3 = 179
FAT32: ret: 000054b4, offset: 00b3
FAT32: entry: 0x54b4 = 21684, offset: 0x00b4 = 180
FAT32: ret: 000054b5, offset: 00b4
FAT32: entry: 0x54b5 = 21685, offset: 0x00b5 = 181
FAT32: ret: 000054b6, offset: 00b5
FAT32: entry: 0x54b6 = 21686, offset: 0x00b6 = 182
FAT32: ret: 000054b7, offset: 00b6
FAT32: entry: 0x54b7 = 21687, offset: 0x00b7 = 183
FAT32: ret: 000054b8, offset: 00b7
FAT32: entry: 0x54b8 = 21688, offset: 0x00b8 = 184
FAT32: ret: 000054b9, offset: 00b8
FAT32: entry: 0x54b9 = 21689, offset: 0x00b9 = 185
FAT32: ret: 000054ba, offset: 00b9
FAT32: entry: 0x54ba = 21690, offset: 0x00ba = 186
FAT32: ret: 000054bb, offset: 00ba
FAT32: entry: 0x54bb = 21691, offset: 0x00bb = 187
FAT32: ret: 000054bc, offset: 00bb
FAT32: entry: 0x54bc = 21692, offset: 0x00bc = 188
FAT32: ret: 000054bd, offset: 00bc
FAT32: entry: 0x54bd = 21693, offset: 0x00bd = 189
FAT32: ret: 000054be, offset: 00bd
FAT32: entry: 0x54be = 21694, offset: 0x00be = 190
FAT32: ret: 000054bf, offset: 00be
FAT32: entry: 0x54bf = 21695, offset: 0x00bf = 191
FAT32: ret: 000054c0, offset: 00bf
FAT32: entry: 0x54c0 = 21696, offset: 0x00c0 = 192
FAT32: ret: 000054c1, offset: 00c0
FAT32: entry: 0x54c1 = 21697, offset: 0x00c1 = 193
FAT32: ret: 000054c2, offset: 00c1
FAT32: entry: 0x54c2 = 21698, offset: 0x00c2 = 194
FAT32: ret: 000054c3, offset: 00c2
FAT32: entry: 0x54c3 = 21699, offset: 0x00c3 = 195
FAT32: ret: 000054c4, offset: 00c3
FAT32: entry: 0x54c4 = 21700, offset: 0x00c4 = 196
FAT32: ret: 000054c5, offset: 00c4
FAT32: entry: 0x54c5 = 21701, offset: 0x00c5 = 197
FAT32: ret: 000054c6, offset: 00c5
FAT32: entry: 0x54c6 = 21702, offset: 0x00c6 = 198
FAT32: ret: 000054c7, offset: 00c6
FAT32: entry: 0x54c7 = 21703, offset: 0x00c7 = 199
FAT32: ret: 000054c8, offset: 00c7
FAT32: entry: 0x54c8 = 21704, offset: 0x00c8 = 200
FAT32: ret: 000054c9, offset: 00c8
FAT32: entry: 0x54c9 = 21705, offset: 0x00c9 = 201
FAT32: ret: 000054ca, offset: 00c9
FAT32: entry: 0x54ca = 21706, offset: 0x00ca = 202
FAT32: ret: 000054cb, offset: 00ca
FAT32: entry: 0x54cb = 21707, offset: 0x00cb = 203
FAT32: ret: 000054cc, offset: 00cb
FAT32: entry: 0x54cc = 21708, offset: 0x00cc = 204
FAT32: ret: 000054cd, offset: 00cc
FAT32: entry: 0x54cd = 21709, offset: 0x00cd = 205
FAT32: ret: 000054ce, offset: 00cd
FAT32: entry: 0x54ce = 21710, offset: 0x00ce = 206
FAT32: ret: 000054cf, offset: 00ce
FAT32: entry: 0x54cf = 21711, offset: 0x00cf = 207
FAT32: ret: 000054d0, offset: 00cf
FAT32: entry: 0x54d0 = 21712, offset: 0x00d0 = 208
FAT32: ret: 000054d1, offset: 00d0
FAT32: entry: 0x54d1 = 21713, offset: 0x00d1 = 209
FAT32: ret: 000054d2, offset: 00d1
FAT32: entry: 0x54d2 = 21714, offset: 0x00d2 = 210
FAT32: ret: 000054d3, offset: 00d2
FAT32: entry: 0x54d3 = 21715, offset: 0x00d3 = 211
FAT32: ret: 000054d4, offset: 00d3
FAT32: entry: 0x54d4 = 21716, offset: 0x00d4 = 212
FAT32: ret: 000054d5, offset: 00d4
FAT32: entry: 0x54d5 = 21717, offset: 0x00d5 = 213
FAT32: ret: 000054d6, offset: 00d5
FAT32: entry: 0x54d6 = 21718, offset: 0x00d6 = 214
FAT32: ret: 000054d7, offset: 00d6
FAT32: entry: 0x54d7 = 21719, offset: 0x00d7 = 215
FAT32: ret: 000054d8, offset: 00d7
FAT32: entry: 0x54d8 = 21720, offset: 0x00d8 = 216
FAT32: ret: 000054d9, offset: 00d8
FAT32: entry: 0x54d9 = 21721, offset: 0x00d9 = 217
FAT32: ret: 000054da, offset: 00d9
FAT32: entry: 0x54da = 21722, offset: 0x00da = 218
FAT32: ret: 000054db, offset: 00da
FAT32: entry: 0x54db = 21723, offset: 0x00db = 219
FAT32: ret: 000054dc, offset: 00db
FAT32: entry: 0x54dc = 21724, offset: 0x00dc = 220
FAT32: ret: 000054dd, offset: 00dc
FAT32: entry: 0x54dd = 21725, offset: 0x00dd = 221
FAT32: ret: 000054de, offset: 00dd
FAT32: entry: 0x54de = 21726, offset: 0x00de = 222
FAT32: ret: 000054df, offset: 00de
FAT32: entry: 0x54df = 21727, offset: 0x00df = 223
FAT32: ret: 000054e0, offset: 00df
FAT32: entry: 0x54e0 = 21728, offset: 0x00e0 = 224
FAT32: ret: 000054e1, offset: 00e0
FAT32: entry: 0x54e1 = 21729, offset: 0x00e1 = 225
FAT32: ret: 000054e2, offset: 00e1
FAT32: entry: 0x54e2 = 21730, offset: 0x00e2 = 226
FAT32: ret: 000054e3, offset: 00e2
FAT32: entry: 0x54e3 = 21731, offset: 0x00e3 = 227
FAT32: ret: 000054e4, offset: 00e3
FAT32: entry: 0x54e4 = 21732, offset: 0x00e4 = 228
FAT32: ret: 000054e5, offset: 00e4
FAT32: entry: 0x54e5 = 21733, offset: 0x00e5 = 229
FAT32: ret: 000054e6, offset: 00e5
FAT32: entry: 0x54e6 = 21734, offset: 0x00e6 = 230
FAT32: ret: 000054e7, offset: 00e6
FAT32: entry: 0x54e7 = 21735, offset: 0x00e7 = 231
FAT32: ret: 000054e8, offset: 00e7
FAT32: entry: 0x54e8 = 21736, offset: 0x00e8 = 232
FAT32: ret: 000054e9, offset: 00e8
FAT32: entry: 0x54e9 = 21737, offset: 0x00e9 = 233
FAT32: ret: 000054ea, offset: 00e9
FAT32: entry: 0x54ea = 21738, offset: 0x00ea = 234
FAT32: ret: 000054eb, offset: 00ea
FAT32: entry: 0x54eb = 21739, offset: 0x00eb = 235
FAT32: ret: 000054ec, offset: 00eb
FAT32: entry: 0x54ec = 21740, offset: 0x00ec = 236
FAT32: ret: 000054ed, offset: 00ec
FAT32: entry: 0x54ed = 21741, offset: 0x00ed = 237
FAT32: ret: 000054ee, offset: 00ed
FAT32: entry: 0x54ee = 21742, offset: 0x00ee = 238
FAT32: ret: 000054ef, offset: 00ee
FAT32: entry: 0x54ef = 21743, offset: 0x00ef = 239
FAT32: ret: 000054f0, offset: 00ef
FAT32: entry: 0x54f0 = 21744, offset: 0x00f0 = 240
FAT32: ret: 000054f1, offset: 00f0
FAT32: entry: 0x54f1 = 21745, offset: 0x00f1 = 241
FAT32: ret: 000054f2, offset: 00f1
FAT32: entry: 0x54f2 = 21746, offset: 0x00f2 = 242
FAT32: ret: 000054f3, offset: 00f2
FAT32: entry: 0x54f3 = 21747, offset: 0x00f3 = 243
FAT32: ret: 000054f4, offset: 00f3
FAT32: entry: 0x54f4 = 21748, offset: 0x00f4 = 244
FAT32: ret: 000054f5, offset: 00f4
FAT32: entry: 0x54f5 = 21749, offset: 0x00f5 = 245
FAT32: ret: 000054f6, offset: 00f5
FAT32: entry: 0x54f6 = 21750, offset: 0x00f6 = 246
FAT32: ret: 000054f7, offset: 00f6
FAT32: entry: 0x54f7 = 21751, offset: 0x00f7 = 247
FAT32: ret: 000054f8, offset: 00f7
FAT32: entry: 0x54f8 = 21752, offset: 0x00f8 = 248
FAT32: ret: 000054f9, offset: 00f8
FAT32: entry: 0x54f9 = 21753, offset: 0x00f9 = 249
FAT32: ret: 000054fa, offset: 00f9
FAT32: entry: 0x54fa = 21754, offset: 0x00fa = 250
FAT32: ret: 000054fb, offset: 00fa
FAT32: entry: 0x54fb = 21755, offset: 0x00fb = 251
FAT32: ret: 000054fc, offset: 00fb
FAT32: entry: 0x54fc = 21756, offset: 0x00fc = 252
FAT32: ret: 000054fd, offset: 00fc
FAT32: entry: 0x54fd = 21757, offset: 0x00fd = 253
FAT32: ret: 000054fe, offset: 00fd
FAT32: entry: 0x54fe = 21758, offset: 0x00fe = 254
FAT32: ret: 000054ff, offset: 00fe
FAT32: entry: 0x54ff = 21759, offset: 0x00ff = 255
FAT32: ret: 00005500, offset: 00ff
FAT32: entry: 0x5500 = 21760, offset: 0x0100 = 256
FAT32: ret: 00005501, offset: 0100
FAT32: entry: 0x5501 = 21761, offset: 0x0101 = 257
FAT32: ret: 00005502, offset: 0101
FAT32: entry: 0x5502 = 21762, offset: 0x0102 = 258
FAT32: ret: 00005503, offset: 0102
FAT32: entry: 0x5503 = 21763, offset: 0x0103 = 259
FAT32: ret: 00005504, offset: 0103
FAT32: entry: 0x5504 = 21764, offset: 0x0104 = 260
FAT32: ret: 00005505, offset: 0104
FAT32: entry: 0x5505 = 21765, offset: 0x0105 = 261
FAT32: ret: 00005506, offset: 0105
FAT32: entry: 0x5506 = 21766, offset: 0x0106 = 262
FAT32: ret: 00005507, offset: 0106
FAT32: entry: 0x5507 = 21767, offset: 0x0107 = 263
FAT32: ret: 00005508, offset: 0107
FAT32: entry: 0x5508 = 21768, offset: 0x0108 = 264
FAT32: ret: 00005509, offset: 0108
FAT32: entry: 0x5509 = 21769, offset: 0x0109 = 265
FAT32: ret: 0000550a, offset: 0109
FAT32: entry: 0x550a = 21770, offset: 0x010a = 266
FAT32: ret: 0000550b, offset: 010a
FAT32: entry: 0x550b = 21771, offset: 0x010b = 267
FAT32: ret: 0000550c, offset: 010b
FAT32: entry: 0x550c = 21772, offset: 0x010c = 268
FAT32: ret: 0000550d, offset: 010c
FAT32: entry: 0x550d = 21773, offset: 0x010d = 269
FAT32: ret: 0000550e, offset: 010d
FAT32: entry: 0x550e = 21774, offset: 0x010e = 270
FAT32: ret: 0000550f, offset: 010e
FAT32: entry: 0x550f = 21775, offset: 0x010f = 271
FAT32: ret: 00005510, offset: 010f
FAT32: entry: 0x5510 = 21776, offset: 0x0110 = 272
FAT32: ret: 00005511, offset: 0110
FAT32: entry: 0x5511 = 21777, offset: 0x0111 = 273
FAT32: ret: 00005512, offset: 0111
FAT32: entry: 0x5512 = 21778, offset: 0x0112 = 274
FAT32: ret: 00005513, offset: 0112
FAT32: entry: 0x5513 = 21779, offset: 0x0113 = 275
FAT32: ret: 00005514, offset: 0113
FAT32: entry: 0x5514 = 21780, offset: 0x0114 = 276
FAT32: ret: 00005515, offset: 0114
FAT32: entry: 0x5515 = 21781, offset: 0x0115 = 277
FAT32: ret: 00005516, offset: 0115
FAT32: entry: 0x5516 = 21782, offset: 0x0116 = 278
FAT32: ret: 00005517, offset: 0116
FAT32: entry: 0x5517 = 21783, offset: 0x0117 = 279
FAT32: ret: 00005518, offset: 0117
FAT32: entry: 0x5518 = 21784, offset: 0x0118 = 280
FAT32: ret: 00005519, offset: 0118
FAT32: entry: 0x5519 = 21785, offset: 0x0119 = 281
FAT32: ret: 0000551a, offset: 0119
FAT32: entry: 0x551a = 21786, offset: 0x011a = 282
FAT32: ret: 0000551b, offset: 011a
FAT32: entry: 0x551b = 21787, offset: 0x011b = 283
FAT32: ret: 0000551c, offset: 011b
FAT32: entry: 0x551c = 21788, offset: 0x011c = 284
FAT32: ret: 0000551d, offset: 011c
FAT32: entry: 0x551d = 21789, offset: 0x011d = 285
FAT32: ret: 0000551e, offset: 011d
FAT32: entry: 0x551e = 21790, offset: 0x011e = 286
FAT32: ret: 0000551f, offset: 011e
FAT32: entry: 0x551f = 21791, offset: 0x011f = 287
FAT32: ret: 00005520, offset: 011f
FAT32: entry: 0x5520 = 21792, offset: 0x0120 = 288
FAT32: ret: 00005521, offset: 0120
FAT32: entry: 0x5521 = 21793, offset: 0x0121 = 289
FAT32: ret: 00005522, offset: 0121
FAT32: entry: 0x5522 = 21794, offset: 0x0122 = 290
FAT32: ret: 00005523, offset: 0122
FAT32: entry: 0x5523 = 21795, offset: 0x0123 = 291
FAT32: ret: 00005524, offset: 0123
FAT32: entry: 0x5524 = 21796, offset: 0x0124 = 292
FAT32: ret: 00005525, offset: 0124
FAT32: entry: 0x5525 = 21797, offset: 0x0125 = 293
FAT32: ret: 00005526, offset: 0125
FAT32: entry: 0x5526 = 21798, offset: 0x0126 = 294
FAT32: ret: 00005527, offset: 0126
FAT32: entry: 0x5527 = 21799, offset: 0x0127 = 295
FAT32: ret: 00005528, offset: 0127
FAT32: entry: 0x5528 = 21800, offset: 0x0128 = 296
FAT32: ret: 00005529, offset: 0128
FAT32: entry: 0x5529 = 21801, offset: 0x0129 = 297
FAT32: ret: 0000552a, offset: 0129
FAT32: entry: 0x552a = 21802, offset: 0x012a = 298
FAT32: ret: 0000552b, offset: 012a
FAT32: entry: 0x552b = 21803, offset: 0x012b = 299
FAT32: ret: 0000552c, offset: 012b
FAT32: entry: 0x552c = 21804, offset: 0x012c = 300
FAT32: ret: 0000552d, offset: 012c
FAT32: entry: 0x552d = 21805, offset: 0x012d = 301
FAT32: ret: 0000552e, offset: 012d
FAT32: entry: 0x552e = 21806, offset: 0x012e = 302
FAT32: ret: 0000552f, offset: 012e
FAT32: entry: 0x552f = 21807, offset: 0x012f = 303
FAT32: ret: 00005530, offset: 012f
FAT32: entry: 0x5530 = 21808, offset: 0x0130 = 304
FAT32: ret: 00005531, offset: 0130
FAT32: entry: 0x5531 = 21809, offset: 0x0131 = 305
FAT32: ret: 00005532, offset: 0131
FAT32: entry: 0x5532 = 21810, offset: 0x0132 = 306
FAT32: ret: 00005533, offset: 0132
FAT32: entry: 0x5533 = 21811, offset: 0x0133 = 307
FAT32: ret: 00005534, offset: 0133
FAT32: entry: 0x5534 = 21812, offset: 0x0134 = 308
FAT32: ret: 00005535, offset: 0134
FAT32: entry: 0x5535 = 21813, offset: 0x0135 = 309
FAT32: ret: 00005536, offset: 0135
FAT32: entry: 0x5536 = 21814, offset: 0x0136 = 310
FAT32: ret: 00005537, offset: 0136
FAT32: entry: 0x5537 = 21815, offset: 0x0137 = 311
FAT32: ret: 00005538, offset: 0137
FAT32: entry: 0x5538 = 21816, offset: 0x0138 = 312
FAT32: ret: 00005539, offset: 0138
FAT32: entry: 0x5539 = 21817, offset: 0x0139 = 313
FAT32: ret: 0000553a, offset: 0139
FAT32: entry: 0x553a = 21818, offset: 0x013a = 314
FAT32: ret: 0000553b, offset: 013a
FAT32: entry: 0x553b = 21819, offset: 0x013b = 315
FAT32: ret: 0000553c, offset: 013b
FAT32: entry: 0x553c = 21820, offset: 0x013c = 316
FAT32: ret: 0000553d, offset: 013c
FAT32: entry: 0x553d = 21821, offset: 0x013d = 317
FAT32: ret: 0000553e, offset: 013d
FAT32: entry: 0x553e = 21822, offset: 0x013e = 318
FAT32: ret: 0000553f, offset: 013e
FAT32: entry: 0x553f = 21823, offset: 0x013f = 319
FAT32: ret: 00005540, offset: 013f
FAT32: entry: 0x5540 = 21824, offset: 0x0140 = 320
FAT32: ret: 00005541, offset: 0140
FAT32: entry: 0x5541 = 21825, offset: 0x0141 = 321
FAT32: ret: 00005542, offset: 0141
FAT32: entry: 0x5542 = 21826, offset: 0x0142 = 322
FAT32: ret: 00005543, offset: 0142
FAT32: entry: 0x5543 = 21827, offset: 0x0143 = 323
FAT32: ret: 00005544, offset: 0143
FAT32: entry: 0x5544 = 21828, offset: 0x0144 = 324
FAT32: ret: 00005545, offset: 0144
FAT32: entry: 0x5545 = 21829, offset: 0x0145 = 325
FAT32: ret: 00005546, offset: 0145
FAT32: entry: 0x5546 = 21830, offset: 0x0146 = 326
FAT32: ret: 00005547, offset: 0146
FAT32: entry: 0x5547 = 21831, offset: 0x0147 = 327
FAT32: ret: 00005548, offset: 0147
FAT32: entry: 0x5548 = 21832, offset: 0x0148 = 328
FAT32: ret: 00005549, offset: 0148
FAT32: entry: 0x5549 = 21833, offset: 0x0149 = 329
FAT32: ret: 0000554a, offset: 0149
FAT32: entry: 0x554a = 21834, offset: 0x014a = 330
FAT32: ret: 0000554b, offset: 014a
FAT32: entry: 0x554b = 21835, offset: 0x014b = 331
FAT32: ret: 0000554c, offset: 014b
FAT32: entry: 0x554c = 21836, offset: 0x014c = 332
FAT32: ret: 0000554d, offset: 014c
FAT32: entry: 0x554d = 21837, offset: 0x014d = 333
FAT32: ret: 0000554e, offset: 014d
FAT32: entry: 0x554e = 21838, offset: 0x014e = 334
FAT32: ret: 0000554f, offset: 014e
FAT32: entry: 0x554f = 21839, offset: 0x014f = 335
FAT32: ret: 00005550, offset: 014f
FAT32: entry: 0x5550 = 21840, offset: 0x0150 = 336
FAT32: ret: 00005551, offset: 0150
FAT32: entry: 0x5551 = 21841, offset: 0x0151 = 337
FAT32: ret: 00005552, offset: 0151
FAT32: entry: 0x5552 = 21842, offset: 0x0152 = 338
FAT32: ret: 00005553, offset: 0152
FAT32: entry: 0x5553 = 21843, offset: 0x0153 = 339
FAT32: ret: 00005554, offset: 0153
FAT32: entry: 0x5554 = 21844, offset: 0x0154 = 340
FAT32: ret: 00005555, offset: 0154
FAT32: entry: 0x5555 = 21845, offset: 0x0155 = 341
FAT32: ret: 00005556, offset: 0155
FAT32: entry: 0x5556 = 21846, offset: 0x0156 = 342
FAT32: ret: 00005557, offset: 0156
FAT32: entry: 0x5557 = 21847, offset: 0x0157 = 343
FAT32: ret: 00005558, offset: 0157
FAT32: entry: 0x5558 = 21848, offset: 0x0158 = 344
FAT32: ret: 00005559, offset: 0158
FAT32: entry: 0x5559 = 21849, offset: 0x0159 = 345
FAT32: ret: 0000555a, offset: 0159
FAT32: entry: 0x555a = 21850, offset: 0x015a = 346
FAT32: ret: 0000555b, offset: 015a
FAT32: entry: 0x555b = 21851, offset: 0x015b = 347
FAT32: ret: 0000555c, offset: 015b
FAT32: entry: 0x555c = 21852, offset: 0x015c = 348
FAT32: ret: 0000555d, offset: 015c
FAT32: entry: 0x555d = 21853, offset: 0x015d = 349
FAT32: ret: 0000555e, offset: 015d
FAT32: entry: 0x555e = 21854, offset: 0x015e = 350
FAT32: ret: 0000555f, offset: 015e
FAT32: entry: 0x555f = 21855, offset: 0x015f = 351
FAT32: ret: 00005560, offset: 015f
FAT32: entry: 0x5560 = 21856, offset: 0x0160 = 352
FAT32: ret: 00005561, offset: 0160
FAT32: entry: 0x5561 = 21857, offset: 0x0161 = 353
FAT32: ret: 00005562, offset: 0161
FAT32: entry: 0x5562 = 21858, offset: 0x0162 = 354
FAT32: ret: 00005563, offset: 0162
FAT32: entry: 0x5563 = 21859, offset: 0x0163 = 355
FAT32: ret: 00005564, offset: 0163
FAT32: entry: 0x5564 = 21860, offset: 0x0164 = 356
FAT32: ret: 00005565, offset: 0164
FAT32: entry: 0x5565 = 21861, offset: 0x0165 = 357
FAT32: ret: 00005566, offset: 0165
FAT32: entry: 0x5566 = 21862, offset: 0x0166 = 358
FAT32: ret: 00005567, offset: 0166
FAT32: entry: 0x5567 = 21863, offset: 0x0167 = 359
FAT32: ret: 00005568, offset: 0167
FAT32: entry: 0x5568 = 21864, offset: 0x0168 = 360
FAT32: ret: 00005569, offset: 0168
FAT32: entry: 0x5569 = 21865, offset: 0x0169 = 361
FAT32: ret: 0000556a, offset: 0169
FAT32: entry: 0x556a = 21866, offset: 0x016a = 362
FAT32: ret: 0000556b, offset: 016a
FAT32: entry: 0x556b = 21867, offset: 0x016b = 363
FAT32: ret: 0000556c, offset: 016b
FAT32: entry: 0x556c = 21868, offset: 0x016c = 364
FAT32: ret: 0000556d, offset: 016c
FAT32: entry: 0x556d = 21869, offset: 0x016d = 365
FAT32: ret: 0000556e, offset: 016d
FAT32: entry: 0x556e = 21870, offset: 0x016e = 366
FAT32: ret: 0000556f, offset: 016e
FAT32: entry: 0x556f = 21871, offset: 0x016f = 367
FAT32: ret: 00005570, offset: 016f
FAT32: entry: 0x5570 = 21872, offset: 0x0170 = 368
FAT32: ret: 00005571, offset: 0170
FAT32: entry: 0x5571 = 21873, offset: 0x0171 = 369
FAT32: ret: 00005572, offset: 0171
FAT32: entry: 0x5572 = 21874, offset: 0x0172 = 370
FAT32: ret: 00005573, offset: 0172
FAT32: entry: 0x5573 = 21875, offset: 0x0173 = 371
FAT32: ret: 00005574, offset: 0173
FAT32: entry: 0x5574 = 21876, offset: 0x0174 = 372
FAT32: ret: 00005575, offset: 0174
FAT32: entry: 0x5575 = 21877, offset: 0x0175 = 373
FAT32: ret: 00005576, offset: 0175
FAT32: entry: 0x5576 = 21878, offset: 0x0176 = 374
FAT32: ret: 00005577, offset: 0176
FAT32: entry: 0x5577 = 21879, offset: 0x0177 = 375
FAT32: ret: 00005578, offset: 0177
FAT32: entry: 0x5578 = 21880, offset: 0x0178 = 376
FAT32: ret: 00005579, offset: 0178
FAT32: entry: 0x5579 = 21881, offset: 0x0179 = 377
FAT32: ret: 0000557a, offset: 0179
FAT32: entry: 0x557a = 21882, offset: 0x017a = 378
FAT32: ret: 0000557b, offset: 017a
FAT32: entry: 0x557b = 21883, offset: 0x017b = 379
FAT32: ret: 0000557c, offset: 017b
FAT32: entry: 0x557c = 21884, offset: 0x017c = 380
FAT32: ret: 0000557d, offset: 017c
FAT32: entry: 0x557d = 21885, offset: 0x017d = 381
FAT32: ret: 0000557e, offset: 017d
FAT32: entry: 0x557e = 21886, offset: 0x017e = 382
FAT32: ret: 0000557f, offset: 017e
FAT32: entry: 0x557f = 21887, offset: 0x017f = 383
FAT32: ret: 00005580, offset: 017f
FAT32: entry: 0x5580 = 21888, offset: 0x0180 = 384
FAT32: ret: 00005581, offset: 0180
FAT32: entry: 0x5581 = 21889, offset: 0x0181 = 385
FAT32: ret: 00005582, offset: 0181
FAT32: entry: 0x5582 = 21890, offset: 0x0182 = 386
FAT32: ret: 00005583, offset: 0182
FAT32: entry: 0x5583 = 21891, offset: 0x0183 = 387
FAT32: ret: 00005584, offset: 0183
FAT32: entry: 0x5584 = 21892, offset: 0x0184 = 388
FAT32: ret: 00005585, offset: 0184
FAT32: entry: 0x5585 = 21893, offset: 0x0185 = 389
FAT32: ret: 00005586, offset: 0185
FAT32: entry: 0x5586 = 21894, offset: 0x0186 = 390
FAT32: ret: 00005587, offset: 0186
FAT32: entry: 0x5587 = 21895, offset: 0x0187 = 391
FAT32: ret: 00005588, offset: 0187
FAT32: entry: 0x5588 = 21896, offset: 0x0188 = 392
FAT32: ret: 00005589, offset: 0188
FAT32: entry: 0x5589 = 21897, offset: 0x0189 = 393
FAT32: ret: 0000558a, offset: 0189
FAT32: entry: 0x558a = 21898, offset: 0x018a = 394
FAT32: ret: 0000558b, offset: 018a
FAT32: entry: 0x558b = 21899, offset: 0x018b = 395
FAT32: ret: 0000558c, offset: 018b
FAT32: entry: 0x558c = 21900, offset: 0x018c = 396
FAT32: ret: 0000558d, offset: 018c
FAT32: entry: 0x558d = 21901, offset: 0x018d = 397
FAT32: ret: 0000558e, offset: 018d
FAT32: entry: 0x558e = 21902, offset: 0x018e = 398
FAT32: ret: 0000558f, offset: 018e
FAT32: entry: 0x558f = 21903, offset: 0x018f = 399
FAT32: ret: 00005590, offset: 018f
FAT32: entry: 0x5590 = 21904, offset: 0x0190 = 400
FAT32: ret: 00005591, offset: 0190
FAT32: entry: 0x5591 = 21905, offset: 0x0191 = 401
FAT32: ret: 00005592, offset: 0191
FAT32: entry: 0x5592 = 21906, offset: 0x0192 = 402
FAT32: ret: 00005593, offset: 0192
FAT32: entry: 0x5593 = 21907, offset: 0x0193 = 403
FAT32: ret: 00005594, offset: 0193
FAT32: entry: 0x5594 = 21908, offset: 0x0194 = 404
FAT32: ret: 00005595, offset: 0194
FAT32: entry: 0x5595 = 21909, offset: 0x0195 = 405
FAT32: ret: 00005596, offset: 0195
FAT32: entry: 0x5596 = 21910, offset: 0x0196 = 406
FAT32: ret: 00005597, offset: 0196
FAT32: entry: 0x5597 = 21911, offset: 0x0197 = 407
FAT32: ret: 00005598, offset: 0197
FAT32: entry: 0x5598 = 21912, offset: 0x0198 = 408
FAT32: ret: 00005599, offset: 0198
FAT32: entry: 0x5599 = 21913, offset: 0x0199 = 409
FAT32: ret: 0000559a, offset: 0199
FAT32: entry: 0x559a = 21914, offset: 0x019a = 410
FAT32: ret: 0000559b, offset: 019a
FAT32: entry: 0x559b = 21915, offset: 0x019b = 411
FAT32: ret: 0000559c, offset: 019b
FAT32: entry: 0x559c = 21916, offset: 0x019c = 412
FAT32: ret: 0000559d, offset: 019c
FAT32: entry: 0x559d = 21917, offset: 0x019d = 413
FAT32: ret: 0000559e, offset: 019d
FAT32: entry: 0x559e = 21918, offset: 0x019e = 414
FAT32: ret: 0000559f, offset: 019e
FAT32: entry: 0x559f = 21919, offset: 0x019f = 415
FAT32: ret: 000055a0, offset: 019f
FAT32: entry: 0x55a0 = 21920, offset: 0x01a0 = 416
FAT32: ret: 000055a1, offset: 01a0
FAT32: entry: 0x55a1 = 21921, offset: 0x01a1 = 417
FAT32: ret: 000055a2, offset: 01a1
FAT32: entry: 0x55a2 = 21922, offset: 0x01a2 = 418
FAT32: ret: 000055a3, offset: 01a2
gc - clustnum: 21392, startsect: 23646
Size: 271996, got: 271996
Jumping to U-Boot
image entry point: 0x80800000

  • I should add that I'm using the AM3352 board with mDDR at 125MHz.

    Regards

    Santhosh

  • Hi Santosh,

    This may have something to do with DDR configuration. Please make sure that the DDR is configured correctly and you are using the correct EMIF data in the s_init() function inside <u-boot>/board/ti/am335x/board.c.

    Best regards,
    Miroslav

  • Hello Miroslav,

    I have gone through ddr_defs.h, ddr.c and emif4.c and made all the correct modifications. One of the issues was that the DDR_IO_CTRL is not set for mDDR in the config_ddr function - I have added that too.

    The old U-boot does seems to work fine on my board - apart from DDR settings are there any other settings that I'm missing.

    I've attached the ddr_defs.h, <myboard>.h, board.c, and emif4.c files for you reference. Please let me know if you have any inputs/thoughts on this.

    Thank you

    Regards

    - Santhosh

    Myboard.h (located at include/configs)

    5226.aa_hcc.h

     

    board.c (located at board/ti/<myconfig>)

    /*
     * board.c
     *
     * Board functions for TI AM335X based boards
     *
     * Copyright (C) 2011, Texas Instruments, Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or
     * modify it under the terms of the GNU General Public License as
     * published by the Free Software Foundation; either version 2 of
     * the License, or (at your option) any later version.
     *
     * This program is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR /PURPOSE.  See the
     * GNU General Public License for more details.
     */
    
    #include <common.h>
    #include <errno.h>
    #include <spl.h>
    #include <asm/arch/cpu.h>
    #include <asm/arch/hardware.h>
    #include <asm/arch/omap.h>
    #include <asm/arch/ddr_defs.h>
    #include <asm/arch/clock.h>
    #include <asm/arch/gpio.h>
    #include <asm/arch/mmc_host_def.h>
    #include <asm/arch/sys_proto.h>
    #include <asm/io.h>
    #include <asm/emif.h>
    #include <asm/gpio.h>
    #include <i2c.h>
    #include <miiphy.h>
    #include <cpsw.h>
    #include "board.h"
    #include "pmic.h"
    #include "tps65217.h"
    
    DECLARE_GLOBAL_DATA_PTR;
    
    
    /* MII mode defines */
    #define MII_MODE_ENABLE		0x0
    
    
    /* UART Defines */
    #define UART_RESET				(0x1 << 1)
    #define UART_CLK_RUNNING_MASK	(0x1)
    #define UART_SMART_IDLE_EN		(0x1 << 0x3)
    
    
    #if defined(CONFIG_SPL_BUILD) || (CONFIG_NOR_BOOT)
    static struct uart_sys *uart_base = (struct uart_sys *)DEFAULT_UART_BASE;
    #endif
    
    
    
    
    
    /* */
    #if defined(CONFIG_SPL_BUILD) || defined(CONFIG_NOR_BOOT)
    /**
     * tps65217_reg_read() - Generic function that can read a TPS65217 register
     * @src_reg:          Source register address
     * @src_val:          Address of destination variable
     */
    
    unsigned char tps65217_reg_read(uchar src_reg, uchar *src_val)
    {
            if (i2c_read(TPS65217_CHIP_PM, src_reg, 1, src_val, 1))
                    return 1;
            return 0;
    }
    
    /**
     *  tps65217_reg_write() - Generic function that can write a TPS65217 PMIC
     *                         register or bit field regardless of protection
     *                         level.
     *
     *  @prot_level:        Register password protection.
     *                      use PROT_LEVEL_NONE, PROT_LEVEL_1, or PROT_LEVEL_2
     *  @dest_reg:          Register address to write.
     *  @dest_val:          Value to write.
     *  @mask:              Bit mask (8 bits) to be applied.  Function will only
     *                      change bits that are set in the bit mask.
     *
     *  @return:            0 for success, 1 for failure.
     */
    int tps65217_reg_write(uchar prot_level, uchar dest_reg,
            uchar dest_val, uchar mask)
    {
            uchar read_val;
            uchar xor_reg;
    
            /* if we are affecting only a bit field, read dest_reg and apply the mask */
            if (mask != MASK_ALL_BITS) 
            {
    			if (i2c_read(TPS65217_CHIP_PM, dest_reg, 1, &read_val, 1))
    			{
    				return 1;
    			}                        
    			
    			read_val &= (~mask);
    			read_val |= (dest_val & mask);
    			dest_val = read_val;
            }
    
            if (prot_level > 0) {
                    xor_reg = dest_reg ^ PASSWORD_UNLOCK;
                    if (i2c_write(TPS65217_CHIP_PM, PASSWORD, 1, &xor_reg, 1))
                            return 1;
            }
    
            if (i2c_write(TPS65217_CHIP_PM, dest_reg, 1, &dest_val, 1))
                    return 1;
    
            if (prot_level == PROT_LEVEL_2) {
                    if (i2c_write(TPS65217_CHIP_PM, PASSWORD, 1, &xor_reg, 1))
                            return 1;
    
                    if (i2c_write(TPS65217_CHIP_PM, dest_reg, 1, &dest_val, 1))
                            return 1;
            }
    
            return 0;
    }
    
    
    
    void am33xx_spl_board_init(void)
    {
    	uchar pmic_status_reg;
    	uchar pmic_voltage_reg[6];
    	int RetVal = 0;
    
    	debug("\n\t*** SR: Entering %s ***\n", __func__);
    	
    	/* TPS65217 PMIC Code */
    	/*
    	 * The following steps are carried out...
    	 * 	Probe the TPS65217
    	 *	Read the status register - just a normal read
    	 *	Disable the USB supply input
    	 *	Set LS1 to be an LDO instead of load switch
    	 *	Turn off any regulators not used (check schematic)
    	 *	Read all the used voltages and make sure they are at the desired level
    	 */
    	
    	if (i2c_probe(TPS65217_CHIP_PM))					/* Probe the IC (also initializes the I2C peripheral) */
    	{
    		goto TPS65217_Error;
    	}
    
    	if (tps65217_reg_read(STATUS, &pmic_status_reg))	/* Read the statu register - just to see if we can read */
    	{
    		goto TPS65217_Error;
    	}
    	
    	/* Disable the USB and AC supply input */
    	if (tps65217_reg_write( PROT_LEVEL_NONE,			/* POWER_PATH doesn't need protection */		
    							POWER_PATH,
    							(USB_DISABLE /*| AC_DISABLE*/),			/* Disable USB and AC power path */
    							(USB_INPUT_MASK /*| AC_INPUT_MASK*/)))	/* Change the USB_EN and AC_EN bit only */
    	{
    		goto TPS65217_Error;
    	}
    	
    	/* Set LS1 as LD03 and set the output to be 1.8V */
    	if (tps65217_reg_write(	PROT_LEVEL_2,				/* DEFLS1 needs protection level 2 */		
    							DEFLS1,						
    			       			SET_LDO3_1800MV,			/* Set it as LDO3 with 1.8V */
    							MASK_ALL_BITS))				/* We are writing the entire value */
    	{
    		goto TPS65217_Error;
    	}	
    							
    	/* Disable LS2 output */
    	if (tps65217_reg_write(	PROT_LEVEL_1,				/* ENABLE needs protection level 1 */			
    							ENABLE,					
    			       			LS2_DISABLE,				/* Disable LS2/LDO4 output */
    							LS2_EN_MASK))				/* Change the LS2_EN bit only */
    	{
    		goto TPS65217_Error;
    	}
    	
    	/* Read the PMIC voltage outputs - the defaults should be good */
    	RetVal += tps65217_reg_read(DEFDCDC1, &pmic_voltage_reg[0]); 
    	RetVal += tps65217_reg_read(DEFDCDC2, &pmic_voltage_reg[1]);
    	RetVal += tps65217_reg_read(DEFDCDC3, &pmic_voltage_reg[2]);
    	RetVal += tps65217_reg_read(DEFLDO1, &pmic_voltage_reg[3]);
    	RetVal += tps65217_reg_read(DEFLDO2, &pmic_voltage_reg[4]);
    	RetVal += tps65217_reg_read(DEFLS1, &pmic_voltage_reg[5]);
    	
    	if(RetVal != 0)
    	{
    		goto TPS65217_Error;
    	}
    	else
    	{
    		if(	(pmic_voltage_reg[0] == DCDC_VOLT_SEL_1800MV) &&		/* DCDC1 - 1.8V */	
    			(pmic_voltage_reg[1] == DCDC_VOLT_SEL_3300MV) &&		/* DCDC2 - 3.3V */
    			(pmic_voltage_reg[2] == DCDC_VOLT_SEL_1100MV) &&		/* DCDC3 - 1.1V */
    			(pmic_voltage_reg[3] == LDO_VOLT_SEL_1800MV) &&			/* LDO1 - 1.8V */
    			(pmic_voltage_reg[4] == LDO_VOLT_SEL_3300MV) &&			/* LDO2 - 3.3V */
    			(pmic_voltage_reg[5] == LS_A_VOLT_1800MV_MASK) )		/* LDO3 - 1.8V */
    		{
    			debug("\t*** SR: DCDC1 - 1.8V ***\n");
    			debug("\t*** SR: DCDC2 - 3.3V ***\n");
    			debug("\t*** SR: DCDC3 - 1.1V ***\n");
    			debug("\t*** SR: LDO1  - 1.8V ***\n");
    			debug("\t*** SR: LDO2  - 3.3V ***\n");	
    			debug("\t*** SR: LDO3  - 1.8V ***\n");
    		}
    		else
    		{
    			printf("\nDEFDCDC1 - 0x%02X ***\n", pmic_voltage_reg[0]);
    			printf("DEFDCDC2 - 0x%02X ***\n", pmic_voltage_reg[1]);
    			printf("DEFDCDC3 - 0x%02X ***\n", pmic_voltage_reg[2]);
    			printf("DEFLDO1 - 0x%02X ***\n", pmic_voltage_reg[3]);
    			printf("DEFLDO2 - 0x%02X ***\n", pmic_voltage_reg[4]);	
    			printf("DEFLS1 - 0x%02X ***\n", pmic_voltage_reg[5]);
    			printf("\n\t*** TPS65217 incorrect voltages - please reset the board.\n");
    		}
    	}
    	
    	debug("\t*** SR: Leaving %s ***\n\n", __func__);
    	
    	/* 
    	 * When we initialized the plls, we have already set the CPU and OPP
    	 * to the max levels possible for the package and speed grade
    	 * So nothing more to do...
    	 */	
    	return;						
    	
    TPS65217_Error:
    	puts("\n\t*** TPS65217 communication failure - please reset the board.\n");
    }
    
    
    
    static void rtc32k_enable(void)
    {
    	struct rtc_regs *rtc = (struct rtc_regs *)AM335X_RTC_BASE;
    
    	/*
    	 * Unlock the RTC's registers.  For more details please see the
    	 * RTC_SS section of the TRM.  In order to unlock we need to
    	 * write these specific values (keys) in this order.
    	 */
    	writel(0x83e70b13, &rtc->kick0r);
    	writel(0x95a4f1e0, &rtc->kick1r);
    
    	/* Enable the RTC 32K OSC by setting bits 3 and 6. */
    	writel((1 << 3) | (1 << 6), &rtc->osc);
    }
    
    
    
    static const struct ddr_data mddr_data = {
    	.datardsratio0 = (	(IS43LR16640A_RD_DQS<<30) |
    			  			(IS43LR16640A_RD_DQS<<20) |
    			  			(IS43LR16640A_RD_DQS<<10) |
    			  			(IS43LR16640A_RD_DQS<<0)),
    			  			
    	.datawdsratio0 = (	(IS43LR16640A_WR_DQS<<30) |
    			  			(IS43LR16640A_WR_DQS<<20) |
    			  			(IS43LR16640A_WR_DQS<<10) |
    			  			(IS43LR16640A_WR_DQS<<0)),
    			  			
    	.datawiratio0 = (	(IS43LR16640A_PHY_WRLVL<<30) |
    			 			(IS43LR16640A_PHY_WRLVL<<20) |
    			 			(IS43LR16640A_PHY_WRLVL<<10) |
    			 			(IS43LR16640A_PHY_WRLVL<<0)),
    			 
    	.datagiratio0 = (	(IS43LR16640A_PHY_GATELVL<<30) |
    			 			(IS43LR16640A_PHY_GATELVL<<20) |
    			 			(IS43LR16640A_PHY_GATELVL<<10) |
    			 			(IS43LR16640A_PHY_GATELVL<<0)),
    			 			
    	.datafwsratio0 = (	(IS43LR16640A_PHY_FIFO_WE<<30) |
    			  			(IS43LR16640A_PHY_FIFO_WE<<20) |
    			  			(IS43LR16640A_PHY_FIFO_WE<<10) |
    			  			(IS43LR16640A_PHY_FIFO_WE<<0)),
    			  			
    	.datawrsratio0 = (	(IS43LR16640A_PHY_WR_DATA<<30) |
    			  			(IS43LR16640A_PHY_WR_DATA<<20) |
    			  			(IS43LR16640A_PHY_WR_DATA<<10) |
    			  			(IS43LR16640A_PHY_WR_DATA<<0)),
    			  			
    	.datauserank0delay = IS43LR16640A_PHY_RANK0_DELAY,
    	
    	.datadldiff0 = PHY_DLL_LOCK_DIFF,
    };
    
    static const struct cmd_control mddr_cmd_ctrl_data = {
    	.cmd0csratio	= IS43LR16640A_RATIO,
    	.cmd0dldiff		= IS43LR16640A_DLL_LOCK_DIFF,
    	.cmd0iclkout	= IS43LR16640A_INVERT_CLKOUT,
    
    	.cmd1csratio	= IS43LR16640A_RATIO,
    	.cmd1dldiff		= IS43LR16640A_DLL_LOCK_DIFF,
    	.cmd1iclkout	= IS43LR16640A_INVERT_CLKOUT,
    
    	.cmd2csratio	= IS43LR16640A_RATIO,
    	.cmd2dldiff		= IS43LR16640A_DLL_LOCK_DIFF,
    	.cmd2iclkout	= IS43LR16640A_INVERT_CLKOUT,
    };
    
    static const struct emif_regs mddr_emif_reg_data = {
    	.sdram_config		 = IS43LR16640A_EMIF_SDCFG,
    	.emif_ddr_phy_ctlr_1 = IS43LR16640A_EMIF_READ_LATENCY,	
    	.sdram_tim1		 	 = IS43LR16640A_EMIF_TIM1,
    	.sdram_tim2			 = IS43LR16640A_EMIF_TIM2,
    	.sdram_tim3			 = IS43LR16640A_EMIF_TIM3,
    	.ref_ctrl			 = IS43LR16640A_EMIF_SDREF,
    };
    
    
    #endif
    
    
    
    /*
     * early system init of muxing and clocks.
     */
    void s_init(void)
    {
    	struct wd_timer *wdtimer = (struct wd_timer *)WDT_BASE;
    	
    	/* 
    	 * WDT1 is already running when the bootloader gets control
    	 * Disable it to avoid "random" resets
    	 */
    	writel(0xAAAA, &wdtimer->wdtwspr);
    	while (readl(&wdtimer->wdtwwps) != 0x0){}
    		
    	writel(0x5555, &wdtimer->wdtwspr);
    	while (readl(&wdtimer->wdtwwps) != 0x0){}
    		
    
    #if defined(CONFIG_SPL_BUILD)
    	/* 
    	 * Setup the PLLs and the clocks for the peripherals
    	 * Since we use a ZCE package we set it to the max possible
    	 * MPU frequency and operating mode (Only the M value changes, 
    	 * N, and M2 are constant for all frequencies)
    	 * 
    	 * This function is defined in arch/arm/cpu/armv7/am33xx/clock.c
    	 * 
    	*/
    	pll_init(MPUPLL_M, OPP_100);		
    
    	/* Enable RTC32K clock */
    	rtc32k_enable();
    
    	/* UART softreset */
    	u32 regVal;
    
    	/* Enable UART0 interface - default and the only Debug port */
    	enable_uart0_pin_mux();
    
    	/* Reset the UART interface */
    	regVal = readl(&uart_base->uartsyscfg);
    	regVal |= UART_RESET;
    	writel(regVal, &uart_base->uartsyscfg);
    	while ((readl(&uart_base->uartsyssts) &
    			UART_CLK_RUNNING_MASK) != UART_CLK_RUNNING_MASK){}
    
    	/* Disable smart idle */
    	regVal = readl(&uart_base->uartsyscfg);
    	regVal |= UART_SMART_IDLE_EN;
    	writel(regVal, &uart_base->uartsyscfg);
    
    	/* TODO - What is this ??? */
    	gd = &gdata;
    	
    	/* Initialize the UART console - implemented in spl.c */
    	preloader_console_init();
    
    	/* Initalize the I2C interface and pin mux */
    	enable_i2c0_pin_mux();
    	i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
    	
    	enable_mmc0_pin_mux();		/* Configure the MMC0 interface pins */
    	
    #ifdef CONFIG_NAND
    	enable_nand_pin_mux();		/* Configure the NAND interface pins */		
    #endif
    
    #ifdef CONFIG_ETHERNET
    	enable_mii1_pin_mux();		/* Configure the Ethernet interface pins */	
    #endif
    	
    	/* Configure the mDDR interface */
    	config_ddr(	DDR_FREQ_MHZ, 
    				IS43LR16640A_IOCTRL_VALUE, 
    				&mddr_data,
    			   	&mddr_cmd_ctrl_data, 
    			   	&mddr_emif_reg_data);
    	/* TODO need to enable weak pull-down on some pins */
    	debug("\t*** SR: DDR Frequency is %d Mhz ***\n", (int)DDR_FREQ_MHZ);
    	
    #endif /* CONFIG_SPL_BUILD ends */
    
    	debug("\t*** SR: Leaving %s ***\n", __func__);
    }
    
    
    
    
    /*
     * Basic board specific setup.  Pinmux has been handled already.
     * This function is called from board_init_r implemented in 
     * arch/arm/lib/board.c
     */
    int board_init(void)
    {
    	/*
    	 * The following pin muxes have been enabled by SPL
    	 * 	UART0
    	 *	I2C
    	 *	NAND (If Applicable)
    	 *	MII (If Applicable)
    	 *	PWM-ecap0
    	 */
    
    	/*
    	 * The GPIO pin number is 7 for the PWM output (at this point we are
    	 * just setting the signal high - ON 100%)
    	 */
    #define PWM_OUTPUT_PIN		7
    	
    	/* Set the output to high */
    	gpio_request(PWM_OUTPUT_PIN, "pwm_ecap0");
    	gpio_direction_output(PWM_OUTPUT_PIN, 1);
    	
    	/* address of boot parameters */
    	gd->bd->bi_boot_params = PHYS_DRAM_1 + 0x100;
    		
    	gpmc_init();
    
    	return 0;
    	
    	debug("\t*** SR: %s is complete ***\n", __func__);
    }
    
    
    
    
    /*
     * Setup function that is called towards the end of init (once interrupts have been enabled)
     * This function is called from board_init_r implemented in 
     * arch/arm/lib/board.c
     */
    #ifdef CONFIG_BOARD_LATE_INIT
    int board_late_init(void)
    {
    #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG	
    	setenv("board_name", "Aprilaire_HCC");		/* Set variables some runtime variables */
    #endif
    
    	return 0;
    }
    #endif  /* CONFIG_BOARD_LATE_INIT ends */
    
    
    
    
    /*
     * Setup function that is called towards the end of init (once interrupts have been enabled)
     * This function is called from board_init_r implemented in 
     * arch/arm/lib/board.c
     */
    #if (defined(CONFIG_DRIVER_TI_CPSW) && !defined(CONFIG_SPL_BUILD))
    
    #if 0
    /*
     * Don't know if this is needed - these are board specific PHY init requirements
     */
    int board_phy_config(struct phy_device *phydev)
    {
    	/* Copy from old code */
    	return 0;
    } 
    #endif
    	
    static void cpsw_control(int enabled)
    {
    	/* VTP can be added here */
    	return;
    }
    
    static struct cpsw_slave_data cpsw_slaves[] = {
    	{
    		.slave_reg_ofs	= 0x208,			/* We are using one of the first instances of cpsw slave */
    		.sliver_reg_ofs	= 0xd80,			
    		.phy_id			= 1,				/* We only have one port and it's id is 1 */
    	},
    };
    
    static struct cpsw_platform_data cpsw_data = {
    	.mdio_base			= AM335X_CPSW_MDIO_BASE,
    	.cpsw_base			= AM335X_CPSW_BASE,
    	.mdio_div			= 0xff,
    	.channels			= 8,
    	.cpdma_reg_ofs		= 0x800,
    	.slaves				= 1,						/* Only one slave */		
    	.slave_data			= cpsw_slaves,
    	.ale_reg_ofs		= 0xd00,
    	.ale_entries		= 1024,
    	.host_port_reg_ofs	= 0x108,
    	.hw_stats_reg_ofs	= 0x900,
    	.mac_control		= (1 << 5),					/* MIIEN */
    	.control			= cpsw_control,
    	.host_port_num		= 0,
    	.version			= CPSW_CTRL_VERSION_2,
    };
    
    
    
    /*
     * In U-boot, from the function board_init_r defined in file arch/arm/lib/board.c
     * eth_intialize is defined in net/eth.c -- this in turn calls this function
     */
    int board_eth_init(bd_t *bis)
    {
    	int rv;
    	uint8_t mac_addr[6];
    	uint32_t mac_hi, mac_lo;
    	struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE;
    	
    	
    	if (!getenv("ethaddr")) 
    	{
    		printf("<ethaddr> not set. Validating first E-fuse MAC\n");
    		
    		/* Try reading mac address from efuse */
    		mac_lo = readl(&cdev->macid0l);
    		mac_hi = readl(&cdev->macid0h);
    		
    		mac_addr[0] = mac_hi & 0xFF;
    		mac_addr[1] = (mac_hi & 0xFF00) >> 8;
    		mac_addr[2] = (mac_hi & 0xFF0000) >> 16;
    		mac_addr[3] = (mac_hi & 0xFF000000) >> 24;
    		mac_addr[4] = mac_lo & 0xFF;
    		mac_addr[5] = (mac_lo & 0xFF00) >> 8;
    		
    		/* Check if the MAC Address is valid if not use a dummy one */
    		if (!is_valid_ether_addr(mac_addr))
    		{
    			debug("Did not find a valid mac address in e-fuse.\n"
    				  "Using the test one...B4-82-55-00-00-01 \n");
    
    			mac_addr[0] = 0xB4;
    			mac_addr[1] = 0x82;
    			mac_addr[2] = 0x55;
    			mac_addr[3] = 0x00;
    			mac_addr[4] = 0x00;
    			mac_addr[5] = 0x01;
    		}
    
    		if (is_valid_ether_addr(mac_addr))
    		{
    			eth_setenv_enetaddr("ethaddr", mac_addr);
    		}
    		else
    		{
    			printf(	"Caution: Using hardcoded mac address. \n"
    					"Set <ethaddr> variable to overcome this.\n");
    		}
    	}
    	
    	/* Enable MII mode */
    	writel(MII_MODE_ENABLE, &cdev->miisel);
    	cpsw_slaves[0].phy_if = PHY_INTERFACE_MODE_MII;
    	
    	
    	/* Register CPSW (Data) */
    	rv = cpsw_register(&cpsw_data);
    	if (rv < 0)
    	{
    		printf("Error %d registering CPSW switch\n", rv);
    	}
    	
    	debug("\t*** SR: %s is complete ***\n", __func__);
    	
    	return rv;
    }
    #endif
    
    
    
    
    

    ddr-defs.h

    2475.ddr_defs.h

    emif4.c


    /*
     * emif4.c
     *
     * AM33XX emif4 configuration file
     *
     * Copyright (C) 2011, Texas Instruments, Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or
     * modify it under the terms of the GNU General Public License as
     * published by the Free Software Foundation; either version 2 of
     * the License, or (at your option) any later version.
     *
     * This program is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR /PURPOSE.  See the
     * GNU General Public License for more details.
     */
    
    #include <common.h>
    #include <asm/arch/cpu.h>
    #include <asm/arch/ddr_defs.h>
    #include <asm/arch/hardware.h>
    #include <asm/arch/clock.h>
    #include <asm/arch/sys_proto.h>
    #include <asm/io.h>
    #include <asm/emif.h>
    
    DECLARE_GLOBAL_DATA_PTR;
    
    int dram_init(void)
    {
    	/* dram_init must store complete ramsize in gd->ram_size */
    	gd->ram_size = get_ram_size(
    			(void *)CONFIG_SYS_SDRAM_BASE,
    			CONFIG_MAX_RAM_BANK_SIZE);
    	return 0;
    }
    
    void dram_init_banksize(void)
    {
    	gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
    	gd->bd->bi_dram[0].size = gd->ram_size;
    }
    
    
    #if defined(CONFIG_SPL_BUILD) || defined(CONFIG_NOR_BOOT)
    static struct vtp_reg *vtpreg = (struct vtp_reg *)VTP0_CTRL_ADDR;
    static struct ddr_ctrl *ddrctrl = (struct ddr_ctrl *)DDR_CTRL_ADDR;
    
    static void config_vtp(void)
    {
    	writel(readl(&vtpreg->vtp0ctrlreg) | VTP_CTRL_ENABLE,
    			&vtpreg->vtp0ctrlreg);
    	writel(readl(&vtpreg->vtp0ctrlreg) & (~VTP_CTRL_START_EN),
    			&vtpreg->vtp0ctrlreg);
    	writel(readl(&vtpreg->vtp0ctrlreg) | VTP_CTRL_START_EN,
    			&vtpreg->vtp0ctrlreg);
    
    	/* Poll for READY */
    	while ((readl(&vtpreg->vtp0ctrlreg) & VTP_CTRL_READY) !=
    			VTP_CTRL_READY)
    		;
    }
    
    void config_ddr(unsigned int pll, unsigned int ioctrl,
    		const struct ddr_data *data, const struct cmd_control *ctrl,
    		const struct emif_regs *regs)
    {
    	enable_emif_clocks();
    	ddr_pll_config(pll);
    	config_vtp();
    	config_cmd_ctrl(ctrl);
    
    	config_ddr_data(0, data);
    	config_ddr_data(1, data);
    
    	config_io_ctrl(ioctrl);
    
    #ifdef __CONFIG_AA_HCC_H 
    	/* Set the  DDR IO Control Register to work with mDDR */
    	writel(readl(&ddrctrl->ddrioctrl) | MDDR_SEL_mDDR, &ddrctrl->ddrioctrl);
    #endif
    			
    	/* Set CKE to be controlled by EMIF/DDR PHY */
    	writel(DDR_CKE_CTRL_NORMAL, &ddrctrl->ddrckectrl);
    
    	/* Program EMIF instance */
    	config_ddr_phy(regs);
    	set_sdram_timings(regs);
    	config_sdram(regs);
    }
    #endif
    

  • Hi Santosh,

    I'm still looking at CONFIG_SYS_LOAD_ADDR. At first glance, it looks like that is where a u-boot would expect a ramdisk. I'll keep looking. The others:

    CONFIG_SYS_TEXT_BASE is where SPL will load u-boot. Actually, u-boot.img has a 64-byte header so the header part will be 0x80800000 - 0x40 = 0x807fffc0. Looking at your debug message, this looks correct:

    spl: payload image: U-Boot 2013.01.01 for aa_hcc boa `: load addr: 0x807fffc0 size: 271996

    Jumping to U-Boot
    image entry point: 0x80800000

    After u-boot is loaded, the SPL code should jump to 0x80800000.

    CONFIG_SYS_SPL_MALLOC_START is the starting address of a memory region that SPL can allocate from.

    CONFIG_SYS_SPL_MALLOC_SIZE is the size of the area.

    There is a README file in the u-boot source that explains some of this. There is also a doc directory that has some useful information.

    Steve K.

  • Hello Steve,

    Thank you for clarifying the #defines - I was also able to use the JTAG interface to load and debug SPL. I was able to force SPL to load uboot from SD Card and step through all the way till "image entry point: 0x8080000".


    However, after this step the debugger cannot proceed since I don't have the symbols for uboot loaded. I'm unable to find out how to determine the offset address for uboot after relocation and so I can't step into Uboot and give you more information about where in the code it gets stuck.

    Can you please indicate which function gets executed in uboot right at the start - I may be able to add a debug line to see if it even reaches that point? (just a guess)

    Thank you for your help. If you need more information from my side - please let me know.

    Regards

    Santhosh

  • Hello Guys,

    We did find the problem and we solved the initial U-Boot issue.... the problem was as follows:

    #define CONFIG_BAUDRATE                115200

    I originally had brackets around 115200 --- (115200) and because of that when uboot was getting the environment variable and doing a string compare it was setting the baudrate to 0 and subsequently none of the characters were transmitted and uboot was stuck in serial send section.

    This is the code that set the baudrate to 0

    gd->baudrate = getenv_ulong("baudrate", 10, CONFIG_BAUDRATE);

    and here, the get environment would return a string (115200) instead of 115200 - which caused all the problems.

    Thank you for your patience and support.

    Regards

     

    Santhosh