linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* MPC7410 doesn't work with linux-2.4.20-denx
@ 2003-08-14 11:28 Christian Meyer
  2003-08-15  8:42 ` Wolfgang Denk
  0 siblings, 1 reply; 7+ messages in thread
From: Christian Meyer @ 2003-08-14 11:28 UTC (permalink / raw)
  To: linuxppc-embedded


Hello!

I'm currently trying to get linux running on an embedded board:
	* MPC7410 Rev.1.4
	* PowerQUICC (MPC 8260)
	* RAM: 128 MB
	* Flash: 64 MB
	* Kernel: 2.4.20-denx

For some reason, it doesn't boot properly. It says "Now booting Linux",
after that something triggers a hard reset. For the last 2 weeks I tried
to debug (using the hardware debugger BDI2000) the kernel and more or
less found out where the problem might be located.

start_here() (arch/ppc/kernel/head.S) calls call_setup_cpu()
(arch/ppc/kernel/misc.S), machine_init() (arch/ppc/kernel/setup.c),
MMU_init() (arch/ppc/mm/init.c) and load_up_mmu()
(arch/ppc/kernel/head.S). call_setup_cpu() and machine_init() seem to
be fine; MMU_init() calls MMU_init_hw() and mapin_ram(). As far as I
can tell, that's the point where the board initiates a hard reset. I
don't know why it does that and I also don't know any solution to solve
that problem. It seems like either the MMU isn't correctly initialized
or there's a problem with the L2 cache. Motorola says, that the MPC7410
is compatible to the MPC75x; regarding my current problem it looks like
that there's a difference somewhere.

Maybe you know a solution for the problem or have an idea how to find
out what's wrong.

Thanks in advance,
--
Christian Meyer

Technische Universität München
E-Mail: Christian.Meyer@cs.tum.edu
UIN: 72107443
AIM: chrisime
Jabber: chrisime@charente.de

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

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

* Re: MPC7410 doesn't work with linux-2.4.20-denx
  2003-08-14 11:28 MPC7410 doesn't work with linux-2.4.20-denx Christian Meyer
@ 2003-08-15  8:42 ` Wolfgang Denk
  2003-08-15 18:00   ` Ron Bianco
  2003-08-19 11:24   ` problems on building linux kernel John Zhou
  0 siblings, 2 replies; 7+ messages in thread
From: Wolfgang Denk @ 2003-08-15  8:42 UTC (permalink / raw)
  To: Christian Meyer; +Cc: linuxppc-embedded


Dear Christian,

in message <200308141128.h7EBSnQ06089@mailgate5.cinetic.de> you wrote:
>
> I'm currently trying to get linux running on an embedded board:
> 	* MPC7410 Rev.1.4
> 	* PowerQUICC (MPC 8260)
> 	* RAM: 128 MB
> 	* Flash: 64 MB
> 	* Kernel: 2.4.20-denx
>
> For some reason, it doesn't boot properly. It says "Now booting Linux",
> after that something triggers a hard reset. For the last 2 weeks I tried

A couple of questions:

* Which bootloader are you using?
* Are you sure that the SDRAM initialization is correct?
* Are you sure the information passed from the bootloader to the Linux
  kernel (memory size, clocks, ...) is correct?
* Finally: did you disable the software watchdog?


Best regards,

Wolfgang Denk

--
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd@denx.de
If you fail to plan, plan to fail.

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

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

* RE: MPC7410 doesn't work with linux-2.4.20-denx
  2003-08-15  8:42 ` Wolfgang Denk
@ 2003-08-15 18:00   ` Ron Bianco
  2003-08-15 19:21     ` Wolfgang Denk
  2003-08-19 11:24   ` problems on building linux kernel John Zhou
  1 sibling, 1 reply; 7+ messages in thread
From: Ron Bianco @ 2003-08-15 18:00 UTC (permalink / raw)
  To: linuxppc-embedded


I'm curious as to what an MPC8260 is doing on a board based on an MPC7410?
Is this a dual processor board?

Ron

>
> Dear Christian,
>
> in message <200308141128.h7EBSnQ06089@mailgate5.cinetic.de> you wrote:
> >
> > I'm currently trying to get linux running on an embedded board:
> > 	* MPC7410 Rev.1.4
> > 	* PowerQUICC (MPC 8260)
> > 	* RAM: 128 MB
> > 	* Flash: 64 MB
> > 	* Kernel: 2.4.20-denx
> >
> > For some reason, it doesn't boot properly. It says "Now booting Linux",
> > after that something triggers a hard reset. For the last 2 weeks I tried
>
> A couple of questions:
>
> * Which bootloader are you using?
> * Are you sure that the SDRAM initialization is correct?
> * Are you sure the information passed from the bootloader to the Linux
>   kernel (memory size, clocks, ...) is correct?
> * Finally: did you disable the software watchdog?
>
>
> Best regards,
>
> Wolfgang Denk
>
> --
> Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
> Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd@denx.de
> If you fail to plan, plan to fail.
>
>

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

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

* Re: MPC7410 doesn't work with linux-2.4.20-denx
  2003-08-15 18:00   ` Ron Bianco
@ 2003-08-15 19:21     ` Wolfgang Denk
  0 siblings, 0 replies; 7+ messages in thread
From: Wolfgang Denk @ 2003-08-15 19:21 UTC (permalink / raw)
  To: Ron Bianco; +Cc: linuxppc-embedded


In message <000301c36357$240d93c0$4d00a8c0@warp-speed> you wrote:
>
> I'm curious as to what an MPC8260 is doing on a board based on an MPC7410?
> Is this a dual processor board?

I guess the CPU core of the 8260 is disabled, and they use it as  I/O
processor only. It provides a lot of nice communication features ...

Best regards,

Wolfgang Denk

--
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd@denx.de
Pain is a thing of the mind.  The mind can be controlled.
	-- Spock, "Operation -- Annihilate!" stardate 3287.2

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

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

* problems on building linux kernel
  2003-08-15  8:42 ` Wolfgang Denk
  2003-08-15 18:00   ` Ron Bianco
@ 2003-08-19 11:24   ` John Zhou
  2003-08-19 11:55     ` Dan Kegel
  1 sibling, 1 reply; 7+ messages in thread
From: John Zhou @ 2003-08-19 11:24 UTC (permalink / raw)
  To: linuxppc-embedded


Dear All,

I met a problem as following when I'm building linux kernel image. Does anyboday give me some advics or comments?

Thanks in advance!
=========================================================================

root@localhost linux-2.4.1]# make vmmage
ppc-linux-gcc -D__KERNEL__ -I/opt/Embedix/home/abc/project/ppcTest/build/rpmdir/BUILD/linux-2.4.1/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -D__powerpc__ -fsigned-char -msoft-float -pipe -ffixed-r2 -Wno-uninitialized -mmultiple -mstring -Wa,-mppc64bridge -I/opt/Embedix/home/abc/project/ppcTest/build/rpmdir/BUILD/linux-2.4.1/include -I/opt/Embedix/home/abc/project/ppcTest/build/rpmdir/BUILD/linux-2.4.1/include/asm-ppc/ -I/opt/Embedix/home/abc/project/ppcTest/build/rpmdir/BUILD/linux-2.4.1/include/linux   -c -o init/main.o init/main.c
Assembler messages:
Error: Internal assembler error for instruction bdnzlr-
Error: Internal assembler error for instruction bdnzlr+
Error: Internal assembler error for instruction bdnzlrl-
Error: Internal assembler error for instruction bdnzlrl+
Error: Internal assembler error for instruction bdzlr-
Error: Internal assembler error for instruction bnulrl+
Error: Internal assembler error for instruction btlr-
Error: Internal assembler error for instruction btlr+
Error: Internal assembler error for instruction btlrl-
Error: Internal assembler error for instruction btlrl+
Error: Internal assembler error for instruction bflr-
Error: Internal assembler error for instruction bflr+
Error: Internal assembler error for instruction bflrl-
Error: Internal assembler error for instruction bflrl+
Error: Internal assembler error for instruction bltctr-
Error: Internal assembler error for instruction bltctr+
Error: Internal assembler error for instruction bltctrl-
Error: Internal assembler error for instruction bltctrl+
Error: Internal assembler error for instruction bngctrl+
Error: Internal assembler error for instruction bnectr-
Error: Internal assembler error for instruction bfctrl-
Error: Internal assembler error for instruction bfctrl+
Internal error, aborting at ../../gas/config/tc-ppc.c line 1309 in md_begin
Please report this bug.
init/main.c:283: Internal compiler error:
init/main.c:283: output pipe has been closed
cpp0: output pipe has been closed
make: *** [init/main.o] Error 1
[root@localhost linux-2.4.1]#

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

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

* Re: problems on building linux kernel
  2003-08-19 11:24   ` problems on building linux kernel John Zhou
@ 2003-08-19 11:55     ` Dan Kegel
  0 siblings, 0 replies; 7+ messages in thread
From: Dan Kegel @ 2003-08-19 11:55 UTC (permalink / raw)
  To: zjzhou; +Cc: linuxppc-embedded


John Zhou wrote:
> ppc-linux-gcc -D__KERNEL__ -I/opt/Embedix/home/abc/project/ppcTest/build/rpmdir/BUILD/linux-2.4.1/include ...
> Error: Internal assembler error for instruction bdnzlr- ...
> Error: Internal assembler error for instruction bfctrl+
> Internal error, aborting at ../../gas/config/tc-ppc.c line 1309 in md_begin

Looks like the error reported in
http://sources.redhat.com/ml/binutils/2002-02/msg00500.html
which was presumably fixed in binutils-2.12.
Where'd you get your compiler?
If you have a supported copy of Embedix, contact the vendor...
Otherwise, you might try upgrading to newer binutils on your own.
- Dan

--
Dan Kegel
http://www.kegel.com
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045


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

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

* MPC7410 doesn't work with linux-2.4.20-denx
@ 2003-10-01 13:50 Arun Dharankar
  0 siblings, 0 replies; 7+ messages in thread
From: Arun Dharankar @ 2003-10-01 13:50 UTC (permalink / raw)
  To: linuxppc-embedded, Christian Meyer


One problem I faced when using 2.4.18, 2.4.19 and
2.4.20 with 7410/8260 with 8260 core disabled can be
described as follows. I have not checked the 2.4.20-denx
code base, and  better solution for this problem may
be there - that is if this is indeed the same problem
you are facing.


The tlbie instruction whenexecuted on 7410 sends out
a transaction on the bus with type (0x18 if I remember
it correctly). There is no response to this if the address
which goes out with this transaction type does not
fall into any device's chip selects.

So, when Linux is booting up, at some point it sends
out TT 0x18 for the virtual addresses it wants to clear
the TLB entries for. Since there is no response, the
8260 has a bus timeout (if I remember correctly), and
the board is reset.


The solution that works for me is to change the places
where tlbie is called such that the address passed on
to the tlbie instruction has all bits cleared except those
in bits 14 through 23. I dont remember this for sure - you
can see the 7410 manual section where tblie is
described - the bit range is described (although it does
not mention this explicitly).

One of the places:
- in misc.S where _tlbie macro is defined, add the following
  before the isync.
    lis    r0, 0x3F000@h
    ori    r0, r0, 0x3F000@l
    and    r3, r3, r0

- in hashtable.S before the tlbie instruction add the following:
    lis    r6, 0x3F000@h
    ori    r6, r6, 0x3F000@l
    and    r4, r4, r6

- ppc_asm.h, change the code to not use KERN_BASE,
  instead use "0".


Just make sure that with the code base you are using you
do not clobber the registers I have chosen i the misc.S and
hashtable.S.


These changes work ok with the same kernel binary if I
were to use it with 750/755 instead of 7410. Also, it works
if I were to use it with only 8250, 8260 and 8270.


Hope this helps.
Best regards,
-Arun.


-------------------------------------------------------------------------------------------------------------
in message <200308141128.h7EBSnQ06089@mailgate5.cinetic.de> you wrote:
Date: Thu, 14 Aug 2003 13:28:50 +0200

 Hello!

 I'm currently trying to get linux running on an embedded board:
 * MPC7410 Rev.1.4
 * PowerQUICC (MPC 8260)
 * RAM: 128 MB
 * Flash: 64 MB
 * Kernel: 2.4.20-denx

 For some reason, it doesn't boot properly. It says "Now booting Linux",
 after that something triggers a hard reset. For the last 2 weeks I tried
 to debug (using the hardware debugger BDI2000) the kernel and more or
 less found out where the problem might be located.

 start_here() (arch/ppc/kernel/head.S) calls call_setup_cpu()
 (arch/ppc/kernel/misc.S), machine_init() (arch/ppc/kernel/setup.c),
 MMU_init() (arch/ppc/mm/init.c) and load_up_mmu()
 (arch/ppc/kernel/head.S). call_setup_cpu() and machine_init() seem to
 be fine; MMU_init() calls MMU_init_hw() and mapin_ram(). As far as I
 can tell, that's the point where the board initiates a hard reset. I
 don't know why it does that and I also don't know any solution to solve
 that problem. It seems like either the MMU isn't correctly initialized
 or there's a problem with the L2 cache. Motorola says, that the MPC7410
 is compatible to the MPC75x; regarding my current problem it looks like
 that there's a difference somewhere.

 Maybe you know a solution for the problem or have an idea how to find
 out what's wrong.

 Thanks in advance,
 --
 Christian Meyer

 Technische Universit� Mnchen
 E-Mail: Christian.Meyer@cs.tum.edu
 UIN: 72107443
 AIM: chrisime
 Jabber: chrisime@charente.de


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

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

end of thread, other threads:[~2003-10-01 13:50 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-08-14 11:28 MPC7410 doesn't work with linux-2.4.20-denx Christian Meyer
2003-08-15  8:42 ` Wolfgang Denk
2003-08-15 18:00   ` Ron Bianco
2003-08-15 19:21     ` Wolfgang Denk
2003-08-19 11:24   ` problems on building linux kernel John Zhou
2003-08-19 11:55     ` Dan Kegel
  -- strict thread matches above, loose matches on Subject: below --
2003-10-01 13:50 MPC7410 doesn't work with linux-2.4.20-denx Arun Dharankar

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