linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* Ethernet in a cold climate / SMDK6410
@ 2009-12-28 18:40 Andy Green
  2009-12-28 19:00 ` Mark Brown
  0 siblings, 1 reply; 21+ messages in thread
From: Andy Green @ 2009-12-28 18:40 UTC (permalink / raw)
  To: linux-arm-kernel

Hi -

I broke out my old SMDK6410 last night and tried linux-next then Ben's 
git on it (currently next-s3c64xx-updates) started from s3c6410 Qi / SD 
Card boot.

It's basically happy but OTG doesn't seem workable for Ethernet gadget. 
  Well it's dumping a lot of debug messages so I guess maybe that's 
where it got up to, fair enough.

I eyeballed the back of the SMDK and I see a CS8900A and a SMSC LAN9115 
both sitting there, coming out on separate RJ45s.  When I look at the 
machine init file, I see Mark added

static struct resource smdk6410_smsc911x_resources[] = {
	[0] = {
		.start = 0x18000000,
		.end   = 0x18000000 + SZ_64K - 1,
		.flags = IORESOURCE_MEM,
	},
...

What is the deal with that in terms of SDMK settings and assumptions 
about bootloader prepping nCS signals?  SMDK docs I have let me twiddle 
switches and get "ethernet" connected to various selects.  What does 
0x18000000 represent and how should the board be set so CS8900A doesn't 
crash the party?

After some debug-by-printk, I see smsc911x probe is failing with:

smsc911x: BYTE_TEST: 0xFFFFFFFF
smsc911x: top 16 bits equal to bottom 16 bits
smsc911x: This may mean the chip is set for 32 bit while the bus is 
reading 16 bit
smsc911x: init failed

So I am guessing the nCS pin is not configured, something is missing a 
clock... one of the dozens of mini DIP switches is "wrong"?

-Andy

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet in a cold climate / SMDK6410
  2009-12-28 18:40 Ethernet in a cold climate / SMDK6410 Andy Green
@ 2009-12-28 19:00 ` Mark Brown
  2009-12-28 19:07   ` Andy Green
  0 siblings, 1 reply; 21+ messages in thread
From: Mark Brown @ 2009-12-28 19:00 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Dec 28, 2009 at 06:40:00PM +0000, Andy Green wrote:

> What is the deal with that in terms of SDMK settings and assumptions
> about bootloader prepping nCS signals?  SMDK docs I have let me
> twiddle switches and get "ethernet" connected to various selects.
> What does 0x18000000 represent and how should the board be set so
> CS8900A doesn't crash the party?

I've never used the board with the CS8900A enabled, the bootloaders I've
seen appear to support the SMSC chip only.

The memory address was lifted from the Samsung BSP code IIRC.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet in a cold climate / SMDK6410
  2009-12-28 19:00 ` Mark Brown
@ 2009-12-28 19:07   ` Andy Green
  2009-12-28 19:22     ` Mark Brown
  0 siblings, 1 reply; 21+ messages in thread
From: Andy Green @ 2009-12-28 19:07 UTC (permalink / raw)
  To: linux-arm-kernel

On 12/28/09 19:00, Somebody in the thread at some point said:

Hi Mark -

>> What is the deal with that in terms of SDMK settings and assumptions
>> about bootloader prepping nCS signals?  SMDK docs I have let me
>> twiddle switches and get "ethernet" connected to various selects.
>> What does 0x18000000 represent and how should the board be set so
>> CS8900A doesn't crash the party?
>
> I've never used the board with the CS8900A enabled, the bootloaders I've
> seen appear to support the SMSC chip only.
>
> The memory address was lifted from the Samsung BSP code IIRC.

Thanks for the quick reply.

It's fine if I get the SMSC chip happy, I just mention the CS8900A 
because it is there are the docs only talk about "ethernet" so I expect 
conflict.

So what was your setup when Ethernet worked OK...

  - the Samsung U-Boot fork that came with the SMDK?

  - magic address 0x18000000 OK

  - 60+ minidip config was what?

I'm guessing 0x18000000 is on a particular nCS signal that needs 
configuring (should that really not be the business of the machine 
definition file?) and the mini DIPs setting to match.

-Andy

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet in a cold climate / SMDK6410
  2009-12-28 19:07   ` Andy Green
@ 2009-12-28 19:22     ` Mark Brown
  2009-12-28 19:45       ` Andy Green
  0 siblings, 1 reply; 21+ messages in thread
From: Mark Brown @ 2009-12-28 19:22 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Dec 28, 2009 at 07:07:15PM +0000, Andy Green wrote:

> So what was your setup when Ethernet worked OK...

>  - the Samsung U-Boot fork that came with the SMDK?

Yes, whatever was flashed on it when Samsung last had the board.  The
bootloader does explicitly say it's looking for the SMSC chip when
setting it up.

>  - magic address 0x18000000 OK

Yes.

>  - 60+ minidip config was what?

Factory default - I can't immediately visualise which switches you're
talking about and I'm out of the office until next Monday so I can't
check with the boards how they're set up.  I don't recall any relevant
switches.

> I'm guessing 0x18000000 is on a particular nCS signal that needs
> configuring (should that really not be the business of the machine
> definition file?) and the mini DIPs setting to match.

I'd expect so.  

I'm not sure what you mean by the "machine definition file" here?  The
large number of non-probable and incompatible changes on the Samsung
boards mean that it's generally best to leave them at factory default
settings unless you have a particular need to change things since the
kernel tends to be configured for the default setup.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet in a cold climate / SMDK6410
  2009-12-28 19:22     ` Mark Brown
@ 2009-12-28 19:45       ` Andy Green
  2009-12-28 20:21         ` Mark Brown
  0 siblings, 1 reply; 21+ messages in thread
From: Andy Green @ 2009-12-28 19:45 UTC (permalink / raw)
  To: linux-arm-kernel

On 12/28/09 19:22, Somebody in the thread at some point said:

Hi -

>>   - the Samsung U-Boot fork that came with the SMDK?
>
> Yes, whatever was flashed on it when Samsung last had the board.  The
> bootloader does explicitly say it's looking for the SMSC chip when
> setting it up.

I went and looked at the sources for that I got from Samsung, it talks 
only about CS8900.

#define CS8900_Tacs	(0x0)	// 0clk		address set-up
#define CS8900_Tcos	(0x4)	// 4clk		chip selection set-up
#define CS8900_Tacc	(0xE)	// 14clk	access cycle
#define CS8900_Tcoh	(0x1)	// 1clk		chip selection hold
#define CS8900_Tah	(0x4)	// 4clk		address holding time
#define CS8900_Tacp	(0x6)	// 6clk		page mode access cycle
#define CS8900_PMC	(0x0)	// normal(1data)page mode configuration

...

	SROM_BW_REG &= ~(0xf << 4);
	SROM_BW_REG |= (1<<7) | (1<<6) | (1<<4);
	SROM_BC1_REG = 
((CS8900_Tacs<<28)+(CS8900_Tcos<<24)+(CS8900_Tacc<<16)+(CS8900_Tcoh<<12)+(CS8900_Tah<<8)+(CS8900_Tacp<<4)+(CS8900_PMC));

I had a quick grep for corresponding register defines in S3C64xx Linux 
bits but didn't see anything.

>>   - 60+ minidip config was what?
>
> Factory default - I can't immediately visualise which switches you're
> talking about and I'm out of the office until next Monday so I can't
> check with the boards how they're set up.  I don't recall any relevant
> switches.

No worries.  There are a row of mainly 4-switch mini-dips under the LCD 
that control who gets to see which chip select, I'm pretty sure setting 
them wrong will break access to "ethernet" whatever that means.

If we had like S3C6410_PHYS_NCS2 instead of 0x18000000 I could get a 
clue, but I realize you didn't get that from the Samsung tree either.

>> I'm guessing 0x18000000 is on a particular nCS signal that needs
>> configuring (should that really not be the business of the machine
>> definition file?) and the mini DIPs setting to match.
>
> I'd expect so.
>
> I'm not sure what you mean by the "machine definition file" here?  The

I meant mach-smdk6410.c, since it wants to configure Linux to use stuff 
that has dependencies it doesn't control.  If it's going to claim 
something is there at 0x18000000 for a particular machine then it's at 
least arguable it should configure any soft prerequisites (nCS) 
accordingly and document the ones out of its control.

> large number of non-probable and incompatible changes on the Samsung
> boards mean that it's generally best to leave them at factory default
> settings unless you have a particular need to change things since the
> kernel tends to be configured for the default setup.

Yeah.  But again if the successful operation of the file that defines 
how Linux works with the SMDK is dependent on stuff like magic switch 
configuration ideally it would tell what the dependencies are in a 
comment, accepting random changes to boards you don't have are out of 
scope.  That one file anyway mach-smdk6410.c is super-specific to the 
board and is the only place to talk about the dependencies.

I understand that you might be able to get that working and yet not 
understand the intricacies of the dev board, and we're still ahead that 
you managed to get anything working.

My board is as shipped with the switches AFAIK except configured for SD 
Card boot according to Samsung docs.

-Andy

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet in a cold climate / SMDK6410
  2009-12-28 19:45       ` Andy Green
@ 2009-12-28 20:21         ` Mark Brown
  2009-12-28 20:46           ` Andy Green
  0 siblings, 1 reply; 21+ messages in thread
From: Mark Brown @ 2009-12-28 20:21 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Dec 28, 2009 at 07:45:07PM +0000, Andy Green wrote:
> On 12/28/09 19:22, Somebody in the thread at some point said:

>> Yes, whatever was flashed on it when Samsung last had the board.  The
>> bootloader does explicitly say it's looking for the SMSC chip when
>> setting it up.

> I went and looked at the sources for that I got from Samsung, it talks  
> only about CS8900.

That's...  interesting.  To be honest I don't think I've ever seen the
source code for the bootloaders, but none of the SMDK boards I've had
have defaulted to using the CS8900 - I've never actually seen software
that talked to it to my knowledge, the Samsung bootloaders and kernels
were all using the SMSC chip and obviously that's what mainline has been
doing too.

>> I'm not sure what you mean by the "machine definition file" here?  The

> I meant mach-smdk6410.c, since it wants to configure Linux to use stuff  
> that has dependencies it doesn't control.  If it's going to claim  
> something is there at 0x18000000 for a particular machine then it's at  
> least arguable it should configure any soft prerequisites (nCS)  
> accordingly and document the ones out of its control.

Oh, sure - you were saying it should configure stuff and obviously most
of these things are completely out of scope for software which wasn't
very clear at all.  I quite frankly wasn't aware that there were any
relevant soft controls at all.

By the way, the other thing to watch out for with the Samsung boards is
that as well as the DIP switches there's a bunch of resistor fit options
that can be changed as well.

> I understand that you might be able to get that working and yet not  
> understand the intricacies of the dev board, and we're still ahead that  
> you managed to get anything working.

Right, and hopefully this is the sort of thing that Samsung are going to
be doing with their mainline work.

> My board is as shipped with the switches AFAIK except configured for SD  
> Card boot according to Samsung docs.

It sounds like you've at least got a completely different bootloader (or
the source is highly misleading).  The other thing to check is which rev
of the board you have, there have been several revisions though I don't
recall any changes in the networking.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet in a cold climate / SMDK6410
  2009-12-28 20:21         ` Mark Brown
@ 2009-12-28 20:46           ` Andy Green
  2009-12-28 22:44             ` Mark Brown
  0 siblings, 1 reply; 21+ messages in thread
From: Andy Green @ 2009-12-28 20:46 UTC (permalink / raw)
  To: linux-arm-kernel

On 12/28/09 20:21, Somebody in the thread at some point said:

Hi -

>> I went and looked at the sources for that I got from Samsung, it talks
>> only about CS8900.
>
> That's...  interesting.  To be honest I don't think I've ever seen the
> source code for the bootloaders, but none of the SMDK boards I've had
> have defaulted to using the CS8900 - I've never actually seen software
> that talked to it to my knowledge, the Samsung bootloaders and kernels
> were all using the SMSC chip and obviously that's what mainline has been
> doing too.

Well it's a fact.  I sent you a link these GPL'd sources separately.

>> I meant mach-smdk6410.c, since it wants to configure Linux to use stuff
>> that has dependencies it doesn't control.  If it's going to claim
>> something is there at 0x18000000 for a particular machine then it's at
>> least arguable it should configure any soft prerequisites (nCS)
>> accordingly and document the ones out of its control.
>
> Oh, sure - you were saying it should configure stuff and obviously most
> of these things are completely out of scope for software which wasn't
> very clear at all.  I quite frankly wasn't aware that there were any
> relevant soft controls at all.

I would suggest that relying on (mysterious, changeable) bootloader to 
set up stuff like nCS timing and which nCS would be a dependency that 
would be good to avoid.  People are trying to use the dev board as a 
basis for their own designs and they have to ship an actual 
non-quantum-mist bootloader with that.

> By the way, the other thing to watch out for with the Samsung boards is
> that as well as the DIP switches there's a bunch of resistor fit options
> that can be changed as well.

Yeah, I saw it on SPI0 before (I want to use this as an SPI peripheral 
meddling platform at the moment).  The socket is sitting there with NC 
resistor pack so no signals.

> It sounds like you've at least got a completely different bootloader (or
> the source is highly misleading).  The other thing to check is which rev
> of the board you have, there have been several revisions though I don't
> recall any changes in the networking.

Right I wrote Qi bootloader support for s3c6410.  This allows true SD 
boot from SMDK.  "True SD boot" means that the bootloader itself is on 
SD Card and is brought over into RAM by the CPU ROM, so there is nothing 
to brick on the device itself.

If anyone is interested see the txtr branch of

  http://git.warmcat.com/cgi-bin/cgit/qi/

SMDK6410 docs tell the following to enable SD Card boot:

CFGB1 - CFG4 (under the LCD)

~____ __~_ ~___ ____ ____ ____ ~_ ~~~_ __~_ ____ ____

CFG3

[
[
[
[
[
  ]

CFG4

  ]
  ]
[
[

CFG1

  ]
[
[
[

J8: 1-2
J7: 1-2
J6: 1-2

You also need a particular ROM revision in your SMDK but this one is 
over a year old so I guess it's common now.

-Andy

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet in a cold climate / SMDK6410
  2009-12-28 20:46           ` Andy Green
@ 2009-12-28 22:44             ` Mark Brown
  2009-12-29 10:04               ` Andy Green
  0 siblings, 1 reply; 21+ messages in thread
From: Mark Brown @ 2009-12-28 22:44 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Dec 28, 2009 at 08:46:57PM +0000, Andy Green wrote:

> I would suggest that relying on (mysterious, changeable) bootloader to  
> set up stuff like nCS timing and which nCS would be a dependency that  
> would be good to avoid.  People are trying to use the dev board as a  
> basis for their own designs and they have to ship an actual  
> non-quantum-mist bootloader with that.

Like I say, I wasn't aware that these were soft configurable in the
first place - I'd never needed to look beyond the hookup of the device
in the Samsung kernel plus some detective work with the IRQ polarity
configuration in the driver since the board miswires it.  I do agree
that if these things are software configurable then we ought to be doing
it in the kernel, I strongly suspect that any setup done by the
bootloader is only being done when booting over the network.

>> It sounds like you've at least got a completely different bootloader (or
>> the source is highly misleading).  The other thing to check is which rev
>> of the board you have, there have been several revisions though I don't
>> recall any changes in the networking.

> Right I wrote Qi bootloader support for s3c6410.  This allows true SD  
> boot from SMDK.  "True SD boot" means that the bootloader itself is on  
> SD Card and is brought over into RAM by the CPU ROM, so there is nothing  
> to brick on the device itself.

Qi would be a massive step back for me in terms of usability
unfortunately - having to transfer things to an SD card to boot them
would add a lot to my edit, compile run cycle compared to netboot.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet in a cold climate / SMDK6410
  2009-12-28 22:44             ` Mark Brown
@ 2009-12-29 10:04               ` Andy Green
  2009-12-29 12:33                 ` Mark Brown
  0 siblings, 1 reply; 21+ messages in thread
From: Andy Green @ 2009-12-29 10:04 UTC (permalink / raw)
  To: linux-arm-kernel

On 12/28/09 22:44, Somebody in the thread at some point said:

Hi Mark -

>> I would suggest that relying on (mysterious, changeable) bootloader to
>> set up stuff like nCS timing and which nCS would be a dependency that
>> would be good to avoid.  People are trying to use the dev board as a
>> basis for their own designs and they have to ship an actual
>> non-quantum-mist bootloader with that.
>
> Like I say, I wasn't aware that these were soft configurable in the
> first place - I'd never needed to look beyond the hookup of the device
> in the Samsung kernel plus some detective work with the IRQ polarity
> configuration in the driver since the board miswires it.  I do agree
> that if these things are software configurable then we ought to be doing
> it in the kernel, I strongly suspect that any setup done by the
> bootloader is only being done when booting over the network.

Glad we agree on that.

Bootloaders are kind of out of control of these dev boards, iMX31 
LiteKIT even came with a closed source bootloader.  That destabilizes 
any certainty you can have about basing a design on the dev board, 
because you don't know how dependent successful behaviour will be on 
magic hidden in the bootloader, even if you got a fully working software 
stack on the dev board.

So I think the mach-blah.c files should try to assert the state of 
dependencies themselves for stuff they are saying they support, and make 
no assumption that the bootloader has done anything.  (And indeed I 
don't think the bootloaders should do anything except enough to get 
Linux started, but that's another story).

Like I say it sets up a magic nCS signal in the bootloader init, it 
talks about it as CS8900A but elsewhere they talk about "ethernet", so 
it may simply use this nCS to get to both ethernet chips, I didn't look 
at the schematic yet.

Just a sanity check, it was the case for you too that g_ether is broken 
and although you get a logical usb0 at both sides, they cannot communicate?

>> Right I wrote Qi bootloader support for s3c6410.  This allows true SD
>> boot from SMDK.  "True SD boot" means that the bootloader itself is on
>> SD Card and is brought over into RAM by the CPU ROM, so there is nothing
>> to brick on the device itself.
>
> Qi would be a massive step back for me in terms of usability
> unfortunately - having to transfer things to an SD card to boot them
> would add a lot to my edit, compile run cycle compared to netboot.

You seem pretty sure about that, so much so I guess you never tried this 
workflow.

There are two cases with SD Card boot and kernel work:

1) you screwed your kernel and it blows chunks on boot.  In that case, 
you either have to make arrangements in the bootloader to check a button 
and use a backup kernel if pressed (Qi supports this generically), or 
pop the SD card and write the kernel on the host.  In the button case, 
you just reset with that button down and use a host build script to ssh 
/ rsync over your next kernel try without touching the SD Card.

I guess you see the above case more often than most because of what 
you're doing, but actually I find it's only when I meddle in particular 
areas I run that risk; most things fail to work nicely until fixed or 
OOPS in a way that you can still send over your fixes in that session.

2) you are working on a driver that can be done modular while there's 
risk of it blowing chunks.  In this case your build script can build the 
kernel on the host and update the module over ssh / rsync.  You then 
modprobe -r / modprobe it without touching the SD Card or even resetting.

I don't see those workflows as any "massive step back"; compared to raw 
NAND being able to pop and rewrite the SD card in an emergency is 
certainly a massive step forward.


There's another reason to not act special towards the device with stuff 
that does not represent what will ship, as the developer you're the 
first user of it and if you're not hammering on, experiencing and 
optimizing the boot flow that ships, nobody else will.

In addition if opposed to network boot case you are working on an SD 
image all the time that can be taken as the shipping image, not some 
special tree of files on a host whose speed of access and code paths to 
get to it are completely different.

-Andy

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet in a cold climate / SMDK6410
  2009-12-29 10:04               ` Andy Green
@ 2009-12-29 12:33                 ` Mark Brown
  2009-12-29 12:50                   ` Andy Green
  0 siblings, 1 reply; 21+ messages in thread
From: Mark Brown @ 2009-12-29 12:33 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Dec 29, 2009 at 10:04:41AM +0000, Andy Green wrote:
> On 12/28/09 22:44, Somebody in the thread at some point said:

> Like I say it sets up a magic nCS signal in the bootloader init, it
> talks about it as CS8900A but elsewhere they talk about "ethernet",
> so it may simply use this nCS to get to both ethernet chips, I
> didn't look at the schematic yet.

I'd assume so given that the board has a physical switch selecting between
the two ethernet controllers.

> Just a sanity check, it was the case for you too that g_ether is
> broken and although you get a logical usb0 at both sides, they
> cannot communicate?

I've never used g_ether, and my use of USB has been limited to testing
power path management.

> >Qi would be a massive step back for me in terms of usability
> >unfortunately - having to transfer things to an SD card to boot them
> >would add a lot to my edit, compile run cycle compared to netboot.

> You seem pretty sure about that, so much so I guess you never tried
> this workflow.

Really, I've tried this and similar workflows.  Network boot beats
everything else I've tried.

> 1) you screwed your kernel and it blows chunks on boot.  In that
> case, you either have to make arrangements in the bootloader to
> check a button and use a backup kernel if pressed (Qi supports this
> generically), or pop the SD card and write the kernel on the host.
> In the button case, you just reset with that button down and use a
> host build script to ssh / rsync over your next kernel try without
> touching the SD Card.

Either physically swapping the SD card or having to dance with the
bootloader to revert to a known good configuration then refresh are very
involved relative to flipping the power switch and booting, partly
because they do actually take a relatively long time and partly because
they aren't the same routine normally used to boot and so require more
attention and thought (not much, but enough).

> 2) you are working on a driver that can be done modular while
> there's risk of it blowing chunks.  In this case your build script
> can build the kernel on the host and update the module over ssh /
> rsync.  You then modprobe -r / modprobe it without touching the SD
> Card or even resetting.

This is what I'm actually doing - things that can be built modular
generally are, but there's always things that won't allow that.

> I don't see those workflows as any "massive step back"; compared to
> raw NAND being able to pop and rewrite the SD card in an emergency
> is certainly a massive step forward.

Compared to NAND removable media can be a win, yes, though with fast
JTAG having to rewrite the flash needn't be any slower so it's not quite
that clear cut.

> There's another reason to not act special towards the device with
> stuff that does not represent what will ship, as the developer
> you're the first user of it and if you're not hammering on,
> experiencing and optimizing the boot flow that ships, nobody else
> will.

With what I do it is relatively rare for me to work directly on
production systems - the majority of the systems I'm using for driver
development involve lots of flying wires and never see the light of
anything except my desk, the end result being either core kernel changes
or chip-specific drivers.  Where I am working on production systems
generally either it's not possible to do anything except JTAG onto the
flash or the only thing changed by netboot is where the kernel image is
loaded from.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet in a cold climate / SMDK6410
  2009-12-29 12:33                 ` Mark Brown
@ 2009-12-29 12:50                   ` Andy Green
  2009-12-30 13:16                     ` Mark Brown
  0 siblings, 1 reply; 21+ messages in thread
From: Andy Green @ 2009-12-29 12:50 UTC (permalink / raw)
  To: linux-arm-kernel

On 12/29/09 12:33, Somebody in the thread at some point said:

Hi -

>> Like I say it sets up a magic nCS signal in the bootloader init, it
>> talks about it as CS8900A but elsewhere they talk about "ethernet",
>> so it may simply use this nCS to get to both ethernet chips, I
>> didn't look at the schematic yet.
>
> I'd assume so given that the board has a physical switch selecting between
> the two ethernet controllers.

Yeah I found that thismorning, CFG6.  I added a comment about that and 
the (discovered by trial and error) requirement that it's nCS1 
specifically needed to drive it to work with the 0x18000000 magic number.

I found that the nCS1 bus width defaults to 8-bit in the CPU, otherwise 
it's now addressable.  So I am adding some constants for s3c64xx SROM 
unit in the platform stuff and will set it up in mach-smdk6410.c.

>>> Qi would be a massive step back for me in terms of usability
>>> unfortunately - having to transfer things to an SD card to boot them
>>> would add a lot to my edit, compile run cycle compared to netboot.
>
>> You seem pretty sure about that, so much so I guess you never tried
>> this workflow.
>
> Really, I've tried this and similar workflows.  Network boot beats
> everything else I've tried.
>
>> 1) you screwed your kernel and it blows chunks on boot.  In that
>> case, you either have to make arrangements in the bootloader to
>> check a button and use a backup kernel if pressed (Qi supports this
>> generically), or pop the SD card and write the kernel on the host.
>> In the button case, you just reset with that button down and use a
>> host build script to ssh / rsync over your next kernel try without
>> touching the SD Card.
>
> Either physically swapping the SD card or having to dance with the
> bootloader to revert to a known good configuration then refresh are very
> involved relative to flipping the power switch and booting, partly
> because they do actually take a relatively long time and partly because
> they aren't the same routine normally used to boot and so require more
> attention and thought (not much, but enough).

Yeah.  All I can say is that constant testing of kernels that fail to 
boot is a somewhat specialized case.  You would be into pressing a 
button or popping the card.

>> 2) you are working on a driver that can be done modular while
>> there's risk of it blowing chunks.  In this case your build script
>> can build the kernel on the host and update the module over ssh /
>> rsync.  You then modprobe -r / modprobe it without touching the SD
>> Card or even resetting.
>
> This is what I'm actually doing - things that can be built modular
> generally are, but there's always things that won't allow that.

Sure.  In the ones you build modular, there's no cost to the SD flow.

>> I don't see those workflows as any "massive step back"; compared to
>> raw NAND being able to pop and rewrite the SD card in an emergency
>> is certainly a massive step forward.
>
> Compared to NAND removable media can be a win, yes, though with fast
> JTAG having to rewrite the flash needn't be any slower so it's not quite
> that clear cut.

Right, but if you can eliminate JTAG in the flow, especially at the 
factory, that is a major simplification.

SD + Qi has the advantage it eliminates completely "board bringup" at 
the factory.  Qi has no state stored on the board that changes boot 
flow.  So you can give a virgin board an SD and it brings itself up with 
no special gear or processing steps.

>> There's another reason to not act special towards the device with
>> stuff that does not represent what will ship, as the developer
>> you're the first user of it and if you're not hammering on,
>> experiencing and optimizing the boot flow that ships, nobody else
>> will.
>
> With what I do it is relatively rare for me to work directly on
> production systems - the majority of the systems I'm using for driver
> development involve lots of flying wires and never see the light of
> anything except my desk, the end result being either core kernel changes
> or chip-specific drivers.  Where I am working on production systems
> generally either it's not possible to do anything except JTAG onto the
> flash or the only thing changed by netboot is where the kernel image is
> loaded from.

Yeah understood.

Again all I can say is it's specialized case.  For normal dev work SD is 
either painless or hugely advantageous.

-Andy

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet in a cold climate / SMDK6410
  2009-12-29 12:50                   ` Andy Green
@ 2009-12-30 13:16                     ` Mark Brown
  2009-12-30 13:37                       ` Ethernet / SD Boot Andy Green
  0 siblings, 1 reply; 21+ messages in thread
From: Mark Brown @ 2009-12-30 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Dec 29, 2009 at 12:50:52PM +0000, Andy Green wrote:
> On 12/29/09 12:33, Somebody in the thread at some point said:

> >Compared to NAND removable media can be a win, yes, though with fast
> >JTAG having to rewrite the flash needn't be any slower so it's not quite
> >that clear cut.

> Right, but if you can eliminate JTAG in the flow, especially at the
> factory, that is a major simplification.

An awful lot of production setups are capable of handling JTAG already
so don't have much of an issue here.  Certainly as a developer my
preference here would be for fast JTAG over SD card - it's at least as
fast, there's only one system involved and it works just the same no
matter what the state of the system is.

> Again all I can say is it's specialized case.  For normal dev work
> SD is either painless or hugely advantageous.

Assuming the hardware can cope with it, and there's component cost,
board area and mechanical concerns to address before it gets designed
in.  There are a lot of systems where it would be useful but there's
drawbacks you have to bear in mind when pushing it.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet / SD Boot
  2009-12-30 13:16                     ` Mark Brown
@ 2009-12-30 13:37                       ` Andy Green
  2009-12-31 12:27                         ` Mark Brown
  0 siblings, 1 reply; 21+ messages in thread
From: Andy Green @ 2009-12-30 13:37 UTC (permalink / raw)
  To: linux-arm-kernel

On 12/30/09 13:16, Somebody in the thread at some point said:

Hi -

>> Right, but if you can eliminate JTAG in the flow, especially at the
>> factory, that is a major simplification.
>
> An awful lot of production setups are capable of handling JTAG already
> so don't have much of an issue here.  Certainly as a developer my
> preference here would be for fast JTAG over SD card - it's at least as
> fast, there's only one system involved and it works just the same no
> matter what the state of the system is.

If you have JTAG gear that works reliably (I never had much luck with 
OpenOCD, I only ever got it to work with the OM debug board with one 
specific build of a library, not the latest one either).  I have a Wind 
River JTAG dongle here that only works on Fedora 6 or something, it's 
not really workable here or at a factory to set up VMs to please this 
piece of test gear.  I guess you have better luck depending on JTAG than 
I have, it certainly creates a burden to use it in my experience.

Actually with SD basis you simply remove all other mass NV devices from 
your board.  SD cards can be duplicated out of the factory so there's no 
real comparison needed between raw NAND bringup over JTAG and SD Card basis.

The only piece of "board bringup" needed is to allocate and write board 
identity data somewhere like MACs if you want that to live on the board 
and not the SD, and that can be done from the test SD image acquiring 
the data over the network.

Customers don't have JTAG gear either so those arrangements and that 
work are specific to the production action.  However customers do have 
SD readers and that can be part of a debricking scheme that does not 
involve product return.

>> Again all I can say is it's specialized case.  For normal dev work
>> SD is either painless or hugely advantageous.
>
> Assuming the hardware can cope with it, and there's component cost,
> board area and mechanical concerns to address before it gets designed
> in.  There are a lot of systems where it would be useful but there's
> drawbacks you have to bear in mind when pushing it.

I don't really regard those as drawbacks.

Component cost is just the connector and four pullups, I guess it's $0.70.

Yeah you need to make the uSD connector accessible if you remove a 
cover, that's generally not hard.

CPUs in the class where it is useful (ARM11+) all tend to have one or 
more SD peripheral unit on the CPU already, so that's for free.

With true SD boot, cost of the SD card itself is balanced by being able 
to remove all

  - NAND

  - NOR

  - JTAG connector + passives

from the board, and all production and test actions around those now 
they are gone.

Space for the uSD socket on one side of the board or another is less 
than typical footprint of NAND and JTAG connector that used to be on the 
board.

I think you find SD basis is normally for free or cheaper.

There are a bunch of horrors around working with raw NAND that also 
disappear now your access to NAND is "cooked" by the controller on the 
SD Card.  You no longer need to deal with ECC, BBT, jffs2 and the like 
but can use normal filesystems directly.

So I think the issue is more the tendency to not bear the drawbacks of 
existing schemes and bootloaders in mind when considering different 
workflows, since dealing with the issues from those are what people are 
used to.

-Andy

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet / SD Boot
  2009-12-30 13:37                       ` Ethernet / SD Boot Andy Green
@ 2009-12-31 12:27                         ` Mark Brown
  2009-12-31 12:59                           ` Andy Green
  0 siblings, 1 reply; 21+ messages in thread
From: Mark Brown @ 2009-12-31 12:27 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Dec 30, 2009 at 01:37:34PM +0000, Andy Green wrote:

> If you have JTAG gear that works reliably (I never had much luck
> with OpenOCD, I only ever got it to work with the OM debug board
> with one specific build of a library, not the latest one either).  I
> have a Wind River JTAG dongle here that only works on Fedora 6 or
> something, it's not really workable here or at a factory to set up
> VMs to please this piece of test gear.  I guess you have better luck
> depending on JTAG than I have, it certainly creates a burden to use
> it in my experience.

The one I've had the most positive experience with was the BDI2000 - no
host software required, it's controlled over the network via telnet (and
possibly other things now) for non-debugging activity and provides a GDB
stub for debugging.  Like everything else there are plenty of rubbish
products out there.

> >Assuming the hardware can cope with it, and there's component cost,
> >board area and mechanical concerns to address before it gets designed
> >in.  There are a lot of systems where it would be useful but there's
> >drawbacks you have to bear in mind when pushing it.

> I don't really regard those as drawbacks.

> Component cost is just the connector and four pullups, I guess it's $0.70.

That 70 cents does rather add up once you start to ship in volume, even
a fraction of that would.

> Yeah you need to make the uSD connector accessible if you remove a
> cover, that's generally not hard.

In some form factors.  In others it's very problematic.

> CPUs in the class where it is useful (ARM11+) all tend to have one
> or more SD peripheral unit on the CPU already, so that's for free.

Assuming you've not used all the pins for something else, which is again
a problem for some classes of device.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet / SD Boot
  2009-12-31 12:27                         ` Mark Brown
@ 2009-12-31 12:59                           ` Andy Green
  2010-01-04 16:26                             ` Ben Dooks
  0 siblings, 1 reply; 21+ messages in thread
From: Andy Green @ 2009-12-31 12:59 UTC (permalink / raw)
  To: linux-arm-kernel

On 12/31/09 12:27, Somebody in the thread at some point said:

Hi -

> The one I've had the most positive experience with was the BDI2000 - no
> host software required, it's controlled over the network via telnet (and
> possibly other things now) for non-debugging activity and provides a GDB
> stub for debugging.  Like everything else there are plenty of rubbish
> products out there.

Sounds pretty good, thanks for the tip.

>>> Assuming the hardware can cope with it, and there's component cost,
>>> board area and mechanical concerns to address before it gets designed
>>> in.  There are a lot of systems where it would be useful but there's
>>> drawbacks you have to bear in mind when pushing it.
>
>> I don't really regard those as drawbacks.
>
>> Component cost is just the connector and four pullups, I guess it's $0.70.
>
> That 70 cents does rather add up once you start to ship in volume, even
> a fraction of that would.

You did notice that you get to save money back from removing NAND and 
JTAG connectors?

Due to the other advantages of SD Boot basis you can also expect to get 
your product to market quicker, spend less time in the factory, and have 
less returns all of which save money.

So I wouldn't let this notional $0.70 put you off.

>> Yeah you need to make the uSD connector accessible if you remove a
>> cover, that's generally not hard.
>
> In some form factors.  In others it's very problematic.

Dunno how problematic it can be actually, unless you dunk your board in 
epoxy.  uSD connectors are very small footprint and low profile since 
they're widely used in consumer equipment like phones.  Since you only 
need access to it in a crisis due to bricking it, it's OK if you have to 
remove a cover or whatever.  Space shouldn't be an issue due to what it 
allows you to throw out from the board.  I'm sure there are special 
cases but I maintain "generally, that's not hard".

>> CPUs in the class where it is useful (ARM11+) all tend to have one
>> or more SD peripheral unit on the CPU already, so that's for free.
>
> Assuming you've not used all the pins for something else, which is again
> a problem for some classes of device.

Yeah it's true, if the mux arrangements conflict with other peripheral 
units you must have something's got to give.

But many chips have 2 or 3 SD units, mux arrangements that bring the 
same things to different pins.  In the case of SD interface, it's a 
given in context of phones where a lot of these chips go, so you tend 
not to find other IO on those balls that is critical and does not also 
appear on other ball muxes.  (It's only 6 balls anyway, it's not like a 
memory bus).  It seems you can typically expect you're going to be able 
to use SD unless you find a specific conflict because the chips are 
deliberately designed to enable SD usage in typical design.

-Andy

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet / SD Boot
  2009-12-31 12:59                           ` Andy Green
@ 2010-01-04 16:26                             ` Ben Dooks
  2010-01-04 17:28                               ` Andy Green
  0 siblings, 1 reply; 21+ messages in thread
From: Ben Dooks @ 2010-01-04 16:26 UTC (permalink / raw)
  To: linux-arm-kernel

Andy Green wrote:
> On 12/31/09 12:27, Somebody in the thread at some point said:
> 
> Hi -
> 
>> The one I've had the most positive experience with was the BDI2000 - no
>> host software required, it's controlled over the network via telnet (and
>> possibly other things now) for non-debugging activity and provides a GDB
>> stub for debugging.  Like everything else there are plenty of rubbish
>> products out there.
> 
> Sounds pretty good, thanks for the tip.

I pine for the BDI2000 I was lent...

Of course, with bed of nails type systems it is probably possible to
allow the system to boot off what you like, NAND is easily ~18
connections to the board, SD is of course less.

>>>> Assuming the hardware can cope with it, and there's component cost,
>>>> board area and mechanical concerns to address before it gets designed
>>>> in.  There are a lot of systems where it would be useful but there's
>>>> drawbacks you have to bear in mind when pushing it.
>>
>>> I don't really regard those as drawbacks.
>>
>>> Component cost is just the connector and four pullups, I guess it's
>>> $0.70.
>>
>> That 70 cents does rather add up once you start to ship in volume, even
>> a fraction of that would.
> 
> You did notice that you get to save money back from removing NAND and
> JTAG connectors?

A lot of times these are done as 'bed of nails' pads on the PCB so
hardly a bank breaker... Also, see PoP argument below.

> Due to the other advantages of SD Boot basis you can also expect to get
> your product to market quicker, spend less time in the factory, and have
> less returns all of which save money.

And as shown by the nook, make it really easy for your users to root the
thing without trying. You've been spoiled a bit by having an open design
to play with, not everyone likes their users messing with the hardware
once it has left the factory.

Also as another cost item, a lot of the newer cpus with PoP style memory
have some form of NAND/OneNAND built into the system already so adding
an extra SD card is often seen as a waste of extant storage.

> So I wouldn't let this notional $0.70 put you off.
> 
>>> Yeah you need to make the uSD connector accessible if you remove a
>>> cover, that's generally not hard.
>>
>> In some form factors.  In others it's very problematic.
> 
> Dunno how problematic it can be actually, unless you dunk your board in
> epoxy.  uSD connectors are very small footprint and low profile since
> they're widely used in consumer equipment like phones.  Since you only
> need access to it in a crisis due to bricking it, it's OK if you have to
> remove a cover or whatever.  Space shouldn't be an issue due to what it
> allows you to throw out from the board.  I'm sure there are special
> cases but I maintain "generally, that's not hard".

A lot of the time, the bigger manufacturers have enough money that a
commercial JTAG system makes sense, as not only can it program the board
but there are also connectivity checking systems that allow you to do
signal connectiivty testing and other such wonderfullnesses for you.

Smaller vendors tend to cobble together something using open-source
tools, etc.

>>> CPUs in the class where it is useful (ARM11+) all tend to have one
>>> or more SD peripheral unit on the CPU already, so that's for free.
>>
>> Assuming you've not used all the pins for something else, which is again
>> a problem for some classes of device.
> 
> Yeah it's true, if the mux arrangements conflict with other peripheral
> units you must have something's got to give.
> 
> But many chips have 2 or 3 SD units, mux arrangements that bring the
> same things to different pins.  In the case of SD interface, it's a
> given in context of phones where a lot of these chips go, so you tend
> not to find other IO on those balls that is critical and does not also
> appear on other ball muxes.  (It's only 6 balls anyway, it's not like a
> memory bus).  It seems you can typically expect you're going to be able
> to use SD unless you find a specific conflict because the chips are
> deliberately designed to enable SD usage in typical design.

and of course, a lot of modern mobile devices need SD for talking to
other devices, such as WLAN chips, external storage cards, etc. It can
soon take a toll on what is available.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet / SD Boot
  2010-01-04 16:26                             ` Ben Dooks
@ 2010-01-04 17:28                               ` Andy Green
  2010-01-04 17:40                                 ` Russell King - ARM Linux
  2010-01-04 18:49                                 ` Jamie Lokier
  0 siblings, 2 replies; 21+ messages in thread
From: Andy Green @ 2010-01-04 17:28 UTC (permalink / raw)
  To: linux-arm-kernel

On 01/04/10 16:26, Somebody in the thread at some point said:

Hi -

> Of course, with bed of nails type systems it is probably possible to
> allow the system to boot off what you like, NAND is easily ~18
> connections to the board, SD is of course less.

Yeah... all kinds of complex board bringup schemes are possible... 
but... are they wise?  It's special for the factory and special for the 
pcb revision.  It's extra cost and management.

For example Openmoko went your NAND bringup route and it was basically 
an intricate, complex Hell that few people understood and fewer, like 
zero, actually wanted to go to the factory with.  OpenOCD basis turned 
it into a lottery if even internal devs could work with it.

For smaller runs test jigs are popular, they have the same problem of 
requiring developer and design effort.

Often when I have this conversation, it mainly runs into the other guy 
having heard / decided that "real men" must have jigs / jtag / u-boot or 
whatever it is.  But actually, it can be a huge amount of dead weight 
around small to medium run development effort and it can be entirely 
optional to tie those stones around your neck.

Maybe you like sorting that out but I really prefer the SD Boot scheme 
where there is no factory bringup arrangement at all except the shipping 
rootfs with some bash scripts turning a board from the oven into a 
shipping device.

>>> That 70 cents does rather add up once you start to ship in volume, even
>>> a fraction of that would.
>>
>> You did notice that you get to save money back from removing NAND and
>> JTAG connectors?
>
> A lot of times these are done as 'bed of nails' pads on the PCB so
> hardly a bank breaker... Also, see PoP argument below.

You're referring to NAND programming here I assume.

Something has to be on the other end of those spring probes / jig and it 
has to be prepared / maintained / tested.  The burden does not end with 
the fact you made contact with some probes.  It's special for the 
factory and cannot be repeated by the user (or even the devs without 
grief).  If you make another run two years later and the guy who did the 
magic left, maybe the processing steps to turn an image into SVF is lost 
and suddenly the visit to the factory is a risk.

A better argument for that I have heard would be, "well, I have to 100% 
test connectivity on all my external ports, don't I, spring probes will 
solve it".  But this argument is also broken, you are not testing 
connector function that way.

If it's doable on the design, the optimal test strategy is often 
loopback plugs and selftest, although how far you can get with that 
depends on exactly what your device exports on the connectors.

>> Due to the other advantages of SD Boot basis you can also expect to get
>> your product to market quicker, spend less time in the factory, and have
>> less returns all of which save money.
>
> And as shown by the nook, make it really easy for your users to root the
> thing without trying. You've been spoiled a bit by having an open design
> to play with, not everyone likes their users messing with the hardware
> once it has left the factory.

No, that does not have to follow.

iMX31 has hard crypto chain of trust all the way from ROM, through SD 
bootloader being signed, which can then validate signatures of kernel 
and rootfs.  If you want it locked up and do true SD boot you can do it.

Further you are mistaken if you think having a NAND on a board is any 
impediment to getting / changing its contents to someone who wants to do 
that.  It makes it harder to change the contents without swapping the 
chip, but that's a double edge sword in debrickability terms when you 
only targeted a factory with a jig to be able to do that.

And modchip folks will tell you that once you have the rootfs, you stand 
a decent chance of finding something that may let you circumvent 
security and reflash it without NAND lifting.

You need a bit more of a story than you just put the same stuff in a 
NAND on your board and it's Fort Knox now.

> Also as another cost item, a lot of the newer cpus with PoP style memory
> have some form of NAND/OneNAND built into the system already so adding
> an extra SD card is often seen as a waste of extant storage.

Some do PoP and some don't; the mix of assets in the PoP is soft if you 
are a large vendor, so it's possible to just get DDR in there.  DDR is 
the thing where PoP actually delivers something, since it removed the 
board layout and verification burden.

>> So I wouldn't let this notional $0.70 put you off.
>>
>>>> Yeah you need to make the uSD connector accessible if you remove a
>>>> cover, that's generally not hard.
>>>
>>> In some form factors.  In others it's very problematic.
>>
>> Dunno how problematic it can be actually, unless you dunk your board in
>> epoxy.  uSD connectors are very small footprint and low profile since
>> they're widely used in consumer equipment like phones.  Since you only
>> need access to it in a crisis due to bricking it, it's OK if you have to
>> remove a cover or whatever.  Space shouldn't be an issue due to what it
>> allows you to throw out from the board.  I'm sure there are special
>> cases but I maintain "generally, that's not hard".
>
> A lot of the time, the bigger manufacturers have enough money that a
> commercial JTAG system makes sense, as not only can it program the board
> but there are also connectivity checking systems that allow you to do
> signal connectiivty testing and other such wonderfullnesses for you.

Yeah.  But many (most?) folks working on this stuff are trying to bring 
complex products to market with insufficient resources and pressed for 
time.  There isn't any internal test team.  What there is mainly is the 
choices that the developer will make as to how to come at production.

By smart choices about how to

  - boot

  - create the rootfs

  - test the device

the developers can eliminate several kinds of downstream steps that are 
currently considered unavoidable and get the optimal situation in 
previously dangerous areas like board bringup and rootfs maintainence.

>> But many chips have 2 or 3 SD units, mux arrangements that bring the
>> same things to different pins.  In the case of SD interface, it's a
>> given in context of phones where a lot of these chips go, so you tend
>> not to find other IO on those balls that is critical and does not also
>> appear on other ball muxes.  (It's only 6 balls anyway, it's not like a
>> memory bus).  It seems you can typically expect you're going to be able
>> to use SD unless you find a specific conflict because the chips are
>> deliberately designed to enable SD usage in typical design.
>
> and of course, a lot of modern mobile devices need SD for talking to
> other devices, such as WLAN chips, external storage cards, etc. It can
> soon take a toll on what is available.

Sure, if you need more SD units than the chip has, something's gonna 
have to give for sure.  But I look around and most things I see don't 
have 3 SDs used up.

The last few objections have basically been, "what if I can't use SD 
Boot for some reason?  Where is your God NOW???"

If you actually can't use it because you dip your board in epoxy; you 
need all the SD ports for something else; your CPU doesn't have SD boot; 
your customer thinks a NAND on a PCB is secure... then don't bother 
considering what you can't use and do something else :-)

Otherwise, you should study carefully the advantages you can get from 
true SD Boot in simplifying the hardware, software engineering and 
production / test / debrick.  It has pretty revolutionary benefits.

-Andy

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet / SD Boot
  2010-01-04 17:28                               ` Andy Green
@ 2010-01-04 17:40                                 ` Russell King - ARM Linux
  2010-01-04 18:09                                   ` Andy Green
  2010-01-04 18:49                                 ` Jamie Lokier
  1 sibling, 1 reply; 21+ messages in thread
From: Russell King - ARM Linux @ 2010-01-04 17:40 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Jan 04, 2010 at 05:28:37PM +0000, Andy Green wrote:
> Otherwise, you should study carefully the advantages you can get from  
> true SD Boot in simplifying the hardware, software engineering and  
> production / test / debrick.  It has pretty revolutionary benefits.

Look, it's very obvious from every one of your replies that you think
the sun shines out of your SD cards, it's superiour to whatever else
people are using, and that everyone should use it.

You have an answer for every argument to the contary.

Well, fine, you're entitled to that opinion.

Now can we stop discussing this and move on please.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet / SD Boot
  2010-01-04 17:40                                 ` Russell King - ARM Linux
@ 2010-01-04 18:09                                   ` Andy Green
  2010-01-05 14:17                                     ` Marc Zyngier
  0 siblings, 1 reply; 21+ messages in thread
From: Andy Green @ 2010-01-04 18:09 UTC (permalink / raw)
  To: linux-arm-kernel

On 01/04/10 17:40, Somebody in the thread at some point said:
> On Mon, Jan 04, 2010 at 05:28:37PM +0000, Andy Green wrote:
>> Otherwise, you should study carefully the advantages you can get from
>> true SD Boot in simplifying the hardware, software engineering and
>> production / test / debrick.  It has pretty revolutionary benefits.
>
> Look, it's very obvious from every one of your replies that you think
> the sun shines out of your SD cards, it's superiour to whatever else
> people are using, and that everyone should use it.
>
> You have an answer for every argument to the contrary.

Yeah, that's normally considered a good sign for a thesis.

> Well, fine, you're entitled to that opinion.
>
> Now can we stop discussing this and move on please.

Sure.

However if anyone else is interested in help setting up with it, feel 
free to contact me direct.

-Andy

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet / SD Boot
  2010-01-04 17:28                               ` Andy Green
  2010-01-04 17:40                                 ` Russell King - ARM Linux
@ 2010-01-04 18:49                                 ` Jamie Lokier
  1 sibling, 0 replies; 21+ messages in thread
From: Jamie Lokier @ 2010-01-04 18:49 UTC (permalink / raw)
  To: linux-arm-kernel

Fwiw:

1. 100% of CPUs I've used don't have SD boot.
2. I don't want to fiddle about with removing and replacing an SD card
   every time I change the kernel / bootloader.
   Give me a cable and computer!
3. It's good to have a debricking strategy, but even better if it's the
   same as or similar to the regular development strategy - better
   test coverage, less knowledge to get lost.
4. Thus hardware USB boot is surely best, and TFTP the next best :-)
5. JTAG board connectivity is sometimes done with Perl and parallel ports
   too; it's not reserved only for expensive dev packages.

-- Jamie

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Ethernet / SD Boot
  2010-01-04 18:09                                   ` Andy Green
@ 2010-01-05 14:17                                     ` Marc Zyngier
  0 siblings, 0 replies; 21+ messages in thread
From: Marc Zyngier @ 2010-01-05 14:17 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, 04 Jan 2010 18:09:26 +0000
Andy Green <andy@warmcat.com> wrote:

Hi Andy,

> However if anyone else is interested in help setting up with it, feel 
> free to contact me direct.

I was trying to access your Qi tree
(http://git.warmcat.com/cgi-bin/cgit/qi/), without any success (it
times out after a while...).

Is this intentional?

Thanks,

	M.
-- 
Fast. Cheap. Reliable. Pick two.

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2010-01-05 14:17 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-28 18:40 Ethernet in a cold climate / SMDK6410 Andy Green
2009-12-28 19:00 ` Mark Brown
2009-12-28 19:07   ` Andy Green
2009-12-28 19:22     ` Mark Brown
2009-12-28 19:45       ` Andy Green
2009-12-28 20:21         ` Mark Brown
2009-12-28 20:46           ` Andy Green
2009-12-28 22:44             ` Mark Brown
2009-12-29 10:04               ` Andy Green
2009-12-29 12:33                 ` Mark Brown
2009-12-29 12:50                   ` Andy Green
2009-12-30 13:16                     ` Mark Brown
2009-12-30 13:37                       ` Ethernet / SD Boot Andy Green
2009-12-31 12:27                         ` Mark Brown
2009-12-31 12:59                           ` Andy Green
2010-01-04 16:26                             ` Ben Dooks
2010-01-04 17:28                               ` Andy Green
2010-01-04 17:40                                 ` Russell King - ARM Linux
2010-01-04 18:09                                   ` Andy Green
2010-01-05 14:17                                     ` Marc Zyngier
2010-01-04 18:49                                 ` Jamie Lokier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).