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.

boot up crash

hi TI-friends,

we see following messages during boot up. What we did is just update boot-loader from rdk3.0 to rdk4.0.

Is there any idea? 

* Starting Kernel logger daemon. Done
* Starting Syslog daemon. Done
Run /etc/init.d/rcS10

Please press Enter to activate this console. check Unhandled fault: external abort on non-linefetch (0x1008) at 0x88911000
Recovey & FactorInternal error: : 1008 [#1]
last sysfs file: /sys/devices/platform/omap/omap_i2c.2/i2c-2/i2c-dev/i2c-2/dev
Modules linked in: ti816x_pcie_epdrv(+)
CPU: 0 Not tainted (2.6.37 #2)
PC is at ti816x_ep_pcie_init+0x120/0x1c0 [ti816x_pcie_epdrv]
LR is at kobject_put+0x48/0x5c
pc : [<7f000314>] lr : [<80340960>] psr: 60000013
sp : 87b1ff28 ip : 87b1fe50 fp : 87b1ff44
r10: 00000000 r9 : 87b1e000 r8 : 7f0001f4
r7 : 001e0fe0 r6 : 001ca5a7 r5 : 7f000e8f r4 : 7f0011f0
r3 : 80641028 r2 : 88911000 r1 : 01000000 r0 : 87b10400
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c5387d Table: 87bf4019 DAC: 00000015
Process insmod (pid: 70, stack limit = 0x87b1e2e8)
Stack: (0x87b1ff28 to 0x87b20000)
ff20: 7f000e8f 87b1ff38 00000000 7f0010cc 87b1ff7c 87b1ff48
ff40: 801be3d8 7f000200 7f0010cc 001ca5a7 001e0fe0 801c8f48 00000000 7f0010cc
ff60: 001ca5a7 001e0fe0 801c8f48 00000000 87b1ffa4 87b1ff80 8021a2c4 801be314
ff80: 80245840 80245758 00000000 00000000 7eca1ea8 00000080 00000000 87b1ffa8
ffa0: 801c8da0 8021a234 00000000 00000000 001e0fe0 00002a3e 001ca5a7 00000000
ffc0: 00000000 00000000 7eca1ea8 00000080 7eca1ea4 7eca1ea8 00000001 7eca1ea4
ffe0: 00000069 7eca1b3c 0001b38c 000094a4 60000010 001e0fe0 f1ffe59f af79f4cc
Backtrace:
[<7f0001f4>] (ti816x_ep_pcie_init+0x0/0x1c0 [ti816x_pcie_epdrv]) from [<801be3d8>] (do_one_initcall+0xd0/0x1a4)
r5:7f0010cc r4:00000000
[<801be308>] (do_one_initcall+0x0/0x1a4) from [<8021a2c4>] (sys_init_module+0x9c/0x1bc)
[<8021a228>] (sys_init_module+0x0/0x1bc) from [<801c8da0>] (ret_fast_syscall+0x0/0x30)
r7:00000080 r6:7eca1ea8 r5:00000000 r4:00000000
Code: e2822a01 e5844000 e5844004 e5931000 (e5923000)
y test program .---[ end trace 68e1bca4e339ba6b ]---
..
Wait Main Board start up ...

  • hello TI-friends,

    it looks like something happened in pcie driver, do I need to upgrade pcie driver when updating uboot from rdk3.0 to 4.0?

  • hello,

       I found that we use pcie_init()  in dvr case.

    And I found pcie_init() below in u-boot-04.04.00.02/board/ti/ti8168/evm.c

    int misc_init_r (void)
    {
    #if defined(CONFIG_TI81XX_PCIE_BOOT) && defined(CONFIG_TI816X_MIN_CONFIG)
    extern int pcie_init(void);
    printf("\nSetting up for pcie boot...\n");
    pcie_init();
    return 0;
    #endif

    I try to copy the above to u-boot-04.04.00.02/board/ti/ti8168_dvr/dvr.c

    and the compiler shows the following always

    board/ti/ti8168_dvr/libti8168_dvr.a(dvr.o): In function `misc_init_r':
    dvr.c:(.text+0x16a0): undefined reference to `pcie_init'
    make: *** [u-boot] Error 1

     

    one more question is

    1. how did we define CONFIG_TI81XX_PCIE_BOOT and CONFIG_TI816X_MIN_CONFIG? I didn't found any place to do that.

  • after I define CONFIG_TI81XX_PCIE_BOOT and CONFIG_TI816X_MIN_CONFIG in Makefile 

    I got following 

    arch/arm/cpu/arm_cortexa8/ti81xx/libti81xx.a(pcie.o): In function `set_ti81xx_device_id':
    pcie.c:(.text+0x40c): undefined reference to `get_ti81xx_device_id'
    arch/arm/cpu/arm_cortexa8/ti81xx/libti81xx.a(pcie.o): In function `pcie_init':
    pcie.c:(.text+0x4fc): undefined reference to `get_pcie_wdt_base_reload'
    pcie.c:(.text+0x50c): undefined reference to `get_bootflag_addr'
    pcie.c:(.text+0x51c): undefined reference to `pcie_hw_setup'
    pcie.c:(.text+0x520): undefined reference to `pcie_pll_setup'
    pcie.c:(.text+0x524): undefined reference to `pcie_enable_module'
    pcie.c:(.text+0x560): undefined reference to `get_ti81xx_device_id'
    make: *** [u-boot] Error 1

    I found #include <asm/arch/pcie.h> was in ./arch/arm/cpu/arm_cortexa8/ti81xx/pcie.c already, and why the above messages was displayed?

  • after

    1. cp ./board/ti/ti8168/pcie.c ./board/ti/ti8168_dvr/

    2. edit ./board/ti/ti8168_dvr/Makefile

    I can compile successfully ~~