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.

AM33x Increase Memory Available

Other Parts Discussed in Thread: TPS65910

Hello, using this build:

http://processors.wiki.ti.com/index.php/TI-Android-JB-4.1.2-DevKit-4.0.1_DeveloperGuide

By default the memory is configured to 256mb. Our board has 2GB installed, but the system is only set up to use 256mb. How can I increase this?

I have changed the boot argument in uEnv.txt, but I believe there is more configuration to do. Can anyone advise me where to make the changes?

Many thanks!

  • Moving this to the Android forum.

  • Hi Richard,


    In order to support more memory, you indeed need to change the boot command parameter, but you also need to modify u-boot to configure the emif.
    In u-boot/board/ti/a335x/board.c there are some emif configuration for different boards and memory that you can use as examples.
    You may also need to change include/configs/am335x_evm.h and arch/arm/cpu/armv7/am33xx/emif4.c for number of memory bank and bank size.

  • Hi Richard,

    In discussion with your colleague Michael it seems tht you are still having some issues in getting the additional memory recogines by the platform.  As suggested would it be feasible for you to post a boot log showing the kernel command line config and console output together with your intended memory map - is this contiguous?

    With the correct EMIF setup u-boot memtest should be able to exercise the expanded memory region fully.  A kernel argument such as 'mem=2048M' should then be sufficient to make this available to the Android platform.

    For the purposes of this thread the EMIF settings that you are using and sent me are below:

    /* AM335X EMIF Register values */
    #ifdef CONFIG_AM335X
    #define DDR2_EMIF_SDMGT        0x80000000
    #define EMIF_SDRAM        0x00004650
    #define EMIF_PHYCFG        0x2
    #define DDR_PHY_RESET        (0x1 << 10)
    #define DDR_FUNCTIONAL_MODE_EN    0x1
    #define DDR_PHY_READY        (0x1 << 2)
    #define    VTP_CTRL_READY        (0x1 << 5)
    #define VTP_CTRL_ENABLE        (0x1 << 6)
    #define VTP_CTRL_LOCK_EN    (0x1 << 4)
    #define VTP_CTRL_START_EN    (0x1)
    #define DDR2_RATIO        0x80    /* for mDDR */
    #define DDR2_CMD_FORCE        0x00    /* common #def */
    #define DDR2_CMD_DELAY        0x00
    //#define DDR3_RATIO        0x40
    #define DDR3_RATIO        0x80
    #define DDR3_CMD_FORCE        0x00
    #define DDR3_CMD_DELAY        0x00
    #define DDR2_EMIF_READ_LATENCY    0x100005    /* Enable Dynamic Power Down */
    #define DDR2_EMIF_TIM1        0x0666B3C9
    #define DDR2_EMIF_TIM2        0x243631CA
    #define DDR2_EMIF_TIM3        0x0000033F
    #define DDR2_EMIF_SDCFG        0x41805332
    #define DDR2_EMIF_SDREF1    0x00004650
    #define DDR2_EMIF_SDREF2    0x0000081a
    #define DDR2_DLL_LOCK_DIFF    0x0
    #define DDR2_RD_DQS        0x12
    #define DDR2_PHY_FIFO_WE    0x80
    #define DDR3_EMIF_READ_LATENCY    0x06
    #define DDR3_EMIF_TIM1        0x0888A39B
    #define DDR3_EMIF_TIM2        0x26337FDA
    #define    DDR3_EMIF_TIM3        0x501F830F
    #define DDR3_EMIF_SDCFG        0x61C04AB2
    #define DDR3_EMIF_SDREF        0x0000093B
    #define DDR3_ZQ_CFG        0x50074BE4
    #define DDR3_DLL_LOCK_DIFF    0x1
    //#define DDR3_RD_DQS        0x3B
    #define DDR3_RD_DQS        0x3A
    //#define DDR3_PHY_FIFO_WE    0x100
    #define DDR3_PHY_FIFO_WE    0x9F
    #define    DDR2_INVERT_CLKOUT    0x00
    #define    DDR2_WR_DQS        0x00
    #define    DDR2_PHY_WRLVL        0x00
    #define    DDR2_PHY_GATELVL    0x00
    #define    DDR2_PHY_WR_DATA    0x40
    #define    DDR2_PHY_RANK0_DELAY    0x01
    #define DDR2_PHY_DLL_LOCK_DIFF    0x0
    #define DDR2_IOCTRL_VALUE    0x18B
    //#define DDR3_INVERT_CLKOUT    0x1
    #define DDR3_INVERT_CLKOUT    0x0
    //#define DDR3_WR_DQS        0x37
    #define DDR3_WR_DQS        0x3A
    #define DDR3_PHY_WRLVL        0x00
    #define DDR3_PHY_GATELVL    0x00
    //#define DDR3_PHY_WR_DATA    0xC1
    #define DDR3_PHY_WR_DATA    0x77
    #define    DDR3_PHY_RANK0_DELAY    0x01
    #define DDR3_PHY_DLL_LOCK_DIFF    0x0
    #define DDR3_IOCTRL_VALUE    0x18B
    #define EMIF_RDWR_LVL_VALUE    0x80000000
    #endif
    

    Also for completeness and context Michael stated that you are using the version of u-boot from this link and I appreciate that it would be very difficult for you to move to a later version of u-boot at this stage of development:

    http://processors.wiki.ti.com/index.php/TI-Android-JB-4.1.2-DevKit-4.0.1_DeveloperGuide#To_Build_Bootloader

    Regards,

    Garry

  • Hi Garry,

    So far I've made the following modifications to increase to 512mb, please see the added lines. Our DDR3 uses banks of 128mb.

    In /include/configs/am335x_evm.h

    ----------------------------------------------------------------------------------

    /*
     * memtest works on 8 MB in DRAM after skipping 32MB from
     * start addr of ram disk
     */
    #define CONFIG_SYS_MEMTEST_START    (PHYS_DRAM_1 + (64 * 1024 * 1024))
    #define CONFIG_SYS_MEMTEST_END        (CONFIG_SYS_MEMTEST_START \
                        + (8 * 1024 * 1024))

    #define CONFIG_SYS_LOAD_ADDR        0x81000000 /* Default load address */

     /* Physical Memory Map */
    #define CONFIG_NR_DRAM_BANKS        4        /* 1 bank of DRAM */
    #define PHYS_DRAM_1            0x80000000    /* DRAM Bank #1 */
    #define PHYS_DRAM_1_SIZE        0x08000000    /* 128 MiB */
    + #define PHYS_DRAM_2            0x88000000    /* DRAM Bank #2 */
    + #define PHYS_DRAM_2_SIZE        0x08000000    /* 128 MiB */
    + #define PHYS_DRAM_3            0x90000000    /* DRAM Bank #3 */
    + #define PHYS_DRAM_3_SIZE        0x08000000    /* 128 MiB */
    + #define PHYS_DRAM_4            0x98000000    /* DRAM Bank #4 */
    + #define PHYS_DRAM_4_SIZE        0x08000000    /* 128 MiB */
    #define CONFIG_MAX_RAM_BANK_SIZE    (1024 << 20)    /* 1GB */

    --------------------------------------------------------------------------------


    In /board/ti/am335x/evm.c

    ----------------------------------------------------------------------------------

    int dram_init(void)
    {
    /*    gd->ram_size = get_ram_size(
                (void *)CONFIG_SYS_SDRAM_BASE,
                CONFIG_MAX_RAM_BANK_SIZE); */
                
    +    gd->ram_size = PHYS_DRAM_1_SIZE + PHYS_DRAM_2_SIZE + PHYS_DRAM_3_SIZE + PHYS_DRAM_4_SIZE;

        return 0;
    }

    void dram_init_banksize (void)
    {

        /* Fill up board info */
        gd->bd->bi_dram[0].start = PHYS_DRAM_1;
        gd->bd->bi_dram[0].size = PHYS_DRAM_1_SIZE;
    +    gd->bd->bi_dram[1].start = PHYS_DRAM_2;
    +    gd->bd->bi_dram[1].size = PHYS_DRAM_2_SIZE;
    +    gd->bd->bi_dram[2].start = PHYS_DRAM_3;
    +    gd->bd->bi_dram[2].size = PHYS_DRAM_3_SIZE;
    +    gd->bd->bi_dram[3].start = PHYS_DRAM_4;
    +    gd->bd->bi_dram[3].size = PHYS_DRAM_4_SIZE;
        
    }

    --------------------------------------------------------------------------------

    Here is the log from U-boot / start of the kernel.

    U-Boot 2011.09-00000-g30fd5ad-dirty (Nov 27 2014 - 10:05:13)

    I2C:   ready
    DRAM:  512 MiB
    WARNING: Caches not enabled
    No daughter card present
    NAND:  HW ECC Hamming Code selected
    No NAND device found!!!
    0 MiB
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    *** Warning - readenv() failed, using default environment

    Net:   cpsw
    Hit any key to stop autoboot:  0
    SD/MMC found on device 0
    reading uEnv.txt

    217 bytes read
    Loaded environment from uEnv.txt
    Importing environment from mmc ...
    Running uenvcmd ...
    reading uImage

    3882152 bytes read
    ## Booting kernel from Legacy Image at 81000000 ...
       Image Name:   Linux-3.2.0
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    3882088 Bytes = 3.7 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.
    [    0.000000] Linux version 3.2.0 (workstation@workstation13149) (gcc version 4
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instructie
    [    0.000000] Machine: am335xevm
    [    0.000000] Memory policy: ECC disabled, Data cache writeback
    [    0.000000] AM335X ES2.0 (sgx neon )
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pa8
    [    0.000000] Kernel command line: console=ttyO0,115200n8 androidboot.console=
    [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 512MB = 512MB total
    [    0.000000] Memory: 510524k/510524k available, 13764k reserved, 0K highmem
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    [    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    [    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc06f6000   (7096 kB)
    [    0.000000]       .init : 0xc06f6000 - 0xc074b000   ( 340 kB)
    [    0.000000]       .data : 0xc074c000 - 0xc07ac7f0   ( 386 kB)
    [    0.000000]        .bss : 0xc07ac814 - 0xc0902380   (1367 kB)
    [    0.000000] NR_IRQS:396
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrus
    [    0.000000] Total of 128 interrupts on 1 active controller
    [    0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz
    [    0.000000] OMAP clocksource: GPTIMER1 at 32768 Hz
    [    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 1s
    [    0.000000] Console: colour dummy device 80x30
    [    0.000152] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
    [    0.058929] pid_max: default: 32768 minimum: 301
    [    0.059082] Security Framework initialized
    [    0.059143] Mount-cache hash table entries: 512
    [    0.059570] CPU: Testing write buffer coherency: ok
    [    0.059631] ftrace: allocating 20597 entries in 61 pages
    [    0.124725] omap_hwmod: pruss: failed to hardreset
    [    0.125549] print_constraints: dummy:
    [    0.125762] NET: Registered protocol family 16
    [    0.126922] OMAP GPIO hardware version 0.1
    [    0.127990] omap_mux_init: Add partition: #1: core, flags: 0
    [    0.129302]  omap_i2c.1: alias fck already exists
    [    0.129852]  omap2_mcspi.1: alias fck already exists
    [    0.129943]  omap2_mcspi.2: alias fck already exists
    [    0.130126]  edma.0: alias fck already exists
    [    0.130126]  edma.0: alias fck already exists
    [    0.130157]  edma.0: alias fck already exists
    [    0.139739] bio: create slab <bio-0> at 0
    [    0.140716] SCSI subsystem initialized
    [    0.141601] usbcore: registered new interface driver usbfs
    [    0.141723] usbcore: registered new interface driver hub
    [    0.141876] usbcore: registered new device driver usb
    [    0.141998] musb-ti81xx musb-ti81xx: musb0, board_mode=0x21, plat_mode=0x1
    [    0.142181] musb-ti81xx musb-ti81xx: musb1, board_mode=0x21, plat_mode=0x2
    [    0.142639] omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 100 kHz
    [    0.143920] tps65910 1-002d: JTAGREVNUM 0x0
    [    0.146118] print_constraints: VRTC:
    [    0.147460] print_constraints: VIO: at 1500 mV
    [    0.149688] print_constraints: VDD1: 600 <--> 1500 mV at 1262 mV normal
    [    0.151916] print_constraints: VDD2: 600 <--> 1500 mV at 1137 mV normal
    [    0.152801] print_constraints: VDD3: 5000 mV
    [    0.154144] print_constraints: VDIG1: at 1800 mV
    [    0.155487] print_constraints: VDIG2: at 1800 mV
    [    0.156799] print_constraints: VPLL: at 1800 mV
    [    0.158142] print_constraints: VDAC: at 1800 mV
    [    0.159454] print_constraints: VAUX1: at 1800 mV
    [    0.160797] print_constraints: VAUX2: at 3300 mV
    [    0.162139] print_constraints: VAUX33: at 3300 mV
    [    0.163482] print_constraints: VMMC: at 3300 mV
    [    0.163787] tps65910 1-002d: No interrupt support, no core IRQ
    [    0.164276] Advanced Linux Sound Architecture Driver Version 1.0.24.
    [    0.164886] Bluetooth: Core ver 2.16
    [    0.164947] NET: Registered protocol family 31
    [    0.164978] Bluetooth: HCI device and connection manager initialized
    [    0.164978] Bluetooth: HCI socket layer initialized
    [    0.164978] Bluetooth: L2CAP socket layer initialized
    [    0.165222] Switching to clocksource gp timer
    [    0.182800] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
    [    0.182983] musb-hdrc musb-hdrc.0: dma type: pio
    [    0.183197] MUSB0 controller's USBSS revision = 4ea20800
    [    0.183349] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    [    0.183441] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus numb1
    [    0.183593] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [    0.183593] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber1
    [    0.183624] usb usb1: Product: MUSB HDRC host driver
    [    0.183624] usb usb1: Manufacturer: Linux 3.2.0 musb-hcd
    [    0.183624] usb usb1: SerialNumber: musb-hdrc.0
    [    0.184143] hub 1-0:1.0: USB hub found
    [    0.184173] hub 1-0:1.0: 1 port detected
    [    0.184600] musb-hdrc musb-hdrc.0: USB Host mode controller at e083c000 usin8
    [    0.184875] musb-hdrc musb-hdrc.1: dma type: pio
    [    0.185058] MUSB1 controller's USBSS revision = 4ea20800
    [    0.185546] musb-hdrc musb-hdrc.1: USB Peripheral mode controller at e083e809
    [    0.185791] NET: Registered protocol family 2
    [    0.186004] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.186401] TCP established hash table entries: 16384 (order: 5, 131072 byte)
    [    0.186676] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
    [    0.186859] TCP: Hash tables configured (established 16384 bind 16384)
    [    0.186889] TCP reno registered
    [    0.186889] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.186920] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.187133] NET: Registered protocol family 1
    [    0.187438] RPC: Registered named UNIX socket transport module.
    [    0.187438] RPC: Registered udp transport module.
    [    0.187438] RPC: Registered tcp transport module.
    [    0.187469] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.187713] NetWinder Floating Point Emulator V0.97 (double precision)
    [    0.303466] ashmem: initialized
    [    0.303741] VFS: Disk quotas dquot_6.5.2
    [    0.303802] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    0.304656] fuse init (API version 7.17)
    [    0.304901] msgmni has been set to 997
    [    0.306091] io scheduler noop registered
    [    0.306091] io scheduler deadline registered
    [    0.306182] io scheduler cfq registered (default)
    [    0.306823] Could not set LED4 to fully on
    [    0.308074] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
    [    0.968750] console [ttyO0] enabled
    [    0.972808] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
    [    0.980529] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
    [    0.988189] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
    [    0.995880] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
    [    1.003509] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
    [    1.017333] brd: module loaded
    [    1.023651] loop: module loaded

    Android boots until this point:

      30.971801] adb_bind_config
    [   30.977752] adb_release
    [   31.018707] adb_open
    [   31.027954] init: untracked pid 73 exited
    [   31.226287] android_work: sent uevent USB_STATE=CONNECTED
    [   31.232055] android_work: sent uevent USB_STATE=DISCONNECTED
    [   31.318145] android_work: sent uevent USB_STATE=CONNECTED
    [   31.324859]  gadget: high-speed config #1: android
    [   31.350433] android_work: sent uevent USB_STATE=CONFIGURED
    [   33.130767] Unable to handle kernel NULL pointer dereference at virtual addr0
    [   33.139221] pgd = c0004000
    [   33.142059] [00000000] *pgd=00000000
    [   33.145782] Internal error: Oops: 5 [#1]
    [   33.149871] Modules linked in: omaplfb(O) pvrsrvkm(O) wl12xx(O) mac80211(O) )
    [   33.159149] CPU: 0    Tainted: G        W  O  (3.2.0 #3)
    [   33.164733] PC is at __wake_up_common+0x34/0x9c
    [   33.169464] LR is at __wake_up+0x30/0x3c
    [   33.173553] pc : [<c0036518>]    lr : [<c00365b0>]    psr: a0000193
    [   33.173553] sp : dfa99d88  ip : 00000000  fp : dfa99dbc
    [   33.185516] r10: 00000003  r9 : dfa99de0  r8 : 00000000
    [   33.190948] r7 : c0d03f68  r6 : 00000193  r5 : df796f88  r4 : 00000193
    [   33.197753] r3 : 00000000  r2 : 00000001  r1 : 00000003  r0 : c0d03f68
    [   33.204559] Flags: NzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kel
    [   33.212280] Control: 10c5387d  Table: 9b1c4019  DAC: 00000015
    [   33.218261]
    [   33.218261] PC: 0xc0036498:
    [   33.222717] 6498  e8bd4000 e3530000 e3a04b02 0a00000a e00c0191 e3130001 e0011
    [   33.231292] 64b8  11a045a1 e28c1b01 e1b030a3 e1a015a1 1afffff6 e2643b02 e0031
    [   33.239837] 64d8  e0203490 e1a005a0 e89da818 e1a0c00d e92ddff0 e24cb004 e24d0
    [   33.248382] 64f8  e8bd4000 e590c000 e1a07000 e1a0a001 e150000c e50b2030 e1a04
    [   33.256958] 6518  e41c400c 0a000015 e244400c e59c5008 e1a0000c e1a03009 e1a08
    [   33.265502] 6538  e59c6000 e12fff35 e1a03004 e1a0c004 e3500000 0a000005 e3163
    [   33.274078] 6558  e51b2030 e2522001 e50b2030 0a000003 e5b3400c e1570003 e244a
    [   33.282623] 6578  e24bd028 e89daff0 e1a0c00d e92dd810 e24cb004 e24dd00c e92d0
    [   33.291168]
    [   33.291198] LR: 0xc0036530:
    [   33.295623] 6530  e1a0100a e1a02008 e59c6000 e12fff35 e1a03004 e1a0c004 e3505
    [   33.304199] 6550  e3160001 0a000003 e51b2030 e2522001 e50b2030 0a000003 e5b33
    [   33.312744] 6570  e244400c 1affffea e24bd028 e89daff0 e1a0c00d e92dd810 e24cc
    [   33.321319] 6590  e92d4000 e8bd4000 e1a0c003 e10f4000 f10c0080 e3a03000 e58dc
    [   33.329864] 65b0  e121f004 e24bd010 e89da810 e1a0c00d e92dd800 e24cb004 e24d0
    [   33.338409] 65d0  e8bd4000 e3a0c000 e3a02001 e1a0300c e58dc000 ebffffbe e24b0
    [   33.346984] 65f0  e1a0c00d e92dd800 e24cb004 e24dd008 e92d4000 e8bd4000 e3a00
    [   33.355529] 6610  e3a02001 ebffffb2 e24bd00c e89da800 e1a0c00d e92dd810 e24cc
    [   33.364105]
    [   33.364105] SP: 0xdfa99d08:
    [   33.368530] 9d08  00000002 00095030 00000000 dfa914b0 b68ef80a dfa91480 c0033
    [   33.377105] 9d28  ffffffff dfa99d74 dfa99dbc dfa99d40 c0548658 c0008360 c0d03
    [   33.385650] 9d48  00000001 00000000 00000193 df796f88 00000193 c0d03f68 00000
    [   33.394226] 9d68  00000003 dfa99dbc 00000000 dfa99d88 c00365b0 c0036518 a000f
    [   33.402770] 9d88  dfa99dac 00000001 c054a350 00000193 df796f88 00000193 00008
    [   33.411346] 9da8  d122ca40 00000000 dfa99ddc dfa99dc0 c00365b0 c00364f0 dfa9f
    [   33.419891] 9dc8  00000002 00000002 dfa99df4 dfa99de0 c005f4a4 c003658c df792
    [   33.428436] 9de8  dfa99e0c dfa99df8 c005f4d8 c005f474 df796f88 c0b26c40 dfa90
    [   33.437011]
    [   33.437011] FP: 0xdfa99d3c:
    [   33.441467] 9d3c  c0008360 c0d03f68 00000003 00000001 00000000 00000193 df793
    [   33.450012] 9d5c  c0d03f68 00000000 dfa99de0 00000003 dfa99dbc 00000000 dfa90
    [   33.458557] 9d7c  c0036518 a0000193 ffffffff dfa99dac 00000001 c054a350 00008
    [   33.467132] 9d9c  00000193 00000400 dfa78428 d122ca40 00000000 dfa99ddc dfa90
    [   33.475677] 9dbc  c00364f0 dfa99de0 7fffffff 00000002 00000002 dfa99df4 dfa94
    [   33.484252] 9ddc  c003658c df796f88 00000002 dfa99e0c dfa99df8 c005f4d8 c0058
    [   33.492797] 9dfc  c0b26c40 dfa99e1c dfa99e10 c00fb7d8 c005f4b8 dfa99e3c dfa90
    [   33.501342] 9e1c  c00fb7b0 c00fb974 d122ca40 dfa8cc38 00000000 dfa99e54 dfa9c
    [   33.509918]
    [   33.509918] R0: 0xc0d03ee8:
    [   33.514373] 3ee8  c0d03ee8 c0d03ee8 c0d03ef0 c0d03ef0 c0d03ef8 c0d03ef8 00000
    [   33.522918] 3f08  00000000 00000000 00000000 00000000 00000000 00000000 00000
    [   33.531463] 3f28  00000000 00000000 00000000 00000000 00000000 00000000 00000
    [   33.540039] 3f48  00000000 00000000 00000000 00000000 00000000 00000000 00000
    [   33.548583] 3f68  00000000 00000000 00000000 00000000 00000000 00000000 00000
    [   33.557128] 3f88  00000000 00000000 00000000 00000000 00000000 00000000 00000
    [   33.565704] 3fa8  00000000 00000000 00000000 00000000 00000000 00000000 00000
    [   33.574249] 3fc8  00000000 00000000 00000000 00000000 00000000 00000000 00000
    [   33.582824]
    [   33.582824] R5: 0xdf796f08:
    [   33.587249] 6f08  000000ac df796f48 c0b26c60 00000000 00002896 00000000 00000
    [   33.595825] 6f28  df402040 c00fb974 00000000 df796f34 df796f34 00000000 00000
    [   33.604370] 6f48  000000ac df796e88 c0b26c60 00000000 00002897 00000000 00000
    [   33.612945] 6f68  df402040 c00fb974 00000000 df796f74 df796f74 00000000 00000
    [   33.621490] 6f88  00000029 df795108 c0b26c40 00000000 00002890 00000000 00000
    [   33.630035] 6fa8  df402040 c00fb974 00000000 df796fb4 df796fb4 00000000 00000
    [   33.638610] 6fc8  59bffdce 57bf77af d7b7efbe f676fbfc ddbc6b96 fb7e693c fd57e
    [   33.647155] 6fe8  ef6f4d74 a55ee7ff bd7ff1fc bffe9d3c f77cfcdb fa3ade49 df798
    [   33.655731]
    [   33.655731] R7: 0xc0d03ee8:
    [   33.660156] 3ee8  c0d03ee8 c0d03ee8 c0d03ef0 c0d03ef0 c0d03ef8 c0d03ef8 00000
    [   33.668731] 3f08  00000000 00000000 00000000 00000000 00000000 00000000 00000
    [   33.677276] 3f28  00000000 00000000 00000000 00000000 00000000 00000000 00000
    [   33.685852] 3f48  00000000 00000000 00000000 00000000 00000000 00000000 00000
    [   33.694396] 3f68  00000000 00000000 00000000 00000000 00000000 00000000 00000
    [   33.702941] 3f88  00000000 00000000 00000000 00000000 00000000 00000000 00000
    [   33.711517] 3fa8  00000000 00000000 00000000 00000000 00000000 00000000 00000
    [   33.720062] 3fc8  00000000 00000000 00000000 00000000 00000000 00000000 00000
    [   33.728607]
    [   33.728637] R9: 0xdfa99d60:
    [   33.733062] 9d60  00000000 dfa99de0 00000003 dfa99dbc 00000000 dfa99d88 c0038
    [   33.741638] 9d80  a0000193 ffffffff dfa99dac 00000001 c054a350 00000193 df793
    [   33.750183] 9da0  00000400 dfa78428 d122ca40 00000000 dfa99ddc dfa99dc0 c0030
    [   33.758728] 9dc0  dfa99de0 7fffffff 00000002 00000002 dfa99df4 dfa99de0 c005c
    [   33.767303] 9de0  df796f88 00000002 dfa99e0c dfa99df8 c005f4d8 c005f474 df790
    [   33.775848] 9e00  dfa99e1c dfa99e10 c00fb7d8 c005f4b8 dfa99e3c dfa99e20 c00f0
    [   33.784423] 9e20  c00fb974 d122ca40 dfa8cc38 00000000 dfa99e54 dfa99e40 c00f0
    [   33.792968] 9e40  c00faf58 d122ca40 dfa99e64 dfa99e58 c00ff884 c00faf64 dfa98
    [   33.801513] Process mmcqd/0 (pid: 48, stack limit = 0xdfa982f0)
    [   33.807708] Stack: (0xdfa99d88 to 0xdfa9a000)
    [   33.812255] 9d80:                   dfa99dac 00000001 c054a350 00000193 df793
    [   33.820770] 9da0: 00000400 dfa78428 d122ca40 00000000 dfa99ddc dfa99dc0 c0030
    [   33.829315] 9dc0: dfa99de0 7fffffff 00000002 00000002 dfa99df4 dfa99de0 c005c
    [   33.837829] 9de0: df796f88 00000002 dfa99e0c dfa99df8 c005f4d8 c005f474 df790
    [   33.846374] 9e00: dfa99e1c dfa99e10 c00fb7d8 c005f4b8 dfa99e3c dfa99e20 c00f0
    [   33.854888] 9e20: c00fb974 d122ca40 dfa8cc38 00000000 dfa99e54 dfa99e40 c00f0
    [   33.863433] 9e40: c00faf58 d122ca40 dfa99e64 dfa99e58 c00ff884 c00faf64 dfa98
    [   33.871948] 9e60: c024c334 c00ff84c 00000000 d122ca40 0000fc00 00000000 dfa98
    [   33.880493] 9e80: c024c4a4 c024c2b0 00000000 00000000 dfa8cc38 00000000 df198
    [   33.889038] 9ea0: 00000000 00000000 dfa78800 dfa78428 00000000 00000000 dfa98
    [   33.897552] 9ec0: c024f824 c024c394 00000000 dfa8cc38 dfa7851c dfa78404 dfa98
    [   33.906097] 9ee0: c024fb64 c024f80c dfa99f44 dfa99ef8 c03bf15c c024fb54 dfa98
    [   33.914611] 9f00: 00000000 00000000 dfa78400 dfa99f14 c07729b8 00000000 dfa90
    [   33.923156] 9f20: dfa78404 dfa98000 dfa78400 00000000 dfa8cc38 dfa78400 dfa98
    [   33.931671] 9f40: c03bf3b4 c03beeb0 dfa91480 dfa78404 00000000 dfa98000 00000
    [   33.940216] 9f60: 00000000 dfa78404 00000000 dfa98000 00000001 dfa44730 dfa8c
    [   33.948730] 9f80: dfa99fbc dfa99f90 c03c0554 c03bf220 00000000 df151cbc dfa70
    [   33.957275] 9fa0: 00000013 00000000 00000000 00000000 dfa99ff4 dfa99fc0 c005c
    [   33.965789] 9fc0: df151cbc 00000000 dfa78404 00000000 dfa99fd0 dfa99fd0 0000c
    [   33.974334] 9fe0: c005ee74 c004456c 00000000 dfa99ff8 c004456c c005ee80 203b4
    [   33.982849] Backtrace:
    [   33.985412] [<c00364e4>] (__wake_up_common+0x0/0x9c) from [<c00365b0>] (__wa)
    [   33.994232] [<c0036580>] (__wake_up+0x0/0x3c) from [<c005f4a4>] (__wake_up_b)
    [   34.002746]  r4:00000002
    [   34.005401] [<c005f468>] (__wake_up_bit+0x0/0x44) from [<c005f4d8>] (wake_up)
    [   34.014129] [<c005f4ac>] (wake_up_bit+0x0/0x30) from [<c00fb7d8>] (unlock_bu)
    [   34.022827]  r5:c0b26c40 r4:df796f88
    [   34.026580] [<c00fb7a4>] (unlock_buffer+0x0/0x38) from [<c00fb9f0>] (end_buf)
    [   34.036285] [<c00fb974>] (end_buffer_async_read+0x0/0x164) from [<c00faf9c>])
    [   34.046447]  r6:00000000 r5:dfa8cc38 r4:d122ca40 r3:c00fb974
    [   34.052368] [<c00faf58>] (end_bio_bh_io_sync+0x0/0x88) from [<c00ff884>] (bi)
    [   34.061340]  r4:d122ca40 r3:c00faf58
    [   34.065093] [<c00ff840>] (bio_endio+0x0/0x64) from [<c024c334>] (req_bio_end)
    [   34.073638] [<c024c2a4>] (req_bio_endio+0x0/0xe4) from [<c024c4a4>] (blk_upd)
    [   34.083160]  r6:00000000 r5:0000fc00 r4:d122ca40 r3:00000000
    [   34.089080] [<c024c388>] (blk_update_request+0x0/0x494) from [<c024f824>] (_)
    [   34.099334] [<c024f800>] (__blk_end_bidi_request+0x0/0x98) from [<c024fb64>])
    [   34.109405]  r6:dfa78404 r5:dfa7851c r4:dfa8cc38 r3:00000000
    [   34.115325] [<c024fb48>] (__blk_end_request+0x0/0x20) from [<c03bf15c>] (mmc)
    [   34.125305] [<c03beea4>] (mmc_blk_issue_rw_rq+0x0/0x370) from [<c03bf3b4>] ()
    [   34.135284] [<c03bf214>] (mmc_blk_issue_rq+0x0/0x44c) from [<c03c0554>] (mmc)
    [   34.144805] [<c03c04f0>] (mmc_queue_thread+0x0/0xf8) from [<c005ef08>] (kthr)
    [   34.153442] [<c005ee74>] (kthread+0x0/0x9c) from [<c004456c>] (do_exit+0x0/0)
    [   34.161254]  r6:c004456c r5:c005ee74 r4:df151cbc
    [   34.166076] Code: e150000c e50b2030 e1a08003 e59b9004 (e41c400c)
    [   34.172576] ---[ end trace d95288ca3e4df8fc ]---
    [   34.177429] Kernel panic - not syncing: Fatal exception
    [   34.182861] Backtrace:
    [   34.185455] [<c00176e8>] (dump_backtrace+0x0/0x114) from [<c0542a98>] (dump_)
    [   34.194244]  r6:00000001 r5:00000000 r4:c07ad898 r3:c07711e0
    [   34.200195] [<c0542a78>] (dump_stack+0x0/0x24) from [<c0542cb0>] (panic+0x6c)
    [   34.208190] [<c0542c44>] (panic+0x0/0x190) from [<c0017a2c>] (die+0x128/0x2a)
    [   34.215728]  r3:00000001 r2:0000a064 r1:00000000 r0:c0650728
    [   34.221649]  r7:00000001
    [   34.224304] [<c0017904>] (die+0x0/0x2a8) from [<c0542b00>] (__do_kernel_faul)
    [   34.233398] [<c0542a9c>] (__do_kernel_fault.part.3+0x0/0x84) from [<c054a1ac)
    [   34.243469]  r7:00000005 r3:dfa99d40
    [   34.247222] [<c0549f7c>] (do_page_fault+0x0/0x23c) from [<c054a260>] (do_tra)
    [   34.256866] [<c054a1b8>] (do_translation_fault+0x0/0xb0) from [<c0008398>] ()
    [   34.266296]  r7:dfa99d40 r6:00000000 r5:c0756510 r4:00000005
    [   34.272247] [<c0008354>] (do_DataAbort+0x0/0xa8) from [<c0548658>] (__dabt_s)
    [   34.280792] Exception stack(0xdfa99d40 to 0xdfa99d88)
    [   34.286071] 9d40: c0d03f68 00000003 00000001 00000000 00000193 df796f88 00008
    [   34.294616] 9d60: 00000000 dfa99de0 00000003 dfa99dbc 00000000 dfa99d88 c0038
    [   34.303131] 9d80: a0000193 ffffffff
    [   34.306793]  r7:dfa99d74 r6:ffffffff r5:a0000193 r4:c0036518
    [   34.312713] [<c00364e4>] (__wake_up_common+0x0/0x9c) from [<c00365b0>] (__wa)
    [   34.321533] [<c0036580>] (__wake_up+0x0/0x3c) from [<c005f4a4>] (__wake_up_b)
    [   34.330078]  r4:00000002
    [   34.332733] [<c005f468>] (__wake_up_bit+0x0/0x44) from [<c005f4d8>] (wake_up)
    [   34.341461] [<c005f4ac>] (wake_up_bit+0x0/0x30) from [<c00fb7d8>] (unlock_bu)
    [   34.350158]  r5:c0b26c40 r4:df796f88
    [   34.353912] [<c00fb7a4>] (unlock_buffer+0x0/0x38) from [<c00fb9f0>] (end_buf)
    [   34.363647] [<c00fb974>] (end_buffer_async_read+0x0/0x164) from [<c00faf9c>])
    [   34.373809]  r6:00000000 r5:dfa8cc38 r4:d122ca40 r3:c00fb974
    [   34.379730] [<c00faf58>] (end_bio_bh_io_sync+0x0/0x88) from [<c00ff884>] (bi)
    [   34.388732]  r4:d122ca40 r3:c00faf58
    [   34.392486] [<c00ff840>] (bio_endio+0x0/0x64) from [<c024c334>] (req_bio_end)
    [   34.401031] [<c024c2a4>] (req_bio_endio+0x0/0xe4) from [<c024c4a4>] (blk_upd)
    [   34.410552]  r6:00000000 r5:0000fc00 r4:d122ca40 r3:00000000
    [   34.416473] [<c024c388>] (blk_update_request+0x0/0x494) from [<c024f824>] (_)
    [   34.426757] [<c024f800>] (__blk_end_bidi_request+0x0/0x98) from [<c024fb64>])
    [   34.436828]  r6:dfa78404 r5:dfa7851c r4:dfa8cc38 r3:00000000
    [   34.442749] [<c024fb48>] (__blk_end_request+0x0/0x20) from [<c03bf15c>] (mmc)
    [   34.452758] [<c03beea4>] (mmc_blk_issue_rw_rq+0x0/0x370) from [<c03bf3b4>] ()
    [   34.462738] [<c03bf214>] (mmc_blk_issue_rq+0x0/0x44c) from [<c03c0554>] (mmc)
    [   34.472290] [<c03c04f0>] (mmc_queue_thread+0x0/0xf8) from [<c005ef08>] (kthr)
    [   34.480926] [<c005ee74>] (kthread+0x0/0x9c) from [<c004456c>] (do_exit+0x0/0)
    [   34.488739]  r6:c004456c r5:c005ee74 r4:df151cbc

  • Hi Richard,

    in order to help us understand this crash, could you perform the following tests and let us know how it behaves:
    1) boot with the mem=128 command line argument
    2) from u-boot test the memory using the u-boot test command (if available) or at least trying to read write some value manually using mm and md. 

  • Hi All,

    This turned out to be an issue with hardware, but many thanks for your help, I'm sure it will help someone else in future.