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.

Linux/PROCESSOR-SDK-AM57X: stuck at u-boot

Part Number: PROCESSOR-SDK-AM57X
Other Parts Discussed in Thread: AM5718

Tool/software: Linux

Hi.

We developed a custom board with AM5718 processor and using PROCESSOR-SDK-AM57X ti-processor-sdk-linux-am57xx-evm-05.02.00.10,

using UART1 (ttyO0) and customized am571x-idk. Board.c and mux-data.h is modified as per am571x-idk. 

Booting through sd card by creating bootable sd card using this(tisdk-rootfs-image-am57xx-evm.tar.xz) tarball.   

And we stuck at u-boot, please find the below log and kindly suggest what's wrong.

U-Boot SPL 2018.01-00558-gca1e85ecb5-dirty (Mar 25 2019 - 15:04:05)
DRA722-GP ES2.0

U-Boot SPL 2018.01-00558-gca1e85ecb5-dirty (Mar 25 2019 - 15:04:05)
DRA722-GP ES2.0
Trying to boot from MMC1
no pinctrl state for default mode
no pinctrl state for default mode


U-Boot 2018.01-00558-gca1e85ecb5-dirty (Mar 25 2019 - 15:04:05 +0530)

CPU  : DRA722-GP ES2.0
Model: TI AM5718 IDK
Board: AM571x IDRAM:  1 GiB
MMC:   prop_name: pinctrl-0 mode: default index: 0
prop_name: pinctrl-6 mode: sdr104 index: 6
prop_name: pinctrl-4 mode: sdr50 index: 4
prop_name: pinctrl-5 mode: ddr50 index: 5
prop_name: pinctrl-3 mode: sdr25 index: 3
prop_name: pinctrl-2 mode: sdr12 index: 2
prop_name: pinctrl-1 mode: hs index: 1
prop_name: pinctrl-0 mode: default index: 0
OMAP SD/MMC: 0, OMAP SD/MMC: 1
Warning: fastboot.board_rev: unknown board revision

Thanks

  • Hello Potturu,

    Can you add  #define DEBUG line in the very beginning of <Processor SDK>/board-support/u-boot-<version>/include/configs/am57xx_evm.h file, rebuild, reflash and attache the new log?

    Best regards,
    Kemal

  • Hi,
    After applying the line as you suggested the log is as follows.



    U-Boot SPL 2018.01-00558-gca1e85ecb5-dirty (Mar 25 2019 - 15:04:05)
    DRA722-GP ES2.0

    U-Boot SPL 2018.01-00558-gca1e85ecb5-dirty (Mar 25 2019 - 15:04:05)
    DRA722-GP ES2.0
    Trying to boot from MMC1
    no pinctrl state for default mode
    no pinctrl state for default mode


    U-Boot 2018.01-00558-gca1e85ecb5-dirty (Mar 25 2019 - 15:04:05 +0530)

    CPU : DRA722-GP ES2.0
    Model: TI AM5718 IDK
    Board: AM571x IDRAM: 1 GiB
    MMC: prop_name: pinctrl-0 mode: default index: 0
    prop_name: pinctrl-6 mode: sdr104 index: 6
    prop_name: pinctrl-4 mode: sdr50 index: 4
    prop_name: pinctrl-5 mode: ddr50 index: 5
    prop_name: pinctrl-3 mode: sdr25 index: 3
    prop_name: pinctrl-2 mode: sdr12 index: 2
    prop_name: pinctrl-1 mode: hs index: 1
    prop_name: pinctrl-0 mode: default index: 0
    OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Warning: fastboot.board_rev: unknown board revision
    board revision is null
    Entered into partition size

    U-Boot SPL 2018.01-00558-gca1e85ecb5-dirty (Mar 25 2019 - 16:12:54)
    DRA722-GP ES2.0

    console init >>sdram_init()
    in_sdram = 0
    >>do_sdram_init() 4c000000
    CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGSHW leveling success
    <<do_sdram_init() 4c000000
    get_ram_size() successful<<sdram_init()
    >>spl:board_init_r()
    TLB table from bfffb000 to c0000000
    dram_bank_mmu_setup: bank: 0
    using memory 0x80a80000-0x81280000 for malloc()

    U-Boot SPL 2018.01-00558-gca1e85ecb5-dirty (Mar 25 2019 - 16:12:54)
    DRA722-GP ES2.0
    omap24_i2c_findpsc: speed [kHz]: 100 psc: 0x17 sscl: 0xd ssch: 0xf
    Trying to boot from MMC1
    uclass_find_device_by_seq: 0 0
    - -1 -1 'mmc@4809c000'
    - -1 -1 'mmc@480b4000'
    - not found
    uclass_find_device_by_seq: 1 0
    - -1 -1 'mmc@4809c000'
    - -1 -1 'mmc@480b4000'
    - not found
    malloc_simple: size=6c, ptr=6c, limit=100000: 81f00000
    malloc_simple: size=4, ptr=70, limit=100000: 81f0006c
    uclass_find_device_by_seq: 0 -1
    uclass_find_device_by_seq: 0 0
    - -1 -1 'mmc@4809c000'
    - -1 -1 'mmc@480b4000'
    - not found
    fdtdec_get_addr_size_auto_parent: na=1, ns=1, fdtdec_get_addr_size_fixed: reg: addr=4809c000
    ofnode_read_u32: bus-width: 0x4 (4)
    ofnode_read_u32: max-frequency: 0xb71b000 (192000000)
    ofnode_read_bool: cap-sd-highspeed: false
    ofnode_read_bool: cap-mmc-highspeed: false
    ofnode_read_bool: sd-uhs-sdr12: true
    ofnode_read_bool: sd-uhs-sdr25: true
    ofnode_read_bool: sd-uhs-sdr50: true
    ofnode_read_bool: sd-uhs-sdr104: true
    ofnode_read_bool: sd-uhs-ddr50: true
    ofnode_read_bool: mmc-ddr-1_8v: false
    ofnode_read_bool: mmc-ddr-1_2v: false
    ofnode_read_bool: mmc-hs200-1_8v: false
    ofnode_read_bool: mmc-hs200-1_2v: false
    fdtdec_get_bool: ti,dual-volt
    fdtdec_get_bool: no-1-8-v
    fdtdec_get_addr_size_auto_parent: na=1, ns=1, fdtdec_get_addr_size_fixed: reg: addr=4809c000
    fdtdec_get_bool: cd-inverted
    malloc_simple: size=170, ptr=1e0, limit=100000: 81f00070
    fdtdec_get_int: #gpio-cells: 0x2 (2)
    malloc_simple: size=16, ptr=1f6, limit=100000: 81f001e0
    gpio_request_tail: Node 'mmc@4809c000', property 'wp-gpios', failed to request GPIO index 0: -2
    malloc_simple: size=10, ptr=208, limit=100000: 81f001f8
    fail to find default mode FDT_ERR_NOTFOUND
    no pinctrl state for default mode
    malloc_simple: size=6c, ptr=274, limit=100000: 81f00208
    malloc_simple: size=4, ptr=278, limit=100000: 81f00274
    uclass_find_device_by_seq: 0 -1
    uclass_find_device_by_seq: 0 0
    - -1 0 'mmc@4809c000'
    - found
    uclass_find_device_by_seq: 0 1
    - -1 0 'mmc@4809c000'
    - -1 -1 'mmc@480b4000'
    - not found
    fdtdec_get_addr_size_auto_parent: na=1, ns=1, fdtdec_get_addr_size_fixed: reg: addr=480b4000
    ofnode_read_u32: bus-width: 0x8 (8)
    ofnode_read_u32: max-frequency: 0xb71b000 (192000000)
    ofnode_read_bool: cap-sd-highspeed: false
    ofnode_read_bool: cap-mmc-highspeed: false
    ofnode_read_bool: sd-uhs-sdr12: true
    ofnode_read_bool: sd-uhs-sdr25: true
    ofnode_read_bool: sd-uhs-sdr50: false
    ofnode_read_bool: sd-uhs-sdr104: false
    ofnode_read_bool: sd-uhs-ddr50: false
    ofnode_read_bool: mmc-ddr-1_8v: true
    ofnode_read_bool: mmc-ddr-1_2v: false
    ofnode_read_bool: mmc-hs200-1_8v: true
    ofnode_read_bool: mmc-hs200-1_2v: false
    fdtdec_get_bool: ti,dual-volt
    fdtdec_get_bool: no-1-8-v
    fdtdec_get_addr_size_auto_parent: na=1, ns=1, fdtdec_get_addr_size_fixed: reg: addr=480b4000
    fdtdec_get_bool: cd-inverted
    malloc_simple: size=170, ptr=3e8, limit=100000: 81f00278
    gpio_request_tail: Node 'mmc@480b4000', property 'cd-gpios', failed to request GPIO index 0: -2
    gpio_request_tail: Node 'mmc@480b4000', property 'wp-gpios', failed to request GPIO index 0: -2
    malloc_simple: size=10, ptr=3f8, limit=100000: 81f003e8
    fail to find default mode FDT_ERR_NOTFOUND
    no pinctrl state for default mode
    81f00400
    81f00440
    81f00480
    81f004c0
    part_init: try 'EFI': ret=-1
    81f00500
    part_init: try 'DOS': ret=0
    spl: mmc boot mode: fs
    fdtdec_get_config_string: u-boot,mmc-env-partition
    fdtdec_get_config_int: u-boot,mmc-env-offset
    fdtdec_get_config_string: u-boot,mmc-env-partition
    fdtdec_get_config_int: u-boot,mmc-env-offset-redundant
    81f00540
    81f00580
    malloc_simple: size=1fffc, ptr=20594, limit=100000: 81f00598
    Destroy Hash Table: 4031c5cc table = 00000000
    Create Hash Table: N=512
    malloc_simple: size=28c8, ptr=22e5c, limit=100000: 81f20594
    malloc_simple: size=5, ptr=22e61, limit=100000: 81f22e5c
    malloc_simple: size=4, ptr=22e68, limit=100000: 81f22e64
    malloc_simple: size=16, ptr=22e7e, limit=100000: 81f22e68
    malloc_simple: size=e, ptr=22e8e, limit=100000: 81f22e80
    malloc_simple: size=12, ptr=22ea2, limit=100000: 81f22e90
    malloc_simple: size=12, ptr=22eb6, limit=100000: 81f22ea4
    malloc_simple: size=e, ptr=22ec6, limit=100000: 81f22eb8
    malloc_simple: size=14, ptr=22edc, limit=100000: 81f22ec8
    malloc_simple: size=10, ptr=22eec, limit=100000: 81f22edc
    malloc_simple: size=12, ptr=22efe, limit=100000: 81f22eec
    malloc_simple: size=c, ptr=22f0c, limit=100000: 81f22f00
    malloc_simple: size=a, ptr=22f16, limit=100000: 81f22f0c
    malloc_simple: size=13, ptr=22f2b, limit=100000: 81f22f18
    malloc_simple: size=12, ptr=22f3e, limit=100000: 81f22f2c
    malloc_simple: size=e, ptr=22f4e, limit=100000: 81f22f40
    malloc_simple: size=f, ptr=22f5f, limit=100000: 81f22f50
    malloc_simple: size=f, ptr=22f6f, limit=100000: 81f22f60
    malloc_simple: size=11, ptr=22f81, limit=100000: 81f22f70
    malloc_simple: size=e, ptr=22f92, limit=100000: 81f22f84
    malloc_simple: size=9, ptr=22f9d, limit=100000: 81f22f94
    malloc_simple: size=c, ptr=22fac, limit=100000: 81f22fa0
    malloc_simple: size=a, ptr=22fb6, limit=100000: 81f22fac
    malloc_simple: size=b, ptr=22fc3, limit=100000: 81f22fb8
    malloc_simple: size=8, ptr=22fcc, limit=100000: 81f22fc4
    malloc_simple: size=7, ptr=22fd3, limit=100000: 81f22fcc
    malloc_simple: size=8, ptr=22fdc, limit=100000: 81f22fd4
    INSERT: table 4031c5cc, filled 1/521 rv 81f20a48 ==> name="arch" value="arm"
    malloc_simple: size=9, ptr=22fe5, limit=100000: 81f22fdc
    malloc_simple: size=70, ptr=23058, limit=100000: 81f22fe8
    malloc_simple: size=16, ptr=2306e, limit=100000: 81f23058
    malloc_simple: size=e, ptr=2307e, limit=100000: 81f23070
    malloc_simple: size=12, ptr=23092, limit=100000: 81f23080
    malloc_simple: size=12, ptr=230a6, limit=100000: 81f23094
    malloc_simple: size=e, ptr=230b6, limit=100000: 81f230a8
    malloc_simple: size=14, ptr=230cc, limit=100000: 81f230b8
    malloc_simple: size=10, ptr=230dc, limit=100000: 81f230cc
    malloc_simple: size=12, ptr=230ee, limit=100000: 81f230dc
    malloc_simple: size=c, ptr=230fc, limit=100000: 81f230f0
    malloc_simple: size=a, ptr=23106, limit=100000: 81f230fc
    malloc_simple: size=13, ptr=2311b, limit=100000: 81f23108
    malloc_simple: size=12, ptr=2312e, limit=100000: 81f2311c
    malloc_simple: size=e, ptr=2313e, limit=100000: 81f23130
    malloc_simple: size=f, ptr=2314f, limit=100000: 81f23140
    malloc_simple: size=f, ptr=2315f, limit=100000: 81f23150
    malloc_simple: size=11, ptr=23171, limit=100000: 81f23160
    malloc_simple: size=e, ptr=23182, limit=100000: 81f23174
    malloc_simple: size=9, ptr=2318d, limit=100000: 81f23184
    malloc_simple: size=c, ptr=2319c, limit=100000: 81f23190
    malloc_simple: size=a, ptr=231a6, limit=100000: 81f2319c
    malloc_simple: size=b, ptr=231b3, limit=100000: 81f231a8
    malloc_simple: size=8, ptr=231bc, limit=100000: 81f231b4
    malloc_simple: size=7, ptr=231c3, limit=100000: 81f231bc
    malloc_simple: size=8, ptr=231cc, limit=100000: 81f231c4
    INSERT: table 4031c5cc, filled 2/521 rv 81f211b4 ==> name="args_mmc" value="run finduuid;setenv bootargs console=${console} ${optargs} root=P"
    malloc_simple: size=9, ptr=231d5, limit=100000: 81f231cc
    malloc_simple: size=7, ptr=231df, limit=100000: 81f231d8
    malloc_simple: size=16, ptr=231f6, limit=100000: 81f231e0
    malloc_simple: size=e, ptr=23206, limit=100000: 81f231f8
    malloc_simple: size=12, ptr=2321a, limit=100000: 81f23208
    malloc_simple: size=b, ptr=23227, limit=100000: 81f2321c
    malloc_simple: size=9, ptr=23231, limit=100000: 81f23228
    malloc_simple: size=12, ptr=23246, limit=100000: 81f23234
    malloc_simple: size=e, ptr=23256, limit=100000: 81f23248
    malloc_simple: size=14, ptr=2326c, limit=100000: 81f23258
    malloc_simple: size=10, ptr=2327c, limit=100000: 81f2326c
    malloc_simple: size=12, ptr=2328e, limit=100000: 81f2327c
    malloc_simple: size=c, ptr=2329c, limit=100000: 81f23290
    malloc_simple: size=a, ptr=232a6, limit=100000: 81f2329c
    malloc_simple: size=13, ptr=232bb, limit=100000: 81f232a8
    malloc_simple: size=12, ptr=232ce, limit=100000: 81f232bc
    malloc_simple: size=e, ptr=232de, limit=100000: 81f232d0
    malloc_simple: size=f, ptr=232ef, limit=100000: 81f232e0
    malloc_simple: size=f, ptr=232ff, limit=100000: 81f232f0
    malloc_simple: size=11, ptr=23311, limit=100000: 81f23300
    malloc_simple: size=e, ptr=23322, limit=100000: 81f23314
    malloc_simple: size=9, ptr=2332d, limit=100000: 81f23324
    malloc_simple: size=c, ptr=2333c, limit=100000: 81f23330
    malloc_simple: size=a, ptr=23346, limit=100000: 81f2333c
    malloc_simple: size=b, ptr=23353, limit=100000: 81f23348
    malloc_simple: size=8, ptr=2335c, limit=100000: 81f23354
    malloc_simple: size=7, ptr=23363, limit=100000: 81f2335c
    malloc_simple: size=8, ptr=2336c, limit=100000: 81f23364
    INSERT: table 4031c5cc, filled 3/521 rv 81f2122c ==> name="baudrate" value="115200"
    malloc_simple: size=6, ptr=23372, limit=100000: 81f2336c
    malloc_simple: size=7, ptr=2337b, limit=100000: 81f23374
    malloc_simple: size=16, ptr=23392, limit=100000: 81f2337c
    malloc_simple: size=e, ptr=233a2, limit=100000: 81f23394
    malloc_simple: size=12, ptr=233b6, limit=100000: 81f233a4
    malloc_simple: size=12, ptr=233ca, limit=100000: 81f233b8
    malloc_simple: size=e, ptr=233da, limit=100000: 81f233cc
    malloc_simple: size=14, ptr=233f0, limit=100000: 81f233dc
    malloc_simple: size=10, ptr=23400, limit=100000: 81f233f0
    malloc_simple: size=12, ptr=23412, limit=100000: 81f23400
    malloc_simple: size=c, ptr=23420, limit=100000: 81f23414
    malloc_simple: size=a, ptr=2342a, limit=100000: 81f23420
    malloc_simple: size=13, ptr=2343f, limit=100000: 81f2342c
    malloc_simple: size=12, ptr=23452, limit=100000: 81f23440
    malloc_simple: size=e, ptr=23462, limit=100000: 81f23454
    malloc_simple: size=f, ptr=23473, limit=100000: 81f23464
    malloc_simple: size=f, ptr=23483, limit=100000: 81f23474
    malloc_simple: size=11, ptr=23495, limit=100000: 81f23484
    malloc_simple: size=e, ptr=234a6, limit=100000: 81f23498
    malloc_simple: size=9, ptr=234b1, limit=100000: 81f234a8
    malloc_simple: size=c, ptr=234c0, limit=100000: 81f234b4
    malloc_simple: size=a, ptr=234ca, limit=100000: 81f234c0
    malloc_simple: size=b, ptr=234d7, limit=100000: 81f234cc
    malloc_simple: size=8, ptr=234e0, limit=100000: 81f234d8
    malloc_simple: size=7, ptr=234e7, limit=100000: 81f234e0
    malloc_simple: size=8, ptr=234f0, limit=100000: 81f234e8
    INSERT: table 4031c5cc, filled 4/521 rv 81f219fc ==> name="board" value="am57xx"
    malloc_simple: size=b, ptr=234fb, limit=100000: 81f234f0
    malloc_simple: size=7, ptr=23503, limit=100000: 81f234fc
    malloc_simple: size=16, ptr=2351a, limit=100000: 81f23504
    malloc_simple: size=e, ptr=2352a, limit=100000: 81f2351c
    malloc_simple: size=12, ptr=2353e, limit=100000: 81f2352c
    malloc_simple: size=12, ptr=23552, limit=100000: 81f23540
    malloc_simple: size=e, ptr=23562, limit=100000: 81f23554
    malloc_simple: size=14, ptr=23578, limit=100000: 81f23564
    malloc_simple: size=10, ptr=23588, limit=100000: 81f23578
    malloc_simple: size=12, ptr=2359a, limit=100000: 81f23588
    malloc_simple: size=c, ptr=235a8, limit=100000: 81f2359c
    malloc_simple: size=a, ptr=235b2, limit=100000: 81f235a8
    malloc_simple: size=13, ptr=235c7, limit=100000: 81f235b4
    malloc_simple: size=12, ptr=235da, limit=100000: 81f235c8
    malloc_simple: size=e, ptr=235ea, limit=100000: 81f235dc
    malloc_simple: size=f, ptr=235fb, limit=100000: 81f235ec
    malloc_simple: size=f, ptr=2360b, limit=100000: 81f235fc
    malloc_simple: size=11, ptr=2361d, limit=100000: 81f2360c
    malloc_simple: size=e, ptr=2362e, limit=100000: 81f23620
    malloc_simple: size=9, ptr=23639, limit=100000: 81f23630
    malloc_simple: size=c, ptr=23648, limit=100000: 81f2363c
    malloc_simple: size=a, ptr=23652, limit=100000: 81f23648
    malloc_simple: size=b, ptr=2365f, limit=100000: 81f23654
    malloc_simple: size=8, ptr=23668, limit=100000: 81f23660
    malloc_simple: size=7, ptr=2366f, limit=100000: 81f23668
    malloc_simple: size=8, ptr=23678, limit=100000: 81f23670
    INSERT: table 4031c5cc, filled 5/521 rv 81f20d04 ==> name="board_name" value="am57xx"

    Thanks
  • name="board_name" value="am57xx" doesn't seem correct. Can you change it to name="board_name" value="am571x-idk" and retry?

  • Hi,

    Could you please guide us in which file we have to make the changes as you suggested above and also provide us the particular path.

    Thanks and Regards.

  • You board model is shown as "Model: TI AM5718 IDK". What have you changed so far to achieve this?
  • Hi,
    It is due to am571x-idk.dts file which is configured as follows:-
    model = "TI AM5718 IDK";

    Thanks and Regards.
  • Please, see the setup_board_eeprom_env function. If the ti_i2c_eeprom_am_get fails the program goes to invalid_eeprom which invokes the set_board_info_env function and passes the name variable to it.

    <Processor SDK>/board-support/u-boot-<version>/board/ti/am57xx/board.c

    static void setup_board_eeprom_env(void)
    {
    	char *name = "beagle_x15";
    	int rc;
    
    	rc = ti_i2c_eeprom_am_get(CONFIG_EEPROM_BUS_ADDRESS,
    				  CONFIG_EEPROM_CHIP_ADDRESS);
    	if (rc)
    		goto invalid_eeprom;
    
    	if (board_is_x15()) {
    		if (board_is_x15_revb1())
    			name = "beagle_x15_revb1";
    		else if (board_is_x15_revc())
    			name = "beagle_x15_revc";
    		else
    			name = "beagle_x15";
    	} else if (board_is_am572x_evm()) {
    		if (board_is_am572x_evm_reva3())
    			name = "am57xx_evm_reva3";
    		else
    			name = "am57xx_evm";
    	} else if (board_is_am574x_idk()) {
    		name = "am574x_idk";
    	} else if (board_is_am572x_idk()) {
    		name = "am572x_idk";
    	} else if (board_is_am571x_idk()) {
    		name = "am571x_idk";
    	} else {
    		printf("Unidentified board claims %s in eeprom header\n",
    		       board_ti_get_name());
    	}
    
    invalid_eeprom:
    	set_board_info_env(name);
    }

    <Processor SDK>/board-support/u-boot-<version>/board/ti/common/board_detect.c

    void __maybe_unused set_board_info_env(char *name)
    {
    	char *unknown = "unknown";
    	struct ti_common_eeprom *ep = TI_EEPROM_DATA;
    
    	if (name)
    		env_set("board_name", name);
    	else if (ep->name)
    		env_set("board_name", ep->name);
    	else
    		env_set("board_name", unknown);
    
    	if (ep->version)
    		env_set("board_rev", ep->version);
    	else
    		env_set("board_rev", unknown);
    
    	if (ep->serial)
    		env_set("board_serial", ep->serial);
    	else
    		env_set("board_serial", unknown);
    }

    I suspect that the am57xx string gets assigned to board_name somewhere here. Can you change it to am571x-idk?

  • Hi,

    We have already made the changes which you are suspecting to do. But that didn't worked out. Is there any other thing that you are suspecting, if so kindly guide us.

    static void setup_board_eeprom_env(void)
    {
        char *name = "am571x_idk";
        int rc;

        rc = ti_i2c_eeprom_am_get(CONFIG_EEPROM_BUS_ADDRESS,
                      CONFIG_EEPROM_CHIP_ADDRESS);
        if (rc)
            goto invalid_eeprom;

        if (board_is_x15()) {
            if (board_is_x15_revb1())
           
                name = "beagle_x15_revb1";
             
            else if (board_is_x15_revc())
                name = "beagle_x15_revc";
              
            else
                name = "beagle_x15";
             
           
        } else if (board_is_am572x_evm()) {
            if (board_is_am572x_evm_reva3())
                name = "am57xx_evm_reva3";
              
            else
                name = "am57xx_evm";
             
           
        } else if (board_is_am574x_idk()) {
            name = "am574x_idk";
          
        } else if (board_is_am572x_idk()) {
            name = "am572x_idk";
           
        } else if (board_is_am571x_idk()) {
            name = "am571x_idk";
           
        } else {
            printf("Unidentified board claims %s in eeprom header\n",
                   board_ti_get_name());
        name = "am571x_idk";
        }

    invalid_eeprom:
        set_board_info_env(name);
    }

    Thanks and Regards.

  • I also suspect your board's DDR timings. Can you run these tests and check if the DDR configurations are okay.

  • Hi,

    We are using DDR3 which is of 666MHz and CL=9 and the following are the register values regarding the mentioned configuration.

    .sdram_config_init = 0x61862BB2,
    .sdram_config = 0x61862BB2,
    .sdram_config2 = 0x00000000,
    .ref_ctrl = 0x0000514D,
    .ref_ctrl_final = 0x0000144A,
    .sdram_tim1 = 0xD113782C,
    .sdram_tim2 = 0x30EF7FE3,
    .sdram_tim3 = 0x40DF8AD8,
    .read_idle_ctrl = 0x00050000,
    .zq_config = 0x5007190B,
    .temp_alert_config = 0x00000000,
    .emif_ddr_phy_ctlr_1_init = 0x0824400E,
    .emif_ddr_phy_ctlr_1 = 0x0E24400E,
    .emif_ddr_ext_phy_ctrl_1 = 0x10040100,
    .emif_ddr_ext_phy_ctrl_2 = 0x00910091,
    .emif_ddr_ext_phy_ctrl_3 = 0x00950095,
    .emif_ddr_ext_phy_ctrl_4 = 0x009b009b,
    .emif_ddr_ext_phy_ctrl_5 = 0x009e009e,
    .emif_rd_wr_lvl_rmp_win = 0x00000000,
    .emif_rd_wr_lvl_rmp_ctl = 0x80000000,
    .emif_rd_wr_lvl_ctl = 0x00000000,
    .emif_rd_wr_exec_thresh = 0x00000305,
    .emif_ecc_ctrl_reg = 0x00000000,
    .emif_ecc_address_range_1 = 0x3FFF0000,
    .emif_ecc_address_range_2 = 0x00000000

    Thanks and Regards.
  • Have you tried to boot with another SD card?
  • Hi,

    We have created another bootable sd card and tried to boot with that too. But it is also of no use and the scenario is same.

    Thanks and Regards.

  • Can you attach the SD card part of your schematic and its respective mmc node settings in your board's U-Boot device tree?

  • hi,

    &mmc1 {

    pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104";

    pinctrl-0 = <&mmc1_pins_default>;

    pinctrl-1 = <&mmc1_pins_hs>;

    pinctrl-2 = <&mmc1_pins_sdr12>;

    pinctrl-3 = <&mmc1_pins_sdr25>;

    pinctrl-4 = <&mmc1_pins_sdr50>;

    pinctrl-5 = <&mmc1_pins_ddr50_rev20 &mmc1_iodelay_ddr50_conf>;

    pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>;

    };

  • Can you also attach the &mmc1 node settings like?

    &mmc1 {
        status = "okay";
        vmmc-supply = <&v3_3d>;
        vqmmc-supply = <&ldo1_reg>;
        bus-width = <4>;
        cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
    };

  • Hi,

    &mmc1 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&mmc1_pins_default>;
    vmmc-supply = <&v3_3d>;
    bus-width = <4>;
    cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */ /*this is as per our board*/
    };
  • Hi,

    v3_3d: fixedregulator-v3_3d {
    compatible = "regulator-fixed";
    regulator-name = "V3_3D";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-always-on;
    regulator-boot-on;
    };



    &mmc1 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&mmc1_pins_default>;
    vmmc-supply = <&v3_3d>;
    bus-width = <4>;
    cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
    };
  • Hello Potturu,

    Were you able to fix this issue and bring up the board? Can you tell us where the problem was and how did you solve it?

    Best regards,
    Kemal
  • Hi,
    By changing mmc1(sd card) pin mux configuration we are able to fix this issue.

    mmc1_pins_default: mmc1_pins_default {
    pinctrl-single,pins = <
    0x36c (PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */
    0x354 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
    0x358 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
    0x35c (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
    0x360 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
    0x364 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
    0x368 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
    >;
    };
    Thanks & Regards
    P. Venkata Prasad
  • Hello Potturu,

    Tank you for providing the solution. Can you close the thread by clicking on "This resolved my issue" button now.

    Best regards,
    Kemal