From: Reinhard Meyer <u-boot@emk-elektronik.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] NET: add ENC28J60 driver using SPI framework
Date: Sat, 04 Sep 2010 05:25:12 +0200 [thread overview]
Message-ID: <4C81BC18.8070800@emk-elektronik.de> (raw)
In-Reply-To: <201009031814.17871.vapier@gentoo.org>
On 04.09.2010 00:14, Mike Frysinger wrote:
> On Friday, September 03, 2010 17:23:43 Reinhard Meyer wrote:
>> On 03.09.2010 23:03, Mike Frysinger wrote:
>>>> not sure, however, if calling spi_setup_slave() is ok at this point.
>>>
>>> i believe the func should only doing validation on the arguments. it
>>> shouldnt need to talk to any actual hardware. maybe this needs
>>> codifying in the API documentation.
>>
>> In atmel_spi.c it sets up the csr[indexed by cs=0..3] register with clock,
>> phase and polarity.
>> That's harmless, but might need some rethinking there.
>
> i'm not familiar with the Atmel SPI controller, but my gut reaction is that
> register values should be calculated in spi_setup_slave(), stored in the
> internal xxx_spi_slave struct, and then written at spi_claim_bus() time.
> -mike
Well, the SPI hardware can store the settings for 4 chip selects, and quite
automagically switch between them, including programmable switch times. When
using DMA it would be possible to setup transfers to/from different chip
selects without software doing the switches, ex:
15 words of 13 bits using 199kHz and mode 3 via CS2,
2 words of 8 bits using 10MHz and mode 0 via CS3, etc...
All this, of course, is not needed in u-boot and currently only half used
anyway. Therefore I tend to rework the atmel_spi.c not to make use of that
feature at all.
For codig the ENC driver I will just postulate its save to setup the slave
at initialize time.
Reinhard
prev parent reply other threads:[~2010-09-04 3:25 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-25 12:47 [U-Boot] [PATCH] NET: add ENC28J60 driver using SPI framework Reinhard Meyer
2010-08-26 3:55 ` Mike Frysinger
2010-08-26 6:19 ` Reinhard Meyer
2010-08-26 6:32 ` Mike Frysinger
2010-08-26 6:41 ` Reinhard Meyer
2010-08-26 7:11 ` Mike Frysinger
2010-09-03 17:50 ` Reinhard Meyer
2010-09-03 19:51 ` Mike Frysinger
2010-09-03 20:31 ` Reinhard Meyer
2010-09-03 21:03 ` Mike Frysinger
2010-09-03 21:23 ` Reinhard Meyer
2010-09-03 22:14 ` Mike Frysinger
2010-09-04 3:25 ` Reinhard Meyer [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C81BC18.8070800@emk-elektronik.de \
--to=u-boot@emk-elektronik.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.