From: RayS <ra...@bl...> - 2010-02-24 19:14:20
|
<html> <body> <font size=2 color="#0000FF">We have an Overo with Palo43 and LCD module; all is well and the device boots and works fine. The LCD however has 4 wire SPI (ie with CS) and is is not the best example for a driver for a read-only ADC module (no CS). The main issue we're having is that the Gumstix only enables the SPI clock (SCLK) if a device is recognized at boot. We're having a tough time figuring out what we need to write a kernel (or user) driver that enables SPI, or can assume SPI is enabled from boot..<br><br> By observing the log file of the booting when the touchscreen is mounted, u-boot seems to do device <br> recognition.<br> </font> <br> <font size=2 color="#0000FF">Before the log file shows "remounting root fs" (including remounting of ads7846.c, which is the <br> touchscreen driver), the log file shows "booting", meaning u-boot is running.<br> It is during this "booting" that ADS7846 is detected on SPI 1, Chip Select 0, or is not.<br> It is detected when in board_overo.c the field .modalias = "ads7846".<br> Without this field written in board-overo.c, the detection doesn't happen.<br> Once again, this detection is during "booting" as per the log file.<br> The log file prints messages that show detection or not.<br> The exact words in these messages are not found with a search engine on the computer, meaning <br> we don't have the source code that generates them. <br> So, where are they?<br><br> u-boot also puts Chip Select to 0 on SPI 1 after it detects ADS7846.</font> <br> <font size=2 color="#0000FF">Later-on, after "remounting root fs", the file ads7846.c (the touchscreen driver) takes over, detects ADS7846 <br> like u-boot did, does transmit and receive on the SPI bus when the screen is touched, and maintains <br> Chip Select to 0.<br> </font> <br> Ray<br><br> </body> </html> |
From: Dave H. <dhy...@gm...> - 2010-02-24 19:29:20
|
Hi Ray, > The exact words in these messages are not found with a search engine on the > computer, meaning > we don't have the source code that generates them. > So, where are they? Could you include the complete boot log, and the exact text of the messages you're referring to? -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: RayS <ra...@bl...> - 2010-02-24 20:07:49
|
<html> <body> At 11:29 AM 2/24/2010, you wrote:<br> <blockquote type=cite class=cite cite="">> The exact words in these messages are not found with a search engine on the<br> > computer, meaning<br> > we don't have the source code that generates them.<br> > So, where are they?<br><br> Could you include the complete boot log, and the exact text of the<br> messages you're referring to?</blockquote><font color="#800000"><br> Hi Dave,<br> Be glad to shortly!<br><br> Ray<br> </font></body> </html> |
From: Steve S. <sa...@gm...> - 2010-02-24 21:06:20
|
On Wed, Feb 24, 2010 at 11:14 AM, RayS <ra...@bl...> wrote: > We have an Overo with Palo43 and LCD module; all is well and the device > boots and works fine. The LCD however has 4 wire SPI (ie with CS) and is is > not the best example for a driver for a read-only ADC module (no CS). The > main issue we're having is that the Gumstix only enables the SPI clock > (SCLK) if a device is recognized at boot. I think your expectations might be wrong. The SPI clock is not free-running. It is only driven during actual SPI transactions. If you intend to have more than one device on the SPI bus you *must* have a chip select per device, otherwise the master has no way to indicate which slave should talk/listen. If you have only one device on SPI then you can get by with no chip select. > We're having a tough time figuring > out what we need to write a kernel (or user) driver that enables SPI, or can > assume SPI is enabled from boot.. SPI is enabled in the standard image, but you will of course need to write a kernel driver for the SPI chip you intend to use, and you will also need to modify the overo board file in linux to enable that driver. > By observing the log file of the booting when the touchscreen is mounted, > u-boot seems to do device > recognition. U-boot does nothing with SPI. The log messages you are referring to are output by the linux kernel during the boot process. > Before the log file shows "remounting root fs" (including remounting of > ads7846.c, which is the > touchscreen driver), the log file shows "booting", meaning u-boot is > running. > It is during this "booting" that ADS7846 is detected on SPI 1, Chip Select > 0, or is not. > It is detected when in board_overo.c the field .modalias = "ads7846". > Without this field written in board-overo.c, the detection doesn't happen. > Once again, this detection is during "booting" as per the log file. > The log file prints messages that show detection or not. > The exact words in these messages are not found with a search engine on the > computer, meaning > we don't have the source code that generates them. > So, where are they? They are in the linux ads7846 driver! http://www.sakoman.com/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=blob;f=drivers/input/touchscreen/ads7846.c;h=7cc9973241e51dcb88de2087b77c9526a4ed7666;hb=refs/heads/omap3-2.6.32 > u-boot also puts Chip Select to 0 on SPI 1 after it detects ADS7846. > Later-on, after "remounting root fs", the file ads7846.c (the touchscreen > driver) takes over, detects ADS7846 > like u-boot did, does transmit and receive on the SPI bus when the screen is > touched, and maintains > Chip Select to 0. Once again, u-boot does nothing with SPI. Everything you mention is done by the linux ads7846 driver. Regards, Steve > Ray > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > > |
From: RayS <ra...@bl...> - 2010-02-24 21:27:46
|
<html> <body> At 01:06 PM 2/24/2010, you wrote:<br> <blockquote type=cite class=cite cite="">On Wed, Feb 24, 2010 at 11:14 AM, RayS <ra...@bl...> wrote:<br> > We have an Overo with Palo43 and LCD module; all is well and the device<br> > boots and works fine. The LCD however has 4 wire SPI (ie with CS) and is is<br> > not the best example for a driver for a read-only ADC module (no CS). The<br> > main issue we're having is that the Gumstix only enables the SPI clock<br> > (SCLK) if a device is recognized at boot.<br><br> I think your expectations might be wrong.</blockquote><br> <font color="#800000">always possible!<br><br> </font><blockquote type=cite class=cite cite="">The SPI clock is not free-running. It is only driven during actual<br> SPI transactions.</blockquote><br> <font color="#800000">SPI/SCLK can free run for the ADS1278 DEV (or not)<br> <a href="http://www.ti.com/lit/gpn/ads1278" eudora="autourl"> http://www.ti.com/lit/gpn/ads1278<br><br> </a></font><blockquote type=cite class=cite cite="">If you intend to have more than one device on the SPI bus you *must*<br> have a chip select per device, otherwise the master has no way to<br> indicate which slave should talk/listen.<br> If you have only one device on SPI then you can get by with no chip select.</blockquote><br> <font color="#800000">which is the current state of things<br><br> </font><blockquote type=cite class=cite cite="">> We're having a tough time figuring<br> > out what we need to write a kernel (or user) driver that enables SPI, or can<br> > assume SPI is enabled from boot..<br><br> SPI is enabled in the standard image, but you will of course need to<br> write a kernel driver for the SPI chip you intend to use, and you will<br> also need to modify the overo board file in linux to enable that<br> driver.</blockquote><br> <font color="#800000">working on that...<br><br> </font><blockquote type=cite class=cite cite="">> By observing the log file of the booting when the touchscreen is mounted,<br> > u-boot seems to do device<br> > recognition.<br><br> U-boot does nothing with SPI. The log messages you are referring to<br> are output by the linux kernel during the boot process.<br><br> > Before the log file shows "remounting root fs" (including remounting of<br> > ads7846.c, which is the<br> > touchscreen driver), the log file shows "booting", meaning u-boot is<br> > running.<br> > It is during this "booting" that ADS7846 is detected on SPI 1, Chip Select<br> > 0, or is not.<br> > It is detected when in board_overo.c the field .modalias = "ads7846".<br> > Without this field written in board-overo.c, the detection doesn't happen.<br> > Once again, this detection is during "booting" as per the log file.<br> > The log file prints messages that show detection or not.<br> > The exact words in these messages are not found with a search engine on the<br> > computer, meaning<br> > we don't have the source code that generates them.<br> > So, where are they?<br><br> They are in the linux ads7846 driver!<br> <a href="http://www.sakoman.com/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=blob;f=drivers/input/touchscreen/ads7846.c;h=7cc9973241e51dcb88de2087b77c9526a4ed7666;hb=refs/heads/omap3-2.6.32" eudora="autourl"> http://www.sakoman.com/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=blob;f=drivers/input/touchscreen/ads7846.c;h=7cc9973241e51dcb88de2087b77c9526a4ed7666;hb=refs/heads/omap3-2.6.32</a> <br> > u-boot also puts Chip Select to 0 on SPI 1 after it detects ADS7846.<br> > Later-on, after "remounting root fs", the file ads7846.c (the touchscreen<br> > driver) takes over, detects ADS7846<br> > like u-boot did, does transmit and receive on the SPI bus when the screen is<br> > touched, and maintains<br> > Chip Select to 0.<br><br> U-boot does nothing with SPI. The log messages you are referring to<br> are output by the linux kernel during the boot process.</blockquote><br> <font color="#800000">thanks, we'll review <br><br> <br> Ray</font></body> </html> |
From: Tony O. <to...@gm...> - 2010-02-24 21:36:21
|
Hi Dave. Thanks for the kind help. Please find below, two boot log files, the first one that doesn't detect the ADC1278, the second one that detects the touchscreen ADS7846. The first one doesn't detect the 1278, after declaring in board-overo.c the structure field .modalias="adc1278" and registering it with the board platform. 1.) Boot log when ADC1278 is declared in board-overo.c: _____________________________________________________ --michael@michael-laptop:~$ kermit -l /dev/ttyUSB0 Locked by process 2581 can't open device michael@michael-laptop:~$ set flow-control none michael@michael-laptop:~$ set carrier-watch off michael@michael-laptop:~$ setspeed 115200 setspeed: command not found michael@michael-laptop:~$ set speed 115200 michael@michael-laptop:~$ kermit -l /dev/ttyUSB0 Locked by process 2581 can't open device michael@michael-laptop:~$ kermit -l /dev/ttyUSB0 C-Kermit 8.0.211, 10 Apr 2004, for Linux Copyright (C) 1985, 2004, Trustees of Columbia University in the City of New York. Type ? or HELP for help. (/home/michael/) C-Kermit>set flow-controlnone ?No keywords match - flow-controlnone (/home/michael/) C-Kermit>set set ?No keywords match - set (/home/michael/) C-Kermit>set flow-control none (/home/michael/) C-Kermit>set carrier-watch off (/home/michael/) C-Kermit>set speed 115200 /dev/ttyUSB0, 115200 bps (/home/michael/) C-Kermit>connect Connecting to /dev/ttyUSB0, speed 115200 Escape character: Ctrl- (ASCII 28, FS): enabled Type the escape character followed by C to get back, or followed by ? to see other options. ---------------------------------------------------- �t�b�$U @ @ @D��` @ @ Texas Instruments X-Loader 1.4.2 (Nov 14 2008 - 13:21:49) Reading boot sector Loading u-boot.bin from mmc U-Boot 2009.11 (Feb 11 2010 - 16:37:25) OMAP3530-GP ES2.1, CPU-OPP2, L3-165MHz, Max clock-600Mhz Gumstix Overo board + LPDDR/NAND I2C: ready DRAM: 256 MB NAND: 256 MiB In: serial Out: serial Err: serial Board revision: 1 SDIO2 is direct connected Die ID #462200020000000004031c1319011016 Net: No ethernet found. Hit any key to stop autoboot: 0 mmc1 is available reading boot.scr ** Unable to read "boot.scr" from mmc 0:1 ** reading uImage 3156868 bytes read Booting from mmc ... ## Booting kernel from Legacy Image at 82000000 ... Image Name: Angstrom/2.6.32/overo Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3156804 Bytes = 3 MB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux..................................................................................... .......................................................................................... .................................. done, booting the kernel. Linux version 2.6.32 (developer@developer-desktop) (gcc version 4.3.3 (GCC) ) #33 Wed Feb 24 12:36:54 PST 2010 CPU: ARMv7 Processor [411fc082] revision 2 (ARMv7), cr=10c53c7f CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache Machine: Gumstix Overo Memory policy: ECC disabled, Data cache writeback OMAP3430/3530 ES2.1 (l2cache iva sgx neon isp ) SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x100000 Reserving 12582912 bytes SDRAM for VRAM Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024 Kernel command line: console=ttyS2,115200n8 vram=12M omapfb.mode=dvi:1024x768MR-16@60 omapfb.debug=y omapdss.def_disp=lcd43 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait PID hash table entries: 1024 (order: 0, 4096 bytes) Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 128MB 128MB = 256MB total Memory: 240512KB available (5220K code, 597K data, 932K init, 0K highmem) Hierarchical RCU implementation. NR_IRQS:402 Clocking rate (Crystal/Core/MPU): 26.0/331/500 MHz Reprogramming SDRC clock to 331882352 Hz GPMC revision 5.0 IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts Total of 96 interrupts on 1 active controller OMAP GPIO hardware version 2.5 OMAP clockevent source: GPTIMER1 at 32768 Hz Console: colour dummy device 80x30 Calibrating delay loop... 499.92 BogoMIPS (lpj=1949696) Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok regulator: core version 0.5 NET: Registered protocol family 16 Found NAND on CS0 Registering NAND on CS0 OMAP DMA hardware revision 4.0 bio: create slab <bio-0> at 0 SCSI subsystem initialized Ion's test 9: SPI clock is enabled here. Ion's test 9: SPI clock is enabled here. usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb i2c_omap i2c_omap.1: bus 1 rev3.12 at 2600 kHz twl4030: PIH (irq 7) chaining IRQs 368..375 twl4030: power (irq 373) chaining IRQs 376..383 twl4030: gpio (irq 368) chaining IRQs 384..401 regulator: VUSB1V5: 1500 mV normal standby regulator: VUSB1V8: 1800 mV normal standby regulator: VUSB3V1: 3100 mV normal standby twl4030_usb twl4030_usb: Initialized TWL4030 USB module regulator: VMMC1: 1850 <--> 3150 mV normal standby regulator: VDAC: 1800 mV normal standby regulator: VPLL2: 1800 mV normal standby i2c_omap i2c_omap.3: bus 3 rev3.12 at 400 kHz Bluetooth: Core ver 2.15 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized cfg80211: Using static regulatory domain info cfg80211: Regulatory domain: US (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm) (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm) cfg80211: Calling CRDA for country: US Switching to clocksource 32k_counter musb_hdrc: version 6.0, musb-dma, host, debug=0 musb_hdrc: USB Host mode controller at fa0ab000 using DMA, IRQ 92 musb_hdrc musb_hdrc: MUSB HDRC host driver musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1 usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: MUSB HDRC host driver usb usb1: Manufacturer: Linux 2.6.32 musb-hcd usb usb1: SerialNumber: musb_hdrc usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected NET: Registered protocol family 2 IP route cache hash table entries: 2048 (order: 1, 8192 bytes) TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP reno registered NET: Registered protocol family 1 RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. VFS: Disk quotas dquot_6.5.2 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. msgmni has been set to 470 alg: No test for stdrng (krng) io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered (default) OMAP DSS rev 2.0 OMAP DISPC rev 3.0 OMAP VENC rev 2 Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled serial8250.0: ttyS0 at MMIO 0x4806a000 (irq = 72) is a ST16654 serial8250.1: ttyS1 at MMIO 0x4806c000 (irq = 73) is a ST16654 serial8250.2: ttyS2 at MMIO 0x49020000 (irq = 74) is a ST16654 console [ttyS2] enabled brd: module loaded loop: module loaded omap2-nand driver initializing NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron NAND 256MiB 1,8V 16-bit) cmdlinepart partition parsing not available Creating 5 MTD partitions on "omap2-nand": 0x000000000000-0x000000080000 : "xloader" 0x000000080000-0x000000240000 : "uboot" 0x000000240000-0x000000280000 : "uboot environment" 0x000000280000-0x000000680000 : "linux" 0x000000680000-0x000010000000 : "rootfs" smsc911x: Driver version 2008-10-21. smsc911x: Driver version 2008-10-21. usbcore: registered new interface driver asix usbcore: registered new interface driver cdc_ether ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci-omap ehci-omap.0: OMAP-EHCI Host Controller ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 2 ehci-omap ehci-omap.0: irq 77, io mem 0x48064800 ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00 usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb2: Product: OMAP-EHCI Host Controller usb usb2: Manufacturer: Linux 2.6.32 ehci_hcd usb usb2: SerialNumber: ehci-omap.0 usb usb2: configuration #1 chosen from 1 choice hub 2-0:1.0: USB hub found hub 2-0:1.0: 3 ports detected Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. udc: OMAP UDC driver, version: 4 October 2004 (iso) (dma) mice: PS/2 mouse device common for all mice twl4030_rtc twl4030_rtc: rtc core: registered twl4030_rtc as rtc0 twl4030_rtc twl4030_rtc: Power up reset detected. twl4030_rtc twl4030_rtc: Enabling TWL4030-RTC. i2c /dev entries driver OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec Bluetooth: HCI UART driver ver 2.2 Bluetooth: HCI H4 protocol initialized Bluetooth: HCI BCSP protocol initialized Bluetooth: HCILL protocol initialized usbcore: registered new interface driver usbhid usbhid: v2.6:USB HID core driver Advanced Linux Sound Architecture Driver Version 1.0.21. usbcore: registered new interface driver snd-usb-audio No device for DAI twl4030 No device for DAI twl4030 Voice No device for DAI omap-mcbsp-dai-0 No device for DAI omap-mcbsp-dai-1 No device for DAI omap-mcbsp-dai-2 No device for DAI omap-mcbsp-dai-3 No device for DAI omap-mcbsp-dai-4 overo SoC init TWL4030 Audio Codec init asoc: twl4030 <-> omap-mcbsp-dai-0 mapping ok ALSA device list: #0: overo (twl4030) oprofile: using arm/armv7 TCP cubic registered NET: Registered protocol family 17 NET: Registered protocol family 15 Bluetooth: L2CAP ver 2.14 Bluetooth: L2CAP socket layer initialized Bluetooth: SCO (Voice Link) ver 0.6 Bluetooth: SCO socket layer initialized Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Bluetooth: BNEP filters: protocol multicast Bluetooth: HIDP (Human Interface Emulation) ver 1.2 ThumbEE CPU extension supported. Power Management for TI OMAP3. VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1 fbcvt: 1024x768@60: CVT Name - .786M3-R Console: switching to colour frame buffer device 60x34 omapdss DPI: Could not find exact pixel clock. Requested 9200 kHz, got 9094 kHz regulator_init_complete: incomplete constraints, leaving VDVI on regulator_init_complete: incomplete constraints, leaving VDAC on twl4030_rtc twl4030_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800) Waiting for root device /dev/mmcblk0p2... mmc0: host does not support reading read-only switch. assuming write-enable. mmc0: new SD card at address aaaa mmcblk0: mmc0:aaaa SU02G 1.84 GiB mmcblk0: p1 p2 mmcblk0: p2 size 3887730 exceeds device capacity, limited to end of disk kjournald starting. Commit interval 5 seconds EXT3-fs warning: maximal mount count reached, running e2fsck is recommended EXT3 FS on mmcblk0p2, internal journal EXT3-fs: mounted filesystem with writeback data mode. VFS: Mounted root (ext3 filesystem) on device 179:2. Freeing init memory: 932K INIT: version 2.86 booting Please wait: booting... Starting udev Remounting root file system... Caching udev devnodes Populating dev cache NET: Registered protocol family 10 Unknown HZ value! (74) Assume 100. ALSA: Restoring mixer settings... Configuring network interfaces... /usr/sbin/alsactl: parse:1639: Unable to open file '/usr/share/alsa/init/00main': No such file or directory /usr/sbin/alsactl: set_control:1256: failed to obtain info for control #23 (No such file or directory) /usr/sbin/alsactl: set_control:1256: failed to obtain info for control #24 (No such file or directory) /usr/sbin/alsactl: set_control:1256: failed to obtain info for control #25 (No such file or directory) /usr/sbin/alsactl: set_control:1256: failed to obtain info for control #26 (No such file or directory) /usr/sbin/alsactl: set_control:1256: failed to obtain info for control #27 (No such file or directory) /usr/sbin/alsactl: set_control:1256: failed to obtain info for control #28 (No such file or directory) /usr/sbin/alsactl: set_control:1256: failed to obtain info for control #33 (No such file or directory) /usr/sbin/alsactl: set_control:1256: failed to obtain info for control #35 (No such file or directory) done. Starting portmap daemon: portmap. Unknown HZ value! (74) Assume 100. net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.all.rp_filter = 1 Mon Feb 22 12:40:00 UTC 2010 Turning echo off on /dev/ttyS1 INIT: Entering runlevel: 5 Starting system message bus: dbus. Starting Hardware abstraction layer hald Starting syslog-ng:. Starting OpenBSD Secure Shell server: sshd Could not load host key: /etc/ssh/ssh_host_rsa_key Could not load host key: /etc/ssh/ssh_host_dsa_key Disabling protocol version 2. Could not load host key sshd: no hostkeys available -- exiting. Starting advanced power management daemon: No APM support in kernel (failed.) Starting ntpd: done Starting syslogd/klogd: done * Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon [ ok ] Starting Bluetooth subsystem: Initialization timed out. .-------. | | .-. | | |-----.-----.-----.| | .----..-----.-----. | | | __ | ---'| '--.| .-'| | | | | | | | |--- || --'| | | ' | | | | '---'---'--'--'--. |-----''----''--' '-----'-'-'-' -' | '---' The Angstrom Distribution overo ttyS2 Angstrom 2009.X-test-20100211 overo ttyS2 overo login: 2.) Boot log of the touchscreen ADS7846 that works in SPI _________________________________________________________ (i.e.: clock is observed, MOSI and MISO are tied, spidev_test.c is built in the kernel and transfers data, the oscilloscope sees activity on the MISO line; please note the section: Please wait: booting... Starting udev udev: starting version 141 Remounting root file system... Ion's test 9: SPI clock is enabled here. ads7846 spi1.0: touchscreen, irq 274 input: ADS7846 Touchscreen as /devices/platform/omap2_mcspi.1/spi1.0/input/input0 Caching udev devnodes it might be that the word "booting" in it does indicate it is after u-boot, it does indicate it is during executing uImage because I recognize the message "Ion's test 9: SPI clock is enabled here." from omap2_mcspi.c, but the words "Touchscreen as" are not recognized on the computer like if I cannot access their source code, and I don't know yet udev in the Linux directory tree) michael@michael-laptop:~$ kermit -l /dev/ttyUSB0 C-Kermit 8.0.211, 10 Apr 2004, for Linux Copyright (C) 1985, 2004, Trustees of Columbia University in the City of New York. Type ? or HELP for help. (/home/michael/) C-Kermit>set flow-control none (/home/michael/) C-Kermit>set carrier-watch off (/home/michael/) C-Kermit>set speed 115200 /dev/ttyUSB0, 115200 bps (/home/michael/) C-Kermit>connect Connecting to /dev/ttyUSB0, speed 115200 Escape character: Ctrl-\ (ASCII 28, FS): enabled Type the escape character followed by C to get back, or followed by ? to see other options. ---------------------------------------------------- �t�b�$U @ @ @D��` @ @ Texas Instruments X-Loader 1.4.2 (Nov 14 2008 - 13:21:49) Reading boot sector Loading u-boot.bin from mmc U-Boot 2009.11 (Feb 11 2010 - 16:37:25) OMAP3530-GP ES2.1, CPU-OPP2, L3-165MHz, Max clock-600Mhz Gumstix Overo board + LPDDR/NAND I2C: ready DRAM: 256 MB NAND: 256 MiB In: serial Out: serial Err: serial Board revision: 1 SDIO2 is direct connected Die ID #462200020000000004031c1319011016 Net: No ethernet found. Hit any key to stop autoboot: 0 mmc1 is available reading boot.scr ** Unable to read "boot.scr" from mmc 0:1 ** reading uImage 3156852 bytes read Booting from mmc ... ## Booting kernel from Legacy Image at 82000000 ... Image Name: Angstrom/2.6.32/overo Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3156788 Bytes = 3 MB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux..................................................................................... .......................................................................................... .................................. done, booting the kernel. Linux version 2.6.32 (developer@developer-desktop) (gcc version 4.3.3 (GCC) ) #32 Wed Feb 24 10:59:01 PST 2010 CPU: ARMv7 Processor [411fc082] revision 2 (ARMv7), cr=10c53c7f CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache Machine: Gumstix Overo Memory policy: ECC disabled, Data cache writeback OMAP3430/3530 ES2.1 (l2cache iva sgx neon isp ) SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x100000 Reserving 12582912 bytes SDRAM for VRAM Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024 Kernel command line: console=ttyS2,115200n8 vram=12M omapfb.mode=dvi:1024x768MR-16@60 omapfb.debug=y omapdss.def_disp=lcd43 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait PID hash table entries: 1024 (order: 0, 4096 bytes) Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 128MB 128MB = 256MB total Memory: 240512KB available (5220K code, 597K data, 932K init, 0K highmem) Hierarchical RCU implementation. NR_IRQS:402 Clocking rate (Crystal/Core/MPU): 26.0/331/500 MHz Reprogramming SDRC clock to 331882352 Hz GPMC revision 5.0 IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts Total of 96 interrupts on 1 active controller OMAP GPIO hardware version 2.5 OMAP clockevent source: GPTIMER1 at 32768 Hz Console: colour dummy device 80x30 Calibrating delay loop... 499.92 BogoMIPS (lpj=1949696) Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok regulator: core version 0.5 NET: Registered protocol family 16 Found NAND on CS0 Registering NAND on CS0 OMAP DMA hardware revision 4.0 bio: create slab <bio-0> at 0 SCSI subsystem initialized Ion's test 9: SPI clock is enabled here. Ion's test 9: SPI clock is enabled here. usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb i2c_omap i2c_omap.1: bus 1 rev3.12 at 2600 kHz twl4030: PIH (irq 7) chaining IRQs 368..375 twl4030: power (irq 373) chaining IRQs 376..383 twl4030: gpio (irq 368) chaining IRQs 384..401 regulator: VUSB1V5: 1500 mV normal standby regulator: VUSB1V8: 1800 mV normal standby regulator: VUSB3V1: 3100 mV normal standby twl4030_usb twl4030_usb: Initialized TWL4030 USB module regulator: VMMC1: 1850 <--> 3150 mV normal standby regulator: VDAC: 1800 mV normal standby regulator: VPLL2: 1800 mV normal standby i2c_omap i2c_omap.3: bus 3 rev3.12 at 400 kHz Bluetooth: Core ver 2.15 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized cfg80211: Using static regulatory domain info cfg80211: Regulatory domain: US (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm) (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm) cfg80211: Calling CRDA for country: US Switching to clocksource 32k_counter musb_hdrc: version 6.0, musb-dma, host, debug=0 musb_hdrc: USB Host mode controller at fa0ab000 using DMA, IRQ 92 musb_hdrc musb_hdrc: MUSB HDRC host driver musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1 usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: MUSB HDRC host driver usb usb1: Manufacturer: Linux 2.6.32 musb-hcd usb usb1: SerialNumber: musb_hdrc usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected NET: Registered protocol family 2 IP route cache hash table entries: 2048 (order: 1, 8192 bytes) TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP reno registered NET: Registered protocol family 1 RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. VFS: Disk quotas dquot_6.5.2 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. msgmni has been set to 470 alg: No test for stdrng (krng) io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered (default) OMAP DSS rev 2.0 OMAP DISPC rev 3.0 OMAP VENC rev 2 Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled serial8250.0: ttyS0 at MMIO 0x4806a000 (irq = 72) is a ST16654 serial8250.1: ttyS1 at MMIO 0x4806c000 (irq = 73) is a ST16654 serial8250.2: ttyS2 at MMIO 0x49020000 (irq = 74) is a ST16654 console [ttyS2] enabled brd: module loaded loop: module loaded omap2-nand driver initializing NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron NAND 256MiB 1,8V 16-bit) cmdlinepart partition parsing not available Creating 5 MTD partitions on "omap2-nand": 0x000000000000-0x000000080000 : "xloader" 0x000000080000-0x000000240000 : "uboot" 0x000000240000-0x000000280000 : "uboot environment" 0x000000280000-0x000000680000 : "linux" 0x000000680000-0x000010000000 : "rootfs" smsc911x: Driver version 2008-10-21. smsc911x: Driver version 2008-10-21. usbcore: registered new interface driver asix usbcore: registered new interface driver cdc_ether ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci-omap ehci-omap.0: OMAP-EHCI Host Controller ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 2 ehci-omap ehci-omap.0: irq 77, io mem 0x48064800 ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00 usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb2: Product: OMAP-EHCI Host Controller usb usb2: Manufacturer: Linux 2.6.32 ehci_hcd usb usb2: SerialNumber: ehci-omap.0 usb usb2: configuration #1 chosen from 1 choice hub 2-0:1.0: USB hub found hub 2-0:1.0: 3 ports detected Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. udc: OMAP UDC driver, version: 4 October 2004 (iso) (dma) mice: PS/2 mouse device common for all mice twl4030_rtc twl4030_rtc: rtc core: registered twl4030_rtc as rtc0 twl4030_rtc twl4030_rtc: Power up reset detected. twl4030_rtc twl4030_rtc: Enabling TWL4030-RTC. i2c /dev entries driver OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec Bluetooth: HCI UART driver ver 2.2 Bluetooth: HCI H4 protocol initialized Bluetooth: HCI BCSP protocol initialized Bluetooth: HCILL protocol initialized usbcore: registered new interface driver usbhid usbhid: v2.6:USB HID core driver Advanced Linux Sound Architecture Driver Version 1.0.21. usbcore: registered new interface driver snd-usb-audio No device for DAI twl4030 No device for DAI twl4030 Voice No device for DAI omap-mcbsp-dai-0 No device for DAI omap-mcbsp-dai-1 No device for DAI omap-mcbsp-dai-2 No device for DAI omap-mcbsp-dai-3 No device for DAI omap-mcbsp-dai-4 overo SoC init TWL4030 Audio Codec init asoc: twl4030 <-> omap-mcbsp-dai-0 mapping ok ALSA device list: #0: overo (twl4030) oprofile: using arm/armv7 TCP cubic registered NET: Registered protocol family 17 NET: Registered protocol family 15 Bluetooth: L2CAP ver 2.14 Bluetooth: L2CAP socket layer initialized Bluetooth: SCO (Voice Link) ver 0.6 Bluetooth: SCO socket layer initialized Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Bluetooth: BNEP filters: protocol multicast Bluetooth: HIDP (Human Interface Emulation) ver 1.2 ThumbEE CPU extension supported. Power Management for TI OMAP3. VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1 fbcvt: 1024x768@60: CVT Name - .786M3-R Console: switching to colour frame buffer device 60x34 omapdss DPI: Could not find exact pixel clock. Requested 9200 kHz, got 9094 kHz regulator_init_complete: incomplete constraints, leaving VDVI on regulator_init_complete: incomplete constraints, leaving VDAC on twl4030_rtc twl4030_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800) Waiting for root device /dev/mmcblk0p2... mmc0: host does not support reading read-only switch. assuming write-enable. mmc0: new SD card at address aaaa mmcblk0: mmc0:aaaa SU02G 1.84 GiB mmcblk0: p1 p2 mmcblk0: p2 size 3887730 exceeds device capacity, limited to end of disk kjournald starting. Commit interval 5 seconds EXT3-fs warning: maximal mount count reached, running e2fsck is recommended EXT3 FS on mmcblk0p2, internal journal EXT3-fs: recovery complete. EXT3-fs: mounted filesystem with writeback data mode. VFS: Mounted root (ext3 filesystem) on device 179:2. Freeing init memory: 932K INIT: version 2.86 booting Please wait: booting... Starting udev udev: starting version 141 Remounting root file system... Ion's test 9: SPI clock is enabled here. ads7846 spi1.0: touchscreen, irq 274 input: ADS7846 Touchscreen as /devices/platform/omap2_mcspi.1/spi1.0/input/input0 Caching udev devnodes Populating dev cachemv: cannot stat `/tmp/uname': No such file or directory NET: Registered protocol family 10 ALSA: Restoring mixer settings... Configuring network interfaces... /usr/sbin/alsactl: parse:1639: Unable to open file '/usr/share/alsa/init/00main': No such file or directory /usr/sbin/alsactl: set_control:1256: failed to obtain info for control #23 (No such file or directory) /usr/sbin/alsactl: set_control:1256: failed to obtain info for control #24 (No such file or directory) /usr/sbin/alsactl: set_control:1256: failed to obtain info for control #25 (No such file or directory) /usr/sbin/alsactl: set_control:1256: failed to obtain info for control #26 (No such file or directory) /usr/sbin/alsactl: set_control:1256: failed to obtain info for control #27 (No such file or directory) /usr/sbin/alsactl: set_control:1256: failed to obtain info for control #28 (No such file or directory) /usr/sbin/alsactl: set_control:1256: failed to obtain info for control #33 (No such file or directory) /usr/sbin/alsactl: set_control:1256: failed to obtain info for control #35 (No such file or directory) done. Starting portmap daemon: portmap. net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.all.rp_filter = 1 Mon Feb 22 12:40:00 UTC 2010 Turning echo off on /dev/ttyS1 On Wed, Feb 24, 2010 at 11:29 AM, Dave Hylands <dhy...@gm...> wrote: > Hi Ray, > > > The exact words in these messages are not found with a search engine on > the > > computer, meaning > > we don't have the source code that generates them. > > So, where are they? > > Could you include the complete boot log, and the exact text of the > messages you're referring to? > > -- > Dave Hylands > Shuswap, BC, Canada > http://www.DaveHylands.com/ > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: Tony O. <to...@gm...> - 2010-02-24 22:01:28
|
Steve, your: I think your expectations might be wrong. > > The SPI clock is not free-running. It is only driven during actual > SPI transactions. > > If you intend to have more than one device on the SPI bus you *must* > have a chip select per device, otherwise the master has no way to > indicate which slave should talk/listen. > is understood. The SPI clock is not assumed free-running. It is observed to be free-running only when in omap2_mcspi.c, this section: ret = omap2_mcspi_setup_transfer(spi, NULL); omap2_mcspi_disable_clocks(mcspi); is commented out. After that observation, the code is enabled back. Chip Select 0 is consecutively used for ADS7846 as a model, and then for 1278 to emulate the model. SPI is enabled in the standard image, but you will of course need to > write a kernel driver for the SPI chip you intend to use, and you will > also need to modify the overo board file in linux to enable that > driver. board-overo.c declares ADC1278 like it declares 7846: static struct spi_board_info overo_spi_board_info[] __initdata = { { .modalias = "adc1278", // .modalias = "ads7846", .bus_num = 1, // .chip_select = 1, .chip_select = 0, // .max_speed_hz = 27000000, .max_speed_hz = 1500000, .controller_data = &ads7846_mcspi_config, // .irq = 31, .irq = OMAP_GPIO_IRQ(OVERO_GPIO_PENDOWN), // .platform_data = &ads7846_config, .platform_data = &ad1278_config, }, and I create the driver adc1278.c with adc1278.h, starting from ads7846.c and ads7846.h. They are in the linux ads7846 driver! Once again, u-boot does nothing with SPI. Everything you mention is > done by the linux ads7846 driver. > Changes in printk in ads7846.c don't show up in the log of the boot file. The messages come from elsewhere. Ion A. Beza. On Wed, Feb 24, 2010 at 1:06 PM, Steve Sakoman <sa...@gm...> wrote: > On Wed, Feb 24, 2010 at 11:14 AM, RayS <ra...@bl...> wrote: > > We have an Overo with Palo43 and LCD module; all is well and the device > > boots and works fine. The LCD however has 4 wire SPI (ie with CS) and is > is > > not the best example for a driver for a read-only ADC module (no CS). The > > main issue we're having is that the Gumstix only enables the SPI clock > > (SCLK) if a device is recognized at boot. > > I think your expectations might be wrong. >> >> The SPI clock is not free-running. It is only driven during actual >> SPI transactions. >> >> If you intend to have more than one device on the SPI bus you *must* >> have a chip select per device, otherwise the master has no way to >> indicate which slave should talk/listen. >> >> If you have only one device on SPI then you can get by with no chip >> select. >> > > > We're having a tough time figuring > > out what we need to write a kernel (or user) driver that enables SPI, or > can > > assume SPI is enabled from boot.. > > SPI is enabled in the standard image, but you will of course need to > write a kernel driver for the SPI chip you intend to use, and you will > also need to modify the overo board file in linux to enable that > driver. > > > By observing the log file of the booting when the touchscreen is mounted, > > u-boot seems to do device > > recognition. > > U-boot does nothing with SPI. The log messages you are referring to > are output by the linux kernel during the boot process. > > > Before the log file shows "remounting root fs" (including remounting of > > ads7846.c, which is the > > touchscreen driver), the log file shows "booting", meaning u-boot is > > running. > > It is during this "booting" that ADS7846 is detected on SPI 1, Chip > Select > > 0, or is not. > > It is detected when in board_overo.c the field .modalias = "ads7846". > > Without this field written in board-overo.c, the detection doesn't > happen. > > Once again, this detection is during "booting" as per the log file. > > The log file prints messages that show detection or not. > > The exact words in these messages are not found with a search engine on > the > > computer, meaning > > we don't have the source code that generates them. > > So, where are they? > > They are in the linux ads7846 driver! > > > http://www.sakoman.com/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=blob;f=drivers/input/touchscreen/ads7846.c;h=7cc9973241e51dcb88de2087b77c9526a4ed7666;hb=refs/heads/omap3-2.6.32 > > > u-boot also puts Chip Select to 0 on SPI 1 after it detects ADS7846. > > Later-on, after "remounting root fs", the file ads7846.c (the touchscreen > > driver) takes over, detects ADS7846 > > like u-boot did, does transmit and receive on the SPI bus when the screen > is > > touched, and maintains > > Chip Select to 0. > > Once again, u-boot does nothing with SPI. Everything you mention is > done by the linux ads7846 driver. > > Regards, > > Steve > > > Ray > > > > > > > ------------------------------------------------------------------------------ > > Download Intel® Parallel Studio Eval > > Try the new software tools for yourself. Speed compiling, find bugs > > proactively, and fine-tune applications for parallel performance. > > See why Intel Parallel Studio got high marks during beta. > > http://p.sf.net/sfu/intel-sw-dev > > _______________________________________________ > > gumstix-users mailing list > > gum...@li... > > https://lists.sourceforge.net/lists/listinfo/gumstix-users > > > > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: Dave H. <dhy...@gm...> - 2010-02-24 22:14:27
|
Hi Tony, I thought I would at least deliniate which portions of the boot come from where. I think most of your other questions have been answered by Steve. This first little bit of "gibberish" comes from the on-chip bootloader. ---------------------------------------------------- > � t �b� $U > @ @ @ D��` @ @ ---------------------------------------------------- The next bit come from xload, which is the MLO-overo file found in the FAT parition on the SD card. ---------------------------------------------------- > Texas Instruments X-Loader 1.4.2 (Nov 14 2008 - 13:21:49) > Reading boot sector > Loading u-boot.bin from mmc ---------------------------------------------------- Now we've hit the start of u-boot: ---------------------------------------------------- > U-Boot 2009.11 (Feb 11 2010 - 16:37:25) > > > OMAP3530-GP ES2.1, CPU-OPP2, L3-165MHz, Max clock-600Mhz > Gumstix Overo board + LPDDR/NAND > I2C: ready > DRAM: 256 MB > NAND: 256 MiB > In: serial > Out: serial > Err: serial > Board revision: 1 > > SDIO2 is direct connected > Die ID #462200020000000004031c1319011016 > Net: No ethernet found. > Hit any key to stop autoboot: 0 > mmc1 is available > reading boot.scr > > ** Unable to read "boot.scr" from mmc 0:1 ** > > reading uImage > > 3156852 bytes read > Booting from mmc ... > ## Booting kernel from Legacy Image at 82000000 ... > Image Name: Angstrom/2.6.32/overo > Image Type: ARM Linux Kernel Image (uncompressed) > > Data Size: 3156788 Bytes = 3 MB > Load Address: 80008000 > Entry Point: 80008000 > Verifying Checksum ... OK > Loading Kernel Image ... OK > OK > > Starting kernel ... ---------------------------------------------------- This is the end of u-boot. The following comes from the decompressor, which is a small bit of code packaged up in front of the kernel. ---------------------------------------------------- > Uncompressing > Linux..................................................................................... > > .......................................................................................... > .................................. done, booting the kernel. ---------------------------------------------------- Now we enter the kernel booting phase. ---------------------------------------------------- > Linux version 2.6.32 (developer@developer-desktop) (gcc version 4.3.3 > > (GCC) ) #32 Wed Feb 24 10:59:01 PST 2010 > CPU: ARMv7 Processor [411fc082] revision 2 (ARMv7), cr=10c53c7f > CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache > Machine: Gumstix Overo > Memory policy: ECC disabled, Data cache writeback > > OMAP3430/3530 ES2.1 (l2cache iva sgx neon isp ) > SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x100000 > Reserving 12582912 bytes SDRAM for VRAM > Built 1 zonelists in Zone order, mobility grouping on. Total pages: > > 65024 > Kernel command line: console=ttyS2,115200n8 vram=12M > omapfb.mode=dvi:1024x768MR-16@60 omapfb.debug=y omapdss.def_disp=lcd43 > root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait > PID hash table entries: 1024 (order: 0, 4096 bytes) > > Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) > Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) > Memory: 128MB 128MB = 256MB total > Memory: 240512KB available (5220K code, 597K data, 932K init, 0K > > highmem) > Hierarchical RCU implementation. > NR_IRQS:402 > Clocking rate (Crystal/Core/MPU): 26.0/331/500 MHz > Reprogramming SDRC clock to 331882352 Hz > GPMC revision 5.0 > IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts > > Total of 96 interrupts on 1 active controller > OMAP GPIO hardware version 2.5 > OMAP clockevent source: GPTIMER1 at 32768 Hz > Console: colour dummy device 80x30 > Calibrating delay loop... 499.92 BogoMIPS (lpj=1949696) > > Mount-cache hash table entries: 512 > CPU: Testing write buffer coherency: ok > regulator: core version 0.5 > NET: Registered protocol family 16 > Found NAND on CS0 > Registering NAND on CS0 > OMAP DMA hardware revision 4.0 > > bio: create slab <bio-0> at 0 > SCSI subsystem initialized > Ion's test 9: SPI clock is enabled here. > Ion's test 9: SPI clock is enabled here. > usbcore: registered new interface driver usbfs > usbcore: registered new interface driver hub > > usbcore: registered new device driver usb > i2c_omap i2c_omap.1: bus 1 rev3.12 at 2600 kHz > twl4030: PIH (irq 7) chaining IRQs 368..375 > twl4030: power (irq 373) chaining IRQs 376..383 > twl4030: gpio (irq 368) chaining IRQs 384..401 > > regulator: VUSB1V5: 1500 mV normal standby > regulator: VUSB1V8: 1800 mV normal standby > regulator: VUSB3V1: 3100 mV normal standby > twl4030_usb twl4030_usb: Initialized TWL4030 USB module > regulator: VMMC1: 1850 <--> 3150 mV normal standby > > regulator: VDAC: 1800 mV normal standby > regulator: VPLL2: 1800 mV normal standby > i2c_omap i2c_omap.3: bus 3 rev3.12 at 400 kHz > Bluetooth: Core ver 2.15 > NET: Registered protocol family 31 > Bluetooth: HCI device and connection manager initialized > > Bluetooth: HCI socket layer initialized > cfg80211: Using static regulatory domain info > cfg80211: Regulatory domain: US > (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) > (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm) > > (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) > (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) > (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) > (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) > > (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm) > cfg80211: Calling CRDA for country: US > Switching to clocksource 32k_counter > musb_hdrc: version 6.0, musb-dma, host, debug=0 > musb_hdrc: USB Host mode controller at fa0ab000 using DMA, IRQ 92 > > musb_hdrc musb_hdrc: MUSB HDRC host driver > musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1 > usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 > usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 > > usb usb1: Product: MUSB HDRC host driver > usb usb1: Manufacturer: Linux 2.6.32 musb-hcd > usb usb1: SerialNumber: musb_hdrc > usb usb1: configuration #1 chosen from 1 choice > hub 1-0:1.0: USB hub found > hub 1-0:1.0: 1 port detected > > NET: Registered protocol family 2 > IP route cache hash table entries: 2048 (order: 1, 8192 bytes) > TCP established hash table entries: 8192 (order: 4, 65536 bytes) > TCP bind hash table entries: 8192 (order: 3, 32768 bytes) > > TCP: Hash tables configured (established 8192 bind 8192) > TCP reno registered > NET: Registered protocol family 1 > RPC: Registered udp transport module. > RPC: Registered tcp transport module. > RPC: Registered tcp NFSv4.1 backchannel transport module. > > VFS: Disk quotas dquot_6.5.2 > Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) > JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. > msgmni has been set to 470 > alg: No test for stdrng (krng) > > io scheduler noop registered > io scheduler anticipatory registered > io scheduler deadline registered > io scheduler cfq registered (default) > OMAP DSS rev 2.0 > OMAP DISPC rev 3.0 > OMAP VENC rev 2 > Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled > > serial8250.0: ttyS0 at MMIO 0x4806a000 (irq = 72) is a ST16654 > serial8250.1: ttyS1 at MMIO 0x4806c000 (irq = 73) is a ST16654 > serial8250.2: ttyS2 at MMIO 0x49020000 (irq = 74) is a ST16654 > console [ttyS2] enabled > > brd: module loaded > loop: module loaded > omap2-nand driver initializing > NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron NAND 256MiB > 1,8V 16-bit) > cmdlinepart partition parsing not available > Creating 5 MTD partitions on "omap2-nand": > > 0x000000000000-0x000000080000 : "xloader" > 0x000000080000-0x000000240000 : "uboot" > 0x000000240000-0x000000280000 : "uboot environment" > 0x000000280000-0x000000680000 : "linux" > > 0x000000680000-0x000010000000 : "rootfs" > smsc911x: Driver version 2008-10-21. > smsc911x: Driver version 2008-10-21. > usbcore: registered new interface driver asix > usbcore: registered new interface driver cdc_ether > > ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver > ehci-omap ehci-omap.0: OMAP-EHCI Host Controller > ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 2 > ehci-omap ehci-omap.0: irq 77, io mem 0x48064800 > > ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00 > usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 > usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 > usb usb2: Product: OMAP-EHCI Host Controller > > usb usb2: Manufacturer: Linux 2.6.32 ehci_hcd > usb usb2: SerialNumber: ehci-omap.0 > usb usb2: configuration #1 chosen from 1 choice > hub 2-0:1.0: USB hub found > hub 2-0:1.0: 3 ports detected > Initializing USB Mass Storage driver... > > usbcore: registered new interface driver usb-storage > USB Mass Storage support registered. > udc: OMAP UDC driver, version: 4 October 2004 (iso) (dma) > mice: PS/2 mouse device common for all mice > twl4030_rtc twl4030_rtc: rtc core: registered twl4030_rtc as rtc0 > > twl4030_rtc twl4030_rtc: Power up reset detected. > twl4030_rtc twl4030_rtc: Enabling TWL4030-RTC. > i2c /dev entries driver > OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec > Bluetooth: HCI UART driver ver 2.2 > > Bluetooth: HCI H4 protocol initialized > Bluetooth: HCI BCSP protocol initialized > Bluetooth: HCILL protocol initialized > usbcore: registered new interface driver usbhid > usbhid: v2.6:USB HID core driver > Advanced Linux Sound Architecture Driver Version 1.0.21. > > usbcore: registered new interface driver snd-usb-audio > No device for DAI twl4030 > No device for DAI twl4030 Voice > No device for DAI omap-mcbsp-dai-0 > No device for DAI omap-mcbsp-dai-1 > No device for DAI omap-mcbsp-dai-2 > > No device for DAI omap-mcbsp-dai-3 > No device for DAI omap-mcbsp-dai-4 > overo SoC init > TWL4030 Audio Codec init > asoc: twl4030 <-> omap-mcbsp-dai-0 mapping ok > ALSA device list: > #0: overo (twl4030) > > oprofile: using arm/armv7 > TCP cubic registered > NET: Registered protocol family 17 > NET: Registered protocol family 15 > Bluetooth: L2CAP ver 2.14 > Bluetooth: L2CAP socket layer initialized > Bluetooth: SCO (Voice Link) ver 0.6 > > Bluetooth: SCO socket layer initialized > Bluetooth: RFCOMM TTY layer initialized > Bluetooth: RFCOMM socket layer initialized > Bluetooth: RFCOMM ver 1.11 > Bluetooth: BNEP (Ethernet Emulation) ver 1.3 > Bluetooth: BNEP filters: protocol multicast > > Bluetooth: HIDP (Human Interface Emulation) ver 1.2 > ThumbEE CPU extension supported. > Power Management for TI OMAP3. > VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1 > fbcvt: 1024x768@60: CVT Name - .786M3-R > > Console: switching to colour frame buffer device 60x34 > omapdss DPI: Could not find exact pixel clock. Requested 9200 kHz, got > 9094 kHz > regulator_init_complete: incomplete constraints, leaving VDVI on > regulator_init_complete: incomplete constraints, leaving VDAC on > > twl4030_rtc twl4030_rtc: setting system clock to 2000-01-01 00:00:00 UTC > (946684800) > Waiting for root device /dev/mmcblk0p2... > mmc0: host does not support reading read-only switch. assuming > write-enable. > mmc0: new SD card at address aaaa > > mmcblk0: mmc0:aaaa SU02G 1.84 GiB > mmcblk0: p1 p2 > mmcblk0: p2 size 3887730 exceeds device capacity, limited to end of disk > kjournald starting. Commit interval 5 seconds > EXT3-fs warning: maximal mount count reached, running e2fsck is > > recommended > EXT3 FS on mmcblk0p2, internal journal > EXT3-fs: recovery complete. > EXT3-fs: mounted filesystem with writeback data mode. > VFS: Mounted root (ext3 filesystem) on device 179:2. > Freeing init memory: 932K ---------------------------------------------------- The kernel has finished booting, and control now transfers to the init task ---------------------------------------------------- > INIT: version 2.86 booting > Please wait: booting... > Starting udev > udev: starting version 141 > Remounting root file system... ---------------------------------------------------- The following messages are most likely from loadable kernel modules being loaded as part of the /etc/rc.d mechanism ---------------------------------------------------- > Ion's test 9: SPI clock is enabled here. > ads7846 spi1.0: touchscreen, irq 274 > > input: ADS7846 Touchscreen > as /devices/platform/omap2_mcspi.1/spi1.0/input/input0 > Caching udev devnodes > Populating dev cachemv: cannot stat `/tmp/uname': No such file or > directory > NET: Registered protocol family 10 > > ALSA: Restoring mixer settings... > Configuring network interfaces... /usr/sbin/alsactl: parse:1639: Unable > to open file '/usr/share/alsa/init/00main': No such file or directory > /usr/sbin/alsactl: set_control:1256: failed to obtain info for control > > #23 (No such file or directory) > /usr/sbin/alsactl: set_control:1256: failed to obtain info for control > #24 (No such file or directory) > /usr/sbin/alsactl: set_control:1256: failed to obtain info for control > #25 (No such file or directory) > > /usr/sbin/alsactl: set_control:1256: failed to obtain info for control > #26 (No such file or directory) > /usr/sbin/alsactl: set_control:1256: failed to obtain info for control > #27 (No such file or directory) > /usr/sbin/alsactl: set_control:1256: failed to obtain info for control > > #28 (No such file or directory) > /usr/sbin/alsactl: set_control:1256: failed to obtain info for control > #33 (No such file or directory) > /usr/sbin/alsactl: set_control:1256: failed to obtain info for control > #35 (No such file or directory) > > done. > Starting portmap daemon: portmap. > net.ipv4.conf.default.rp_filter = 1 > net.ipv4.conf.all.rp_filter = 1 > Mon Feb 22 12:40:00 UTC 2010 > Turning echo off on /dev/ttyS1 -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: Steve S. <sa...@gm...> - 2010-02-24 22:59:14
|
On Wed, Feb 24, 2010 at 2:01 PM, Tony Oxendahl <to...@gm...> wrote: > Changes in printk in ads7846.c don't show up in the log of the boot file. > The messages come from elsewhere. Perhaps we are not talking about the same messages! I am referring to: ads7846 spi1.0: touchscreen, irq 274 ads7846 spi1.0: no device detected, test read result was 0x00000000 I'm pretty darn sure those messages came from ads7846.c since I'm the one who put the device detection in the driver :-) The first line is printed by line 1168 of ads7846.c: dev_info(&spi->dev, "touchscreen, irq %d\n", spi->irq); The second is printed by line 1178 of ads7846.c: dev_info(&spi->dev, "no device detected, test read result was 0x%08X\n", err); If you are talking about some other messages, post just the lines you are referring to I'll help you find where they come from. Steve > Ion A. Beza. > > > > On Wed, Feb 24, 2010 at 1:06 PM, Steve Sakoman <sa...@gm...> wrote: >> >> On Wed, Feb 24, 2010 at 11:14 AM, RayS <ra...@bl...> wrote: >> > We have an Overo with Palo43 and LCD module; all is well and the device >> > boots and works fine. The LCD however has 4 wire SPI (ie with CS) and >> > is is >> > not the best example for a driver for a read-only ADC module (no CS). >> > The >> > main issue we're having is that the Gumstix only enables the SPI clock >> > (SCLK) if a device is recognized at boot. >> >>> I think your expectations might be wrong. >>> >>> The SPI clock is not free-running. It is only driven during actual >>> SPI transactions. >>> >>> If you intend to have more than one device on the SPI bus you *must* >>> have a chip select per device, otherwise the master has no way to >>> indicate which slave should talk/listen. >>> >>> If you have only one device on SPI then you can get by with no chip >>> select. >> >> > We're having a tough time figuring >> > out what we need to write a kernel (or user) driver that enables SPI, or >> > can >> > assume SPI is enabled from boot.. >> >> SPI is enabled in the standard image, but you will of course need to >> write a kernel driver for the SPI chip you intend to use, and you will >> also need to modify the overo board file in linux to enable that >> driver. >> >> > By observing the log file of the booting when the touchscreen is >> > mounted, >> > u-boot seems to do device >> > recognition. >> >> U-boot does nothing with SPI. The log messages you are referring to >> are output by the linux kernel during the boot process. >> >> > Before the log file shows "remounting root fs" (including remounting of >> > ads7846.c, which is the >> > touchscreen driver), the log file shows "booting", meaning u-boot is >> > running. >> > It is during this "booting" that ADS7846 is detected on SPI 1, Chip >> > Select >> > 0, or is not. >> > It is detected when in board_overo.c the field .modalias = "ads7846". >> > Without this field written in board-overo.c, the detection doesn't >> > happen. >> > Once again, this detection is during "booting" as per the log file. >> > The log file prints messages that show detection or not. >> > The exact words in these messages are not found with a search engine on >> > the >> > computer, meaning >> > we don't have the source code that generates them. >> > So, where are they? >> >> They are in the linux ads7846 driver! >> >> >> http://www.sakoman.com/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=blob;f=drivers/input/touchscreen/ads7846.c;h=7cc9973241e51dcb88de2087b77c9526a4ed7666;hb=refs/heads/omap3-2.6.32 >> >> > u-boot also puts Chip Select to 0 on SPI 1 after it detects ADS7846. >> > Later-on, after "remounting root fs", the file ads7846.c (the >> > touchscreen >> > driver) takes over, detects ADS7846 >> > like u-boot did, does transmit and receive on the SPI bus when the >> > screen is >> > touched, and maintains >> > Chip Select to 0. >> >> Once again, u-boot does nothing with SPI. Everything you mention is >> done by the linux ads7846 driver. >> >> Regards, >> >> Steve >> >> > Ray >> > >> > >> > >> > ------------------------------------------------------------------------------ >> > Download Intel® Parallel Studio Eval >> > Try the new software tools for yourself. Speed compiling, find bugs >> > proactively, and fine-tune applications for parallel performance. >> > See why Intel Parallel Studio got high marks during beta. >> > http://p.sf.net/sfu/intel-sw-dev >> > _______________________________________________ >> > gumstix-users mailing list >> > gum...@li... >> > https://lists.sourceforge.net/lists/listinfo/gumstix-users >> > >> > >> >> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> _______________________________________________ >> gumstix-users mailing list >> gum...@li... >> https://lists.sourceforge.net/lists/listinfo/gumstix-users > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > > |
From: Tony O. <to...@gm...> - 2010-02-24 22:59:17
|
Dave, regarding: I think most of your other questions have been answered by > Steve > > the questions were assumed by Steve to be something else. I clarified with: The SPI clock is not assumed free-running. > > It is observed to be free-running only when in omap2_mcspi.c, this section: > > ret = omap2_mcspi_setup_transfer( > spi, NULL); > omap2_mcspi_disable_clocks(mcspi); > > is commented out. > After that observation, the code is enabled back. > Chip Select 0 is consecutively used for ADS7846 as a model, and then for > 1278 to > emulate the model. > and with: board-overo.c declares ADC1278 like it declares 7846: > > static struct spi_board_info overo_spi_board_info[] __initdata = { > { > .modalias = "adc1278", > // .modalias = "ads7846", > > .bus_num = 1, > > // .chip_select = 1, > .chip_select = 0, > > // .max_speed_hz = 27000000, > .max_speed_hz = 1500000, > > .controller_data = &ads7846_mcspi_config, > > // .irq = 31, > .irq = OMAP_GPIO_IRQ(OVERO_GPIO_ > PENDOWN), > > // .platform_data = &ads7846_config, > .platform_data = &ad1278_config, > }, > > and I create the driver adc1278.c with adc1278.h, starting from ads7846.c > and ads7846.h. > > > and with: Changes in printk in ads7846.c don't show up in the log of the boot file. > The messages come from elsewhere. > Regarding your own answer Dave, and the slicing of the log of the boot file, I consider this: The following messages are most likely from loadable kernel modules > being loaded as part of the /etc/rc.d mechanism > > ------------------------------ >> >> ---------------------- >> > Ion's test 9: SPI clock is enabled here. >> > ads7846 spi1.0: touchscreen, irq 274 >> > >> > input: ADS7846 Touchscreen >> > as /devices/platform/omap2_mcspi.1/spi1.0/input/input0 >> > Caching udev devnode >> > as being the source of the messages. So the messages don't come from ads7846.c (touchscreen driver), but from: "...part of the /etc/rc.d mechanism..." It seems that detection of the SPI device (7846, 1278, etc.) is there. I would like to have 1278 detected (like 7846 is). Once again board-overo.c declares ADC1278 like it declares 7846: static struct spi_board_info overo_spi_board_info[] __initdata = { { .modalias = "adc1278", // .modalias = "ads7846", .bus_num = 1, // .chip_select = 1, .chip_select = 0, // .max_speed_hz = 27000000, .max_speed_hz = 1500000, .controller_data = &ads7846_mcspi_config, // .irq = 31, .irq = OMAP_GPIO_IRQ(OVERO_GPIO_ PENDOWN), // .platform_data = &ads7846_config, .platform_data = &ad1278_config, }, and I create the driver adc1278.c with adc1278.h, starting from ads7846.c and ads7846.h. Ion A. Beza. On Wed, Feb 24, 2010 at 2:06 PM, Dave Hylands <dhy...@gm...> wrote: > Hi Tony, > > I thought I would at least deliniate which portions of the boot come > from where. I think most of your other questions have been answered by > Steve. > > > This first little bit of "gibberish" comes from the on-chip bootloader. > > ---------------------------------------------------- > > � t �b� $U > > @ @ @ D��` @ @ > ---------------------------------------------------- > > The next bit come from xload, which is the MLO-overo file found in the > FAT parition on the SD card. > > ---------------------------------------------------- > > Texas Instruments X-Loader 1.4.2 (Nov 14 2008 - 13:21:49) > > Reading boot sector > > Loading u-boot.bin from mmc > ---------------------------------------------------- > > Now we've hit the start of u-boot: > > ---------------------------------------------------- > > U-Boot 2009.11 (Feb 11 2010 - 16:37:25) > > > > > > OMAP3530-GP ES2.1, CPU-OPP2, L3-165MHz, Max clock-600Mhz > > Gumstix Overo board + LPDDR/NAND > > I2C: ready > > DRAM: 256 MB > > NAND: 256 MiB > > In: serial > > Out: serial > > Err: serial > > Board revision: 1 > > > > SDIO2 is direct connected > > Die ID #462200020000000004031c1319011016 > > Net: No ethernet found. > > Hit any key to stop autoboot: 0 > > mmc1 is available > > reading boot.scr > > > > ** Unable to read "boot.scr" from mmc 0:1 ** > > > > reading uImage > > > > 3156852 bytes read > > Booting from mmc ... > > ## Booting kernel from Legacy Image at 82000000 ... > > Image Name: Angstrom/2.6.32/overo > > Image Type: ARM Linux Kernel Image (uncompressed) > > > > Data Size: 3156788 Bytes = 3 MB > > Load Address: 80008000 > > Entry Point: 80008000 > > Verifying Checksum ... OK > > Loading Kernel Image ... OK > > OK > > > > Starting kernel ... > ---------------------------------------------------- > > This is the end of u-boot. > > The following comes from the decompressor, which is a small bit of > code packaged up in front of the kernel. > > ---------------------------------------------------- > > Uncompressing > > > Linux..................................................................................... > > > > > .......................................................................................... > > .................................. done, booting the kernel. > ---------------------------------------------------- > > Now we enter the kernel booting phase. > > ---------------------------------------------------- > > Linux version 2.6.32 (developer@developer-desktop) (gcc version 4.3.3 > > > > (GCC) ) #32 Wed Feb 24 10:59:01 PST 2010 > > CPU: ARMv7 Processor [411fc082] revision 2 (ARMv7), cr=10c53c7f > > CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache > > Machine: Gumstix Overo > > Memory policy: ECC disabled, Data cache writeback > > > > OMAP3430/3530 ES2.1 (l2cache iva sgx neon isp ) > > SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x100000 > > Reserving 12582912 bytes SDRAM for VRAM > > Built 1 zonelists in Zone order, mobility grouping on. Total pages: > > > > 65024 > > Kernel command line: console=ttyS2,115200n8 vram=12M > > omapfb.mode=dvi:1024x768MR-16@60 omapfb.debug=y omapdss.def_disp=lcd43 > > root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait > > PID hash table entries: 1024 (order: 0, 4096 bytes) > > > > Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) > > Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) > > Memory: 128MB 128MB = 256MB total > > Memory: 240512KB available (5220K code, 597K data, 932K init, 0K > > > > highmem) > > Hierarchical RCU implementation. > > NR_IRQS:402 > > Clocking rate (Crystal/Core/MPU): 26.0/331/500 MHz > > Reprogramming SDRC clock to 331882352 Hz > > GPMC revision 5.0 > > IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts > > > > Total of 96 interrupts on 1 active controller > > OMAP GPIO hardware version 2.5 > > OMAP clockevent source: GPTIMER1 at 32768 Hz > > Console: colour dummy device 80x30 > > Calibrating delay loop... 499.92 BogoMIPS (lpj=1949696) > > > > Mount-cache hash table entries: 512 > > CPU: Testing write buffer coherency: ok > > regulator: core version 0.5 > > NET: Registered protocol family 16 > > Found NAND on CS0 > > Registering NAND on CS0 > > OMAP DMA hardware revision 4.0 > > > > bio: create slab <bio-0> at 0 > > SCSI subsystem initialized > > Ion's test 9: SPI clock is enabled here. > > Ion's test 9: SPI clock is enabled here. > > usbcore: registered new interface driver usbfs > > usbcore: registered new interface driver hub > > > > usbcore: registered new device driver usb > > i2c_omap i2c_omap.1: bus 1 rev3.12 at 2600 kHz > > twl4030: PIH (irq 7) chaining IRQs 368..375 > > twl4030: power (irq 373) chaining IRQs 376..383 > > twl4030: gpio (irq 368) chaining IRQs 384..401 > > > > regulator: VUSB1V5: 1500 mV normal standby > > regulator: VUSB1V8: 1800 mV normal standby > > regulator: VUSB3V1: 3100 mV normal standby > > twl4030_usb twl4030_usb: Initialized TWL4030 USB module > > regulator: VMMC1: 1850 <--> 3150 mV normal standby > > > > regulator: VDAC: 1800 mV normal standby > > regulator: VPLL2: 1800 mV normal standby > > i2c_omap i2c_omap.3: bus 3 rev3.12 at 400 kHz > > Bluetooth: Core ver 2.15 > > NET: Registered protocol family 31 > > Bluetooth: HCI device and connection manager initialized > > > > Bluetooth: HCI socket layer initialized > > cfg80211: Using static regulatory domain info > > cfg80211: Regulatory domain: US > > (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) > > (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm) > > > > (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) > > (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) > > (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) > > (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) > > > > (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm) > > cfg80211: Calling CRDA for country: US > > Switching to clocksource 32k_counter > > musb_hdrc: version 6.0, musb-dma, host, debug=0 > > musb_hdrc: USB Host mode controller at fa0ab000 using DMA, IRQ 92 > > > > musb_hdrc musb_hdrc: MUSB HDRC host driver > > musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1 > > usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 > > usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 > > > > usb usb1: Product: MUSB HDRC host driver > > usb usb1: Manufacturer: Linux 2.6.32 musb-hcd > > usb usb1: SerialNumber: musb_hdrc > > usb usb1: configuration #1 chosen from 1 choice > > hub 1-0:1.0: USB hub found > > hub 1-0:1.0: 1 port detected > > > > NET: Registered protocol family 2 > > IP route cache hash table entries: 2048 (order: 1, 8192 bytes) > > TCP established hash table entries: 8192 (order: 4, 65536 bytes) > > TCP bind hash table entries: 8192 (order: 3, 32768 bytes) > > > > TCP: Hash tables configured (established 8192 bind 8192) > > TCP reno registered > > NET: Registered protocol family 1 > > RPC: Registered udp transport module. > > RPC: Registered tcp transport module. > > RPC: Registered tcp NFSv4.1 backchannel transport module. > > > > VFS: Disk quotas dquot_6.5.2 > > Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) > > JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. > > msgmni has been set to 470 > > alg: No test for stdrng (krng) > > > > io scheduler noop registered > > io scheduler anticipatory registered > > io scheduler deadline registered > > io scheduler cfq registered (default) > > OMAP DSS rev 2.0 > > OMAP DISPC rev 3.0 > > OMAP VENC rev 2 > > Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled > > > > serial8250.0: ttyS0 at MMIO 0x4806a000 (irq = 72) is a ST16654 > > serial8250.1: ttyS1 at MMIO 0x4806c000 (irq = 73) is a ST16654 > > serial8250.2: ttyS2 at MMIO 0x49020000 (irq = 74) is a ST16654 > > console [ttyS2] enabled > > > > brd: module loaded > > loop: module loaded > > omap2-nand driver initializing > > NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron NAND 256MiB > > 1,8V 16-bit) > > cmdlinepart partition parsing not available > > Creating 5 MTD partitions on "omap2-nand": > > > > 0x000000000000-0x000000080000 : "xloader" > > 0x000000080000-0x000000240000 : "uboot" > > 0x000000240000-0x000000280000 : "uboot environment" > > 0x000000280000-0x000000680000 : "linux" > > > > 0x000000680000-0x000010000000 : "rootfs" > > smsc911x: Driver version 2008-10-21. > > smsc911x: Driver version 2008-10-21. > > usbcore: registered new interface driver asix > > usbcore: registered new interface driver cdc_ether > > > > ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver > > ehci-omap ehci-omap.0: OMAP-EHCI Host Controller > > ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 2 > > ehci-omap ehci-omap.0: irq 77, io mem 0x48064800 > > > > ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00 > > usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 > > usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 > > usb usb2: Product: OMAP-EHCI Host Controller > > > > usb usb2: Manufacturer: Linux 2.6.32 ehci_hcd > > usb usb2: SerialNumber: ehci-omap.0 > > usb usb2: configuration #1 chosen from 1 choice > > hub 2-0:1.0: USB hub found > > hub 2-0:1.0: 3 ports detected > > Initializing USB Mass Storage driver... > > > > usbcore: registered new interface driver usb-storage > > USB Mass Storage support registered. > > udc: OMAP UDC driver, version: 4 October 2004 (iso) (dma) > > mice: PS/2 mouse device common for all mice > > twl4030_rtc twl4030_rtc: rtc core: registered twl4030_rtc as rtc0 > > > > twl4030_rtc twl4030_rtc: Power up reset detected. > > twl4030_rtc twl4030_rtc: Enabling TWL4030-RTC. > > i2c /dev entries driver > > OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec > > Bluetooth: HCI UART driver ver 2.2 > > > > Bluetooth: HCI H4 protocol initialized > > Bluetooth: HCI BCSP protocol initialized > > Bluetooth: HCILL protocol initialized > > usbcore: registered new interface driver usbhid > > usbhid: v2.6:USB HID core driver > > Advanced Linux Sound Architecture Driver Version 1.0.21. > > > > usbcore: registered new interface driver snd-usb-audio > > No device for DAI twl4030 > > No device for DAI twl4030 Voice > > No device for DAI omap-mcbsp-dai-0 > > No device for DAI omap-mcbsp-dai-1 > > No device for DAI omap-mcbsp-dai-2 > > > > No device for DAI omap-mcbsp-dai-3 > > No device for DAI omap-mcbsp-dai-4 > > overo SoC init > > TWL4030 Audio Codec init > > asoc: twl4030 <-> omap-mcbsp-dai-0 mapping ok > > ALSA device list: > > #0: overo (twl4030) > > > > oprofile: using arm/armv7 > > TCP cubic registered > > NET: Registered protocol family 17 > > NET: Registered protocol family 15 > > Bluetooth: L2CAP ver 2.14 > > Bluetooth: L2CAP socket layer initialized > > Bluetooth: SCO (Voice Link) ver 0.6 > > > > Bluetooth: SCO socket layer initialized > > Bluetooth: RFCOMM TTY layer initialized > > Bluetooth: RFCOMM socket layer initialized > > Bluetooth: RFCOMM ver 1.11 > > Bluetooth: BNEP (Ethernet Emulation) ver 1.3 > > Bluetooth: BNEP filters: protocol multicast > > > > Bluetooth: HIDP (Human Interface Emulation) ver 1.2 > > ThumbEE CPU extension supported. > > Power Management for TI OMAP3. > > VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1 > > fbcvt: 1024x768@60: CVT Name - .786M3-R > > > > Console: switching to colour frame buffer device 60x34 > > omapdss DPI: Could not find exact pixel clock. Requested 9200 kHz, got > > 9094 kHz > > regulator_init_complete: incomplete constraints, leaving VDVI on > > regulator_init_complete: incomplete constraints, leaving VDAC on > > > > twl4030_rtc twl4030_rtc: setting system clock to 2000-01-01 00:00:00 UTC > > (946684800) > > Waiting for root device /dev/mmcblk0p2... > > mmc0: host does not support reading read-only switch. assuming > > write-enable. > > mmc0: new SD card at address aaaa > > > > mmcblk0: mmc0:aaaa SU02G 1.84 GiB > > mmcblk0: p1 p2 > > mmcblk0: p2 size 3887730 exceeds device capacity, limited to end of disk > > kjournald starting. Commit interval 5 seconds > > EXT3-fs warning: maximal mount count reached, running e2fsck is > > > > recommended > > EXT3 FS on mmcblk0p2, internal journal > > EXT3-fs: recovery complete. > > EXT3-fs: mounted filesystem with writeback data mode. > > VFS: Mounted root (ext3 filesystem) on device 179:2. > > Freeing init memory: 932K > ---------------------------------------------------- > > The kernel has finished booting, and control now transfers to the init task > > ---------------------------------------------------- > > INIT: version 2.86 booting > > Please wait: booting... > > Starting udev > > udev: starting version 141 > > Remounting root file system... > ---------------------------------------------------- > > The following messages are most likely from loadable kernel modules > being loaded as part of the /etc/rc.d mechanism > > ---------------------------------------------------- > > Ion's test 9: SPI clock is enabled here. > > ads7846 spi1.0: touchscreen, irq 274 > > > > input: ADS7846 Touchscreen > > as /devices/platform/omap2_mcspi.1/spi1.0/input/input0 > > Caching udev devnodes > > Populating dev cachemv: cannot stat `/tmp/uname': No such file or > > directory > > NET: Registered protocol family 10 > > > > ALSA: Restoring mixer settings... > > Configuring network interfaces... /usr/sbin/alsactl: parse:1639: Unable > > to open file '/usr/share/alsa/init/00main': No such file or directory > > /usr/sbin/alsactl: set_control:1256: failed to obtain info for control > > > > #23 (No such file or directory) > > /usr/sbin/alsactl: set_control:1256: failed to obtain info for control > > #24 (No such file or directory) > > /usr/sbin/alsactl: set_control:1256: failed to obtain info for control > > #25 (No such file or directory) > > > > /usr/sbin/alsactl: set_control:1256: failed to obtain info for control > > #26 (No such file or directory) > > /usr/sbin/alsactl: set_control:1256: failed to obtain info for control > > #27 (No such file or directory) > > /usr/sbin/alsactl: set_control:1256: failed to obtain info for control > > > > #28 (No such file or directory) > > /usr/sbin/alsactl: set_control:1256: failed to obtain info for control > > #33 (No such file or directory) > > /usr/sbin/alsactl: set_control:1256: failed to obtain info for control > > #35 (No such file or directory) > > > > done. > > Starting portmap daemon: portmap. > > net.ipv4.conf.default.rp_filter = 1 > > net.ipv4.conf.all.rp_filter = 1 > > Mon Feb 22 12:40:00 UTC 2010 > > Turning echo off on /dev/ttyS1 > > -- > Dave Hylands > Shuswap, BC, Canada > http://www.DaveHylands.com/ > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: Dave H. <dhy...@gm...> - 2010-02-24 23:49:19
|
Hi Tony, ...snip... > Regarding your own answer Dave, and the slicing of the log of the boot file, > I consider this: > >> The following messages are most likely from loadable kernel modules >> being loaded as part of the /etc/rc.d mechanism >> >> ------------------------------ >>> >>> ---------------------- >>> > Ion's test 9: SPI clock is enabled here. >>> > ads7846 spi1.0: touchscreen, irq 274 >>> > >>> > input: ADS7846 Touchscreen >>> > as /devices/platform/omap2_mcspi.1/spi1.0/input/input0 >>> > Caching udev devnode > > as being the source of the messages. > > So the messages don't come from ads7846.c (touchscreen driver), but from: > "...part of the /etc/rc.d mechanism..." Well, they're still probably coming from ads7846.c. The ads7846 module is being loaded by "...part of the /etc/rc.d mechanism..." What I was really trying to say, is that those messages definitely didn't come from u-boot as u-boot ended a long time earlier in the log. Now when you say that changes in printk aren't showing up, were you just reloading the kernel, or were you also updating the loadable modules? -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: Tony O. <to...@gm...> - 2010-02-25 01:15:58
|
Dave, regarding: > Now when you say that changes in printk aren't showing up, were you > just reloading the kernel, or were you also updating the loadable > modules? > > I was reloading the kernel. I don't know how to update the loadable modules. (this update the loadable modules might take care of message: ads7846 spi1.0: touchscreen, irq 274 *)* Searching for 'Touchscreen as', which are words in one message talking about detection of devices on SPI, doesn't show in ads7846.c. The message is: input: ADS7846 Touchscreen as /devices/platform/omap2_mcspi.1/spi1.0/input/input0 The detection comes first. The driver is second. Ion A. Beza. On Wed, Feb 24, 2010 at 3:49 PM, Dave Hylands <dhy...@gm...> wrote: > Hi Tony, > > ...snip... > > Regarding your own answer Dave, and the slicing of the log of the boot > file, > > I consider this: > > > >> The following messages are most likely from loadable kernel modules > >> being loaded as part of the /etc/rc.d mechanism > >> > >> ------------------------------ > >>> > >>> ---------------------- > >>> > Ion's test 9: SPI clock is enabled here. > >>> > ads7846 spi1.0: touchscreen, irq 274 > >>> > > >>> > input: ADS7846 Touchscreen > >>> > as /devices/platform/omap2_mcspi.1/spi1.0/input/input0 > >>> > Caching udev devnode > > > > as being the source of the messages. > > > > So the messages don't come from ads7846.c (touchscreen driver), but from: > > "...part of the /etc/rc.d mechanism..." > > Well, they're still probably coming from ads7846.c. The ads7846 module > is being loaded by "...part of the /etc/rc.d mechanism..." > > What I was really trying to say, is that those messages definitely > didn't come from u-boot as u-boot ended a long time earlier in the > log. > > Now when you say that changes in printk aren't showing up, were you > just reloading the kernel, or were you also updating the loadable > modules? > > -- > Dave Hylands > Shuswap, BC, Canada > http://www.DaveHylands.com/ > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: Tony O. <to...@gm...> - 2010-02-25 00:04:53
|
I have seen sometime ago your code in ads7846.c, Steve, and its: dev_info(&spi->dev, "no device detected, test read result was 0x%08X\n", err); I modified it to have "no device detected (SPI test), test read result was..." instead. Te log of the boot didn't print my change. To recreate that printk change I have to dismount the touchscreen, and a hardware person tells me it is not easy now. I would like to move on, please with two issues: 1.) detection of 1278 like 7846; 2.) 1278 driver. 1.) The message in the boot log file: input: ADS7846 Touchscreen as /devices/platform/omap2_mcspi.1/spi1.0/input/input0 when searching for 'Touchscreen as' doesn't come from ads7846.c, it seems like Dave wrote that it is from etc/init.d where etc/rc0.d, rc1.d,... in subsequent boots are created on the fly. Again the problem is 1278 detection, and I declared 1278 in board-overo.c, made adc1278.c and adc1278.h, using 7846 as a model. The changes in board-overo.c I made are: /* Ion 2.2 change */ #if 0 .single_channel = 1, /* 0: slave, 1: master */ #endif #if 1 .single_channel = 0, /* 0 for slave: 1278 is slave to OMAP3530. */ #endif /* Ion 2.2 change */ }; /* Ion 3.3 change */ #if 1 static struct ads7846_platform_data ad1278_config = { .x_max = 0x0fff, .y_max = 0x0fff, .x_plate_ohms = 180, .pressure_max = 255, .debounce_max = 10, .debounce_tol = 3, .debounce_rep = 1, .get_pendown_state = ads7846_get_pendown_state, .keep_vref_on = 1, }; #endif /* Ion 3.3 change */ /* Ion 4.4 change */ #if 1 static struct spi_board_info overo_spi_board_info[] __initdata = { { .modalias = "adc1278", // .modalias = "ads7846", .bus_num = 1, // .chip_select = 1, .chip_select = 0, // .max_speed_hz = 27000000, .max_speed_hz = 1500000, .controller_data = &ads7846_mcspi_config, // .irq = 31, .irq = OMAP_GPIO_IRQ(OVERO_GPIO_PENDOWN), // .platform_data = &ads7846_config, .platform_data = &ad1278_config, }, #endif /* Ion 4.4 change */ 2.) omap2_mcspi.c is a controller driver for SPI 4-wire. Does it work in 3-wire, no Chip Select? Ion A. Beza. On Wed, Feb 24, 2010 at 2:59 PM, Steve Sakoman <sa...@gm...> wrote: > On Wed, Feb 24, 2010 at 2:01 PM, Tony Oxendahl <to...@gm...> wrote: > > > Changes in printk in ads7846.c don't show up in the log of the boot file. > > The messages come from elsewhere. > > Perhaps we are not talking about the same messages! > > I am referring to: > > ads7846 spi1.0: touchscreen, irq 274 > ads7846 spi1.0: no device detected, test read result was 0x00000000 > > I'm pretty darn sure those messages came from ads7846.c since I'm the > one who put the device detection in the driver :-) > > The first line is printed by line 1168 of ads7846.c: > > dev_info(&spi->dev, "touchscreen, irq %d\n", spi->irq); > > The second is printed by line 1178 of ads7846.c: > > dev_info(&spi->dev, "no device detected, test read result was 0x%08X\n", > err); > > If you are talking about some other messages, post just the lines you > are referring to I'll help you find where they come from. > > Steve > > > > > > Ion A. Beza. > > > > > > > > On Wed, Feb 24, 2010 at 1:06 PM, Steve Sakoman <sa...@gm...> > wrote: > >> > >> On Wed, Feb 24, 2010 at 11:14 AM, RayS <ra...@bl...> wrote: > >> > We have an Overo with Palo43 and LCD module; all is well and the > device > >> > boots and works fine. The LCD however has 4 wire SPI (ie with CS) and > >> > is is > >> > not the best example for a driver for a read-only ADC module (no CS). > >> > The > >> > main issue we're having is that the Gumstix only enables the SPI clock > >> > (SCLK) if a device is recognized at boot. > >> > >>> I think your expectations might be wrong. > >>> > >>> The SPI clock is not free-running. It is only driven during actual > >>> SPI transactions. > >>> > >>> If you intend to have more than one device on the SPI bus you *must* > >>> have a chip select per device, otherwise the master has no way to > >>> indicate which slave should talk/listen. > >>> > >>> If you have only one device on SPI then you can get by with no chip > >>> select. > >> > >> > We're having a tough time figuring > >> > out what we need to write a kernel (or user) driver that enables SPI, > or > >> > can > >> > assume SPI is enabled from boot.. > >> > >> SPI is enabled in the standard image, but you will of course need to > >> write a kernel driver for the SPI chip you intend to use, and you will > >> also need to modify the overo board file in linux to enable that > >> driver. > >> > >> > By observing the log file of the booting when the touchscreen is > >> > mounted, > >> > u-boot seems to do device > >> > recognition. > >> > >> U-boot does nothing with SPI. The log messages you are referring to > >> are output by the linux kernel during the boot process. > >> > >> > Before the log file shows "remounting root fs" (including remounting > of > >> > ads7846.c, which is the > >> > touchscreen driver), the log file shows "booting", meaning u-boot is > >> > running. > >> > It is during this "booting" that ADS7846 is detected on SPI 1, Chip > >> > Select > >> > 0, or is not. > >> > It is detected when in board_overo.c the field .modalias = "ads7846". > >> > Without this field written in board-overo.c, the detection doesn't > >> > happen. > >> > Once again, this detection is during "booting" as per the log file. > >> > The log file prints messages that show detection or not. > >> > The exact words in these messages are not found with a search engine > on > >> > the > >> > computer, meaning > >> > we don't have the source code that generates them. > >> > So, where are they? > >> > >> They are in the linux ads7846 driver! > >> > >> > >> > http://www.sakoman.com/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=blob;f=drivers/input/touchscreen/ads7846.c;h=7cc9973241e51dcb88de2087b77c9526a4ed7666;hb=refs/heads/omap3-2.6.32 > >> > >> > u-boot also puts Chip Select to 0 on SPI 1 after it detects ADS7846. > >> > Later-on, after "remounting root fs", the file ads7846.c (the > >> > touchscreen > >> > driver) takes over, detects ADS7846 > >> > like u-boot did, does transmit and receive on the SPI bus when the > >> > screen is > >> > touched, and maintains > >> > Chip Select to 0. > >> > >> Once again, u-boot does nothing with SPI. Everything you mention is > >> done by the linux ads7846 driver. > >> > >> Regards, > >> > >> Steve > >> > >> > Ray > >> > > >> > > >> > > >> > > ------------------------------------------------------------------------------ > >> > Download Intel® Parallel Studio Eval > >> > Try the new software tools for yourself. Speed compiling, find bugs > >> > proactively, and fine-tune applications for parallel performance. > >> > See why Intel Parallel Studio got high marks during beta. > >> > http://p.sf.net/sfu/intel-sw-dev > >> > _______________________________________________ > >> > gumstix-users mailing list > >> > gum...@li... > >> > https://lists.sourceforge.net/lists/listinfo/gumstix-users > >> > > >> > > >> > >> > >> > ------------------------------------------------------------------------------ > >> Download Intel® Parallel Studio Eval > >> Try the new software tools for yourself. Speed compiling, find bugs > >> proactively, and fine-tune applications for parallel performance. > >> See why Intel Parallel Studio got high marks during beta. > >> http://p.sf.net/sfu/intel-sw-dev > >> _______________________________________________ > >> gumstix-users mailing list > >> gum...@li... > >> https://lists.sourceforge.net/lists/listinfo/gumstix-users > > > > > > > ------------------------------------------------------------------------------ > > Download Intel® Parallel Studio Eval > > Try the new software tools for yourself. Speed compiling, find bugs > > proactively, and fine-tune applications for parallel performance. > > See why Intel Parallel Studio got high marks during beta. > > http://p.sf.net/sfu/intel-sw-dev > > _______________________________________________ > > gumstix-users mailing list > > gum...@li... > > https://lists.sourceforge.net/lists/listinfo/gumstix-users > > > > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: Dave H. <dhy...@gm...> - 2010-02-25 00:48:49
|
Hi Tony, On Wed, Feb 24, 2010 at 4:04 PM, Tony Oxendahl <to...@gm...> wrote: ...snip... > 1.) The message in the boot log file: > > input: ADS7846 Touchscreen as > /devices/platform/omap2_mcspi.1/spi1.0/input/input0 > > when searching for 'Touchscreen as' doesn't come from ads7846.c This message is printed from the input_register_device function (drivers/input/input.c). The actual printk looks like: printk(KERN_INFO "input: %s as %s\n", dev->name ? dev->name : "Unspecified device", path ? path : "N/A"); The input_register_device function is called from the ads7846_probe function. -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: Tony O. <to...@gm...> - 2010-02-25 01:01:43
|
Right on, Dave. But wouldn't adc1278.c, which is a copy of ads7846.c, do that too, once 1278 replaces 7846 in declarations in board-ocero.c? I mean 1278 is a 7846 wearing a mask. Ion A. Beza. On Wed, Feb 24, 2010 at 4:24 PM, Dave Hylands <dhy...@gm...> wrote: > Hi Tony, > > On Wed, Feb 24, 2010 at 4:04 PM, Tony Oxendahl <to...@gm...> wrote: > ...snip... >> 1.) The message in the boot log file: >> >> input: ADS7846 Touchscreen as >> /devices/platform/omap2_mcspi.1/spi1.0/input/input0 >> >> when searching for 'Touchscreen as' doesn't come from ads7846.c > > This message is printed from the input_register_device function > (drivers/input/input.c). The actual printk looks like: > > printk(KERN_INFO "input: %s as %s\n", > dev->name ? dev->name : "Unspecified device", path ? path : "N/A"); > > The input_register_device function is called from the ads7846_probe function. > > -- > Dave Hylands > Shuswap, BC, Canada > http://www.DaveHylands.com/ > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: Tony O. <to...@gm...> - 2010-02-25 01:15:27
|
Dave, Steve, once again, I am talking about: 1.) detection of 1278 (like 7846); 2.) 1278 driver. Regarding 1.), the messages: ads7846 spi1.0: touchscreen, irq 274 input: ADS7846 Touchscreen as /devices/platform/omap2_mcspi.1/spi1.0/input/input0 don't come from ads7846.c, don't come from a development computer that doesn't do the booting, because words 'Touchscreen as', 'touchscreen, irq' aren't found. This is detection of 7846 (of 1278), part of that /etc/init.d booting mechanism. It probably should be automatic after I declared 1278 in board-overo.c, after I made up adc1278.h and adc1278.c. 2.) 1278 is a 3-wire ADC without Chip Select. Does the OMAP controller driver omap2_mcspi.c work for 3-wire SPI? Ion A. Beza. On Wed, Feb 24, 2010 at 4:17 PM, T On Wed, Feb 24, 2010 at 4:17 PM, Tony Oxendahl <to...@gm...> wrote: > > Dave, regarding: > >> >> Now when you say that changes in printk aren't showing up, were you >> just reloading the kernel, or were you also updating the loadable >> modules? >> > I was reloading the kernel. > > I don't know how to update the loadable modules. > > (this update the loadable modules might take care of message: > > ads7846 spi1.0: touchscreen, irq 274 > > > ) > > Searching for 'Touchscreen as', which are words in one message talking about detection of > devices on SPI, doesn't show in ads7846.c. > > The message is: > > input: ADS7846 Touchscreen as /devices/platform/omap2_mcspi.1/spi1.0/input/input0 > > The detection comes first. > The driver is second. > > Ion A. Beza. > > On Wed, Feb 24, 2010 at 3:49 PM, Dave Hylands <dhy...@gm...> wrote: >> >> Hi Tony, >> >> ...snip... >> > Regarding your own answer Dave, and the slicing of the log of the boot file, >> > I consider this: >> > >> >> The following messages are most likely from loadable kernel modules >> >> being loaded as part of the /etc/rc.d mechanism >> >> >> >> ------------------------------ >> >>> >> >>> ---------------------- >> >>> > Ion's test 9: SPI clock is enabled here. >> >>> > ads7846 spi1.0: touchscreen, irq 274 >> >>> > >> >>> > input: ADS7846 Touchscreen >> >>> > as /devices/platform/omap2_mcspi.1/spi1.0/input/input0 >> >>> > Caching udev devnode >> > >> > as being the source of the messages. >> > >> > So the messages don't come from ads7846.c (touchscreen driver), but from: >> > "...part of the /etc/rc.d mechanism..." >> >> Well, they're still probably coming from ads7846.c. The ads7846 module >> is being loaded by "...part of the /etc/rc.d mechanism..." >> >> What I was really trying to say, is that those messages definitely >> didn't come from u-boot as u-boot ended a long time earlier in the >> log. >> >> Now when you say that changes in printk aren't showing up, were you >> just reloading the kernel, or were you also updating the loadable >> modules? >> >> -- >> Dave Hylands >> Shuswap, BC, Canada >> http://www.DaveHylands.com/ >> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> _______________________________________________ >> gumstix-users mailing list >> gum...@li... >> https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: Dave H. <dhy...@gm...> - 2010-02-25 02:11:21
|
Hi Tony, On Wed, Feb 24, 2010 at 4:45 PM, Tony Oxendahl <to...@gm...> wrote: > Dave, Steve, once again, I am talking about: > > 1.) detection of 1278 (like 7846); > > 2.) 1278 driver. > > Regarding 1.), the messages: > > ads7846 spi1.0: touchscreen, irq 274 > input: ADS7846 Touchscreen as > /devices/platform/omap2_mcspi.1/spi1.0/input/input0 > > don't come from ads7846.c, don't come from a development computer that > doesn't do the booting, > because words 'Touchscreen as', 'touchscreen, irq' aren't found. That's because the word touchscreen comes in as part of a %s i.e. printk( "input: %s as foo\n", argument ); where argument points to the string touchscreen. If you're searching for "touchscreen as" you'll never find it. Try searching for " as ". It sounds like maybe your probe routine isn't being called. The string passed to the driver register MUST exactly match the string in the board file. It also sounds like you aren't updating the modules, which are found in /lib/modules/2.6.xx.xx/ (replace 2.6.xx.xx with your kernel version). Since your driver is being compiled as a module, replacing the kernel isn't enough. You must update the modules as well. -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: Tony O. <to...@gm...> - 2010-02-25 17:58:49
|
Dave, thanks for taking interest in this matter. Regarding your: > It sounds like maybe your probe routine isn't being called. The string > > passed to the driver register MUST exactly match the string in the > > board file. > in board-overo.c I declared .modalias="adc1278". According to the documentation spi-summary this declaration should bind the ADC driver, adc1278.c (which is a copy of ads7846.c to be tweaked later-on), when the initialization code (like scripts in /etc/init.d and rc.d) runs at boot. This should take care of the first problem, the detection problem: the probe routine in adc1278.c should be called. (like the probe routine in ads7846.c was called; that's why I am using 7846 as a working model on how s) See the declaration and registration done in board-overo.c, below: ... #if 1 static struct spi_board_info overo_spi_board_info[] __initdata = { { .modalias = "adc1278", // .modalias = "ads7846", .bus_num = 1, // .chip_select = 1, .chip_select = 0, // .max_speed_hz = 27000000, .max_speed_hz = 1500000, .controller_data = &ads7846_mcspi_config, // .irq = 31, .irq = OMAP_GPIO_IRQ(OVERO_GPIO_PENDOWN), // .platform_data = &ads7846_config, .platform_data = &ad1278_config, }, #endif /* Ion 4.4 change */ #if defined(CONFIG_PANEL_LGPHILIPS_LB035Q02) || \ defined(CONFIG_PANEL_LGPHILIPS_LB035Q02_MODULE) { .modalias = "lgphilips_lb035q02_panel-spi", .bus_num = 1, .chip_select = 1, .max_speed_hz = 500000, .mode = SPI_MODE_3, }, #endif }; static int __init overo_spi_init(void) { overo_ads7846_init(); spi_register_board_info(overo_spi_board_info, ARRAY_SIZE(overo_spi_board_info)); return 0; } ... Regarding your: >It also sounds like you aren't updating the modules, which are found > > in /lib/modules/2.6.xx.xx/ (replace 2.6.xx.xx with your kernel > > version). > > > > Since your driver is being compiled as a module, replacing the kernel > > isn't enough. You must update the modules as well. > In the log of the boot file you see messages written by me, like Ion's test 9: SPI clock is enabled here. which is a change I made (a printk(...)) in omap2_mcspi.c. Why would this change be updated and changes I make similarly in ads7846.c aren't? What do I need to do, in commands to update all my changes? Finally for now, regarding the second issue, driver that I am making, adc1278.c, once again, does the controller driver omap2_mcspi.c apply to a 3-wire ADC 1278, or it applies only to 4-wire SPI? Ion A. Beza. On Wed, Feb 24, 2010 at 6:11 PM, Dave Hylands <dhy...@gm...> wrote: > Hi Tony, > > On Wed, Feb 24, 2010 at 4:45 PM, Tony Oxendahl <to...@gm...> wrote: >> Dave, Steve, once again, I am talking about: >> >> 1.) detection of 1278 (like 7846); >> >> 2.) 1278 driver. >> >> Regarding 1.), the messages: >> >> ads7846 spi1.0: touchscreen, irq 274 >> input: ADS7846 Touchscreen as >> /devices/platform/omap2_mcspi.1/spi1.0/input/input0 >> >> don't come from ads7846.c, don't come from a development computer that >> doesn't do the booting, >> because words 'Touchscreen as', 'touchscreen, irq' aren't found. > > That's because the word touchscreen comes in as part of a %s > > i.e. printk( "input: %s as foo\n", argument ); > > where argument points to the string touchscreen. If you're searching > for "touchscreen as" you'll never find it. Try searching for " as ". > > It sounds like maybe your probe routine isn't being called. The string > passed to the driver register MUST exactly match the string in the > board file. > > It also sounds like you aren't updating the modules, which are found > in /lib/modules/2.6.xx.xx/ (replace 2.6.xx.xx with your kernel > version). > > Since your driver is being compiled as a module, replacing the kernel > isn't enough. You must update the modules as well. > > -- > Dave Hylands > Shuswap, BC, Canada > http://www.DaveHylands.com/ > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: Dave H. <dhy...@gm...> - 2010-02-25 18:18:28
|
Hi Tony, On Thu, Feb 25, 2010 at 9:58 AM, Tony Oxendahl <to...@gm...> wrote: > Dave, thanks for taking interest in this matter. > > Regarding your: > >> > It sounds like maybe your probe routine isn't being called. The string >> > passed to the driver register MUST exactly match the string in the >> > board file. > > in board-overo.c I declared .modalias="adc1278". > According to the documentation spi-summary this declaration should bind the > ADC > driver, adc1278.c (which is a copy of ads7846.c to be tweaked later-on), > when the initialization code (like scripts in /etc/init.d and rc.d) runs at > boot. > This should take care of the first problem, the detection problem: the probe > routine > in adc1278.c should be called. > (like the probe routine in ads7846.c was called; that's why I am using 7846 > as a working > model on how s) So this is where things are a little hazy for me. I've never used the modalias stuff, so I'm not quite sure of the implications. After your system has booted up, what does ls /sys/class/platform/devices ls /sys/class/platform/drivers show? I don't have my gumstix readily available right now, so I'm looking at one of my boards at work. > In the log of the boot file you see messages written by me, like > > Ion's test 9: SPI clock is enabled here. > > which is a change I made (a printk(...)) in omap2_mcspi.c. > Why would this change be updated and changes I make similarly in ads7846.c > aren't? Probably because omap2_mcspi.c is statically linked into the kernel, and ads7846.c is compiled into a loadable module, and you're only updating the kernel (statically compiled stuff) and not the loadable modules. > What do I need to do, in commands to update all my changes? I'm not sure what the "correct" OE way to do things is. You can copy the ads7846.ko file (or whatever it's called) from your build environment to your board. It goes somewhere in the /lib/modules/2.6.xxx directory tree (find the location of the old one), > Finally for now, regarding the second issue, driver that I am making, > adc1278.c, once again, > does the controller driver omap2_mcspi.c apply to a 3-wire ADC 1278, or it > applies only to 4-wire > SPI? I'm not familiar enough with the omap to know the answer to that. Most of the SPI stuff I've worked with has separate MOSI/MISO lines. The hardware would need special support to support both 3-wire and 4-wire (since in 3-wire the MOSI/MISO share a pin), and I don't know what the OMAP has. -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: Tony O. <to...@gm...> - 2010-02-25 18:33:53
|
Quick clarification here, Dave, about your: I'm not familiar enough with the omap to know the answer to that. Most > of the SPI stuff I've worked with has separate MOSI/MISO lines. The > hardware would need special support to support both 3-wire and 4-wire > (since in 3-wire the MOSI/MISO share a pin), and I don't know what the > OMAP has. > The 3-wire ADC 1278 is MISO, MOSI, Clock. No Chip Select. Like if 1278 bends the SPI protocol. The question of how, is asked at TI and pending . (in 1278 terminology the three wires are DOUT, DIN, SCLK) Ion A. Beza. On Thu, Feb 25, 2010 at 10:18 AM, Dave Hylands <dhy...@gm...> wrote: > Hi Tony, > > On Thu, Feb 25, 2010 at 9:58 AM, Tony Oxendahl <to...@gm...> wrote: > > Dave, thanks for taking interest in this matter. > > > > Regarding your: > > > >> > It sounds like maybe your probe routine isn't being called. The string > >> > passed to the driver register MUST exactly match the string in the > >> > board file. > > > > in board-overo.c I declared .modalias="adc1278". > > According to the documentation spi-summary this declaration should bind > the > > ADC > > driver, adc1278.c (which is a copy of ads7846.c to be tweaked later-on), > > when the initialization code (like scripts in /etc/init.d and rc.d) runs > at > > boot. > > This should take care of the first problem, the detection problem: the > probe > > routine > > in adc1278.c should be called. > > (like the probe routine in ads7846.c was called; that's why I am using > 7846 > > as a working > > model on how s) > > So this is where things are a little hazy for me. I've never used the > modalias stuff, so I'm not quite sure of the implications. > > After your system has booted up, what does > > ls /sys/class/platform/devices > ls /sys/class/platform/drivers > > show? > > I don't have my gumstix readily available right now, so I'm looking at > one of my boards at work. > > > In the log of the boot file you see messages written by me, like > > > > Ion's test 9: SPI clock is enabled here. > > > > which is a change I made (a printk(...)) in omap2_mcspi.c. > > Why would this change be updated and changes I make similarly in > ads7846.c > > aren't? > > Probably because omap2_mcspi.c is statically linked into the kernel, > and ads7846.c is compiled into a loadable module, and you're only > updating the kernel (statically compiled stuff) and not the loadable > modules. > > > What do I need to do, in commands to update all my changes? > > I'm not sure what the "correct" OE way to do things is. > > You can copy the ads7846.ko file (or whatever it's called) from your > build environment to your board. It goes somewhere in the > /lib/modules/2.6.xxx directory tree (find the location of the old > one), > > > Finally for now, regarding the second issue, driver that I am making, > > adc1278.c, once again, > > does the controller driver omap2_mcspi.c apply to a 3-wire ADC 1278, or > it > > applies only to 4-wire > > SPI? > > I'm not familiar enough with the omap to know the answer to that. Most > of the SPI stuff I've worked with has separate MOSI/MISO lines. The > hardware would need special support to support both 3-wire and 4-wire > (since in 3-wire the MOSI/MISO share a pin), and I don't know what the > OMAP has. > > -- > Dave Hylands > Shuswap, BC, Canada > http://www.DaveHylands.com/ > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: Steve S. <sa...@gm...> - 2010-02-25 18:57:48
|
On Thu, Feb 25, 2010 at 10:33 AM, Tony Oxendahl <to...@gm...> wrote: > Quick clarification here, Dave, about your: > >> I'm not familiar enough with the omap to know the answer to that. Most >> of the SPI stuff I've worked with has separate MOSI/MISO lines. The >> hardware would need special support to support both 3-wire and 4-wire >> (since in 3-wire the MOSI/MISO share a pin), and I don't know what the >> OMAP has. > > The 3-wire ADC 1278 is MISO, MOSI, Clock. I don't see an ADC1278 on TI's website. Did you mean the ADS1278 8 channel 128kHz, Simultaneous Sampling 24-Bit Delta Sigma ADC? Steve > > No Chip Select. > Like if 1278 bends the SPI protocol. > The question of how, is asked at TI and pending . > > (in 1278 terminology the three wires are DOUT, DIN, SCLK) > > Ion A. Beza. > > On Thu, Feb 25, 2010 at 10:18 AM, Dave Hylands <dhy...@gm...> wrote: >> >> Hi Tony, >> >> On Thu, Feb 25, 2010 at 9:58 AM, Tony Oxendahl <to...@gm...> wrote: >> > Dave, thanks for taking interest in this matter. >> > >> > Regarding your: >> > >> >> > It sounds like maybe your probe routine isn't being called. The >> >> > string >> >> > passed to the driver register MUST exactly match the string in the >> >> > board file. >> > >> > in board-overo.c I declared .modalias="adc1278". >> > According to the documentation spi-summary this declaration should bind >> > the >> > ADC >> > driver, adc1278.c (which is a copy of ads7846.c to be tweaked later-on), >> > when the initialization code (like scripts in /etc/init.d and rc.d) runs >> > at >> > boot. >> > This should take care of the first problem, the detection problem: the >> > probe >> > routine >> > in adc1278.c should be called. >> > (like the probe routine in ads7846.c was called; that's why I am using >> > 7846 >> > as a working >> > model on how s) >> >> So this is where things are a little hazy for me. I've never used the >> modalias stuff, so I'm not quite sure of the implications. >> >> After your system has booted up, what does >> >> ls /sys/class/platform/devices >> ls /sys/class/platform/drivers >> >> show? >> >> I don't have my gumstix readily available right now, so I'm looking at >> one of my boards at work. >> >> > In the log of the boot file you see messages written by me, like >> > >> > Ion's test 9: SPI clock is enabled here. >> > >> > which is a change I made (a printk(...)) in omap2_mcspi.c. >> > Why would this change be updated and changes I make similarly in >> > ads7846.c >> > aren't? >> >> Probably because omap2_mcspi.c is statically linked into the kernel, >> and ads7846.c is compiled into a loadable module, and you're only >> updating the kernel (statically compiled stuff) and not the loadable >> modules. >> >> > What do I need to do, in commands to update all my changes? >> >> I'm not sure what the "correct" OE way to do things is. >> >> You can copy the ads7846.ko file (or whatever it's called) from your >> build environment to your board. It goes somewhere in the >> /lib/modules/2.6.xxx directory tree (find the location of the old >> one), >> >> > Finally for now, regarding the second issue, driver that I am making, >> > adc1278.c, once again, >> > does the controller driver omap2_mcspi.c apply to a 3-wire ADC 1278, or >> > it >> > applies only to 4-wire >> > SPI? >> >> I'm not familiar enough with the omap to know the answer to that. Most >> of the SPI stuff I've worked with has separate MOSI/MISO lines. The >> hardware would need special support to support both 3-wire and 4-wire >> (since in 3-wire the MOSI/MISO share a pin), and I don't know what the >> OMAP has. >> >> -- >> Dave Hylands >> Shuswap, BC, Canada >> http://www.DaveHylands.com/ >> >> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> _______________________________________________ >> gumstix-users mailing list >> gum...@li... >> https://lists.sourceforge.net/lists/listinfo/gumstix-users > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > > |
From: Dave H. <dhy...@gm...> - 2010-02-25 19:08:11
|
Hi Tony, On Thu, Feb 25, 2010 at 10:33 AM, Tony Oxendahl <to...@gm...> wrote: > Quick clarification here, Dave, about your: > >> I'm not familiar enough with the omap to know the answer to that. Most >> of the SPI stuff I've worked with has separate MOSI/MISO lines. The >> hardware would need special support to support both 3-wire and 4-wire >> (since in 3-wire the MOSI/MISO share a pin), and I don't know what the >> OMAP has. > > The 3-wire ADC 1278 is MISO, MOSI, Clock. > > No Chip Select. > Like if 1278 bends the SPI protocol. > The question of how, is asked at TI and pending . > > (in 1278 terminology the three wires are DOUT, DIN, SCLK) Well that's really 4-wire SPI, with no chip-select. I don't know if the OMAP SPI supports the notion of "no-chip-select". You might just have to specify that there is a chip select and not use it (which is fine - it's an output pin). -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: Tony O. <to...@gm...> - 2010-02-25 19:12:25
|
Yes. It's ADS 1278. The way I see it is that a cow should be detected on the SPI bus, if a cow is declared to be sitting on the SPI bus. (declared to be sitting on the SPI bus in board-overo.c, by .modalias = "cow") Later-on I will tweak the cow to be a 1278 driver. Ion A. Beza. On Thu, Feb 25, 2010 at 10:57 AM, Steve Sakoman <sa...@gm...> wrote: > On Thu, Feb 25, 2010 at 10:33 AM, Tony Oxendahl <to...@gm...> wrote: > > Quick clarification here, Dave, about your: > > > >> I'm not familiar enough with the omap to know the answer to that. Most > >> of the SPI stuff I've worked with has separate MOSI/MISO lines. The > >> hardware would need special support to support both 3-wire and 4-wire > >> (since in 3-wire the MOSI/MISO share a pin), and I don't know what the > >> OMAP has. > > > > The 3-wire ADC 1278 is MISO, MOSI, Clock. > > I don't see an ADC1278 on TI's website. Did you mean the ADS1278 8 > channel 128kHz, Simultaneous Sampling 24-Bit Delta Sigma ADC? > > Steve > > > > > > No Chip Select. > > Like if 1278 bends the SPI protocol. > > The question of how, is asked at TI and pending . > > > > (in 1278 terminology the three wires are DOUT, DIN, SCLK) > > > > Ion A. Beza. > > > > On Thu, Feb 25, 2010 at 10:18 AM, Dave Hylands <dhy...@gm...> > wrote: > >> > >> Hi Tony, > >> > >> On Thu, Feb 25, 2010 at 9:58 AM, Tony Oxendahl <to...@gm...> > wrote: > >> > Dave, thanks for taking interest in this matter. > >> > > >> > Regarding your: > >> > > >> >> > It sounds like maybe your probe routine isn't being called. The > >> >> > string > >> >> > passed to the driver register MUST exactly match the string in the > >> >> > board file. > >> > > >> > in board-overo.c I declared .modalias="adc1278". > >> > According to the documentation spi-summary this declaration should > bind > >> > the > >> > ADC > >> > driver, adc1278.c (which is a copy of ads7846.c to be tweaked > later-on), > >> > when the initialization code (like scripts in /etc/init.d and rc.d) > runs > >> > at > >> > boot. > >> > This should take care of the first problem, the detection problem: the > >> > probe > >> > routine > >> > in adc1278.c should be called. > >> > (like the probe routine in ads7846.c was called; that's why I am using > >> > 7846 > >> > as a working > >> > model on how s) > >> > >> So this is where things are a little hazy for me. I've never used the > >> modalias stuff, so I'm not quite sure of the implications. > >> > >> After your system has booted up, what does > >> > >> ls /sys/class/platform/devices > >> ls /sys/class/platform/drivers > >> > >> show? > >> > >> I don't have my gumstix readily available right now, so I'm looking at > >> one of my boards at work. > >> > >> > In the log of the boot file you see messages written by me, like > >> > > >> > Ion's test 9: SPI clock is enabled here. > >> > > >> > which is a change I made (a printk(...)) in omap2_mcspi.c. > >> > Why would this change be updated and changes I make similarly in > >> > ads7846.c > >> > aren't? > >> > >> Probably because omap2_mcspi.c is statically linked into the kernel, > >> and ads7846.c is compiled into a loadable module, and you're only > >> updating the kernel (statically compiled stuff) and not the loadable > >> modules. > >> > >> > What do I need to do, in commands to update all my changes? > >> > >> I'm not sure what the "correct" OE way to do things is. > >> > >> You can copy the ads7846.ko file (or whatever it's called) from your > >> build environment to your board. It goes somewhere in the > >> /lib/modules/2.6.xxx directory tree (find the location of the old > >> one), > >> > >> > Finally for now, regarding the second issue, driver that I am making, > >> > adc1278.c, once again, > >> > does the controller driver omap2_mcspi.c apply to a 3-wire ADC 1278, > or > >> > it > >> > applies only to 4-wire > >> > SPI? > >> > >> I'm not familiar enough with the omap to know the answer to that. Most > >> of the SPI stuff I've worked with has separate MOSI/MISO lines. The > >> hardware would need special support to support both 3-wire and 4-wire > >> (since in 3-wire the MOSI/MISO share a pin), and I don't know what the > >> OMAP has. > >> > >> -- > >> Dave Hylands > >> Shuswap, BC, Canada > >> http://www.DaveHylands.com/ > >> > >> > >> > ------------------------------------------------------------------------------ > >> Download Intel® Parallel Studio Eval > >> Try the new software tools for yourself. Speed compiling, find bugs > >> proactively, and fine-tune applications for parallel performance. > >> See why Intel Parallel Studio got high marks during beta. > >> http://p.sf.net/sfu/intel-sw-dev > >> _______________________________________________ > >> gumstix-users mailing list > >> gum...@li... > >> https://lists.sourceforge.net/lists/listinfo/gumstix-users > > > > > > > ------------------------------------------------------------------------------ > > Download Intel® Parallel Studio Eval > > Try the new software tools for yourself. Speed compiling, find bugs > > proactively, and fine-tune applications for parallel performance. > > See why Intel Parallel Studio got high marks during beta. > > http://p.sf.net/sfu/intel-sw-dev > > _______________________________________________ > > gumstix-users mailing list > > gum...@li... > > https://lists.sourceforge.net/lists/listinfo/gumstix-users > > > > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: Tony O. <to...@gm...> - 2010-02-25 19:16:09
|
It's ADS1278EVM, to be precise. It has a driver for Windows, not for Linux, for USB, not for SPI. TI is asked about how it does verify its SPI feature in ADS1278EVM. The answer is pending. Ion A. Beza. On Thu, Feb 25, 2010 at 11:12 AM, Tony Oxendahl <to...@gm...> wrote: > Yes. > > It's ADS 1278. > > The way I see it is that a cow should be detected on the SPI bus, if a cow > is declared > to be sitting on the SPI bus. > (declared to be sitting on the SPI bus in board-overo.c, by .modalias = > "cow") > > Later-on I will tweak the cow to be a 1278 driver. > > Ion A. Beza. > > > On Thu, Feb 25, 2010 at 10:57 AM, Steve Sakoman <sa...@gm...> wrote: > >> On Thu, Feb 25, 2010 at 10:33 AM, Tony Oxendahl <to...@gm...> wrote: >> > Quick clarification here, Dave, about your: >> > >> >> I'm not familiar enough with the omap to know the answer to that. Most >> >> of the SPI stuff I've worked with has separate MOSI/MISO lines. The >> >> hardware would need special support to support both 3-wire and 4-wire >> >> (since in 3-wire the MOSI/MISO share a pin), and I don't know what the >> >> OMAP has. >> > >> > The 3-wire ADC 1278 is MISO, MOSI, Clock. >> >> I don't see an ADC1278 on TI's website. Did you mean the ADS1278 8 >> channel 128kHz, Simultaneous Sampling 24-Bit Delta Sigma ADC? >> >> Steve >> >> >> > >> > No Chip Select. >> > Like if 1278 bends the SPI protocol. >> > The question of how, is asked at TI and pending . >> > >> > (in 1278 terminology the three wires are DOUT, DIN, SCLK) >> > >> > Ion A. Beza. >> > >> > On Thu, Feb 25, 2010 at 10:18 AM, Dave Hylands <dhy...@gm...> >> wrote: >> >> >> >> Hi Tony, >> >> >> >> On Thu, Feb 25, 2010 at 9:58 AM, Tony Oxendahl <to...@gm...> >> wrote: >> >> > Dave, thanks for taking interest in this matter. >> >> > >> >> > Regarding your: >> >> > >> >> >> > It sounds like maybe your probe routine isn't being called. The >> >> >> > string >> >> >> > passed to the driver register MUST exactly match the string in the >> >> >> > board file. >> >> > >> >> > in board-overo.c I declared .modalias="adc1278". >> >> > According to the documentation spi-summary this declaration should >> bind >> >> > the >> >> > ADC >> >> > driver, adc1278.c (which is a copy of ads7846.c to be tweaked >> later-on), >> >> > when the initialization code (like scripts in /etc/init.d and rc.d) >> runs >> >> > at >> >> > boot. >> >> > This should take care of the first problem, the detection problem: >> the >> >> > probe >> >> > routine >> >> > in adc1278.c should be called. >> >> > (like the probe routine in ads7846.c was called; that's why I am >> using >> >> > 7846 >> >> > as a working >> >> > model on how s) >> >> >> >> So this is where things are a little hazy for me. I've never used the >> >> modalias stuff, so I'm not quite sure of the implications. >> >> >> >> After your system has booted up, what does >> >> >> >> ls /sys/class/platform/devices >> >> ls /sys/class/platform/drivers >> >> >> >> show? >> >> >> >> I don't have my gumstix readily available right now, so I'm looking at >> >> one of my boards at work. >> >> >> >> > In the log of the boot file you see messages written by me, like >> >> > >> >> > Ion's test 9: SPI clock is enabled here. >> >> > >> >> > which is a change I made (a printk(...)) in omap2_mcspi.c. >> >> > Why would this change be updated and changes I make similarly in >> >> > ads7846.c >> >> > aren't? >> >> >> >> Probably because omap2_mcspi.c is statically linked into the kernel, >> >> and ads7846.c is compiled into a loadable module, and you're only >> >> updating the kernel (statically compiled stuff) and not the loadable >> >> modules. >> >> >> >> > What do I need to do, in commands to update all my changes? >> >> >> >> I'm not sure what the "correct" OE way to do things is. >> >> >> >> You can copy the ads7846.ko file (or whatever it's called) from your >> >> build environment to your board. It goes somewhere in the >> >> /lib/modules/2.6.xxx directory tree (find the location of the old >> >> one), >> >> >> >> > Finally for now, regarding the second issue, driver that I am making, >> >> > adc1278.c, once again, >> >> > does the controller driver omap2_mcspi.c apply to a 3-wire ADC 1278, >> or >> >> > it >> >> > applies only to 4-wire >> >> > SPI? >> >> >> >> I'm not familiar enough with the omap to know the answer to that. Most >> >> of the SPI stuff I've worked with has separate MOSI/MISO lines. The >> >> hardware would need special support to support both 3-wire and 4-wire >> >> (since in 3-wire the MOSI/MISO share a pin), and I don't know what the >> >> OMAP has. >> >> >> >> -- >> >> Dave Hylands >> >> Shuswap, BC, Canada >> >> http://www.DaveHylands.com/ >> >> >> >> >> >> >> ------------------------------------------------------------------------------ >> >> Download Intel® Parallel Studio Eval >> >> Try the new software tools for yourself. Speed compiling, find bugs >> >> proactively, and fine-tune applications for parallel performance. >> >> See why Intel Parallel Studio got high marks during beta. >> >> http://p.sf.net/sfu/intel-sw-dev >> >> _______________________________________________ >> >> gumstix-users mailing list >> >> gum...@li... >> >> https://lists.sourceforge.net/lists/listinfo/gumstix-users >> > >> > >> > >> ------------------------------------------------------------------------------ >> > Download Intel® Parallel Studio Eval >> > Try the new software tools for yourself. Speed compiling, find bugs >> > proactively, and fine-tune applications for parallel performance. >> > See why Intel Parallel Studio got high marks during beta. >> > http://p.sf.net/sfu/intel-sw-dev >> > _______________________________________________ >> > gumstix-users mailing list >> > gum...@li... >> > https://lists.sourceforge.net/lists/listinfo/gumstix-users >> > >> > >> >> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> _______________________________________________ >> gumstix-users mailing list >> gum...@li... >> https://lists.sourceforge.net/lists/listinfo/gumstix-users >> > > |
From: Tony O. <to...@gm...> - 2010-02-25 19:36:13
|
Dave, regarding your: > Well that's really 4-wire SPI, with no chip-select. > > I don't know if the OMAP SPI supports the notion of "no-chip-select". > > You might just have to specify that there is a chip select and not use > it (which is fine - it's an output pin). > Yes. The controller omap2_mcspi.c has this comment: /* standard 4-wire master mode: SCK, MOSI/out, MISO/in, nCS * REVISIT: this controller could support SPI_3WIRE mode. */ Regarding your: After your system has booted up, what does > > ls /sys/class/platform/devices > ls /sys/class/platform/drivers > > show? root@overo:~# ls /sys/devices/platform ehci-omap.0 omap-mcbsp.1 omap2_mcspi.1 omapfb serial8250.2 i2c_omap.1 omap-mcbsp.2 omap2_mcspi.2 power smsc911x.0 i2c_omap.3 omap-mcbsp.3 omap2_mcspi.3 regulatory.0 smsc911x.1 mmci-omap-hs.0 omap-mcbsp.4 omap2_mcspi.4 serial8250 soc-audio mmci-omap-hs.1 omap-mcbsp.5 omap_wdt serial8250.0 uevent musb_hdrc omap2-nand omapdss serial8250.1 root@overo:~# ls /sys/ block bus class dev devices firmware fs kernel module power root@overo:~# ls /sys/class bdi graphics leds net sound usbmon block hwmon mdio_bus regulator spi_master vc bluetooth i2c-adapter mem rtc spidev vtconsole display i2c-dev misc scsi_device tty firmware ieee80211 mmc_host scsi_disk ubi gpio input mtd scsi_host usb_device root@overo:~# ls /sys/class/display root@overo:~# ls /sys/class/graphics fb0 fb1 fb2 fbcon root@overo:~# ls /sys/class/firmware timeout root@overo:~# ls /sys/class/spi_master spi1 spi2 spi3 spi4 root@overo:~# ls /sys/class/spidev root@overo:~# ls /sys/class/misc cpu_dma_latency network_throughput twl4030-madc watchdog network_latency psaux ubi_ctrl root@overo:~# ls /sys/ block bus class dev devices firmware fs kernel module power root@overo:~# ls /sys/devices omapdss platform system virtual root@overo:~# ls /sys/devices/virtual bdi gpio input misc net tty vc block graphics mem mtd sound usbmon vtconsole root@overo:~# On Thu, Feb 25, 2010 at 11:07 AM, Dave Hylands <dhy...@gm...> wrote: > Hi Tony, > > On Thu, Feb 25, 2010 at 10:33 AM, Tony Oxendahl <to...@gm...> wrote: > > Quick clarification here, Dave, about your: > > > >> I'm not familiar enough with the omap to know the answer to that. Most > >> of the SPI stuff I've worked with has separate MOSI/MISO lines. The > >> hardware would need special support to support both 3-wire and 4-wire > >> (since in 3-wire the MOSI/MISO share a pin), and I don't know what the > >> OMAP has. > > > > The 3-wire ADC 1278 is MISO, MOSI, Clock. > > > > No Chip Select. > > Like if 1278 bends the SPI protocol. > > The question of how, is asked at TI and pending . > > > > (in 1278 terminology the three wires are DOUT, DIN, SCLK) > > Well that's really 4-wire SPI, with no chip-select. > > I don't know if the OMAP SPI supports the notion of "no-chip-select". > > You might just have to specify that there is a chip select and not use > it (which is fine - it's an output pin). > > -- > Dave Hylands > Shuswap, BC, Canada > http://www.DaveHylands.com/ > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |