David, The kernel panic below is caused by GPIO not initialized. It appears that USB is using the community GPIO API, but the DaVinci architecture code still have the original local GPIO implementation.
Regards,
Steve
On Thu, 2008-10-30 at 19:45, David Chan wrote:
> As I googled, there are some patches to this problem. But as I tried,
> non useless to my problem.
> Could you please give me some information
>
> And I should say, the LCD problem totally finished now. call
> davincifb_lcd_config within davincifb_set_par. Then ok!
>
> 2008/10/30 David Chan <[EMAIL PROTECTED]>
> Hi all,
> As I followed the code. I found the pointer of the function in
> line 122 drv->probe is NULL
> //file driver/base/dd.c
> 111 if (driver_sysfs_add(dev)) {
> 112 printk(KERN_ERR "%s:
> driver_sysfs_add(%s) failed\n",
> 113 __func__, dev->bus_id);
> 114 goto probe_failed;
> 115 }
> 116
> 117 if (dev->bus->probe) {
> 118 ret = dev->bus->probe(dev);
> 119 if (ret)
> 120 goto probe_failed;
> 121 } else if (drv->probe) {
> 122 ret = drv->probe(dev);
> 123 if (ret)
> 124 goto probe_failed;
> 125 }
> 126
> 127 driver_bound(dev);
> 128 ret = 1;
> 129 pr_debug("bus: '%s': %s: bound device %s to
> driver %s\n",
> 130 drv->bus->name, __func__,
> dev->bus_id, drv->name);
> 131 goto done;
> 132
>
> Seems that in driver/usb/musb/musb_core.c line 2244.
> platform_driver_probe faild to register the musb_probe
> function as musb_driver.probe.
>
> // driver/usb/musb/musb_core.c
> 2215 static int __init musb_init(void)
> 2216 {
> 2217 #ifdef CONFIG_USB_MUSB_HDRC_HCD
> 2218 if (usb_disabled())
> 2219 return 0;
> 2220 #endif
> 2221
> 2222 pr_info("%s: version " MUSB_VERSION ", "
> 2223 #ifdef CONFIG_MUSB_PIO_ONLY
> 2224 "pio"
> 2225 #elif defined(CONFIG_USB_TI_CPPI_DMA)
> 2226 "cppi-dma"
> 2227 #elif defined(CONFIG_USB_INVENTRA_DMA)
> 2228 "musb-dma"
> 2229 #elif defined(CONFIG_USB_TUSB_OMAP_DMA)
> 2230 "tusb-omap-dma"
> 2231 #else
> 2232 "?dma?"
> 2233 #endif
> 2234 ", "
> 2235 #ifdef CONFIG_USB_MUSB_OTG
> 2236 "otg (peripheral+host)"
> 2237 #elif defined(CONFIG_USB_GADGET_MUSB_HDRC)
> 2238 "peripheral"
> 2239 #elif defined(CONFIG_USB_MUSB_HDRC_HCD)
> 2240 "host"
> 2241 #endif
> 2242 ", debug=%d\n",
> 2243 musb_driver_name, debug);
> 2244 return platform_driver_probe(&musb_driver,
> musb_probe);
> 2245 }
> Is there anybody can show me a way to go.
> Thx
> 2008/10/30 BlackSword <[EMAIL PROTECTED]>
> Hi all,
> any body have some idea about:
> While compile Device Drivers----->USB
> Support----->Inventra Highspeed Dual Role Controller
> (TI, ...) to Y. (means compiled into the kernel).
> System will also panic。
> below is the log:
> Uncompressing
>
> Linux.............................................................
> ................................... done, booting the
> kernel.
> <5>Linux version 2.6.27-rc6-davinci1
> ([EMAIL PROTECTED]) (gcc version 4.3.2 (GCC
> ) ) #23 PREEMPT Thu Oct 30 01:04:56 CST
> 2008
> CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ),
> cr=00053177
> Machine: DaVinci
> EVM
>
> Memory policy: ECC disabled, Data cache
> writeback
> <7>On node 0 totalpages:
> 51200
> <7>free_area_init_node: node 0, pgdat c02ede3c,
> node_mem_map c031b000
> <7> DMA zone: 32512 pages, LIFO
> batch:7
> <7> Normal zone: 18288 pages, LIFO
> batch:3
> DaVinci DM6446 variant
> 0x0
> CPU0: D VIVT write-back
> cache
> CPU0: I cache: 16384 bytes, associativity 4, 32 byte
> lines, 128 sets
> CPU0: D cache: 8192 bytes, associativity 4, 32 byte
> lines, 64 sets
> Built 1 zonelists in Zone order, mobility grouping
> on. Total pages: 50800
> <5>Kernel command line: console=ttyS0,115200n8
> noinitrd rw ip=192.168.23.99 root
> =/dev/nfs nfsroot=192.168.23.3:/opt/fileroot,nolock
> mem=200M video=davincifb:out
> put=lcd
>
> PID hash table entries: 1024 (order: 10, 4096
> bytes)
> Console: colour dummy device
> 80x30
> <6>Dentry cache hash table entries: 32768 (order: 5,
> 131072 bytes)
> <6>Inode-cache hash table entries: 16384 (order: 4,
> 65536 bytes)
> <6>Memory: 200MB = 200MB
> total
> <5>Memory: 199612KB available (2740K code, 264K data,
> 128K init)
> <6>Calibrating delay loop... 147.86 BogoMIPS
> (lpj=739328)
> Mount-cache hash table entries:
> 512
> <6>CPU: Testing write buffer coherency:
> ok
> <7>device: 'platform':
> device_add
> <7>bus: 'platform':
> registered
> <7>Registering sysdev class
> 'cpu'
> <6>net_namespace: 804
> bytes &nbs p;
>
> <6>NET: Registered protocol family
> 16
> <7>device class 'bdi':
> registering
> <7>device class 'video_output':
> registering
> <7>device class 'tty':
> registering
> <7>device class 'vtconsole':
> registering
> <7>device: 'vtcon0':
> device_add
> <4>WARNING: both IDE and NOR flash are enabled, but
> share pins.
> Disable IDE for NOR
> support.
> <7>Registering platform device 'physmap-flash.0'.
> Parent at platform
> <7>device: 'physmap-flash.0':
> device_add
> <7>bus: 'platform': add device
> physmap-flash.0
> <7>Registering platform device 'davinci_nand.0'.
> Parent at platform
> <7>device: 'davinci_nand.0':
> device_add
> <7>bus: 'platform': add device
> davinci_nand.0
> <7>Registering platform device 'davincifb'. Parent at
> platform
> <7>device: 'davincifb':
> device_add
> <7>bus: 'platform': add device
> davincifb
> <7>Registering platform device 'rtc_davinci_evm'.
> Parent at platform
> <7>device: 'rtc_davinci_evm':
> device_add
> <7>bus: 'platform': add device
> rtc_davinci_evm
> <7>Registering platform device 'palm_bk3710'. Parent
> at platform
> <7>device: 'palm_bk3710':
> device_add
> <7>bus: 'platform': add device
> palm_bk3710
> <7>Registering platform device 'i2c_davinci.1'. Parent
> at platform
> <7>device: 'i2c_davinci.1':
> device_add
> <7>bus: 'platform': add device
> i2c_davinci.1
> <7>Registering platform device 'musb_hdrc'. Parent at
> platform
> <7>device: 'musb_hdrc':
> device_add
> <7>bus: 'platform': add device
> musb_hdrc
> <7>Registering platform device 'serial8250.0'. Parent
> at platform
> <7>device: 'serial8250.0':
> device_add
> <7>bus: 'platform': add device
> serial8250.0
> <6>DaVinci: 71 gpio
> irqs
> <7>Registering platform device 'davinci_mmc.1'. Parent
> at platform
> <7>device: 'davinci_mmc.1':
> device_add
> <7>bus: 'platform': add device
> davinci_mmc.1
> <7>Registering sys device of class
> 'cpu'
> <7>Registering sys device
> 'cpu0'
> <7>device: 'default':
> device_add
> <7>device class 'block':
> registering
> <7>device class 'graphics':
> registering
> <7>device class 'misc':
> registering
> <7>bus: 'serio':
> registered
>
> <7>bus: 'i2c':
> registered
>
> <7>device class 'i2c-adapter':
> registering &nbs p;
> <7>bus: 'i2c': add driver
> dummy
> <7>bus: 'platform': add driver
> i2c_davinci
> <7>bus: 'platform': driver_probe_device: matched
> device i2c_davinci.1 with drive
> r
> i2c_davinci
>
> <7>bus: 'platform': really_probe: probing driver
> i2c_davinci with device i2c_dav
> inci.1
>
> <7>device: 'i2c-1':
> device_add
> <7>device: '1-0038':
> device_add
> <7>bus: 'i2c': add device
> 1-0038
> ;
> <7>device: '1-0039':
> device_add
> <7>bus: 'i2c': add device
> 1-0039
> <7>device: '1-003a':
> device_add &nbs
> p;
> <7>bus: 'i2c': add device
> 1-003a
> <7>device: '1-0050':
> device_add
> <7>bus: 'i2c': add device
> 1-0050 &nb
> sp;
> <7>driver: 'i2c_davinci.1': driver_bound: bound to
> device 'i2c_davinci'
> <7>bus: 'platform': really_probe: bound device
> i2c_davinci.1 to driver i2c_davin
> ci
>
> <7>bus: 'usb':
> registered
>
> <7>device class 'usb_host':
> registering
> <7>bus: 'usb': add driver
> usbfs &nb
> sp;
> <6>usbcore: registered new interface driver
> usbfs
> <7>bus: 'usb': add driver
> hub
> <6>usbcore: registered new interface driver
> hub
> <7>bus: 'usb': add driver
> usb
> <6>usbcore: registered new device driver
> usb
> <6>musb_hdrc: version 6.0, cppi-dma, host,
> debug=0
> <7>bus: 'platform': add driver
> musb_hdrc
> <7>bus: 'platform': driver_probe_device: matched
> device musb_hdrc with driver mu
> sb_hdrc
>
> <7>bus: 'platform': really_probe: probing driver
> musb_hdrc with device musb_hdrc
> <1>Unable to handle kernel NULL pointer dereference at
> virtual address 00000020
> <1>pgd =
> c0004000
>
> <1>[00000020]
> *pgd=00000000
>
> Internal error: Oops: 5 [#1]
> PREEMPT
> Modules linked
> in: ;
>
> CPU: 0 Not tainted (2.6.27-rc6-davinci1
> #23)
> PC is at
> gpio_set_value_cansleep+0x18/0x34
>
> LR is at
> davinci_source_power+0x3c/0x58
>
> pc : [<c0142d74>] lr : [<c019f6bc>] psr:
> 20000013
> sp : cc019d10 ip : cc019d20 fp :
> cc019d1c
> r10: cc03c000 r9 : 00000000 r8 :
> c02dab94
> r7 : c02e930c r6 : 00000000 r5 : c02e9364 r4 :
> 00000000
> r3 : 00000000 r2 : 00000001 r1 : 00000001 r0 :
> 00000057
> Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM
> Segment kernel
> Control: 0005317f Table: 80004000 DAC:
> 00000017
> Process swapper (pid: 1, stack limit =
> 0xcc018268)
> Stack: (0xcc019d10 to
> 0xcc01a000)
> 9d00: cc019d34
> cc019d20 c019f6bc c0142d6c
> 9d20: cc03c0d8 cd000000 cc019d4c cc019d38 c001bd98
> c019f690 c02dac20 cc03c0d8
> 9d40: cc019e2c cc019d50 c001b460 c001bd48 c04e0dcc
> c00cf20c cc00f4e8 cc00ee00
> 9d60: c02dab94 c02dab00 c02dab08 0000000c cd000000
> cc03c1ec c02daae0 cc019d88
> 9d80: c00cfa9c c023af04 cc091188 cc019da0 cc019dbc
> cc019da0 c00cf65c c00cf4cc
> 9da0: cc019dcc cc091188 cc091fc8 00000000 cc091fc8
> cc019dd8 cc00f4e8 00000001
> 9dc0: 00000000 00000000 cc019e0c cc019dd8 c00d07d4
> c00cfa90 cc00f4e8 00000000
> 9de0: 00000000 00000001 cc091188 c02dab08 00000000
> c02dab70 c02e930c c02dab94
> 9e00: cc019e1c c02dab08 c02dabb4 c02dab08 c02e930c
> c02dab94 00000000 00000000
> 9e20: cc019e3c cc019e30 c016fcfc c001b26c cc019e6c
> cc019e40 c016ee80 c016fcec
> 9e40: c02dab94 c00cfe14 cc019e6c c02dab08 c02dabb4
> c02e930c cc019e94 c02e6bf8
> 9e60: cc019e8c cc019e70 c016efd8 c016ed74 00000000
> 00000000 c016ef88 c02e930c
> 9e80: cc019ebc cc019e90 c016e608 c016ef98 c0137c44
> cc003dd8 cc003dd8 c02dab50
> 9ea0: 00000000 c02e92ec c02e930c cc0323c0 cc019ecc
> cc019ec0 c016ec1c c016e5c4
> 9ec0: cc019efc cc019ed0 c016de58 c016ec0c c024c05c
> cc019ee0 c0137f4c c0021ba0
> 9ee0: c02e92ec c02e930c c001b0a4 00000001 cc019f24
> cc019f00 c016f1ec c016ddb0
> 9f00: 00000000 c0021ba0 c02e92ec 00000000 c001b0a4
> 00000001 cc019f34 cc019f28
> 9f20: c016ff30 c016f148 cc019f54 cc019f38 c016ff68
> c016fec8 cc019f64 c0021ba0
> 9f40: c0021d38 00000000 cc019f64 cc019f58 c001b0e0
> c016ff5c cc019fd4 cc019f68
> 9f60: c00282c8 c001b0b4 c00c9c44 c00c9938 cc019f00
> cc032b40 c00c9d48 cc019f96
> 9f80: cc019fbc cc019f90 c00673fc c00c9bd4 cc019fac
> 3336fc10 00000000 00000000
> 9fa0: 00000087 c0021d38 00000000 00000000 cc019fd4
> c0021ba0 c0021d38 00000000
> 9fc0: 00000000 00000000 cc019ff4 cc019fd8 c00085b8
> c0028288 00000000 00000001
> 9fe0: 00000000 00000000 00000000 cc019ff8 c003fc38
> c0008544 ffffffff ffffffff
> Backtrace:
>
> [<c0142d5c>] (gpio_set_value_cansleep+0x0/0x34) from
> [<c019f6bc>] (davinci_sourc
> e_power+0x3c/0x58)
>
> [<c019f680>] (davinci_source_power+0x0/0x58) from
> [<c001bd98>] (musb_platform_in
> it+0x60/0xb0)
>
> r5:cd000000
> r4:cc03c0d8
>
> [<c001bd38>] (musb_platform_init+0x0/0xb0) from
> [<c001b460>] (musb_probe+0x204/0
> xadc)
>
> r5:cc03c0d8
> r4:c02dac20
>
> [<c001b25c>] (musb_probe+0x0/0xadc) from [<c016fcfc>]
> (platform_drv_probe+0x20/0
> x24)
>
> [<c016fcdc>] (platform_drv_probe+0x0/0x24) from
> [<c016ee80>] (driver_probe_devic
> e+0x11c/0x224)
>
> [<c016ed64>] (driver_probe_device+0x0/0x224) from
> [<c016efd8>] (__driver_attach+
> 0x50/0x74)
>
> r8:c02e6bf8 r7:cc019e94 r6:c02e930c r5:c02dabb4
> r4:c02dab08
> [<c016ef88>] (__driver_attach+0x0/0x74) from
> [<c016e608>] (bus_for_each_dev+0x54
> /0x90)
>
> r6:c02e930c r5:c016ef88
> r4:00000000
> [<c016e5b4>] (bus_for_each_dev+0x0/0x90) from
> [<c016ec1c>] (driver_attach+0x20/0
> x28)
>
> r7:cc0323c0 r6:c02e930c r5:c02e92ec
> r4:00000000
> [<c016ebfc>] (driver_attach+0x0/0x28) from
> [<c016de58>] (bus_add_driver+0xb8/0x2
> 24)
>
> [<c016dda0>] (bus_add_driver+0x0/0x224) from
> [<c016f1ec>] (driver_register+0xb4/
> 0x140)
>
> r8:00000001 r7:c001b0a4 r6:c02e930c r5:c02e92ec
> r4:c0021ba0
> [<c016f138>] (driver_register+0x0/0x140) from
> [<c016ff30>] (platform_driver_regi
> ster+0x78/0x94)
>
> r8:00000001 r7:c001b0a4 r6:00000000 r5:c02e92ec
> r4:c0021ba0
> [<c016feb8>] (platform_driver_register+0x0/0x94) from
> [<c016ff68>] (platform_dri
> ver_probe+0x1c/0x98)
>
> [<c016ff4c>] (platform_driver_probe+0x0/0x98) from
> [<c001b0e0>] (musb_init+0x3c/
> 0x54)
>
> r6:00000000 r5:c0021d38
> r4:c0021ba0
> [<c001b0a4>] (musb_init+0x0/0x54) from [<c00282c8>]
> (do_one_initcall+0x50/0x194)
> [<c0028278>] (do_one_initcall+0x0/0x194) from
> [<c00085b8>] (kernel_init+0x84/0xf
> 4)
>
> r8:00000000 r7:00000000 r6:00000000 r5:c0021d38
> r4:c0021ba0
> [<c0008534>] (kernel_init+0x0/0xf4) from [<c003fc38>]
> (do_exit+0x0/0x7b8)
> r5:00000000
> r4:00000000
>
> Code: e24cb004 e59f301c e1a02001 e7933180
> (e5931020)
> <4>---[ end trace 1b75b31a2719ed1c
> ]---
> <0>Kernel panic - not syncing: Attempted to kill init!
>
> On Wed, Oct 29, 2008 at 11:22 PM,
> <[EMAIL PROTECTED]> wrote:
> Steve,
> Thanks very much.
> I've already saw the penguin now.
> The left problems for me now is:
> 1. While using Xkdrive, all video will shrink
> to top half.
> 2. While compile Device Drivers----->USB
> Support----->Inventra Highspeed Dual Role
> Controller (TI, ...) to Y. (means compiled
> into the kernel). System will also panic
> 3. Make the the system runtime output
> switchable
>
>
> http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&tabId=409&familyId=1302&abstractName=spraan0
> is referred to have the penguin on lcd.
>
> Thanks again.
> On Oct 29, 2008 8:32pm, Steve Chen
> <[EMAIL PROTECTED]> wrote:
> > David,
> >
> >
> >
> > On Tue, 2008-10-28 at 22:20,
> [EMAIL PROTECTED] wrote:
> >
>
> > > Setting Video1 size 720x480, position
> (0,0)
> >
>
> > > Setting OSD0 size 720x480, position (0,0)
> >
>
> > > Setting OSD1 size 720x480, position (0,0)
> >
>
> > > Unsupported output device!
> >
> > This line seems to correspond to line 1492
> of drivers/video/davincifb.c.
> >
> > On line 1493,
> >
> >
> >
> > dm->output_device_config =
> NULL;
> >
> >
> >
> > Line 1652 of the same file
> >
> >
> >
> > dm->output_device_config(1);
> >
> >
> >
> > will give you kernel panic on NULL pointer
> deference. The obvious
> >
> > question to ask is why isn't NULL pointer
> checked? Unfortunately, I'm
> >
> > not familiar with the davinci frame buffer
> driver, so I'm ill qualified
> >
> > to advice. Perhaps others on the mailing
> list can provide inputs.
> >
> >
> >
> > Regards,
> >
> >
> >
> > Steve
> >
> >
> >
>
>
>
> --
> David
>
> Manager, Business Development
> Embedio. Inc.
> +86 13581953152
>
>
>
> --
> David
>
> Manager, Business Development
> Embedio. Inc.
> +86 13581953152
>
>
>
>
> --
> David
>
> Manager, Business Development
> Embedio. Inc.
> +86 13581953152
>
>
> ______________________________________________________________________
>
> _______________________________________________
> Davinci-linux-open-source mailing list
> [email protected]
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
