Specifying camera gpio leads to board hang

Hi,

when I am specifying the camera GPIOs in the device tree like this:

gpio@2200000 {
		camera-control-output-low {
			gpio-hog;
			output-low;
			gpios = <CAM0_RST_L 0 CAM0_PWDN 0
				 CAM1_RST_L 0 CAM1_PWDN 0>;
			label = "cam0-rst", "cam0-pwdn",
				"cam1-rst", "cam1-pwdn";
		};
	};

The boot process hangs with mmc errors like this:

[    5.471770] vdd-fan: disabling
[    5.471772] vdd-3v3: disabling
[    5.471774] en-vdd-vcm-2v8: disabling
[    5.471776] vdd-usb2-5v: disabling
[    5.471777] vdd-sys-bl: disabling
[    5.471779] en-vdd-sys: disabling
[    5.471781] ALSA device list:
[    5.471785]   #0: tegra-hda at 0x3518000 irq 383
[    5.471786]   #1: tegra-snd-t186ref-mobile-rt565x
[    8.917616] extcon-disp-state external-connection:disp-state: cable 40 state 1
[    8.926190] Extcon HDMI: HPD enabled
[    8.931155] tegradc 15210000.nvdisplay: hdmi: plugged
[    8.937532] JBD2: Invalid checksum recovering block 2 in log
[    8.937853] JBD2: Invalid checksum recovering block 5242880 in log
[    8.937870] JBD2: Invalid checksum recovering block 5242896 in log
[    8.938474] JBD2: Invalid checksum recovering block 3156172 in log
[    8.939167] JBD2: Invalid checksum recovering block 3156193 in log
[    8.939174] JBD2: Invalid checksum recovering block 3156194 in log
[    8.939182] JBD2: Invalid checksum recovering block 3156201 in log
[    8.940201] JBD2: Invalid checksum recovering block 4718886 in log
[    8.940208] JBD2: Invalid checksum recovering block 4718888 in log
[    8.940611] JBD2: Invalid checksum recovering block 2 in log
[    8.940784] JBD2: Invalid checksum recovering block 4718887 in log
[    8.940791] JBD2: Invalid checksum recovering block 3 in log
[    8.941235] JBD2: Invalid checksum recovering block 3670057 in log
[    8.941242] JBD2: Invalid checksum recovering block 3670016 in log
[    8.941280] JBD2: Invalid checksum recovering block 3670058 in log
[    8.941744] JBD2: Invalid checksum recovering block 4204369 in log
[    8.942282] JBD2: Invalid checksum recovering block 2621876 in log
[    8.943652] JBD2: Invalid checksum recovering block 3145764 in log
[    8.944029] JBD2: Invalid checksum recovering block 3155790 in log
[    8.944412] JBD2: Invalid checksum recovering block 3145857 in log
[    8.944520] JBD2: Invalid checksum recovering block 2097237 in log
[    8.944534] JBD2: Invalid checksum recovering block 0 in log
[    8.944541] JBD2: Invalid checksum recovering block 3146447 in log
[    8.944554] JBD2: Invalid checksum recovering block 3155789 in log
[    8.944561] JBD2: Invalid checksum recovering block 3155790 in log
[    8.944992] JBD2: Invalid checksum recovering block 3145765 in log
[    8.945664] JBD2: Invalid checksum recovering block 2097436 in log
[    8.945672] JBD2: Invalid checksum recovering block 2097155 in log
[    8.945679] JBD2: Invalid checksum recovering block 2131183 in log
[    8.945778] JBD2: Invalid checksum recovering block 4194859 in log
[    8.945785] JBD2: Invalid checksum recovering block 1572880 in log
[    8.945791] JBD2: Invalid checksum recovering block 1572909 in log
[    8.946339] JBD2: Invalid checksum recovering block 3145760 in log
[    8.946353] JBD2: Invalid checksum recovering block 2097200 in log
[    8.946360] JBD2: Invalid checksum recovering block 2097226 in log
[    8.946396] JBD2: Invalid checksum recovering block 2097154 in log
[    8.947478] JBD2: Invalid checksum recovering block 3671940 in log
[    8.947485] JBD2: Invalid checksum recovering block 3670016 in log
[    8.947573] JBD2: Invalid checksum recovering block 3680184 in log
[    8.947580] JBD2: Invalid checksum recovering block 2097917 in log
[    8.947587] JBD2: Invalid checksum recovering block 2105715 in log
[    8.947658] JBD2: Invalid checksum recovering block 3680194 in log
[    8.948025] JBD2: Invalid checksum recovering block 4718592 in log
[    8.949016] JBD2: Invalid checksum recovering block 2097154 in log
[    8.949389] JBD2: Invalid checksum recovering block 4195393 in log
[    8.949410] JBD2: Invalid checksum recovering block 4194908 in log
[    8.949893] JBD2: Invalid checksum recovering block 4194908 in log
[    8.949900] JBD2: Invalid checksum recovering block 4204961 in log
[    8.950019] JBD2: Invalid checksum recovering block 0 in log
[    8.950026] JBD2: Invalid checksum recovering block 2097237 in log
[    8.950841] JBD2: Invalid checksum recovering block 2097155 in log
[    8.951560] JBD2: Invalid checksum recovering block 2097155 in log
[    8.951802] JBD2: Invalid checksum recovering block 6291884 in log
[    8.951816] JBD2: Invalid checksum recovering block 6301419 in log
[    8.952417] JBD2: Invalid checksum recovering block 3 in log
[    8.952424] JBD2: Invalid checksum recovering block 4718608 in log
[    8.952430] JBD2: Invalid checksum recovering block 2097237 in log
[    8.952436] JBD2: Invalid checksum recovering block 2097438 in log
[    8.952443] JBD2: Invalid checksum recovering block 1572880 in log
[    8.952449] JBD2: Invalid checksum recovering block 1573061 in log
[    8.952455] JBD2: Invalid checksum recovering block 1572896 in log
[    8.952461] JBD2: Invalid checksum recovering block 1581089 in log
[    8.952850] JBD2: Invalid checksum recovering block 4718995 in log
[    8.975526] JBD2: recovery failed
[    8.975531] EXT4-fs (mmcblk0p1): error loading journal
[    8.976853] VFS: Cannot open root device "mmcblk0p1" or unknown-block(179,1): error -5
[    8.976854] Please append a correct "root=" boot option; here are the available partitions:
[    8.976860] 0100            8192 ram0 
[    8.976860]  (driver?)
[    8.976864] 0101            8192 ram1 
[    8.976864]  (driver?)
[    8.976867] 0102            8192 ram2 
[    8.976867]  (driver?)
[    8.976870] 0103            8192 ram3 
[    8.976870]  (driver?)
[    8.976873] 0104            8192 ram4 
[    8.976873]  (driver?)
[    8.976876] 0105            8192 ram5 
[    8.976876]  (driver?)
[    8.976879] 0106            8192 ram6 
[    8.976879]  (driver?)
[    8.976882] 0107            8192 ram7 
[    8.976882]  (driver?)
[    8.976885] 0108            8192 ram8 
[    8.976885]  (driver?)
[    8.976887] 0109            8192 ram9 
[    8.976888]  (driver?)
[    8.976890] 010a            8192 ram10 
[    8.976890]  (driver?)
[    8.976893] 010b            8192 ram11 
[    8.976893]  (driver?)
[    8.976896] 010c            8192 ram12 
[    8.976896]  (driver?)
[    8.976899] 010d            8192 ram13 
[    8.976899]  (driver?)
[    8.976902] 010e            8192 ram14 
[    8.976902]  (driver?)
[    8.976904] 010f            8192 ram15 
[    8.976904]  (driver?)
[    8.976911] b300        30535680 mmcblk0 
[    8.976911]  driver: mmcblk
[    8.976914]   b301        29360128 mmcblk0p1 06f3e9ee-4b8f-45ef-9571-117d634bd867
[    8.976915] 
[    8.976917]   b302            4096 mmcblk0p2 7429888d-db10-4b0a-9775-1224e0fb6b73
[    8.976917] 
[    8.976920]   b303            4096 mmcblk0p3 5ba27f36-7a3c-4061-ab53-6602b104b379
[    8.976920] 
[    8.976923]   b304             512 mmcblk0p4 431dedef-5fcf-40bf-8302-a44f5bd25b52
[    8.976923] 
[    8.976925]   b305             512 mmcblk0p5 1bab68f1-64e2-4413-8f03-c6508359eb59
[    8.976925] 
[    8.976928]   b306             512 mmcblk0p6 6bf6d189-571d-44c7-8afc-811bb300d125
[    8.976928] 
[    8.976930]   b307             512 mmcblk0p7 1bb87b05-0025-44d1-b6c4-427159e65b68
[    8.976930] 
[    8.976932]   b308            3072 mmcblk0p8 43d152db-c155-4bff-af7d-2c15ca3cc54a
[    8.976932] 
[    8.976934]   b309            3072 mmcblk0p9 31ef0ce5-eec4-423d-ad88-9d3272951826
[    8.976934] 
[    8.976936]   b30a            2048 mmcblk0p10 6d48c9d5-fd84-46af-9291-84190b49eb48
[    8.976937] 
[    8.976939]   b30b            4096 mmcblk0p11 071177c0-e4bd-4bea-bc4d-9e42af652f4a
[    8.976939] 
[    8.976941]   b30c            4096 mmcblk0p12 5caa448c-4fbf-4242-8a38-8b1c7dad5578
[    8.976941] 
[    8.976943]   b30d             604 mmcblk0p13 6655b4a2-3b59-4d51-8107-41522b864c52
[    8.976944] 
[    8.976946]   b30e             604 mmcblk0p14 62189276-038b-4dc3-9e86-1d787c0dd17d
[    8.976946] 
[    8.976948]   b30f             500 mmcblk0p15 429403b0-4b15-4960-95f3-2c668b566506
[    8.976948] 
[    8.976950]   b310             500 mmcblk0p16 45600c6a-7104-4b59-9593-2a514f194f77
[    8.976950] 
[    8.976952]   b311            2048 mmcblk0p17 0d975fc9-1b82-43c8-81ae-671d9e29e07a
[    8.976952] 
[    8.976955]   b312            2048 mmcblk0p18 5a781906-4014-46ec-a972-cb43c7908961
[    8.976955] 
[    8.976957]   b313            6144 mmcblk0p19 52d724d1-c066-4669-b6f6-b82b5e69812f
[    8.976957] 
[    8.976959]   b314            6144 mmcblk0p20 18ac1025-2e81-4844-9b16-d727c7c4017f
[    8.976959] 
[    8.976961]   b315            2048 mmcblk0p21 359569da-1ddc-4a18-b24a-4e5151fcad17
[    8.976961] 
[    8.976963]   b316          131072 mmcblk0p22 67db2167-d1d1-496b-8d09-7f1517256f2a
[    8.976963] 
[    8.976965]   b317          131072 mmcblk0p23 32cc1ce6-fda2-4bab-a37b-d43050292c78
[    8.976965] 
[    8.976967]   b318           32768 mmcblk0p24 77056ea7-0ef8-41ff-a042-7b6f70ce9c04
[    8.976968] 
[    8.976969]   b319           32768 mmcblk0p25 05c72a7b-f161-4ce2-8ef8-7c7f81433f60
[    8.976969] 
[    8.976972]   b31a           65536 mmcblk0p26 43cf3175-6ab7-4348-88d4-c8414756a616
[    8.976972] 
[    8.976974]   b31b           65536 mmcblk0p27 49b22b1d-cabf-4d81-a5bf-2746433b5e62
[    8.976974] 
[    8.976977]   b31c             512 mmcblk0p28 35c5f940-d680-4dfe-8a00-60611a635b6b
[    8.976977] 
[    8.976979]   b31d             512 mmcblk0p29 6816f45d-4afd-42ae-ab5f-0903c415f24f
[    8.976979] 
[    8.976981]   b31e          262144 mmcblk0p30 7c1a1cce-6938-4888-9c3a-617ab439e62e
[    8.976981] 
[    8.976984]   b31f          404299 mmcblk0p31 143466db-b67f-4b35-8463-122782d5390b
[    8.976984] 
[    8.976999] b360            4096 mmcblk0rpmb 
[    8.977000]  (driver?)
[    8.977003] b340            4096 mmcblk0boot1 
[    8.977003]  (driver?)
[    8.977006] b320            4096 mmcblk0boot0 
[    8.977006]  (driver?)
[    8.977008] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1)
[    8.977011] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.140-l4t-r32.1+ #87
[    8.977012] Hardware name: quill (DT)
[    8.977013] Call trace:
[    8.977019] [<ffffff800808c0a8>] dump_backtrace+0x0/0x178
[    8.977022] [<ffffff800808c244>] show_stack+0x24/0x30
[    8.977025] [<ffffff800844d798>] dump_stack+0x98/0xc0
[    8.977028] [<ffffff80081bca40>] panic+0x118/0x274
[    8.977032] [<ffffff800987118c>] mount_block_root+0x1e0/0x27c
[    8.977034] [<ffffff8009871438>] mount_root+0xf8/0x110
[    8.977035] [<ffffff80098715ac>] prepare_namespace+0x15c/0x1a4
[    8.977037] [<ffffff8009870d54>] kernel_init_freeable+0x20c/0x22c
[    8.977041] [<ffffff8008eefc68>] kernel_init+0x18/0x100
[    8.977043] [<ffffff8008083850>] ret_from_fork+0x10/0x40
[    8.977045] SMP: stopping secondary CPUs
[    8.983291] Kernel Offset: disabled
[    8.983292] Memory Limit: none
[   10.092330] Rebooting in 5 seconds..

Is there any conflict when using the camera GPIOs and how would I resolve this?

Thanks!

Hi arne.caspari,

The issue reported in the provided log doesn’t seem to be related with the device tree changes you made nor should a patch like that cause that problem. It seems more like during the boot process there is a failure while loading the file system, specially for these messages:

[    8.975531] EXT4-fs (mmcblk0p1): error loading journal
[    8.976853] VFS: Cannot open root device "mmcblk0p1" or unknown-block(179,1): error -5
[    8.976854] Please append a correct "root=" boot option; here are the available partitions:

What is your method to flash the device? Are you using a SD Card or the eMMC?

-Jafet

Hi Jafet,

I am booting from eMMC.

You are right that a patch like that should not cause such a problem, albeit it does. When I flash a DTB (and only the DTB) with this patch, the boot process fails. If I remove just this patch, the boot process works.

/Arne

How do you flash you dtb file?
Could you attached it?