From: Christoph Fritz <chf.fritz@googlemail.com>
To: Javier Martinez Canillas <javier.martinez@collabora.co.uk>,
Jon Hunter <jon-hunter@ti.com>, Daniel Mack <daniel@zonque.org>
Cc: linux-omap@vger.kernel.org
Subject: ARM: dts: omap3: NAND support - how?
Date: Thu, 18 Apr 2013 21:03:49 +0200 [thread overview]
Message-ID: <1366311829.4085.90.camel@mars> (raw)
Hi
I'm trying to setup nand support for an omap3 board for linux-next
(next-20130417). This is my approach so far:
+&gpmc {
+ ranges = <0 0 0x30000000 0x1000000>;
+ nand@0,0 {
+ reg = <0 0 0xff>; /* <- ? not sure about that */
+ nand-bus-width = <16>;
+ ti,nand-ecc-opt = "bch8";
+ /* no elm on omap3 */
+
+ gpmc,time-para-granularity = <0>;
+ gpmc,mux-add-data = <0>;
+ gpmc,device-nand = <1>;
+ gpmc,device-width = <2>;
+ gpmc,wait-pin = <0>;
+ gpmc,wait-on-write = <0>;
+ gpmc,wait-on-read = <0>;
+ gpmc,burst-length= <4>;
+ gpmc,sync-write = <0>;
+ gpmc,burst-write = <0>;
+ gpmc,sync-read = <0>;
+ gpmc,burst-read = <0>;
+ gpmc,burst-wrap = <0>;
+ gpmc,cs-on-ns = <0>;
+ gpmc,cs-extra-delay = <0>;
+ gpmc,cs-rd-off-ns = <0x14>;
+ gpmc,cs-wr-off-ns = <0x14>;
+ gpmc,adv-on-ns = <0>;
+ gpmc,adv-extra-delay = <0>;
+ gpmc,adv-rd-off-ns = <0x14>;
+ gpmc,adv-wr-off-ns = <0x14>;
+ gpmc,oe-on-ns = <0x1>;
+ gpmc,oe-extra-delay = <0>;
+ gpmc,oe-off-ns = <0xF>;
+ gpmc,we-on-ns = <0x1>;
+ gpmc,we-extra-delay = <0>;
+ gpmc,we-off-ns = <0xF>;
+ gpmc,rd-cycle-ns = <0x14>;
+ gpmc,wr-cycle-ns = <0x14>;
+ gpmc,access-ns = <0xC>;
+ gpmc,page-burst-access-ns = <0x1>;
+ gpmc,bus-turnaround-ns = <0x0>;
+ gpmc,cycle2cycle-diffcsen = <0x0>;
+ gpmc,cycle2cycle-samecsen = <0x1>;
+ gpmc,cycle2cycle-delay-ns = <0xA>;
+ gpmc,wr-data-mux-bus-ns = <0xF>;
+ gpmc,wr-access-ns = <0x1F>;
+
+ #address-cells = <1>; /* <- ? not sure about that */
+ #size-cells = <1>; /* <- ? not sure about that */
+ };
+};
+
I took the GPMC NAND config from u-boot where it's working correct.
Without the additional nand approach from above, the board is working
more or less fine. But with this patch I do get the following crash:
[ 1.372467] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 1.380615] Missing elm_id property, fall back to Software BCH
[ 1.389373] enabling NAND BCH ecc with 8-bit correction
[ 1.394927] nand_read_byte16, 166, 0xc8852000
[ 1.403625] Unhandled fault: external abort on non-linefetch (0x1008) at 0xc8852000
[ 1.411651] Internal error: : 1008 [#1] PREEMPT ARM
[ 1.416778] Modules linked in:
[ 1.419982] CPU: 0 Not tainted (3.9.0-rc7-next-20130417-00036-ga693803-dirty #373)
[ 1.428283] PC is at nand_read_byte16+0x30/0x64
[ 1.433044] LR is at nand_read_byte16+0x2c/0x64
[ 1.437774] pc : [<c032f358>] lr : [<c032f354>] psr: 20000113
[ 1.437774] sp : c7057dd8 ip : c7055440 fp : 00000000
[ 1.449798] r10: c7057e4c r9 : c7057e48 r8 : ffffffff
[ 1.455291] r7 : c72ce370 r6 : c72ce370 r5 : c05f9bb8 r4 : c051c270
[ 1.462158] r3 : c7055440 r2 : c8852000 r1 : 00000001 r0 : 00000021
[ 1.468994] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 1.476623] Control: 10c5387d Table: 80004019 DAC: 00000015
[ 1.482635] Process swapper (pid: 1, stack limit = 0xc7056238)
[ 1.488739] Stack: (0xc7057dd8 to 0xc7058000)
[ 1.493316] 7dc0: c72ce050 000000ff
[ 1.501861] 7de0: ffffffff c033194c 00000000 c72ce370 c72ce050 00000000 c7057e18 c03320bc
[ 1.510437] 7e00: 00000001 00000000 c72c7b80 c72ce000 c72ce050 00000002 00000000 c0c74054
[ 1.519042] 7e20: c72ce370 c72ce050 00000000 00000001 00000002 0000008e c0702a20 c0332674
[ 1.527648] 7e40: c7057e48 00000000 c0637790 00000008 00000000 c72ce000 c72ce050 c700a690
[ 1.536285] 7e60: 00000000 c0c74054 0000008e c0336300 00000000 c72c7f50 c7120ef0 00000000
[ 1.544921] 7e80: 00000000 c0702a20 c0702a28 c0c73628 c072a57c c0702a20 00000000 c072a57c
[ 1.553527] 7ea0: c06d12fc c02ef658 c0c73628 c02ee32c c0702a20 c072a57c c0702a54 00000000
[ 1.562133] 7ec0: c06c709c c02ee4e4 c0702a20 c072a57c c0702a54 c02ee590 c072a57c c02ee4fc
[ 1.570709] 7ee0: c7057ee8 c02ecc5c c704b2a8 c7115690 c704b2d8 c072a57c c0723888 c72ba640
[ 1.579284] 7f00: 00000000 c02ed504 c05fed1c c072a57c c073bd40 c06d12f4 c072a57c c073bd40
[ 1.587890] 7f20: 00000000 c02eeb80 c06d12f4 c06db898 c073bd40 00000000 c06c709c c000874c
[ 1.596496] 7f40: 00000000 c06d12f4 00000006 c073bd40 c06d12f4 c06db898 c073bd40 00000007
[ 1.605072] 7f60: c06aa3e8 c06aa2b0 00000006 00000006 c06aa3e8 00000000 c06db460 c06db460
[ 1.613616] 7f80: 00000000 00000000 00000000 00000000 00000000 c06aa350 00000000 c04eb510
[ 1.622192] 7fa0: 00000000 c04eb518 00000000 c0009ec8 00000000 00000000 00000000 00000000
[ 1.630767] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 1.639312] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 10d18100 04440800
[ 1.647888] [<c032f358>] (nand_read_byte16+0x30/0x64) from [<c033194c>] (nand_command+0x174/0x1ec)
[ 1.657287] [<c033194c>] (nand_command+0x174/0x1ec) from [<c03320bc>] (nand_get_flash_type+0x4c/0x5b8)
[ 1.667053] [<c03320bc>] (nand_get_flash_type+0x4c/0x5b8) from [<c0332674>] (nand_scan_ident+0x4c/0x1a8)
[ 1.676971] [<c0332674>] (nand_scan_ident+0x4c/0x1a8) from [<c0336300>] (omap_nand_probe+0x2dc/0x6dc)
[ 1.686614] [<c0336300>] (omap_nand_probe+0x2dc/0x6dc) from [<c02ef658>] (platform_drv_probe+0x18/0x1c)
[ 1.696502] [<c02ef658>] (platform_drv_probe+0x18/0x1c) from [<c02ee32c>] (really_probe+0x70/0x1f8)
[ 1.705963] [<c02ee32c>] (really_probe+0x70/0x1f8) from [<c02ee4e4>] (driver_probe_device+0x30/0x48)
[ 1.715545] [<c02ee4e4>] (driver_probe_device+0x30/0x48) from [<c02ee590>] (__driver_attach+0x94/0x98)
[ 1.725341] [<c02ee590>] (__driver_attach+0x94/0x98) from [<c02ecc5c>] (bus_for_each_dev+0x74/0x98)
[ 1.734832] [<c02ecc5c>] (bus_for_each_dev+0x74/0x98) from [<c02ed504>] (bus_add_driver+0x1c8/0x234)
[ 1.744445] [<c02ed504>] (bus_add_driver+0x1c8/0x234) from [<c02eeb80>] (driver_register+0x78/0x140)
[ 1.754058] [<c02eeb80>] (driver_register+0x78/0x140) from [<c000874c>] (do_one_initcall+0xc0/0x134)
[ 1.763702] [<c000874c>] (do_one_initcall+0xc0/0x134) from [<c06aa2b0>] (do_basic_setup+0x84/0xc4)
[ 1.773132] [<c06aa2b0>] (do_basic_setup+0x84/0xc4) from [<c06aa350>] (kernel_init_freeable+0x60/0xf8)
[ 1.782958] [<c06aa350>] (kernel_init_freeable+0x60/0xf8) from [<c04eb518>] (kernel_init+0x8/0xe4)
[ 1.792419] [<c04eb518>] (kernel_init+0x8/0xe4) from [<c0009ec8>] (ret_from_fork+0x14/0x2c)
[ 1.801239] Code: e3a020a6 e5963000 eb06f2ce e5962000 (e1d230b0)
[ 1.807708] ---[ end trace 8c2fb2c3b59ab3aa ]---
[ 1.812591] ------------[ cut here ]------------
[ 1.817443] Kernel BUG at c0287f84 [verbose debug info unavailable]
[ 1.824035] Internal error: Oops - BUG: 0 [#2] PREEMPT ARM
[ 1.829772] Modules linked in:
[ 1.833007] CPU: 0 Tainted: G D (3.9.0-rc7-next-20130417-00036-ga693803-dirty #373)
[ 1.842285] PC is at omap3_l3_app_irq+0xa4/0x128
[ 1.847137] LR is at handle_irq_event_percpu+0x50/0x1b4
[ 1.852630] pc : [<c0287f84>] lr : [<c0082600>] psr: 20000193
[ 1.852630] sp : c7057bc8 ip : c7057bf8 fp : c073bc1e
[ 1.864624] r10: c70055b8 r9 : 3ccf0000 r8 : 0b6db6c3
[ 1.870117] r7 : 00000000 r6 : 00000000 r5 : 00020000 r4 : 00000000
[ 1.876953] r3 : 00020000 r2 : 00000004 r1 : f8000000 r0 : 00020000
[ 1.883789] Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user
[ 1.891387] Control: 10c5387d Table: 80004019 DAC: 00000015
[ 1.897399] Process swapper (pid: 1, stack limit = 0xc7056238)
[ 1.903503] Stack: (0xc7057bc8 to 0xc7058000)
[ 1.908081] 7bc0: 00000000 60000193 00000001 c7097a00 c7005590 00000000
[ 1.916656] 7be0: 00000000 0000001a c7005540 c70055b8 c073bc1e c0082600 c7056000 00000000
[ 1.925231] 7c00: 60000193 c7005540 c7005590 c7097a00 c073c814 ffffffff c7057e48 c7057e4c
[ 1.933807] 7c20: 00000000 c00827a0 c7005540 c7005590 00000000 c0084cec 0000001a 0000001a
[ 1.942382] 7c40: 00000000 c00825a0 c071c5c4 c000a69c fa200000 0000001a c7057c78 c0008538
[ 1.950958] 7c60: c04efa78 60000113 ffffffff c7057cac ffffffff c00099c4 00000001 00000001
[ 1.959533] 7c80: c7055440 00000000 c06e803c c7056000 0000000b 00000001 ffffffff c7057e48
[ 1.968078] 7ca0: c7057e4c 00000000 c7057c98 c7057cc0 c04efa70 c04efa78 60000113 ffffffff
[ 1.976684] 7cc0: c7055440 c0034090 60000193 c06e8540 0000000b c7057d90 ffffffff c000d3b0
[ 1.985260] 7ce0: 00001008 c06e8fc4 c8852000 c00084c4 00000000 00000000 00000007 00000000
[ 1.993835] 7d00: 00000000 c8852000 ffffffff c00099e8 00000001 00000001 00000000 c7055440
[ 2.002410] 7d20: 00000000 00000000 00000021 c073d288 00000000 60000113 00000000 00000000
[ 2.010986] 7d40: c7055440 c7057d58 c006af80 c0030cfc 20000113 ffffffff 00000000 00000000
[ 2.019561] 7d60: 00000000 00000000 c073dbba 00000021 20000193 c0708248 00000000 c032f358
[ 2.028137] 7d80: 20000113 ffffffff c7057dc4 c000995c 00000021 00000001 c8852000 c7055440
[ 2.036743] 7da0: c051c270 c05f9bb8 c72ce370 c72ce370 ffffffff c7057e48 c7057e4c 00000000
[ 2.045318] 7dc0: c7055440 c7057dd8 c032f354 c032f358 20000113 ffffffff c72ce050 000000ff
[ 2.053894] 7de0: ffffffff c033194c 00000000 c72ce370 c72ce050 00000000 c7057e18 c03320bc
[ 2.062469] 7e00: 00000001 00000000 c72c7b80 c72ce000 c72ce050 00000002 00000000 c0c74054
[ 2.071044] 7e20: c72ce370 c72ce050 00000000 00000001 00000002 0000008e c0702a20 c0332674
[ 2.079620] 7e40: c7057e48 00000000 c0637790 00000008 00000000 c72ce000 c72ce050 c700a690
[ 2.088195] 7e60: 00000000 c0c74054 0000008e c0336300 00000000 c72c7f50 c7120ef0 00000000
[ 2.096771] 7e80: 00000000 c0702a20 c0702a28 c0c73628 c072a57c c0702a20 00000000 c072a57c
[ 2.105346] 7ea0: c06d12fc c02ef658 c0c73628 c02ee32c c0702a20 c072a57c c0702a54 00000000
[ 2.113952] 7ec0: c06c709c c02ee4e4 c0702a20 c072a57c c0702a54 c02ee590 c072a57c c02ee4fc
[ 2.122528] 7ee0: c7057ee8 c02ecc5c c704b2a8 c7115690 c704b2d8 c072a57c c0723888 c72ba640
[ 2.131103] 7f00: 00000000 c02ed504 c05fed1c c072a57c c073bd40 c06d12f4 c072a57c c073bd40
[ 2.139709] 7f20: 00000000 c02eeb80 c06d12f4 c06db898 c073bd40 00000000 c06c709c c000874c
[ 2.148254] 7f40: 00000000 c06d12f4 00000006 c073bd40 c06d12f4 c06db898 c073bd40 00000007
[ 2.156829] 7f60: c06aa3e8 c06aa2b0 00000006 00000006 c06aa3e8 00000000 c06db460 c06db460
[ 2.165405] 7f80: 00000000 00000000 00000000 00000000 00000000 c06aa350 00000000 c04eb510
[ 2.173980] 7fa0: 00000000 c04eb518 00000000 c0009ec8 00000000 00000000 00000000 00000000
[ 2.182525] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2.191101] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 10d18100 04440800
[ 2.199676] [<c0287f84>] (omap3_l3_app_irq+0xa4/0x128) from [<c0082600>] (handle_irq_event_percpu+0x50/0x1b4)
[ 2.210083] [<c0082600>] (handle_irq_event_percpu+0x50/0x1b4) from [<c00827a0>] (handle_irq_event+0x3c/0x5c)
[ 2.220428] [<c00827a0>] (handle_irq_event+0x3c/0x5c) from [<c0084cec>] (handle_level_irq+0x8c/0x118)
[ 2.230102] [<c0084cec>] (handle_level_irq+0x8c/0x118) from [<c00825a0>] (generic_handle_irq+0x28/0x30)
[ 2.239959] [<c00825a0>] (generic_handle_irq+0x28/0x30) from [<c000a69c>] (handle_IRQ+0x30/0x84)
[ 2.249176] [<c000a69c>] (handle_IRQ+0x30/0x84) from [<c0008538>] (omap3_intc_handle_irq+0x64/0x74)
[ 2.258636] [<c0008538>] (omap3_intc_handle_irq+0x64/0x74) from [<c00099c4>] (__irq_svc+0x44/0x78)
[ 2.268005] Exception stack(0xc7057c78 to 0xc7057cc0)
[ 2.273315] 7c60: 00000001 00000001
[ 2.281890] 7c80: c7055440 00000000 c06e803c c7056000 0000000b 00000001 ffffffff c7057e48
[ 2.290466] 7ca0: c7057e4c 00000000 c7057c98 c7057cc0 c04efa70 c04efa78 60000113 ffffffff
[ 2.299041] [<c00099c4>] (__irq_svc+0x44/0x78) from [<c04efa78>] (_raw_spin_unlock_irq+0x2c/0x50)
[ 2.308349] [<c04efa78>] (_raw_spin_unlock_irq+0x2c/0x50) from [<c0034090>] (do_exit+0x268/0x358)
[ 2.317687] [<c0034090>] (do_exit+0x268/0x358) from [<c000d3b0>] (oops_end+0xb8/0xe8)
[ 2.325897] [<c000d3b0>] (oops_end+0xb8/0xe8) from [<c00084c4>] (do_DataAbort+0x88/0x98)
[ 2.334381] [<c00084c4>] (do_DataAbort+0x88/0x98) from [<c000995c>] (__dabt_svc+0x3c/0x60)
[ 2.343048] Exception stack(0xc7057d90 to 0xc7057dd8)
[ 2.348358] 7d80: 00000021 00000001 c8852000 c7055440
[ 2.356964] 7da0: c051c270 c05f9bb8 c72ce370 c72ce370 ffffffff c7057e48 c7057e4c 00000000
[ 2.365539] 7dc0: c7055440 c7057dd8 c032f354 c032f358 20000113 ffffffff
[ 2.372497] [<c000995c>] (__dabt_svc+0x3c/0x60) from [<c032f358>] (nand_read_byte16+0x30/0x64)
[ 2.381530] [<c032f358>] (nand_read_byte16+0x30/0x64) from [<c033194c>] (nand_command+0x174/0x1ec)
[ 2.390960] [<c033194c>] (nand_command+0x174/0x1ec) from [<c03320bc>] (nand_get_flash_type+0x4c/0x5b8)
[ 2.400756] [<c03320bc>] (nand_get_flash_type+0x4c/0x5b8) from [<c0332674>] (nand_scan_ident+0x4c/0x1a8)
[ 2.410736] [<c0332674>] (nand_scan_ident+0x4c/0x1a8) from [<c0336300>] (omap_nand_probe+0x2dc/0x6dc)
[ 2.420440] [<c0336300>] (omap_nand_probe+0x2dc/0x6dc) from [<c02ef658>] (platform_drv_probe+0x18/0x1c)
[ 2.430297] [<c02ef658>] (platform_drv_probe+0x18/0x1c) from [<c02ee32c>] (really_probe+0x70/0x1f8)
[ 2.439819] [<c02ee32c>] (really_probe+0x70/0x1f8) from [<c02ee4e4>] (driver_probe_device+0x30/0x48)
[ 2.449401] [<c02ee4e4>] (driver_probe_device+0x30/0x48) from [<c02ee590>] (__driver_attach+0x94/0x98)
[ 2.459167] [<c02ee590>] (__driver_attach+0x94/0x98) from [<c02ecc5c>] (bus_for_each_dev+0x74/0x98)
[ 2.468658] [<c02ecc5c>] (bus_for_each_dev+0x74/0x98) from [<c02ed504>] (bus_add_driver+0x1c8/0x234)
[ 2.478271] [<c02ed504>] (bus_add_driver+0x1c8/0x234) from [<c02eeb80>] (driver_register+0x78/0x140)
[ 2.487854] [<c02eeb80>] (driver_register+0x78/0x140) from [<c000874c>] (do_one_initcall+0xc0/0x134)
[ 2.497436] [<c000874c>] (do_one_initcall+0xc0/0x134) from [<c06aa2b0>] (do_basic_setup+0x84/0xc4)
[ 2.506835] [<c06aa2b0>] (do_basic_setup+0x84/0xc4) from [<c06aa350>] (kernel_init_freeable+0x60/0xf8)
[ 2.516601] [<c06aa350>] (kernel_init_freeable+0x60/0xf8) from [<c04eb518>] (kernel_init+0x8/0xe4)
[ 2.526031] [<c04eb518>] (kernel_init+0x8/0xe4) from [<c0009ec8>] (ret_from_fork+0x14/0x2c)
[ 2.534759] Code: e5911008 e2813e53 e1c320d0 eaffffe8 (e7f001f2)
[ 2.541168] ---[ end trace 8c2fb2c3b59ab3ab ]---
[ 2.545989] Kernel panic - not syncing: Fatal exception in interrupt
Any hints?
-- Christoph
next reply other threads:[~2013-04-18 19:03 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-18 19:03 Christoph Fritz [this message]
2013-04-18 19:39 ` ARM: dts: omap3: NAND support - how? Jon Hunter
2013-04-18 20:23 ` Christoph Fritz
2013-04-18 22:28 ` Jon Hunter
2013-04-18 22:48 ` Christoph Fritz
2013-04-18 23:24 ` Jon Hunter
2013-04-18 23:26 ` Jon Hunter
2013-04-19 9:01 ` Christoph Fritz
2013-04-19 12:02 ` Christoph Fritz
2013-04-19 14:00 ` Jon Hunter
2013-04-19 14:53 ` Christoph Fritz
2013-04-19 15:36 ` Jon Hunter
2013-04-19 15:48 ` Tony Lindgren
2013-04-19 15:56 ` Jon Hunter
2013-04-19 16:15 ` Tony Lindgren
2013-04-19 16:29 ` [PATCH] ARM: OMAP2+: nand: reorganize gpmc timing values Christoph Fritz
2013-05-16 15:49 ` Tony Lindgren
2013-04-19 12:57 ` ARM: dts: omap3: NAND support - how? Jon Hunter
2013-04-19 13:06 ` Christoph Fritz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1366311829.4085.90.camel@mars \
--to=chf.fritz@googlemail.com \
--cc=daniel@zonque.org \
--cc=javier.martinez@collabora.co.uk \
--cc=jon-hunter@ti.com \
--cc=linux-omap@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).