ts-7000
[Top] [All Lists]

[ts-7000] Kernel mode driver for SSP access to TMP124 on the ts7260.

To:
Subject: [ts-7000] Kernel mode driver for SSP access to TMP124 on the ts7260.
From: "Kym Newbery" <>
Date: Wed, 25 Oct 2006 07:19:27 -0000
Hi everyone,

I have been writing a kernel mode driver to access the TMP124 sensor
on a TS7260, using the user mode code examples I've seen on the
www.embeddedarm.com website as well this group.  I've translated the
SSP initialisation and reading cycles to a kernel mode routine which
runs under interrupt, and passes data back to the user mode world via
ioctl calls. 

I have been having a lot of problems getting my driver to work with
the SSP/TMP124 in kernel mode, whereas the usermode examples work
fine, even though I have compared my kernel code to the examples on a
side by side basis and comparing how they tickle all the required port
I/O bits /etc..

I am not able to get sensible results out of the TMP124/SSP in kernel
mode, and I often get 'exec format errors' in user mode land (that
last bit has me stumped..'.

My question is, has anyone written any code to run in kernel mode
which accesses the TMP124?

also,  Are there any other functions in the kernel which access the
SSP periodically that my driver has to multiplex with?.. I have built
in the tsuart, usb modules into the kernel.  

My code also accesses all the GPIO ports, the EP93xx ADC and uses GPIO
interrupts - all of these work fine and reliably - it's just the
SSP/TMP124 interface which is giving me problems.

In the process of writing the driver I have noticed that there are
some errors in the TS7260 schematic and potentially the Cirrus Logic
EP93xx users guide (??) with regards to port F, eg Port F is 3 bits
wide from bits 1 to 3 !! not 0 to 2 as you would expect.  

I am using bit 1 of Port F for other functions, which has made me
notice that most of the examples, when setting the TMP124 chip select
to active (zero) write 0x0 to port F data register rather than doing a
read-modify-write cycle only to clear the required CS# bit.

I have seen these following posts :
http://tech.groups.yahoo.com/group/ts-7000/message/380

and I have studied the example file "NewTempLogger.c" and the TS
temperature example in detail.. so I'm not a newbie at this..

any ideas? or kernel mode code samples??

Cheers
Kym
p.s. I am currently on a ship floating off the coast of Antarctica, so
my access to this group is very limited.. but I will get back to this
list in a week or two.




 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
     
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU