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: 21+ 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-04-19 16:29 ` Christoph Fritz
2013-05-16 15:49 ` Tony Lindgren
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.