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.

eMMC interface with Am335x

Other Parts Discussed in Thread: TPD6E001

As am335x per schematic checklist(at below link)

processors.wiki.ti.com/.../AM335x_Schematic_Checklist

It is suggested that,

When connecting a device (card or eMMC), include 10k pullups on RST#, CLK, CMD, and all DAT signals.

Now we have 10K pullups on the all the DAT lines and RST line however we don't have 10K pull up for CLK line.

we are seeing following error which is not reproducible every time,

2016-08-12T18:42:34.863833+05:30 kernel: [275054.357144] mmcqd/1: page allocation failure: order:3, mode:0x200020
2016-08-12T18:42:34.863997+05:30 kernel: [275054.357184] CPU: 0 PID: 613 Comm: mmcqd/1 Tainted: P           O 3.12.11-005-ts-armv7l #3
2016-08-12T18:42:34.864051+05:30 kernel: [275054.357251] [<c0012d24>] (unwind_backtrace+0x0/0xf4) from [<c0011130>] (show_stack+0x10/0x14)
2016-08-12T18:42:34.864094+05:30 kernel: [275054.357285] [<c0011130>] (show_stack+0x10/0x14) from [<c0087548>] (warn_alloc_failed+0xe0/0x118)
2016-08-12T18:42:34.864158+05:30 kernel: [275054.357315] [<c0087548>] (warn_alloc_failed+0xe0/0x118) from [<c008a3ac>] (__alloc_pages_nodemask+0x74c/0x8f8)
2016-08-12T18:42:34.864203+05:30 kernel: [275054.357344] [<c008a3ac>] (__alloc_pages_nodemask+0x74c/0x8f8) from [<c00b2e8c>] (cache_alloc_refill+0x328/0x620)
2016-08-12T18:42:34.864244+05:30 kernel: [275054.357367] [<c00b2e8c>] (cache_alloc_refill+0x328/0x620) from [<c00b3224>] (__kmalloc+0xa0/0xe8)
2016-08-12T18:42:34.864284+05:30 kernel: [275054.357403] [<c00b3224>] (__kmalloc+0xa0/0xe8) from [<c0212904>] (edma_prep_slave_sg+0x84/0x388)
2016-08-12T18:42:34.864323+05:30 kernel: [275054.357439] [<c0212904>] (edma_prep_slave_sg+0x84/0x388) from [<c02eeb98>] (omap_hsmmc_request+0x414/0x508)
2016-08-12T18:42:34.864362+05:30 kernel: [275054.357466] [<c02eeb98>] (omap_hsmmc_request+0x414/0x508) from [<c02d9240>] (mmc_start_request+0xc4/0xe0)
2016-08-12T18:42:34.864402+05:30 kernel: [275054.357488] [<c02d9240>] (mmc_start_request+0xc4/0xe0) from [<c02da028>] (mmc_start_req+0x2d8/0x38c)
2016-08-12T18:42:34.864441+05:30 kernel: [275054.357510] [<c02da028>] (mmc_start_req+0x2d8/0x38c) from [<c02e7310>] (mmc_blk_issue_rw_rq+0xb4/0x9d8)
2016-08-12T18:42:34.864480+05:30 kernel: [275054.357532] [<c02e7310>] (mmc_blk_issue_rw_rq+0xb4/0x9d8) from [<c02e7dd8>] (mmc_blk_issue_rq+0x1a4/0x468)
2016-08-12T18:42:34.864528+05:30 kernel: [275054.357554] [<c02e7dd8>] (mmc_blk_issue_rq+0x1a4/0x468) from [<c02e8760>] (mmc_queue_thread+0x88/0x118)
2016-08-12T18:42:34.864568+05:30 kernel: [275054.357580] [<c02e8760>] (mmc_queue_thread+0x88/0x118) from [<c004d8b8>] (kthread+0xb4/0xb8)
2016-08-12T18:42:34.864606+05:30 kernel: [275054.357604] [<c004d8b8>] (kthread+0xb4/0xb8) from [<c000e298>] (ret_from_fork+0x14/0x3c)
2016-08-12T18:42:34.864636+05:30 kernel: [275054.357614] Mem-info:
2016-08-12T18:42:34.864666+05:30 kernel: [275054.357623] Normal per-cpu:
2016-08-12T18:42:34.864697+05:30 kernel: [275054.357634] CPU    0: hi:   90, btch:  15 usd:  54
2016-08-12T18:42:34.864729+05:30 kernel: [275054.357662] active_anon:8869 inactive_anon:22 isolated_anon:0
2016-08-12T18:42:34.864761+05:30 kernel: [275054.357662]  active_file:6717 inactive_file:33732 isolated_file:0
2016-08-12T18:42:34.864793+05:30 kernel: [275054.357662]  unevictable:422 dirty:3 writeback:0 unstable:0
2016-08-12T18:42:34.864831+05:30 kernel: [275054.357662]  free:2317 slab_reclaimable:8638 slab_unreclaimable:1108
2016-08-12T18:42:34.864864+05:30 kernel: [275054.357662]  mapped:1700 shmem:47 pagetables:214 bounce:0
2016-08-12T18:42:34.864895+05:30 kernel: [275054.357662]  free_cma:1566
2016-08-12T18:42:34.864953+05:30 kernel: [275054.357724] Normal free:9268kB min:2004kB low:2504kB high:3004kB active_anon:35476kB inactive_anon:88kB active_file:26868kB inactive_file:134928kB unevictable:1688kB isolated(anon):0kB isolated(file):0kB present:260096kB managed:251496kB mlocked:1688kB dirty:12kB writeback:0kB mapped:6800kB shmem:188kB slab_reclaimable:34552kB slab_unreclaimable:4432kB kernel_stack:1072kB pagetables:856kB unstable:0kB bounce:0kB free_cma:6264kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
2016-08-12T18:42:34.864986+05:30 kernel: [275054.357735] lowmem_reserve[]: 0 0 0
2016-08-12T18:42:34.865023+05:30 kernel: [275054.357753] Normal: 1053*4kB (UEMC) 570*8kB (UEMC) 31*16kB (UEM) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB 0*8192kB = 9268kB
2016-08-12T18:42:34.865055+05:30 kernel: [275054.357806] 40840 total pagecache pages
2016-08-12T18:42:34.865085+05:30 kernel: [275054.357823] 0 pages in swap cache
2016-08-12T18:42:34.865123+05:30 kernel: [275054.357832] Swap cache stats: add 0, delete 0, find 0/0
2016-08-12T18:42:34.865154+05:30 kernel: [275054.357840] Free swap  = 0kB
2016-08-12T18:42:34.865184+05:30 kernel: [275054.357847] Total swap = 0kB
2016-08-12T18:42:34.865215+05:30 kernel: [275054.357858] SLAB: Unable to allocate memory on node 0 (gfp=0x20)
2016-08-12T18:42:34.865248+05:30 kernel: [275054.357869]   cache: kmalloc-32768, object size: 32768, order: 3
2016-08-12T18:42:34.865279+05:30 kernel: [275054.357883]   node 0: slabs: 3/3, objs: 3/3, free: 0
2016-08-12T18:42:34.865311+05:30 kernel: [275054.357906] omap_hsmmc 481d8000.mmc: prep_slave_sg() failed
2016-08-12T18:42:34.865343+05:30 kernel: [275054.357918] omap_hsmmc 481d8000.mmc: MMC start dma failure
2016-08-12T18:42:34.887199+05:30 kernel: [275054.363504] mmcblk0: unknown error -1 sending read/write command, card status 0x900
2016-08-12T18:42:34.887353+05:30 kernel: [275054.363898] blk_update_request: 1526 callbacks suppressed
2016-08-12T18:42:34.887399+05:30 kernel: [275054.363912] end_request: I/O error, dev mmcblk0, sector 344802
2016-08-12T18:42:34.887434+05:30 kernel: [275054.364189] end_request: I/O error, dev mmcblk0, sector 344804
2016-08-12T18:42:34.887468+05:30 kernel: [275054.364291] end_request: I/O error, dev mmcblk0, sector 344806
2016-08-12T18:42:34.887500+05:30 kernel: [275054.364371] end_request: I/O error, dev mmcblk0, sector 344808
2016-08-12T18:42:34.887532+05:30 kernel: [275054.364442] end_request: I/O error, dev mmcblk0, sector 344810
2016-08-12T18:42:34.887563+05:30 kernel: [275054.364513] end_request: I/O error, dev mmcblk0, sector 344812
2016-08-12T18:42:34.887595+05:30 kernel: [275054.364582] end_request: I/O error, dev mmcblk0, sector 344814
2016-08-12T18:42:34.887627+05:30 kernel: [275054.364667] end_request: I/O error, dev mmcblk0, sector 344816
2016-08-12T18:42:34.887659+05:30 kernel: [275054.364738] end_request: I/O error, dev mmcblk0, sector 344818
2016-08-12T18:42:34.887691+05:30 kernel: [275054.364806] end_request: I/O error, dev mmcblk0, sector 344820
2016-08-12T18:42:34.887722+05:30 kernel: [275054.379994] mmcqd/1: page allocation failure: order:3, mode:0x200020
2016-08-12T18:42:34.887756+05:30 kernel: [275054.380025] CPU: 0 PID: 613 Comm: mmcqd/1 Tainted: P           O 3.12.11-005-ts-armv7l #3
2016-08-12T18:42:34.887796+05:30 kernel: [275054.380088] [<c0012d24>] (unwind_backtrace+0x0/0xf4) from [<c0011130>] (show_stack+0x10/0x14)
2016-08-12T18:42:34.887834+05:30 kernel: [275054.380122] [<c0011130>] (show_stack+0x10/0x14) from [<c0087548>] (warn_alloc_failed+0xe0/0x118)
2016-08-12T18:42:34.887872+05:30 kernel: [275054.380150] [<c0087548>] (warn_alloc_failed+0xe0/0x118) from [<c008a3ac>] (__alloc_pages_nodemask+0x74c/0x8f8)
2016-08-12T18:42:34.887913+05:30 kernel: [275054.380179] [<c008a3ac>] (__alloc_pages_nodemask+0x74c/0x8f8) from [<c00b2e8c>] (cache_alloc_refill+0x328/0x620)
2016-08-12T18:42:34.887953+05:30 kernel: [275054.380202] [<c00b2e8c>] (cache_alloc_refill+0x328/0x620) from [<c00b3224>] (__kmalloc+0xa0/0xe8)
2016-08-12T18:42:34.887993+05:30 kernel: [275054.380237] [<c00b3224>] (__kmalloc+0xa0/0xe8) from [<c0212904>] (edma_prep_slave_sg+0x84/0x388)
2016-08-12T18:42:34.888032+05:30 kernel: [275054.380272] [<c0212904>] (edma_prep_slave_sg+0x84/0x388) from [<c02eeb98>] (omap_hsmmc_request+0x414/0x508)
2016-08-12T18:42:34.888071+05:30 kernel: [275054.380298] [<c02eeb98>] (omap_hsmmc_request+0x414/0x508) from [<c02d9240>] (mmc_start_request+0xc4/0xe0)
2016-08-12T18:42:34.888109+05:30 kernel: [275054.380321] [<c02d9240>] (mmc_start_request+0xc4/0xe0) from [<c02da028>] (mmc_start_req+0x2d8/0x38c)
2016-08-12T18:42:34.888149+05:30 kernel: [275054.380341] [<c02da028>] (mmc_start_req+0x2d8/0x38c) from [<c02e748c>] (mmc_blk_issue_rw_rq+0x230/0x9d8)
2016-08-12T18:42:34.888188+05:30 kernel: [275054.380363] [<c02e748c>] (mmc_blk_issue_rw_rq+0x230/0x9d8) from [<c02e7dd8>] (mmc_blk_issue_rq+0x1a4/0x468)
2016-08-12T18:42:34.888227+05:30 kernel: [275054.380384] [<c02e7dd8>] (mmc_blk_issue_rq+0x1a4/0x468) from [<c02e8760>] (mmc_queue_thread+0x88/0x118)
2016-08-12T18:42:34.888265+05:30 kernel: [275054.380409] [<c02e8760>] (mmc_queue_thread+0x88/0x118) from [<c004d8b8>] (kthread+0xb4/0xb8)
2016-08-12T18:42:34.888302+05:30 kernel: [275054.380433] [<c004d8b8>] (kthread+0xb4/0xb8) from [<c000e298>] (ret_from_fork+0x14/0x3c)
2016-08-12T18:42:34.888332+05:30 kernel: [275054.380443] Mem-info:
2016-08-12T18:42:34.888362+05:30 kernel: [275054.380452] Normal per-cpu:
2016-08-12T18:42:34.888393+05:30 kernel: [275054.380462] CPU    0: hi:   90, btch:  15 usd:  85
2016-08-12T18:42:34.888424+05:30 kernel: [275054.380490] active_anon:8869 inactive_anon:22 isolated_anon:0
2016-08-12T18:42:34.888456+05:30 kernel: [275054.380490]  active_file:6717 inactive_file:33708 isolated_file:0
2016-08-12T18:42:34.888487+05:30 kernel: [275054.380490]  unevictable:422 dirty:7 writeback:0 unstable:0
2016-08-12T18:42:34.888520+05:30 kernel: [275054.380490]  free:2317 slab_reclaimable:8638 slab_unreclaimable:1099
2016-08-12T18:42:34.888551+05:30 kernel: [275054.380490]  mapped:1700 shmem:47 pagetables:214 bounce:0
2016-08-12T18:42:34.888581+05:30 kernel: [275054.380490]  free_cma:1566
2016-08-12T18:42:34.888638+05:30 kernel: [275054.380550] Normal free:9268kB min:2004kB low:2504kB high:3004kB active_anon:35476kB inactive_anon:88kB active_file:26868kB inactive_file:134832kB unevictable:1688kB isolated(anon):0kB isolated(file):0kB present:260096kB managed:251496kB mlocked:1688kB dirty:28kB writeback:0kB mapped:6800kB shmem:188kB slab_reclaimable:34552kB slab_unreclaimable:4396kB kernel_stack:1072kB pagetables:856kB unstable:0kB bounce:0kB free_cma:6264kB writeback_tmp:0kB pages_scanned:24 all_unreclaimable? no
2016-08-12T18:42:34.888671+05:30 kernel: [275054.380562] lowmem_reserve[]: 0 0 0
2016-08-12T18:42:34.888708+05:30 kernel: [275054.380580] Normal: 1053*4kB (UEMC) 570*8kB (UEMC) 31*16kB (UEM) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB 0*8192kB = 9268kB
2016-08-12T18:42:34.888764+05:30 kernel: [275054.380631] 40818 total pagecache pages
2016-08-12T18:42:34.888797+05:30 kernel: [275054.380647] 0 pages in swap cache
2016-08-12T18:42:34.888830+05:30 kernel: [275054.380656] Swap cache stats: add 0, delete 0, find 0/0
2016-08-12T18:42:34.888861+05:30 kernel: [275054.380664] Free swap  = 0kB
2016-08-12T18:42:34.888890+05:30 kernel: [275054.380670] Total swap = 0kB
2016-08-12T18:42:34.888922+05:30 kernel: [275054.380682] SLAB: Unable to allocate memory on node 0 (gfp=0x20)
2016-08-12T18:42:34.889002+05:30 kernel: [275054.380693]   cache: kmalloc-32768, object size: 32768, order: 3
2016-08-12T18:42:34.889039+05:30 kernel: [275054.380705]   node 0: slabs: 3/3, objs: 3/3, free: 0
2016-08-12T18:42:34.889072+05:30 kernel: [275054.380727] omap_hsmmc 481d8000.mmc: prep_slave_sg() failed
2016-08-12T18:42:34.889111+05:30 kernel: [275054.380740] omap_hsmmc 481d8000.mmc: MMC start dma failure
2016-08-12T18:42:34.910595+05:30 kernel: [275054.387570] mmcblk0: unknown error -1 sending read/write command, card status 0x900
2016-08-12T18:42:34.910788+05:30 kernel: [275054.403229] mmcqd/1: page allocation failure: order:3, mode:0x200020
2016-08-12T18:42:34.910839+05:30 kernel: [275054.403260] CPU: 0 PID: 613 Comm: mmcqd/1 Tainted: P           O 3.12.11-005-ts-armv7l #3
2016-08-12T18:42:34.911525+05:30 kernel: [275054.403324] [<c0012d24>] (unwind_backtrace+0x0/0xf4) from [<c0011130>] (show_stack+0x10/0x14)
2016-08-12T18:42:34.911609+05:30 kernel: [275054.403358] [<c0011130>] (show_stack+0x10/0x14) from [<c0087548>] (warn_alloc_failed+0xe0/0x118)
2016-08-12T18:42:34.929396+05:30 kernel: [275054.403386] [<c0087548>] (warn_alloc_failed+0xe0/0x118) from [<c008a3ac>] (__alloc_pages_nodemask+0x74c/0x8f8)
2016-08-12T18:42:34.929455+05:30 kernel: [275054.403415] [<c008a3ac>] (__alloc_pages_nodemask+0x74c/0x8f8) from [<c00b2e8c>] (cache_alloc_refill+0x328/0x620)
2016-08-12T18:42:34.929497+05:30 kernel: [275054.403438] [<c00b2e8c>] (cache_alloc_refill+0x328/0x620) from [<c00b3224>] (__kmalloc+0xa0/0xe8)
2016-08-12T18:42:34.929538+05:30 kernel: [275054.403473] [<c00b3224>] (__kmalloc+0xa0/0xe8) from [<c0212904>] (edma_prep_slave_sg+0x84/0x388)
2016-08-12T18:42:34.929577+05:30 kernel: [275054.403508] [<c0212904>] (edma_prep_slave_sg+0x84/0x388) from [<c02eeb98>] (omap_hsmmc_request+0x414/0x508)
2016-08-12T18:42:34.929616+05:30 kernel: [275054.403534] [<c02eeb98>] (omap_hsmmc_request+0x414/0x508) from [<c02d9240>] (mmc_start_request+0xc4/0xe0)
2016-08-12T18:42:34.929655+05:30 kernel: [275054.403556] [<c02d9240>] (mmc_start_request+0xc4/0xe0) from [<c02da028>] (mmc_start_req+0x2d8/0x38c)
2016-08-12T18:42:34.929695+05:30 kernel: [275054.403578] [<c02da028>] (mmc_start_req+0x2d8/0x38c) from [<c02e748c>] (mmc_blk_issue_rw_rq+0x230/0x9d8)
2016-08-12T18:42:34.929735+05:30 kernel: [275054.403600] [<c02e748c>] (mmc_blk_issue_rw_rq+0x230/0x9d8) from [<c02e7dd8>] (mmc_blk_issue_rq+0x1a4/0x468)
2016-08-12T18:42:34.929773+05:30 kernel: [275054.403620] [<c02e7dd8>] (mmc_blk_issue_rq+0x1a4/0x468) from [<c02e8760>] (mmc_queue_thread+0x88/0x118)
2016-08-12T18:42:34.929812+05:30 kernel: [275054.403646] [<c02e8760>] (mmc_queue_thread+0x88/0x118) from [<c004d8b8>] (kthread+0xb4/0xb8)
2016-08-12T18:42:34.929849+05:30 kernel: [275054.403670] [<c004d8b8>] (kthread+0xb4/0xb8) from [<c000e298>] (ret_from_fork+0x14/0x3c)
2016-08-12T18:42:34.929880+05:30 kernel: [275054.403681] Mem-info:
2016-08-12T18:42:34.929909+05:30 kernel: [275054.403689] Normal per-cpu:
2016-08-12T18:42:34.929940+05:30 kernel: [275054.403700] CPU    0: hi:   90, btch:  15 usd:  86
2016-08-12T18:42:34.929972+05:30 kernel: [275054.403726] active_anon:8869 inactive_anon:22 isolated_anon:0
2016-08-12T18:42:34.930004+05:30 kernel: [275054.403726]  active_file:6723 inactive_file:33676 isolated_file:0
2016-08-12T18:42:34.930036+05:30 kernel: [275054.403726]  unevictable:422 dirty:11 writeback:0 unstable:0
2016-08-12T18:42:34.930068+05:30 kernel: [275054.403726]  free:2362 slab_reclaimable:8638 slab_unreclaimable:1081
2016-08-12T18:42:34.930101+05:30 kernel: [275054.403726]  mapped:1700 shmem:47 pagetables:214 bounce:0
2016-08-12T18:42:34.930130+05:30 kernel: [275054.403726]  free_cma:1566
2016-08-12T18:42:34.930188+05:30 kernel: [275054.403785] Normal free:9448kB min:2004kB low:2504kB high:3004kB active_anon:35476kB inactive_anon:88kB active_file:26892kB inactive_file:134704kB unevictable:1688kB isolated(anon):0kB isolated(file):0kB present:260096kB managed:251496kB mlocked:1688kB dirty:44kB writeback:0kB mapped:6800kB shmem:188kB slab_reclaimable:34552kB slab_unreclaimable:4324kB kernel_stack:1072kB pagetables:856kB unstable:0kB bounce:0kB free_cma:6264kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
2016-08-12T18:42:34.930221+05:30 kernel: [275054.403798] lowmem_reserve[]: 0 0 0
2016-08-12T18:42:34.930257+05:30 kernel: [275054.403816] Normal: 1080*4kB (UEMC) 573*8kB (UEMC) 34*16kB (UEM) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB 0*8192kB = 9448kB
2016-08-12T18:42:34.930290+05:30 kernel: [275054.403866] 40790 total pagecache pages
2016-08-12T18:42:34.930320+05:30 kernel: [275054.403882] 0 pages in swap cache
2016-08-12T18:42:34.930351+05:30 kernel: [275054.403892] Swap cache stats: add 0, delete 0, find 0/0
2016-08-12T18:42:34.930380+05:30 kernel: [275054.403900] Free swap  = 0kB
2016-08-12T18:42:34.930410+05:30 kernel: [275054.403906] Total swap = 0kB
2016-08-12T18:42:34.930442+05:30 kernel: [275054.403917] SLAB: Unable to allocate memory on node 0 (gfp=0x20)
2016-08-12T18:42:34.930474+05:30 kernel: [275054.403928]   cache: kmalloc-32768, object size: 32768, order: 3
2016-08-12T18:42:34.930506+05:30 kernel: [275054.403941]   node 0: slabs: 3/3, objs: 3/3, free: 0
2016-08-12T18:42:34.930538+05:30 kernel: [275054.403963] omap_hsmmc 481d8000.mmc: prep_slave_sg() failed
2016-08-12T18:42:34.930569+05:30 kernel: [275054.403975] omap_hsmmc 481d8000.mmc: MMC start dma failure
2016-08-12T18:42:34.930648+05:30 kernel: [275054.407883] mmcblk0: unknown error -1 sending read/write command, card status 0x900
2016-08-12T18:42:34.993540+05:30 kernel: [275054.482212] Aborting journal on device mmcblk0p15-8.
2016-08-12T18:42:35.563557+05:30 kernel: [275055.042334] EXT4-fs error (device mmcblk0p15): ext4_journal_check_start:56: Detected aborted journal
2016-08-12T18:42:35.563724+05:30 kernel: [275055.052147] EXT4-fs (mmcblk0p15): Remounting filesystem read-only
2016-08-12T18:43:13.823579+05:30 kernel: [275093.308813] EXT4-fs error (device mmcblk0p15): ext4_put_super:772: Couldn't clean up the journal
2016-08-12T18:44:38.093907+05:30 kernel: [275177.581460] EXT4-fs warning (device mmcblk0p15): ext4_clear_journal_err:4567: Filesystem error recorded from previous mount: IO failure
2016-08-12T18:44:38.094070+05:30 kernel: [275177.581489] EXT4-fs warning (device mmcblk0p15): ext4_clear_journal_err:4568: Marking fs in need of filesystem check.
2016-08-12T18:44:38.094116+05:30 kernel: [275177.584824] EXT4-fs (mmcblk0p15): warning: mounting fs with errors, running e2fsck is recommended

In following scenario we see this error getting reproduced some time,

1. While writing huge data i.e. writing 350MB of data(which includes big files) on 500MB partition we see following errors,

2. If raw partition read using dd is done and files are deleted in parallel.

Now my doubt is, can this error appear because of absence of pull-up resistor for CLK line ?

we have one 0.0 ohm resistor in series of CLK line,

Any suggestion/pointers if this interfacing can cause above mentioned problems ?

  • Hi,

    Ankur Tank said:
    Now we have 10K pullups on the all the DAT lines and RST line however we don't have 10K pull up for CLK line.

    What about the CMD line? Have a look at TI reference designs: AM335x EVM SD & AM335x GP EVM, they also lack pullup on CLK line, however all other lines are pulled up. 

    Check if your pinmux settings enable the internal pullup on the MMC_CLK pad, if not try to enable it. 

    Best Regards, 
    Yordan

  • Hi Yordan,

    Thank you for reply,

    MMC_CMD has pull-up resistor.

    We have pull-up enabled in pinmux settings, Here is device-tree excerpt,

                    emmc_pins: pinmux_emmc_pins {
                            pinctrl-single,pins = <
                                    0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
                                    0x84 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
                                    0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
                                    0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
                                    0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
                                    0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
                                    0x10 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
                                    0x14 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
                                    0x18 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
                                    0x1c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
                            >;
                    };
    

    One thing i suspect is, it is INPUT pull-up and not OUTPUT pull up.

    Do you see anything fishy in PINMUX settings?

    One more point is, Beaglebone Black's MMC1_CLK has 10K pull-up.

    Do let me know if you have any suggestion/pointer/correction.

    Regards,

    Ankur

  • As you said Am335x evm mmc also doesn't have pull-up but it does have connection to TPD6E001,

    Do you think its mandatory to use TPD6E001

  • Hi Yordan,

    If possible could you please help me with mentioned queries ?

    Thank you,

    Regards,
    Ankur
  • Hi,

    The TPD chip is for ESD protection, it is good to have it in your design, but don't think it is mandatory (see BeagleBone black schematics, it doesn't have ESD protection.
    The PIN_INPUT_PULLUP means that you've enagled the input on the corresponding device pad => the pad is I/O, so it should work.

    Can you reproduce the behaviour of your board on any of the reference TI designs (AM335x EVM SK, AM335x GP EVM or Beaglebone Black)? If there is no problem with the reference design then it is safe to assume that this is a problem with your custom hardware, and you could start modifying your design to resemble BBB (add pullup) or GP EVM (add TPD6E001).

    Best Regards,
    Yordan
  • Thank you for reply Yordan, that's good Idea. Let me try to get BBB and try it on that.
    However nature of problem is such that Its not always reproducible. Let me try my luck.
    Otherwise I could also try to put pull on the CLK line in custom board and try to reproduce the problem(may be I need to take help from hardware guys).
  • Hi Yordan,

    I am not able reproduce it in BBB :( , However due to nature of the problem we are not sure if that's hardware problem or memory fragmentation issue. If you see above log you see that big size pages are not available so it could be, because of memory fragmentation, what do you say ?
    I had added software swap( swap file) and saw swap getting used. However not sure if there are some pages which can't be swapped and because of which getting "Page allocation error".

    I added PULLUP and series resistor(though resistor was not very near to processor) but still I saw the error.

    One thing I am not able to decide is if it is hardware issue or memory fragmentation issue.
    Do you have any suggestion to figure that out?
    Any pointer / Suggestions ?

    Thank you,

    Regards,
    Ankur