Discussion:
Where is CYGPKG_DEVS_SPI_ARM_LPC2XXX
Martin Laabs
2008-12-18 13:07:39 UTC
Permalink
Hi,

I miss the directory of the CYGPKG_DEVS_SPI_ARM_LPC2XXX package
(/packages/devs/spi/arm/lpc2xx) in the current cvs.
Is it only temporary removed or are there any licence problems?
(It is still referenced in the ecos.db)
I'd like to write a SPI device driver for the (new) SSP inter-
face which shares the SPI1 pins on may new (/01) LPC parts.
The advantage is that the SSP peripheral allows much higher SPI
datarates than the old SPI peripheral. (SCLK up to 30MHz instead of
7.5MHz at 60MHz system clock)

Now I'd like to reuse some code of the original SPI driver. But if
there are licence problems I'd rewrite it from scratch.

Thank you,
Martin L.
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
Chris Holgate
2008-12-18 14:24:20 UTC
Permalink
Post by Martin Laabs
I miss the directory of the CYGPKG_DEVS_SPI_ARM_LPC2XXX package
(/packages/devs/spi/arm/lpc2xx) in the current cvs.
Is it only temporary removed or are there any licence problems?
(It is still referenced in the ecos.db)
I can't help you with that, but...
Post by Martin Laabs
I'd like to write a SPI device driver for the (new) SSP inter-
face which shares the SPI1 pins on may new (/01) LPC parts.
The advantage is that the SSP peripheral allows much higher SPI
datarates than the old SPI peripheral. (SCLK up to 30MHz instead of
7.5MHz at 60MHz system clock)
I have written a generic driver for the ARM PrimeCell PL022 (which is
the IP block used for the LPC SSP peripheral), but I moved over to using
the STM32 before polishing it up for release. If you're interested in
picking it up I can let you have it. From a licensing point of view,
I've just signed and returned the copyright assignment form so it would
be OK to include it in the main tree.

Chris.
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
Martin Laabs
2008-12-18 21:24:41 UTC
Permalink
Hi,
Post by Chris Holgate
Post by Martin Laabs
I miss the directory of the CYGPKG_DEVS_SPI_ARM_LPC2XXX package
[...]
Post by Chris Holgate
I can't help you with that, but...
It seemd to be my fault ...
Post by Chris Holgate
I have written a generic driver for the ARM PrimeCell PL022 (which is
the IP block used for the LPC SSP peripheral), but I moved over to using
the STM32 before polishing it up for release. If you're interested in
picking it up I can let you have it.
This would be very kind of you. Maybe I can add an SPI packages
(for supporing the eCos SPI framework) ontop of this package.

Thank you,
Martin L.
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
Chris Holgate
2008-12-19 12:27:55 UTC
Permalink
Post by Martin Laabs
Post by Chris Holgate
I have written a generic driver for the ARM PrimeCell PL022 (which is
the IP block used for the LPC SSP peripheral), but I moved over to using
the STM32 before polishing it up for release. If you're interested in
picking it up I can let you have it.
This would be very kind of you. Maybe I can add an SPI packages
(for supporing the eCos SPI framework) ontop of this package.
I have uploaded the files to the following location:

www.zynaptic.com/ecos/devel/pl022_spi_devel_19_12_08.tgz

The driver compiles, runs and has been pretty thoroughly stress tested
on my LPC2148 dev board using a fairly recent eCos CVS snapshot. It
implements all of the required eCos SPI framework behaviour apart from
polled operation.

However, some more thought needs to be given as to how this should be
added to the build tree. The PL022 is a generic IP core which turns up
on the NXP devices and in a lot of custom ARM-based ASICs. I think it
may also have been used in some of the Cirrus chips, but I'm not sure.

When I wrote the driver, I did it as a generic PL022 driver (in the
pl022 directory) which has no device specific code in it. At the
moment, this is called CYGPKG_DEVS_SPI_ARM_PL022. Then there is a
'wrapper' package which contains code specific to the LPC214x devices
such as chip select management using GPIOs. This is currently called
CYGPKG_DEVS_SPI_ARM_LPC21XX.

The first things that need attention are the CDL files, where I just
used the minimum to get it working - with all the configurable options
that should be in CDL #defined in the header files instead.

The second thing that you'll need to look at if you're not using an
LPC214x chip is modifying the wrapper file to support your device.

Finally, if it's going to make it into the main tree, support for polled
operation will be required.

Oh - you might want to add some copyright notices too - the standard
eCos ones will do :-)

Chris.
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
Jonathan Larmour
2008-12-19 15:09:13 UTC
Permalink
Post by Chris Holgate
The driver compiles, runs and has been pretty thoroughly stress tested
on my LPC2148 dev board using a fairly recent eCos CVS snapshot. It
implements all of the required eCos SPI framework behaviour apart from
polled operation.
[snip]
Post by Chris Holgate
Finally, if it's going to make it into the main tree, support for polled
operation will be required.
Oh - you might want to add some copyright notices too - the standard
eCos ones will do :-)
Ah, but also, to go in the main tree, all the authors will need a copyright
assignment to the Free Software Foundation in place.

To request an assignment form, please fill in this form:
http://cvs.savannah.gnu.org/viewvc/gnulib/doc/Copyright/request-assign.future?revision=1&root=gnulib
and e-mail it to <***@gnu.org>.

Jifl
--
eCosCentric Limited http://www.eCosCentric.com/ The eCos experts
Barnwell House, Barnwell Drive, Cambridge, UK. Tel: +44 1223 245571
Registered in England and Wales: Reg No 4422071.
------["Si fractum non sit, noli id reficere"]------ Opinions==mine
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
Chris Holgate
2008-12-19 16:03:46 UTC
Permalink
Post by Jonathan Larmour
Post by Chris Holgate
The driver compiles, runs and has been pretty thoroughly stress tested
on my LPC2148 dev board using a fairly recent eCos CVS snapshot. It
implements all of the required eCos SPI framework behaviour apart from
polled operation.
[snip]
Post by Chris Holgate
Finally, if it's going to make it into the main tree, support for polled
operation will be required.
Oh - you might want to add some copyright notices too - the standard
eCos ones will do :-)
Ah, but also, to go in the main tree, all the authors will need a copyright
assignment to the Free Software Foundation in place.
http://cvs.savannah.gnu.org/viewvc/gnulib/doc/Copyright/request-assign.future?revision=1&root=gnulib
Yep, I returned the assignment form to the FSF earlier this week in
connection with the STM32 work I'm doing - so the PL022 driver code as
it stands should be covered by that. I'll leave it to Martin to decide
what he wants to do with it now, as I'm not actively working on the LPC
devices at the moment.

Chris.
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
Martin Laabs
2008-12-19 16:07:07 UTC
Permalink
Hi,
Post by Chris Holgate
I'll leave it to Martin to decide
what he wants to do with it now, as I'm not actively working on the LPC
devices at the moment.
I'll solder one or two SPI devices on my board this evening.
After that I'll try to get the code running and will implement
the polling mode.

Greetings,
Martin L.
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
Ross Younger
2008-12-18 18:11:33 UTC
Permalink
Post by Martin Laabs
I miss the directory of the CYGPKG_DEVS_SPI_ARM_LPC2XXX package
(/packages/devs/spi/arm/lpc2xx) in the current cvs.
Is it only temporary removed or are there any licence problems?
Hi Martin,

I'm not aware of any license problems, nor removals for any other
reason. I've successfully checked the package out from CVS myself just
now, and it is also visible in cvsweb:

http://ecos.sourceware.org/cgi-bin/cvsweb.cgi/ecos/packages/devs/spi/arm/lpc2xxx/?cvsroot=ecos

Perhaps your CVS working directory has become confused? You might try
something like "cvs update -A -d", or - if all else fails - a fresh
checkout.

Regards,


Ross
--
Embedded Software Engineer, eCosCentric Limited.
Barnwell House, Barnwell Drive, Cambridge CB5 8UU, UK.
Registered in England no. 4422071. www.ecoscentric.com
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
Loading...