linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* 8260 console problems
@ 2001-02-22  5:18 jtm
  2001-02-22  8:23 ` Wolfgang Denk
  0 siblings, 1 reply; 11+ messages in thread
From: jtm @ 2001-02-22  5:18 UTC (permalink / raw)
  To: linuxppc-embedded


I've been trying to get Linux going on an 8260 board (EST's SBC8260 eval
board to be exact) and I have ppcboot starting the kernel. ppcboot sets
up SMC1 at 9600 bps as its console, and when Linux starts up, it
starts running SMC1 at 115200 bps. How do I make Linux keep SMC1
at 9600 bps?

Then, the kernel prints out some stuff, and after the message:
	CPM UART is SMC1
    (The message is from memory, so it might not be exact.)

Output stops for a while, then I get garbage that looks like
it changed baud rates on me again. If I look in log_buf, I can
see that the kernel did continue up to the point where it starts
sending out BOOTP requests. I'm guessing that ouput stops while
the kernel is in rs_8xx_init(), which sets up the SMC.

Is there something that I should be doing that will fix
all of this? I'm using a plain 2.4.1 kernel (from ftp.kernel.org)
and my .config file is a copy of arch/ppc/configs/est8260_defconfig.

Thanks for any help

--
Jay Monkman	    The truth knocks on the door and you say "Go away, I'm
monkman@jump.net    looking for the truth," and so it goes away. Puzzling.
		     - from _Zen_and_the_Art_of_Motorcycle_Maintenance_

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

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

* Re: 8260 console problems
  2001-02-22  5:18 jtm
@ 2001-02-22  8:23 ` Wolfgang Denk
  2001-02-22 12:38   ` jtm
                     ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Wolfgang Denk @ 2001-02-22  8:23 UTC (permalink / raw)
  To: jtm; +Cc: linuxppc-embedded


In message <20010221231831.A19177@shamus.smoothsmoothie.com> Jay Monkman wrote:
>
> I've been trying to get Linux going on an 8260 board (EST's SBC8260 eval
> board to be exact) and I have ppcboot starting the kernel. ppcboot sets
> up SMC1 at 9600 bps as its console, and when Linux starts up, it
> starts running SMC1 at 115200 bps. How do I make Linux keep SMC1
> at 9600 bps?

It  seems  you  forgot  to  modify   the   "bd_info"   structure   in
"include/asm-ppc/est8260.h""  to  match  the  definition as passed by
PPCBoot.

Read the PPCBoot README, too.

Wolfgang Denk

--
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd@denx.de
No journaling file system can recover your data if the disk dies.
                                 - Steve Rago in <D4Cw1p.L9E@plc.com>

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

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

* Re: 8260 console problems
  2001-02-22  8:23 ` Wolfgang Denk
@ 2001-02-22 12:38   ` jtm
  2001-02-22 14:34   ` jtm
  2001-02-22 19:13   ` Dan Malek
  2 siblings, 0 replies; 11+ messages in thread
From: jtm @ 2001-02-22 12:38 UTC (permalink / raw)
  To: linuxppc-embedded


> It  seems  you  forgot  to  modify   the   "bd_info"   structure   in
> "include/asm-ppc/est8260.h""  to  match  the  definition as passed by
> PPCBoot.

I did modify it.

--
Jay Monkman	    The truth knocks on the door and you say "Go away, I'm
monkman@jump.net    looking for the truth," and so it goes away. Puzzling.
		     - from _Zen_and_the_Art_of_Motorcycle_Maintenance_

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

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

* Re: 8260 console problems
  2001-02-22  8:23 ` Wolfgang Denk
  2001-02-22 12:38   ` jtm
@ 2001-02-22 14:34   ` jtm
  2001-02-22 15:02     ` Wolfgang Denk
  2001-02-22 19:13   ` Dan Malek
  2 siblings, 1 reply; 11+ messages in thread
From: jtm @ 2001-02-22 14:34 UTC (permalink / raw)
  To: linuxppc-embedded


> It  seems  you  forgot  to  modify   the   "bd_info"   structure   in
> "include/asm-ppc/est8260.h""  to  match  the  definition as passed by
> PPCBoot.

You were right. I went back and checked, and I missed a line when
I copied from ppcboot.h to est8260.h.

Thanks.

--
Jay Monkman	    The truth knocks on the door and you say "Go away, I'm
monkman@jump.net    looking for the truth," and so it goes away. Puzzling.
		     - from _Zen_and_the_Art_of_Motorcycle_Maintenance_

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

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

* Re: 8260 console problems
  2001-02-22 14:34   ` jtm
@ 2001-02-22 15:02     ` Wolfgang Denk
  0 siblings, 0 replies; 11+ messages in thread
From: Wolfgang Denk @ 2001-02-22 15:02 UTC (permalink / raw)
  To: jtm; +Cc: linuxppc-embedded


In message <20010222083427.A21811@shamus.smoothsmoothie.com> you wrote:
>
> > It  seems  you  forgot  to  modify   the   "bd_info"   structure   in
> > "include/asm-ppc/est8260.h""  to  match  the  definition as passed by
> > PPCBoot.
>
> You were right. I went back and checked, and I missed a line when
> I copied from ppcboot.h to est8260.h.

So now it's working for you? Congrats!

Wolfgang Denk

--
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd@denx.de
In theory, there is no difference between  theory  and  practice.  In
practice, however, there is.

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

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

* Re: 8260 console problems
  2001-02-22  8:23 ` Wolfgang Denk
  2001-02-22 12:38   ` jtm
  2001-02-22 14:34   ` jtm
@ 2001-02-22 19:13   ` Dan Malek
  2001-02-22 19:24     ` Wolfgang Denk
  2001-02-22 20:42     ` jtm
  2 siblings, 2 replies; 11+ messages in thread
From: Dan Malek @ 2001-02-22 19:13 UTC (permalink / raw)
  To: Wolfgang Denk; +Cc: jtm, linuxppc-embedded


Wolfgang Denk wrote:

> It  seems  you  forgot  to  modify   the   "bd_info"   structure   in
> "include/asm-ppc/est8260.h""  to  match  the  definition as passed by
> PPCBoot.

...and you will have to modify arch/ppc/mbxboot/embed_config.c because
the 8260 may not expect a boot rom to hand it a bd_info.  I don't
remember how I left it......it may just fill in some hard coded values.


	-- Dan

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

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

* Re: 8260 console problems
  2001-02-22 19:13   ` Dan Malek
@ 2001-02-22 19:24     ` Wolfgang Denk
  2001-02-22 20:42     ` jtm
  1 sibling, 0 replies; 11+ messages in thread
From: Wolfgang Denk @ 2001-02-22 19:24 UTC (permalink / raw)
  To: Dan Malek; +Cc: jtm, linuxppc-embedded


In message <3A9564BC.D8C08CA5@mvista.com> Dan Malek wrote:
>
> > It  seems  you  forgot  to  modify   the   "bd_info"   structure   in
> > "include/asm-ppc/est8260.h""  to  match  the  definition as passed by
> > PPCBoot.
>
> ...and you will have to modify arch/ppc/mbxboot/embed_config.c because
> the 8260 may not expect a boot rom to hand it a bd_info.  I don't
> remember how I left it......it may just fill in some hard coded values.

I don't think so.

PPCBoot does not use _anything_ from the stuff in arch/ppc/mbxboot/

>From the PPCBoot point of view, all this stuff is obsolete.

Wolfgang Denk

--
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd@denx.de
Chapter 1 -- The story so  far:
In the beginning the Universe was created. This has  made  a  lot  of
people very angry and been widely regarded as a bad move.

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

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

* Re: 8260 console problems
  2001-02-22 19:13   ` Dan Malek
  2001-02-22 19:24     ` Wolfgang Denk
@ 2001-02-22 20:42     ` jtm
  1 sibling, 0 replies; 11+ messages in thread
From: jtm @ 2001-02-22 20:42 UTC (permalink / raw)
  To: linuxppc-embedded


On Thu, Feb 22, 2001 at 02:13:00PM -0500, Dan Malek wrote:
> ...and you will have to modify arch/ppc/mbxboot/embed_config.c because
> the 8260 may not expect a boot rom to hand it a bd_info.  I don't
> remember how I left it......it may just fill in some hard coded values.

I didn't have to do it. If this is the code you were talking about:
#if 0
        /* This is actually provided by my boot rom.  I have it
         * here for those people that may load the kernel with
         * a JTAG/COP tool and not the rom monitor.
         */
        bd->bi_baudrate = 115200;
        bd->bi_intfreq = 200;
        bd->bi_busfreq = 66;
        bd->bi_cpmfreq = 66;
        bd->bi_brgfreq = 33;
        bd->bi_memsize = 16 * 1024 * 1024;
#endif

It's ifdeffed out, as you can see.

Once I fixed my problem with the bd_info struct, it worked
great.


--
Jay Monkman	    The truth knocks on the door and you say "Go away, I'm
monkman@jump.net    looking for the truth," and so it goes away. Puzzling.
		     - from _Zen_and_the_Art_of_Motorcycle_Maintenance_

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

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

* Re: 8260 console problems
       [not found] <3A95783C.6618E177@mvista.com>
@ 2001-02-22 21:45 ` Wolfgang Denk
  0 siblings, 0 replies; 11+ messages in thread
From: Wolfgang Denk @ 2001-02-22 21:45 UTC (permalink / raw)
  To: Dan Malek; +Cc: jtm, linuxppc-embedded


In message <3A95783C.6618E177@mvista.com> Dan Malek wrote:
>
> > PPCBoot does not use _anything_ from the stuff in arch/ppc/mbxboot/
>
> I'm not sure that is such a good idea.......I'm assuming code from

IMHO the code in that directory is  things  that  shoud  be  done  by
firmware  in  the  frist  place.  In my experience, a lot significant
amount of work to get Linux running on a new board  dealt  with  that
stuff. This pain is gone since we use PPCBoot on all systems.

Why do I have to add another serial driver for a  console  interface,
when  the  firmware  already  has one? Why add uncompression code (to
each kernel image!) when we can have this in a central location -  in
the firmware. Etc. etc.

> that directory is run when I am writing low level kernel code.  You
> are going to constantly be updating PPCBoot, and finding that older

Ummm... Why don't _you_ switch to PPCBoot  then?  I  would  certainly
appreciate your halp there...

> versions aren't going to support new kernels.  That code has to be
> run, makes assumptions about the MMU and cache states upon entry,

Is there a good, urgent reason to _change_ the current state?

> and at most expects a bd_info structure from the boot rom.

Right now the "kernel interface" is pretty well  defined  (starts  at
address  0,  r3: ptr to bd_info, r4: start of initrd or 0, r5: end of
initrd, r6: start of command line, r7: end of command line). What are
you going to change, and why?

Wolfgang Denk

--
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd@denx.de
The light at the end of the tunnel is usually a "No Exit" sign.

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

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

* Re: 8260 console problems
       [not found] <3A95A5F8.DF6FB60B@mvista.com>
@ 2001-02-23  1:18 ` Wolfgang Denk
  2001-02-23 12:10 ` Murray Jensen
  1 sibling, 0 replies; 11+ messages in thread
From: Wolfgang Denk @ 2001-02-23  1:18 UTC (permalink / raw)
  To: Dan Malek; +Cc: linuxppc-embedded


In message <3A95A5F8.DF6FB60B@mvista.com> you wrote:
>
> The code in the mbxboot directory is also used by (many) people
> that flash the kernel and initrd into rom.  One of the nice things
> about this code is you can boot an image over a network for testing,
> and then flash the identical compressed bits when you get it working.

Yes, that's what we do with PPCBoot, too. You don't need the  mbxboot
stuff for this.

> > Is there a good, urgent reason to _change_ the current state?
>
> When I get a chance to step back and take a breath from the recent
> set of merges (yours are in the pipeline now :-), the bd_info stuff
> is going to disappear and follow the new boot record method used by
> other PPC booters.  That is the first major step to removing the whole
> variety of different boot loaders.

Seems I'm missing a bit of information here. Which "new  boot  record
method"  are you talking about? Where are things like this discussed?
Is there any documentation available?


> > Right now the "kernel interface" is pretty well  defined  (starts  at
> > address  0,  r3: ptr to bd_info, r4: start of initrd or 0, r5: end of
> > initrd, r6: start of command line, r7: end of command line). What are
> > you going to change, and why?
>
> No one but 8xx uses that calling convention anymore.  To standardize

Really? Isn't this still in use on 4xx, 8xx, and  PREP?  Ummm...  I'm
talking about 2.4.0 here; has this been changed sice?

> new boot record method.  Regardless of how a board and boot rom store
> and provide information, the code in the "boot" directory collects
> this into a standard format and presents it to the kernel.

That's OK for all those boards that come with  any  usable  firmware;
some  others  will be using PPCBoot, and it is our intention that you
don't need any additional "glue" layer when booting with PPCBoot.

Wolfgang Denk

--
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd@denx.de
Remember that Beethoven wrote his first symphony in C ...

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

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

* Re: 8260 console problems
       [not found] <3A95A5F8.DF6FB60B@mvista.com>
  2001-02-23  1:18 ` 8260 console problems Wolfgang Denk
@ 2001-02-23 12:10 ` Murray Jensen
  1 sibling, 0 replies; 11+ messages in thread
From: Murray Jensen @ 2001-02-23 12:10 UTC (permalink / raw)
  To: Dan Malek; +Cc: Wolfgang Denk, jtm, linuxppc-embedded


On Thu, 22 Feb 2001 18:51:20 -0500, Dan Malek <dan@mvista.com> writes:
>...the bd_info stuff
>is going to disappear and follow the new boot record method used by
>other PPC booters.  That is the first major step to removing the whole
>variety of different boot loaders.

I support this, as long as the "new boot record method" is documented
somewhere so that we can make ppcboot conform to it.

>...The serial port goes through no less than three
>different initializations (on the 8xx/8260) as new "layers" of software
>are brought up.  In order for KGDB to work early in the kernel code,
>the mbxboot/*tty.c functions create deep fifos and initialize the serial
>port in a way that the early kernel functions understand.

Isn't the "deep fifos" stuff done by "kgdb_map_scc()" as well?

>You will
>have to do the same thing in PPCBoot before calling the kernel for
>this to work.

This appears to work fine with ppcboot already, at least with my 8260
based system and the changes to the 8260 serial driver that I posted
not that long ago (which adds support for kgdb, among other things).
ppcboot uses single byte fifos. kgdb_map_scc() replaces these with
"deep fifos".

>Regardless of how a board and boot rom store
>and provide information, the code in the "boot" directory collects
>this into a standard format and presents it to the kernel.

OK, this is fine, I support this - as long as this "standard format" is
clearly defined somewhere (I suppose it will be simple enough to read the
code) so that ppcboot can implement it and do the same "presentation" to
the kernel, thus by-passing the "boot" directory code. If it is a well
known standard, then maybe over time all ppc boot code from all manufacturers
will implement it ("We support Linux"). And if it is the same as a lot of
existing boot loaders use (as you suggest above), all the better because
this will mean they support Linux without any work.

One thing that concerns me... Will the "new boot record method" be flexible
and allow any sort of information to be passed through to Linux, for any part
of Linux, not just the boot phase? For example, I might have a loadable module
which requires information from the low level boot code, information which the
boot phase of Linux doesn't care about. i.e. the structure and content of this
"new boot record method" should not be fixed. It should be "extensible".

Real life example required... Our boards will all have an i2c serial eeprom,
the contents of which will be read by the boot rom code, and possibly
changed and/or re-formatted. I want to pass this information via the "new
boot record method" up to Linux, which saves it somewhere for use by a
loadable module (or modules). I currently place the info into the board
information struct that ppcboot passes to Linux (it is, after all, board
information :-). If I don't do it this way, then I will have to write code
for Linux to do it (either at boot time, or in the init of the loadable
module(s)) which is a duplication.

It boils down to this: some things belong in the boot code, and some things
belong in Linux (a good example is configuring the memory controller for
accessing SDRAM, vs configuring the MMU for accessing virtual memory). Once
you decide that something belongs in the boot code, then a mechanism is
required to communicate information about that "thing" up to Linux (another
good example is the location of the Internal Memory Map - I am currently
running my 8260 kernel with IMAP_ADDR defined as ((bd_t *)__res)->bi_immr_base).

I see the stuff in the "boot" directory in Linux as simply "glue" between the
real boot code and Linux. It should be kept as small and as simple as possible.
And boot code that conforms to the "standard boot record method", won't
need the "glue".

Is anything I've said above in conflict with what you had in mind? Cheers!
								Murray...
--
Murray Jensen, CSIRO Manufacturing Sci & Tech,         Phone: +61 3 9662 7763
Locked Bag No. 9, Preston, Vic, 3072, Australia.         Fax: +61 3 9662 7853
Internet: Murray.Jensen@cmst.csiro.au  (old address was mjj@mlb.dmt.csiro.au)

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

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

end of thread, other threads:[~2001-02-23 12:10 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <3A95A5F8.DF6FB60B@mvista.com>
2001-02-23  1:18 ` 8260 console problems Wolfgang Denk
2001-02-23 12:10 ` Murray Jensen
     [not found] <3A95783C.6618E177@mvista.com>
2001-02-22 21:45 ` Wolfgang Denk
2001-02-22  5:18 jtm
2001-02-22  8:23 ` Wolfgang Denk
2001-02-22 12:38   ` jtm
2001-02-22 14:34   ` jtm
2001-02-22 15:02     ` Wolfgang Denk
2001-02-22 19:13   ` Dan Malek
2001-02-22 19:24     ` Wolfgang Denk
2001-02-22 20:42     ` jtm

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).