LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* RE: boot failure on lite5200b board
From: tnt @ 2006-02-23 10:08 UTC (permalink / raw)
  To: #LI JIANGGAN#; +Cc: #WONG CHEE KHIN#, linuxppc-embedded
In-Reply-To: <84A109BF918D934CB46ACF33BCE187C002D54D7A@mail02.student.main.ntu.edu. sg>

> Thank you José María and Andrey for your advices, however the problem
> remains. I've tried setting the console (though I remember that our
> previous lite5200 board was working fine on kernel 2.4 without setting the
> console); meantime,

In 2.4 you didn't need to set the console. On 2.6 we don't use the
standard ttyS0 naming for the PSC because it causes conflict when another
serial card was inserted (in a pcmcia slot for ex.).


> I've set the booting image to 0x500000; I have also
> tried using the kernel image come together with the BSP, it's always the
> same error.

> Load address: 0x100000
In the log you sent, you still use a low load address ...

> Sylvain, I've actually using your kernel source, the compiled image is
> around 700k (compared to the 1.4M image from the BSP), but it doesn't
> solve the problem. So I presume that the problem is lying somewhere else.

Do you have a hardware debugger to see where it's stopping ?
I'm at work right now, but I'll have a look when I get home.


    Sylvain

^ permalink raw reply

* RE: boot failure on lite5200b board
From: #LI JIANGGAN# @ 2006-02-23 10:13 UTC (permalink / raw)
  To: Sylvain Munaut, linuxppc-embedded; +Cc: #WONG CHEE KHIN#
In-Reply-To: <43FD6669.9090405@246tNt.com>

[-- Attachment #1: Type: text/plain, Size: 3026 bytes --]

Thank you José María and Andrey for your advices, however the problem remains. I've tried setting the console (though I remember that our previous lite5200 board was working fine on kernel 2.4 without setting the console); meantime, I've set the booting image to 0x500000; I have also tried using the kernel image come together with the BSP, it's always the same error.

Sylvain, I've actually using your kernel source, the compiled image is around 700k (compared to the 1.4M image from the BSP), but it doesn't solve the problem. So I presume that the problem is lying somewhere else.

A SNAPSHOT OF THE BOOTING MESSAGES:

U-Boot 1.1.3 (Feb  6 2006 - 09:56:46)

CPU:   MPC5200 v2.2 at 462 MHz
       Bus 132 MHz, IPB 132 MHz, PCI 33 MHz
Board: Freescale MPC5200 (Lite5200B)
I2C:   85 kHz, ready
DRAM:  256 MB
FLASH: 32 MB
PCI:   Bus Dev VenId DevId Class Int
        00  1a  1057  5809  0680  00
In:    serial
Out:   serial
Err:   serial
Net:   FEC ETHERNET
IDE:   Bus 0: OK
  Device 0: not available
  Device 1: not available

Autostarting. Press any key to abort..

Hit any key to stop autoboot:  0
Using FEC ETHERNET device
TFTP from server 10.190.3.103; our IP address is 10.190.3.144
Filename 'MPC5200/uImage'.
Load address: 0x100000
Loading: #################################################################
         ################################################################
done
Bytes transferred = 658114 (a0ac2 hex)
## Booting image at 00100000 ...
   Image Name:   Linux-2.6.16-rc1
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    658050 Bytes = 642.6 kB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
id mach(): done
MMU:enter
MMU:hw init
MMU:mapin
MMU:setio
MMU:exit
setup_arch: enter
setup_arch: bootmem
arch: exit


I am wondering whether it's a kernel problem or more likely to be a problem lying with the U-boot. It seems to hang when executing setup_arch() function, or maybe there is sth else behind the wall?

Regards,
Jianggan LI




-----Original Message-----
From: Sylvain Munaut [mailto:tnt@246tNt.com]
Sent: Thu 2/23/2006 15:38
To: #LI JIANGGAN#
Cc: linuxppc-embedded@ozlabs.org
Subject: Re: boot failure on lite5200b board
 
#LI JIANGGAN# wrote:
> Hello all,
> 
> For my end-of-study project, I am working on an embedded system with
> reference of freescale's lite5200b reference board. I was trying to boot
> Linux 2.6.15 on the board (with the fec and bestcomm corrected). however
> the booting was stuck at the following stage:

In addition to what has already been said (use a higher address for the
image and don't forget console=ttyPSC0 in kernel command line), make
sure you use the kernel from my git tree, it contains a few patches from
John Rigby to add support for the lite5200b.

Please report if it works, I've not been able to test those myself since
i'm still on lite5200.


	Sylvain




[-- Attachment #2: Type: text/html, Size: 4207 bytes --]

^ permalink raw reply

* Re: boot failure on lite5200b board
From: Sylvain Munaut @ 2006-02-23  7:38 UTC (permalink / raw)
  To: #LI JIANGGAN#; +Cc: linuxppc-embedded
In-Reply-To: <84A109BF918D934CB46ACF33BCE187C002D54D71@mail02.student.main.ntu.edu.sg>

#LI JIANGGAN# wrote:
> Hello all,
> 
> For my end-of-study project, I am working on an embedded system with
> reference of freescale's lite5200b reference board. I was trying to boot
> Linux 2.6.15 on the board (with the fec and bestcomm corrected). however
> the booting was stuck at the following stage:

In addition to what has already been said (use a higher address for the
image and don't forget console=ttyPSC0 in kernel command line), make
sure you use the kernel from my git tree, it contains a few patches from
John Rigby to add support for the lite5200b.

Please report if it works, I've not been able to test those myself since
i'm still on lite5200.


	Sylvain

^ permalink raw reply

* Re: PowerPC: Sleeping function called from invalid context at emulate_instruction()
From: Kumar Gala @ 2006-02-23  4:22 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: linuxppc-dev list, Linux Kernel, Michael Buesch
In-Reply-To: <200602222129.31700.mbuesch@freenet.de>


On Feb 22, 2006, at 2:29 PM, Michael Buesch wrote:

> Hi,
>
> On a powerPC 32bit, I got the following debugging assertion failure:
>
> [  733.209827] Debug: sleeping function called from invalid context  
> at arch/powerpc/kernel/traps.c:697
> [  733.210682] in_atomic():0, irqs_disabled():1
> [  733.211347] Call Trace:
> [  733.211969] [D6023EB0] [C0007F84] show_stack+0x58/0x174  
> (unreliable)
> [  733.212765] [D6023EE0] [C0022C34] __might_sleep+0xbc/0xd0
> [  733.213523] [D6023EF0] [C000D158] program_check_exception 
> +0x1d8/0x4fc
> [  733.214309] [D6023F40] [C000E744] ret_from_except_full+0x0/0x4c
> [  733.215076] --- Exception: 700 at 0x102a7100
> [  733.215785]     LR = 0xdb9ef04
>
> It is caused by the line
> if (get_user(instword, (u32 __user *)(regs->nip)))
> in arch/powerpc/kernel/traps.c:emulate_instruction()
>
> I am not sure, if this is an indication for a bug, or just false  
> alarm.
> In case of false alarm, the debugging message should be made quiet
> somehow, though.

Paul,

Last time this was brought up we left it wondering why you had made  
program_check_exception() run with interrupts disabled.  Any further  
ideas on that one?

- kumar

^ permalink raw reply

* Re: [PATCH] ppc32: handle Book E debug exceptions on kernel stack
From: Kumar Gala @ 2006-02-23  4:19 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: David Gibson, linuxppc-embedded
In-Reply-To: <20060214190700.GB17822@xyzzy.farnsworth.org>

On Tue, 14 Feb 2006, Dale Farnsworth wrote:

> From: Dale Farnsworth <dale@farnsworth.org>
> 
> On PPC Book E processsors, we currently handle debug
> exceptions on the critical exception stack (debug stack
> for E200).  This causes problems with the kgdb single
> step handler, which calls smp_processor_id() and spin_lock(),
> which reference current_thread_info(), which only works when
> we are on the kernel stack.
> 
> We address this by switching to the kernel stack early while
> handling debug exceptions.  Note that the entry values of r10
> and r11 are still saved on the critical exception (or debug) stack.
> 
> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
> 

Paul,

We were wondering if you or David remember why a specific critical
exception stack was added in the 40x port from 2.4 to 2.6?

- kumar

> ---
> 
> This is low level code and needs careful review.
> I've only tested it on mpc8548cds.
> 
> I didn't find the corresponding code in arch/powerpc,
> so I assume Book E support hasn't been merged yet.
> 
>  arch/ppc/kernel/head_booke.h |   15 +++++++++------
>  1 file changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/ppc/kernel/head_booke.h b/arch/ppc/kernel/head_booke.h
> index f3d274c..a5eec51 100644
> --- a/arch/ppc/kernel/head_booke.h
> +++ b/arch/ppc/kernel/head_booke.h
> @@ -92,7 +92,8 @@
>   * registers as the normal prolog above. Instead we use a portion of the
>   * critical/machine check exception stack at low physical addresses.
>   */
> -#define EXC_LEVEL_EXCEPTION_PROLOG(exc_level, exc_level_srr0, exc_level_srr1) \
> +#define EXC_LEVEL_EXCEPTION_PROLOG(exc_level, exc_level_srr0,		     \
> +				   exc_level_srr1, kernel_sp_reg)	     \
>  	mtspr	exc_level##_SPRG,r8;					     \
>  	BOOKE_LOAD_EXC_LEVEL_STACK(exc_level);/* r8 points to the exc_level stack*/ \
>  	stw	r10,GPR10-INT_FRAME_SIZE(r8);				     \
> @@ -100,7 +101,7 @@
>  	mfcr	r10;			/* save CR in r10 for now	   */\
>  	mfspr	r11,exc_level_srr1;	/* check whether user or kernel    */\
>  	andi.	r11,r11,MSR_PR;						     \
> -	mr	r11,r8;							     \
> +	mr	r11,kernel_sp_reg;					     \
>  	mfspr	r8,exc_level##_SPRG;					     \
>  	beq	1f;							     \
>  	/* COMING FROM USER MODE */					     \
> @@ -128,11 +129,13 @@
>  	SAVE_2GPRS(7, r11)
>  
>  #define CRITICAL_EXCEPTION_PROLOG \
> -		EXC_LEVEL_EXCEPTION_PROLOG(CRIT, SPRN_CSRR0, SPRN_CSRR1)
> +		EXC_LEVEL_EXCEPTION_PROLOG(CRIT, SPRN_CSRR0, SPRN_CSRR1, r8)
> +#define CRITICAL_EXCEPTION_ON_KERNEL_STACK_PROLOG \
> +		EXC_LEVEL_EXCEPTION_PROLOG(CRIT, SPRN_CSRR0, SPRN_CSRR1, r1)
>  #define DEBUG_EXCEPTION_PROLOG \
> -		EXC_LEVEL_EXCEPTION_PROLOG(DEBUG, SPRN_DSRR0, SPRN_DSRR1)
> +		EXC_LEVEL_EXCEPTION_PROLOG(DEBUG, SPRN_DSRR0, SPRN_DSRR1, r1)
>  #define MCHECK_EXCEPTION_PROLOG \
> -		EXC_LEVEL_EXCEPTION_PROLOG(MCHECK, SPRN_MCSRR0, SPRN_MCSRR1)
> +		EXC_LEVEL_EXCEPTION_PROLOG(MCHECK, SPRN_MCSRR0, SPRN_MCSRR1, r8)
>  
>  /*
>   * Exception vectors.
> @@ -268,7 +271,7 @@ label:
>  #else
>  #define DEBUG_EXCEPTION							      \
>  	START_EXCEPTION(Debug);						      \
> -	CRITICAL_EXCEPTION_PROLOG;					      \
> +	CRITICAL_EXCEPTION_ON_KERNEL_STACK_PROLOG;			      \
>  									      \
>  	/*								      \
>  	 * If there is a single step or branch-taken exception in an	      \
> 

^ permalink raw reply

* Re: u-boot 1.1.4 using two fecs
From: Stefan Roese @ 2006-02-22 18:01 UTC (permalink / raw)
  To: linuxppc-embedded
In-Reply-To: <IV3O7I$AE8FCD5B4D0B827DBEFFF524E0D45F85@libero.it>

Hi Antonio,

On Wednesday, 22. February 2006 18:50, dibacco@inwind.it wrote:
> Is it possible in your opinion to use both the fecs on a board in the
> u-boot? I read something saying only one can be the active one.

a) You're on the wrong list. Please ask again on the U-Boot list

b) What hardware (CPU, board, etc) are you referring to? A lot of
   Frescale CPU's have FEC's. So please be more specific when asking
   on the U-Boot list.

Best regards,
Stefan

^ permalink raw reply

* Re: u-boot 1.1.4 using two fecs
From: Dan Malek @ 2006-02-22 18:01 UTC (permalink / raw)
  To: dibacco@inwind.it; +Cc: linuxppc-embedded
In-Reply-To: <IV3O7I$AE8FCD5B4D0B827DBEFFF524E0D45F85@libero.it>


On Feb 22, 2006, at 12:50 PM, dibacco@@inwind..it wrote:

> Is it possible in your opinion to use both the fecs on a board in the 
> u-boot?
> I read something saying only one can be the active one.

Yes, it works just fine, and you should be asking such questions
on the u-boot mailing list, not here ........


	-- Dan

^ permalink raw reply

* u-boot 1.1.4 using two fecs
From: dibacco @ 2006-02-22 17:50 UTC (permalink / raw)
  To: linuxppc-embedded

Is it possible in your opinion to use both the fecs on a board in the u-b=
oot?
I read something saying only one can be the active one.

Best regards,
Antonio.

^ permalink raw reply

* [PATCH] powerpc: Enable coherency for all pages on 83xx to fix PCI data corruption
From: Kumar Gala @ 2006-02-22 15:46 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linuxppc-dev, linux-kernel

On the 83xx platform to ensure the PCI inbound memory is handled properly we
have to turn on coherency for all pages in the MMU.  Otherwise we see
corruption if inbound "prefetching/streaming" is enabled on the PCI controller.

Signed-off-by: Randy Vinson <rvinson@mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>

---

(For 2.6.16 if we can get it in)

commit 4b2f4b1585f15d1c30cd2eda6d5f9a2ca7dcf998
tree 7aebf508d10127831cf92fb7ce919230924ad85d
parent 7cfb7344aae902edfd5d51dd5f734cbf2585649c
author Kumar Gala <galak@kernel.crashing.org> Wed, 22 Feb 2006 09:53:34 -0600
committer Kumar Gala <galak@kernel.crashing.org> Wed, 22 Feb 2006 09:53:34 -0600

 include/asm-powerpc/cputable.h |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/include/asm-powerpc/cputable.h b/include/asm-powerpc/cputable.h
index 6421054..90d005b 100644
--- a/include/asm-powerpc/cputable.h
+++ b/include/asm-powerpc/cputable.h
@@ -159,9 +159,11 @@ extern void do_cpu_ftr_fixups(unsigned l
 #endif
 
 /* We need to mark all pages as being coherent if we're SMP or we
- * have a 74[45]x and an MPC107 host bridge.
+ * have a 74[45]x and an MPC107 host bridge. Also 83xx requires
+ * it for PCI "streaming/prefetch" to work properly.
  */
-#if defined(CONFIG_SMP) || defined(CONFIG_MPC10X_BRIDGE)
+#if defined(CONFIG_SMP) || defined(CONFIG_MPC10X_BRIDGE) \
+	|| defined(CONFIG_PPC_83xx)
 #define CPU_FTR_COMMON                  CPU_FTR_NEED_COHERENT
 #else
 #define CPU_FTR_COMMON                  0
@@ -277,7 +279,8 @@ enum {
 	CPU_FTRS_G2_LE = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE |
 	    CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_HAS_HIGH_BATS,
 	CPU_FTRS_E300 = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE |
-	    CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_HAS_HIGH_BATS,
+	    CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_HAS_HIGH_BATS |
+	    CPU_FTR_COMMON,
 	CPU_FTRS_CLASSIC32 = CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE |
 	    CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE,
 	CPU_FTRS_POWER3_32 = CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE |

^ permalink raw reply related

* Re: ppc32: mpc85xx: set pcibios_fixup only #ifdef CONFIG_PCI
From: Dale Farnsworth @ 2006-02-22 14:03 UTC (permalink / raw)
  To: Kumar Gala; +Cc: linuxppc-embedded
In-Reply-To: <Pine.LNX.4.44.0602212343400.2878-100000@gate.crashing.org>

On Tue, Feb 21, 2006 at 11:44:15PM -0600, Kumar Gala wrote:
> On Fri, 17 Feb 2006, Dale Farnsworth wrote:
> 
> > From: Dale Farnsworth <dale@farnsworth.org>
> > 
> > Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
> > ---
> 
> This change is already in the kernel tree.
> 
> - kumar

Indeed it is.  Sorry for the noise.

-Dale

> >  arch/ppc/platforms/85xx/mpc85xx_cds_common.c |    6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > Index: linux-2.6.10/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
> > ===================================================================
> > --- linux-2.6.10.orig/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
> > +++ linux-2.6.10/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
> > @@ -456,9 +456,6 @@ mpc85xx_cds_setup_arch(void)
> >  	mtspr(SPRN_DBCR0, (DBCR0_IDM));
> >  	mtspr(SPRN_DBSR, 0xffffffff);
> >  #endif
> > -
> > - 	/* VIA IDE configuration */
> > -         ppc_md.pcibios_fixup = mpc85xx_cds_pcibios_fixup;
> >   
> >  #ifdef CONFIG_CPM2
> >  	cpm2_reset();
> > @@ -480,6 +477,9 @@ mpc85xx_cds_setup_arch(void)
> >          loops_per_jiffy = freq / HZ;
> >  
> >  #ifdef CONFIG_PCI
> > + 	/* VIA IDE configuration */
> > +         ppc_md.pcibios_fixup = mpc85xx_cds_pcibios_fixup;
> > +
> >          /* setup PCI host bridges */
> >          mpc85xx_setup_hose();
> >  #endif
> > 

^ permalink raw reply

* Re: [PATCH] powerpc: fix altivec_unavailable_exception Oopses
From: Paul Mackerras @ 2006-02-22 11:46 UTC (permalink / raw)
  To: Alan Curry; +Cc: linuxppc-dev, linux-kernel
In-Reply-To: <200602212339.SAA1138491@shell.TheWorld.com>

Alan Curry writes:

> altivec_unavailable_exception is called without setting r3... it looks like
> the r3 that actually gets passed in as struct pt_regs *regs is the
> undisturbed value of r3 at the time the altivec instruction was encountered.

Nice catch!

Thanks,
Paul.

^ permalink raw reply

* hi problem during kernel compilation
From: shivani kirubanandan @ 2006-02-22  9:28 UTC (permalink / raw)
  To: linuxppc-embedded

hello all,

i have encountered this error during kernel
compilation FYI the kernel version is 2.4.26 
powerpc405 and ml300 board specific
plz help me out 
wen i run make zImage

mv zvmlinux ../images/zImage.
mv zvmlinux ../images/zImage.elf
mv: can't stat source zvmlinux
make[2]: *** [zImage] Error 1
make[2]: Leaving directory
`/home/shivani/downloads/linux-2.4.26/arch/ppc/boot/simple'
make[1]: *** [zImage] Error 2
make[1]: Leaving directory
`/home/shivani/downloads/linux-2.4.26/arch/ppc/boot'
make: *** [zImage] Error 2




thanks in advance

shivani

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

^ permalink raw reply

* Re: boot failure on lite5200b board
From: Andrey Volkov @ 2006-02-22  8:24 UTC (permalink / raw)
  To: #LI JIANGGAN#; +Cc: linuxppc-embedded
In-Reply-To: <84A109BF918D934CB46ACF33BCE187C002D54D71@mail02.student.main.ntu.edu.sg>

Hello, Jianggan.

On Wednesday, February 22, 2006, #LI JIANGGAN# wrote:

>   =20
>   =20
> Hello all,
> =20
>  For my end-of-study project, I am working on an embedded system
> with reference of freescale's lite5200b reference board. I was
> trying to boot Linux 2.6.15 on the board (with the fec and bestcomm
> corrected). however the booting was stuck at the following stage:
>  U-Boot 1.1.3 (Feb=A0 6 2006 - 09:56:46)
> =20
>  ## Booting image at 00100000 ...
>  =A0=A0 Image Name:=A0=A0 Linux-2.6.16-rc1
>  =A0=A0 Image Type:=A0=A0 PowerPC Linux Kernel Image (gzip compressed)
>  =A0=A0 Data Size:=A0=A0=A0 658050 Bytes =3D 642.6 kB
>  =A0=A0 Load Address: 00000000
>  =A0=A0 Entry Point:=A0 00000000
>  =A0=A0 Verifying Checksum ... OK
>  =A0=A0 Uncompressing Kernel Image ... OK
>  id mach(): done
>  MMU:enter
>  MMU:hw init
>  MMU:mapin
>  MMU:setio
>  MMU:exit
>  setup_arch: enter
>  setup_arch: bootmem
>  arch: exit
> =20
>  I think it's probably the problem of kernel configuration prior to
> compilation. Has anybody got 2.6 kernel working probably lite5200b?
> =20
>  THE U-BOOT ENVIRONMENT SETTINGS:
> =20
>  =3D> printenv
>  baudrate=3D115200
>  autoload=3Dno
>  ethact=3DFEC ETHERNET
>  preboot=3Decho;echo Autostarting. Press any key to abort..;echo
>  bootdelay=3D5
>  hostname=3Dicecube
>  flshroot=3Droot=3D/dev/mtdblock2 rw
>  ethaddr=3D00:01:9F:00:27:2F
>  rootfs=3Droot=3D/dev/nfs rw nfsroot=3D10.190.3.103:/opt/eldk/rootfs
>  filesize=3Df2
>  fileaddr=3D100000
>  netmask=3D255.255.240.0
>  serverip=3D10.190.3.103
>  bootcmd=3Dtftp; bootm
>  bootfile=3DMPC5200/uImage
>  ipaddr=3D10.190.3.144
>=20
> ip=3Dip=3D10.190.3.144:10.190.3.103:10.190.3.103:255.255.240.0:icecube::o=
ff
>  nfsroot=3Droot=3D/dev/nfs rw nfsroot=3D10.190.3.103:/opt/eldk/rootfs
>  bootargs=3Droot=3D/dev/nfs rw nfsroot=3D10.190.3.103:/opt/eldk/rootfs
> ip=3D10.190.3.144:10.190.3.103:10.190.3.103:255.255.240.0:icecube::off
>  stdin=3Dserial
>  stdout=3Dserial
>  stderr=3Dserial
> =20
>  Environment size: 704/65532 bytes
>  =3D>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0
> =20
>  THE WHLOE BOOTING MESSAGE:
> =20
>  U-Boot 1.1.3 (Feb=A0 6 2006 - 09:56:46)
> =20
>  CPU:=A0=A0 MPC5200 v2.2 at 462 MHz
>  =A0=A0=A0=A0=A0=A0 Bus 132 MHz, IPB 132 MHz, PCI 33 MHz
>  Board: Freescale MPC5200 (Lite5200B)
>  I2C:=A0=A0 85 kHz, ready
>  DRAM:=A0 256 MB
>  FLASH: 32 MB
>  PCI:=A0=A0 Bus Dev VenId DevId Class Int
>  =A0=A0=A0=A0=A0=A0=A0 00=A0 1a=A0 1057=A0 5809=A0 0680=A0 00
>  In:=A0=A0=A0 serial
>  Out:=A0=A0 serial
>  Err:=A0=A0 serial
>  Net:=A0=A0 FEC ETHERNET
>  IDE:=A0=A0 Bus 0: OK
>  =A0 Device 0: not available
>  =A0 Device 1: not available
> =20
>  Autostarting. Press any key to abort..
> =20
>  Hit any key to stop autoboot:=A0 0
>  Using FEC ETHERNET device
>  TFTP from server 10.190.3.103; our IP address is 10.190.3.144
>  Filename 'MPC5200/uImage'.
>  Load address: 0x100000
>  Loading:
> #################################################################
>  =A0=A0=A0=A0=A0=A0=A0=A0
> ################################################################
>  done
>  Bytes transferred =3D 658114 (a0ac2 hex)
>  ## Booting image at 00100000 ...
>  =A0=A0 Image Name:=A0=A0 Linux-2.6.16-rc1
>  =A0=A0 Image Type:=A0=A0 PowerPC Linux Kernel Image (gzip compressed)
>  =A0=A0 Data Size:=A0=A0=A0 658050 Bytes =3D 642.6 kB
>  =A0=A0 Load Address: 00000000
>  =A0=A0 Entry Point:=A0 00000000
>  =A0=A0 Verifying Checksum ... OK
>  =A0=A0 Uncompressing Kernel Image ... OK
>  id mach(): done
>  MMU:enter
>  MMU:hw init
>  MMU:mapin
>  MMU:setio
>  MMU:exit
>  setup_arch: enter
>  setup_arch: bootmem
>  arch: exit
> =20
>  Thanks.
> =20
>  Jianggan LI
> =20
>  =20
>  =20
>   =20
First, please DON'T use html in mails, which is addressed to mail
lists.
Now about your problem: you're doesn't setup ttyPSC0 as console device
for the kernel (as I understand, above is snapshot of terminal
output, am I right?).
Add string like this: console=3DttyPSC0,115200n8 console=3Dtty1 to the kern=
el parameters
(as simple hack you could add above string to rootfs enviroment
variable).

As example, here is part of our board config (not lite5200B):

baudrate=3D115200
preboot=3Decho;echo Type "run flash_nfs" to mount root filesystem over NFS;=
echo
netdev=3Deth0
addip=3Dsetenv bootargs $(bootargs)
ip=3D$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname):$(netdev):of=
f panic=3D5
ethact=3DFEC ETHERNET
serverip=3D10.0.19.228
gatewayip=3D10.0.19.238
netmask=3D255.255.255.0
rootpath=3D/tftpboot/10.0.19.6
ipaddr=3D10.0.19.6
ntpserverip=3D10.0.19.238
ramargs=3Dsetenv bootargs root=3D/dev/ram rw
net_nfs=3Dtftp 200000 $(bootfile);run setconsole nfsargs addip;bootm
setconsole=3Dsetenv bootargs $(console)
nfsargs=3Dsetenv bootargs $(bootargs) root=3D/dev/nfs rw nfsroot=3D$(server=
ip):$(rootpath)
kernel_addr=3DFE040000
flash_root=3Dtftp 200000 $(bootfile);run setconsole jffs2rootfs addip;bootm
flash_self=3Drun setconsole jffs2rootfs addip;bootm $(kernel_addr)
jffs2rootfs=3Dsetenv bootargs $(bootargs) rootfstype=3Djffs2 root=3D31:2 rw
bootfile=3D/tftpboot/uImage.vec5200
hostname=3Dvec5200-3
bootdelay=3D1
console=3Dconsole=3DttyPSC0,115200n8 console=3Dtty1
flash_nfs=3Drun setconsole nfsargs addip;bootm $(kernel_addr)
tnote_cfg=3Dsetenv serverip 10.0.19.4;setenv gatewayip 10.0.19.4
net_nfs_tnote=3Drun tnote_cfg;run net_nfs
bootcmd=3Drun net_nfs
stdin=3Dserial
stdout=3Dserial
stderr=3Dserial


--=20
Regards,
Andrey Volkov

^ permalink raw reply

* RE: boot failure on lite5200b board
From: TXEMA LOPEZ @ 2006-02-22  7:53 UTC (permalink / raw)
  To: #LI JIANGGAN#; +Cc: linuxppc-embedded

[-- Attachment #1: Type: text/plain, Size: 4022 bytes --]

Hi Li,
I'm working on a lite5200b too but with a 2.4.25 kernel. Anyway, I found some problems to launch the 2.4.25 kernel from the U-Boot version that comes with the board from Freescale. I fixed some bugs in this U-Boot version and sent a patch for the U-Boot 1.1.4 version to the U-Boot users mailing list. The patch is not yet accepted and added to the git repository but I suggest that you apply this patch and try it again.
Another suggestion is not to use a low address to copy the kernel image (in your case 0x100000, try 0x500000 by example). The kernel is decompressed at the 0 address and your kernel could be overlapped.
 
Good luck,
Jose Maria Lopez.
 
-----Mensaje original-----
De: linuxppc-embedded-bounces+tlopez=fagorautomation.es@ozlabs.org [mailto:linuxppc-embedded-bounces+tlopez=fagorautomation.es@ozlabs.org]En nombre de #LI JIANGGAN#
Enviado el: miércoles, 22 de febrero de 2006 5:05
Para: linuxppc-embedded@ozlabs.org
Asunto: boot failure on lite5200b board
 
Hello all,

For my end-of-study project, I am working on an embedded system with reference of freescale's lite5200b reference board. I was trying to boot Linux 2.6.15 on the board (with the fec and bestcomm corrected). however the booting was stuck at the following stage:
U-Boot 1.1.3 (Feb  6 2006 - 09:56:46)

## Booting image at 00100000 ...
   Image Name:   Linux-2.6.16-rc1
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    658050 Bytes = 642.6 kB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
id mach(): done
MMU:enter
MMU:hw init
MMU:mapin
MMU:setio
MMU:exit
setup_arch: enter
setup_arch: bootmem
arch: exit

I think it's probably the problem of kernel configuration prior to compilation. Has anybody got 2.6 kernel working probably lite5200b?

THE U-BOOT ENVIRONMENT SETTINGS:

=> printenv
baudrate=115200
autoload=no
ethact=FEC ETHERNET
preboot=echo;echo Autostarting. Press any key to abort..;echo
bootdelay=5
hostname=icecube
flshroot=root=/dev/mtdblock2 rw
ethaddr=00:01:9F:00:27:2F
rootfs=root=/dev/nfs rw nfsroot=10.190.3.103:/opt/eldk/rootfs
filesize=f2
fileaddr=100000
netmask=255.255.240.0
serverip=10.190.3.103
bootcmd=tftp; bootm
bootfile=MPC5200/uImage
ipaddr=10.190.3.144
ip=ip=10.190.3.144:10.190.3.103:10.190.3.103:255.255.240.0:icecube::off
nfsroot=root=/dev/nfs rw nfsroot=10.190.3.103:/opt/eldk/rootfs
bootargs=root=/dev/nfs rw nfsroot=10.190.3.103:/opt/eldk/rootfs ip=10.190.3.144:10.190.3.103:10.190.3.103:255.255.240.0:icecube::off
stdin=serial
stdout=serial
stderr=serial

Environment size: 704/65532 bytes
=>              

THE WHLOE BOOTING MESSAGE:

U-Boot 1.1.3 (Feb  6 2006 - 09:56:46)

CPU:   MPC5200 v2.2 at 462 MHz
       Bus 132 MHz, IPB 132 MHz, PCI 33 MHz
Board: Freescale MPC5200 (Lite5200B)
I2C:   85 kHz, ready
DRAM:  256 MB
FLASH: 32 MB
PCI:   Bus Dev VenId DevId Class Int
        00  1a  1057  5809  0680  00
In:    serial
Out:   serial
Err:   serial
Net:   FEC ETHERNET
IDE:   Bus 0: OK
  Device 0: not available
  Device 1: not available

Autostarting. Press any key to abort..

Hit any key to stop autoboot:  0
Using FEC ETHERNET device
TFTP from server 10.190.3.103; our IP address is 10.190.3.144
Filename 'MPC5200/uImage'.
Load address: 0x100000
Loading: #################################################################
         ################################################################
done
Bytes transferred = 658114 (a0ac2 hex)
## Booting image at 00100000 ...
   Image Name:   Linux-2.6.16-rc1
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    658050 Bytes = 642.6 kB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
id mach(): done
MMU:enter
MMU:hw init
MMU:mapin
MMU:setio
MMU:exit
setup_arch: enter
setup_arch: bootmem
arch: exit

Thanks.

Jianggan LI

[-- Attachment #2: Type: text/html, Size: 10595 bytes --]

^ permalink raw reply

* Re: [PATCH] powerpc: fix altivec_unavailable_exception Oopses
From: Alan Curry @ 2006-02-22  6:42 UTC (permalink / raw)
  To: Kumar Gala; +Cc: linuxppc-dev, linux-kernel
In-Reply-To: <4A2CF403-20CC-4AE9-B955-9BA2E92A5474@kernel.crashing.org>

Kumar Gala writes the following:
>
>Would you mine providing a patch for arch/ppc/kernel/head.S and  
>adding a signed-off-by line.

OK, combined patch... applies clean to 2.6.16-rc4, applies with fuzz to
2.6.15.4, both compiled and tested. Patch prevents Oopsing of
CONFIG_ALTIVEC=n kernel by user executing altivec instruction in both cases.

Signed-off-by: Alan Curry <pacman@TheWorld.com>

--- arch/ppc/kernel/head.S.orig	2006-02-21 20:58:08.000000000 -0500
+++ arch/ppc/kernel/head.S	2006-02-21 20:58:11.000000000 -0500
@@ -751,6 +751,7 @@ AltiVecUnavailable:
 #ifdef CONFIG_ALTIVEC
 	bne	load_up_altivec		/* if from user, just load it up */
 #endif /* CONFIG_ALTIVEC */
+	addi	r3,r1,STACK_FRAME_OVERHEAD
 	EXC_XFER_EE_LITE(0xf20, altivec_unavailable_exception)
 
 #ifdef CONFIG_PPC64BRIDGE
--- arch/powerpc/kernel/head_32.S.orig	2006-02-21 15:58:18.000000000 -0500
+++ arch/powerpc/kernel/head_32.S	2006-02-21 15:59:23.000000000 -0500
@@ -714,6 +714,7 @@ AltiVecUnavailable:
 #ifdef CONFIG_ALTIVEC
 	bne	load_up_altivec		/* if from user, just load it up */
 #endif /* CONFIG_ALTIVEC */
+	addi	r3,r1,STACK_FRAME_OVERHEAD
 	EXC_XFER_EE_LITE(0xf20, altivec_unavailable_exception)
 
 PerformanceMonitor:

^ permalink raw reply

* Re: ppc32: mpc85xx: set pcibios_fixup only #ifdef CONFIG_PCI
From: Kumar Gala @ 2006-02-22  5:44 UTC (permalink / raw)
  To: Dale Farnsworth; +Cc: linuxppc-embedded
In-Reply-To: <20060217233733.GA30701@xyzzy.farnsworth.org>

On Fri, 17 Feb 2006, Dale Farnsworth wrote:

> From: Dale Farnsworth <dale@farnsworth.org>
> 
> Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
> ---

This change is already in the kernel tree.

- kumar


> 
>  arch/ppc/platforms/85xx/mpc85xx_cds_common.c |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> Index: linux-2.6.10/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
> ===================================================================
> --- linux-2.6.10.orig/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
> +++ linux-2.6.10/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
> @@ -456,9 +456,6 @@ mpc85xx_cds_setup_arch(void)
>  	mtspr(SPRN_DBCR0, (DBCR0_IDM));
>  	mtspr(SPRN_DBSR, 0xffffffff);
>  #endif
> -
> - 	/* VIA IDE configuration */
> -         ppc_md.pcibios_fixup = mpc85xx_cds_pcibios_fixup;
>   
>  #ifdef CONFIG_CPM2
>  	cpm2_reset();
> @@ -480,6 +477,9 @@ mpc85xx_cds_setup_arch(void)
>          loops_per_jiffy = freq / HZ;
>  
>  #ifdef CONFIG_PCI
> + 	/* VIA IDE configuration */
> +         ppc_md.pcibios_fixup = mpc85xx_cds_pcibios_fixup;
> +
>          /* setup PCI host bridges */
>          mpc85xx_setup_hose();
>  #endif
> 

^ permalink raw reply

* Re: [PATCH] Fix BCSR_SIZE for MPC834xSYS
From: Kumar Gala @ 2006-02-22  5:43 UTC (permalink / raw)
  To: KRONSTORFER Horst; +Cc: linuxppc-embedded
In-Reply-To: <C5BA91F04186584EB68FD42BB4993E6B5615B5@FRQWOLEX01.frequentis.frq>

> hi!
> 
> according to the 'MPC8349E MDS Processor Board User Manual Rev. 1.6 12/2005'
> (table 3-1, p. 28) the size of the BCSR mapping is 32kb.
> 
> Signed-off-by: Horst Kronstorfer <hkronsto@frequentis.com>
> 
>  arch/ppc/platforms/83xx/mpc834x_sys.h |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/ppc/platforms/83xx/mpc834x_sys.h
> b/arch/ppc/platforms/83xx/mpc
> 834x_sys.h
> index aa86c22..6727bbd 100644
> --- a/arch/ppc/platforms/83xx/mpc834x_sys.h
> +++ b/arch/ppc/platforms/83xx/mpc834x_sys.h
> @@ -23,7 +23,7 @@
>  #define VIRT_IMMRBAR           ((uint)0xfe000000)
>  
>  #define BCSR_PHYS_ADDR         ((uint)0xf8000000)
> -#define BCSR_SIZE              ((uint)(128 * 1024))
> +#define BCSR_SIZE              ((uint)(32 * 1024))
>  
>  #define BCSR_MISC_REG2_OFF     0x07
>  #define BCSR_MISC_REG2_PORESET 0x01


In the future please provide patches that apply properly.  The issue is 
your mailer is reformatting the patch.

- kumar

^ permalink raw reply

* boot failure on lite5200b board
From: #LI JIANGGAN# @ 2006-02-22  4:04 UTC (permalink / raw)
  To: linuxppc-embedded

[-- Attachment #1: Type: text/plain, Size: 3028 bytes --]

Hello all,

For my end-of-study project, I am working on an embedded system with reference of freescale's lite5200b reference board. I was trying to boot Linux 2.6.15 on the board (with the fec and bestcomm corrected). however the booting was stuck at the following stage:
U-Boot 1.1.3 (Feb  6 2006 - 09:56:46)

## Booting image at 00100000 ...
   Image Name:   Linux-2.6.16-rc1
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    658050 Bytes = 642.6 kB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
id mach(): done
MMU:enter
MMU:hw init
MMU:mapin
MMU:setio
MMU:exit
setup_arch: enter
setup_arch: bootmem
arch: exit

I think it's probably the problem of kernel configuration prior to compilation. Has anybody got 2.6 kernel working probably lite5200b?

THE U-BOOT ENVIRONMENT SETTINGS:

=> printenv
baudrate=115200
autoload=no
ethact=FEC ETHERNET
preboot=echo;echo Autostarting. Press any key to abort..;echo
bootdelay=5
hostname=icecube
flshroot=root=/dev/mtdblock2 rw
ethaddr=00:01:9F:00:27:2F
rootfs=root=/dev/nfs rw nfsroot=10.190.3.103:/opt/eldk/rootfs
filesize=f2
fileaddr=100000
netmask=255.255.240.0
serverip=10.190.3.103
bootcmd=tftp; bootm
bootfile=MPC5200/uImage
ipaddr=10.190.3.144
ip=ip=10.190.3.144:10.190.3.103:10.190.3.103:255.255.240.0:icecube::off
nfsroot=root=/dev/nfs rw nfsroot=10.190.3.103:/opt/eldk/rootfs
bootargs=root=/dev/nfs rw nfsroot=10.190.3.103:/opt/eldk/rootfs ip=10.190.3.144:10.190.3.103:10.190.3.103:255.255.240.0:icecube::off
stdin=serial
stdout=serial
stderr=serial

Environment size: 704/65532 bytes
=>               

THE WHLOE BOOTING MESSAGE:

U-Boot 1.1.3 (Feb  6 2006 - 09:56:46)

CPU:   MPC5200 v2.2 at 462 MHz
       Bus 132 MHz, IPB 132 MHz, PCI 33 MHz
Board: Freescale MPC5200 (Lite5200B)
I2C:   85 kHz, ready
DRAM:  256 MB
FLASH: 32 MB
PCI:   Bus Dev VenId DevId Class Int
        00  1a  1057  5809  0680  00
In:    serial
Out:   serial
Err:   serial
Net:   FEC ETHERNET
IDE:   Bus 0: OK
  Device 0: not available
  Device 1: not available

Autostarting. Press any key to abort..

Hit any key to stop autoboot:  0
Using FEC ETHERNET device
TFTP from server 10.190.3.103; our IP address is 10.190.3.144
Filename 'MPC5200/uImage'.
Load address: 0x100000
Loading: #################################################################
         ################################################################
done
Bytes transferred = 658114 (a0ac2 hex)
## Booting image at 00100000 ...
   Image Name:   Linux-2.6.16-rc1
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    658050 Bytes = 642.6 kB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
id mach(): done
MMU:enter
MMU:hw init
MMU:mapin
MMU:setio
MMU:exit
setup_arch: enter
setup_arch: bootmem
arch: exit

Thanks.

Jianggan LI


[-- Attachment #2: Type: text/html, Size: 4369 bytes --]

^ permalink raw reply

* Yahoo addresses delayed
From: Stephen Rothwell @ 2006-02-22  4:04 UTC (permalink / raw)
  To: ppc64-dev; +Cc: rhype, ppc-dev, k42-discussion, ppc-embedded

[-- Attachment #1: Type: text/plain, Size: 562 bytes --]

Hi all,

This is just an email to let you all know that if you are subscribed to
any of these lists using a Yahoo email address, your copies of posts will
be delayed as someone has reported ozlabs.org to Yahoo as a spam site!

As fas as I know there has been no (or very little) spam through these
lists as they are set to member post only.  If you do see spam on these
lists, please report it to abuse@ozlabs.org (and not Yahoo or spamcop etc)
so that we can try to fix the problem.

-- 
Cheers,
Stephen Rothwell                    sfr@ozlabs.org

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply

* RE: 2.6.16-rc4: known regressions
From: Yu, Luming @ 2006-02-22  2:39 UTC (permalink / raw)
  To: Adrian Bunk, Linus Torvalds, Andrew Morton
  Cc: Brown, Len, Dmitry Torokhov, linux-acpi, John Stultz, Meelis Roos,
	gregkh, Linux Kernel Mailing List, linuxppc-dev, linux-input,
	Sanjoy Mahajan

>
>Subject    : S3 sleep hangs the second time - 600X
>References : http://bugzilla.kernel.org/show_bug.cgi?id=3D5989
>Submitter  : Sanjoy Mahajan <sanjoy@mrao.cam.ac.uk>
>Status     : problematic commit identified,
>             further discussion is in the bug

The real problem is there are some bugs hidden by ec_intr=3D0.
ec_intr=3D1 just get these bug  just exposed, and we need to fix them.=20

Thanks,
Luming

^ permalink raw reply

* Re: [PATCH] powerpc: fix altivec_unavailable_exception Oopses
From: Kumar Gala @ 2006-02-22  0:52 UTC (permalink / raw)
  To: Alan Curry; +Cc: linuxppc-dev, linux-kernel
In-Reply-To: <200602212339.SAA1138491@shell.TheWorld.com>


On Feb 21, 2006, at 5:39 PM, Alan Curry wrote:

> altivec_unavailable_exception is called without setting r3... it  
> looks like
> the r3 that actually gets passed in as struct pt_regs *regs is the
> undisturbed value of r3 at the time the altivec instruction was  
> encountered.
> The user actually gets to choose the pt_regs printed in the Oops!
>
> After applying the following patch to 2.6.16-rc4, I can no longer  
> cause an
> Oops by executing an altivec instruction with CONFIG_ALTIVEC=n. The  
> same
> change would probably also be good for arch/ppc/kernel/head.S to  
> fix the same
> Oops in 2.6.15.4, though I haven't tested that.
>
> --- arch/powerpc/kernel/head_32.S.orig	2006-02-21  
> 15:58:18.000000000 -0500
> +++ arch/powerpc/kernel/head_32.S	2006-02-21 15:59:23.000000000 -0500
> @@ -714,6 +714,7 @@
>  #ifdef CONFIG_ALTIVEC
>  	bne	load_up_altivec		/* if from user, just load it up */
>  #endif /* CONFIG_ALTIVEC */
> +	addi	r3,r1,STACK_FRAME_OVERHEAD
>  	EXC_XFER_EE_LITE(0xf20, altivec_unavailable_exception)
>
>  PerformanceMonitor:

Would you mine providing a patch for arch/ppc/kernel/head.S and  
adding a signed-off-by line.

- k

^ permalink raw reply

* [PATCH] powerpc: fix altivec_unavailable_exception Oopses
From: Alan Curry @ 2006-02-21 23:39 UTC (permalink / raw)
  To: linuxppc-dev, linux-kernel

altivec_unavailable_exception is called without setting r3... it looks like
the r3 that actually gets passed in as struct pt_regs *regs is the
undisturbed value of r3 at the time the altivec instruction was encountered.
The user actually gets to choose the pt_regs printed in the Oops!

After applying the following patch to 2.6.16-rc4, I can no longer cause an
Oops by executing an altivec instruction with CONFIG_ALTIVEC=n. The same
change would probably also be good for arch/ppc/kernel/head.S to fix the same
Oops in 2.6.15.4, though I haven't tested that.

--- arch/powerpc/kernel/head_32.S.orig	2006-02-21 15:58:18.000000000 -0500
+++ arch/powerpc/kernel/head_32.S	2006-02-21 15:59:23.000000000 -0500
@@ -714,6 +714,7 @@
 #ifdef CONFIG_ALTIVEC
 	bne	load_up_altivec		/* if from user, just load it up */
 #endif /* CONFIG_ALTIVEC */
+	addi	r3,r1,STACK_FRAME_OVERHEAD
 	EXC_XFER_EE_LITE(0xf20, altivec_unavailable_exception)
 
 PerformanceMonitor:

^ permalink raw reply

* [PATCH] fix adb breakage in xmon
From: Olaf Hering @ 2006-02-21 20:06 UTC (permalink / raw)
  To: Al Viro, Paul Mackeras, linuxppc-dev
In-Reply-To: <20060221183324.GA3444@suse.de>


Fix up xmon compilation after the last change.
Remove lots of dead code, all the pmac and chrp support is in arch/powerpc

Signed-off-by: Olaf Hering <olh@suse.de>

 arch/ppc/xmon/adb.c   |  212 --------------------------------------------------
 arch/ppc/xmon/start.c |  169 ---------------------------------------
 arch/ppc/xmon/xmon.c  |  108 -------------------------
 3 files changed, 3 insertions(+), 486 deletions(-)

Index: linux-2.6.16-rc4-olh/arch/ppc/xmon/start.c
===================================================================
--- linux-2.6.16-rc4-olh.orig/arch/ppc/xmon/start.c
+++ linux-2.6.16-rc4-olh/arch/ppc/xmon/start.c
@@ -6,16 +6,11 @@
 #include <asm/machdep.h>
 #include <asm/io.h>
 #include <asm/page.h>
-#include <linux/adb.h>
-#include <linux/pmu.h>
-#include <linux/cuda.h>
 #include <linux/kernel.h>
 #include <linux/errno.h>
 #include <linux/sysrq.h>
 #include <linux/bitops.h>
 #include <asm/xmon.h>
-#include <asm/prom.h>
-#include <asm/bootx.h>
 #include <asm/machdep.h>
 #include <asm/errno.h>
 #include <asm/processor.h>
@@ -26,9 +21,7 @@ static volatile unsigned char *sccc, *sc
 unsigned int TXRDY, RXRDY, DLAB;
 static int xmon_expect(const char *str, unsigned int timeout);
 
-static int use_screen;
 static int via_modem;
-static int xmon_use_sccb;
 
 #define TB_SPEED	25000000
 
@@ -46,47 +39,6 @@ void buf_access(void)
 		sccd[3] &= ~DLAB;	/* reset DLAB */
 }
 
-extern int adb_init(void);
-
-#ifdef CONFIG_PPC_CHRP
-/*
- * This looks in the "ranges" property for the primary PCI host bridge
- * to find the physical address of the start of PCI/ISA I/O space.
- * It is basically a cut-down version of pci_process_bridge_OF_ranges.
- */
-static unsigned long chrp_find_phys_io_base(void)
-{
-	struct device_node *node;
-	unsigned int *ranges;
-	unsigned long base = CHRP_ISA_IO_BASE;
-	int rlen = 0;
-	int np;
-
-	node = find_devices("isa");
-	if (node != NULL) {
-		node = node->parent;
-		if (node == NULL || node->type == NULL
-		    || strcmp(node->type, "pci") != 0)
-			node = NULL;
-	}
-	if (node == NULL)
-		node = find_devices("pci");
-	if (node == NULL)
-		return base;
-
-	ranges = (unsigned int *) get_property(node, "ranges", &rlen);
-	np = prom_n_addr_cells(node) + 5;
-	while ((rlen -= np * sizeof(unsigned int)) >= 0) {
-		if ((ranges[0] >> 24) == 1 && ranges[2] == 0) {
-			/* I/O space starting at 0, grab the phys base */
-			base = ranges[np - 3];
-			break;
-		}
-		ranges += np;
-	}
-	return base;
-}
-#endif /* CONFIG_PPC_CHRP */
 
 #ifdef CONFIG_MAGIC_SYSRQ
 static void sysrq_handle_xmon(int key, struct pt_regs *regs,
@@ -109,22 +61,6 @@ xmon_map_scc(void)
 #ifdef CONFIG_PPC_MULTIPLATFORM
 	volatile unsigned char *base;
 
-#ifdef CONFIG_PPC_CHRP
-	base = (volatile unsigned char *) isa_io_base;
-	if (_machine == _MACH_chrp)
-		base = (volatile unsigned char *)
-			ioremap(chrp_find_phys_io_base(), 0x1000);
-
-	sccc = base + 0x3fd;
-	sccd = base + 0x3f8;
-	if (xmon_use_sccb) {
-		sccc -= 0x100;
-		sccd -= 0x100;
-	}
-	TXRDY = 0x20;
-	RXRDY = 1;
-	DLAB = 0x80;
-#endif /* CONFIG_PPC_CHRP */
 #elif defined(CONFIG_GEMINI)
 	/* should already be mapped by the kernel boot */
 	sccc = (volatile unsigned char *) 0xffeffb0d;
@@ -143,7 +79,7 @@ xmon_map_scc(void)
 	register_sysrq_key('x', &sysrq_xmon_op);
 }
 
-static int scc_initialized = 0;
+static int scc_initialized;
 
 void xmon_init_scc(void);
 
@@ -163,14 +99,6 @@ xmon_write(void *handle, void *ptr, int 
 			break;
 #endif
 
-#ifdef CONFIG_BOOTX_TEXT
-	if (use_screen) {
-		/* write it on the screen */
-		for (i = 0; i < nb; ++i)
-			btext_drawchar(*p++);
-		goto out;
-	}
-#endif
 	if (!scc_initialized)
 		xmon_init_scc();
 	ct = 0;
@@ -190,7 +118,6 @@ xmon_write(void *handle, void *ptr, int 
 		eieio();
 	}
 
- out:
 #ifdef CONFIG_SMP
 	if (!locked)
 		clear_bit(0, &xmon_write_lock);
@@ -199,65 +126,7 @@ xmon_write(void *handle, void *ptr, int 
 }
 
 int xmon_wants_key;
-int xmon_adb_keycode;
-
-#ifdef CONFIG_BOOTX_TEXT
-static int xmon_adb_shiftstate;
 
-static unsigned char xmon_keytab[128] =
-	"asdfhgzxcv\000bqwer"				/* 0x00 - 0x0f */
-	"yt123465=97-80]o"				/* 0x10 - 0x1f */
-	"u[ip\rlj'k;\\,/nm."				/* 0x20 - 0x2f */
-	"\t `\177\0\033\0\0\0\0\0\0\0\0\0\0"		/* 0x30 - 0x3f */
-	"\0.\0*\0+\0\0\0\0\0/\r\0-\0"			/* 0x40 - 0x4f */
-	"\0\0000123456789\0\0\0";			/* 0x50 - 0x5f */
-
-static unsigned char xmon_shift_keytab[128] =
-	"ASDFHGZXCV\000BQWER"				/* 0x00 - 0x0f */
-	"YT!@#$^%+(&_*)}O"				/* 0x10 - 0x1f */
-	"U{IP\rLJ\"K:|<?NM>"				/* 0x20 - 0x2f */
-	"\t ~\177\0\033\0\0\0\0\0\0\0\0\0\0"		/* 0x30 - 0x3f */
-	"\0.\0*\0+\0\0\0\0\0/\r\0-\0"			/* 0x40 - 0x4f */
-	"\0\0000123456789\0\0\0";			/* 0x50 - 0x5f */
-
-static int
-xmon_get_adb_key(void)
-{
-	int k, t, on;
-
-	xmon_wants_key = 1;
-	for (;;) {
-		xmon_adb_keycode = -1;
-		t = 0;
-		on = 0;
-		do {
-			if (--t < 0) {
-				on = 1 - on;
-				btext_drawchar(on? 0xdb: 0x20);
-				btext_drawchar('\b');
-				t = 200000;
-			}
-			do_poll_adb();
-		} while (xmon_adb_keycode == -1);
-		k = xmon_adb_keycode;
-		if (on)
-			btext_drawstring(" \b");
-
-		/* test for shift keys */
-		if ((k & 0x7f) == 0x38 || (k & 0x7f) == 0x7b) {
-			xmon_adb_shiftstate = (k & 0x80) == 0;
-			continue;
-		}
-		if (k >= 0x80)
-			continue;	/* ignore up transitions */
-		k = (xmon_adb_shiftstate? xmon_shift_keytab: xmon_keytab)[k];
-		if (k != 0)
-			break;
-	}
-	xmon_wants_key = 0;
-	return k;
-}
-#endif /* CONFIG_BOOTX_TEXT */
 
 int
 xmon_read(void *handle, void *ptr, int nb)
@@ -265,18 +134,11 @@ xmon_read(void *handle, void *ptr, int n
     char *p = ptr;
     int i;
 
-#ifdef CONFIG_BOOTX_TEXT
-    if (use_screen) {
-	for (i = 0; i < nb; ++i)
-	    *p++ = xmon_get_adb_key();
-	return i;
-    }
-#endif
     if (!scc_initialized)
 	xmon_init_scc();
     for (i = 0; i < nb; ++i) {
 	while ((*sccc & RXRDY) == 0)
-	    do_poll_adb();
+	    ;
 	buf_access();
 	*p++ = *sccd;
     }
@@ -287,7 +149,7 @@ int
 xmon_read_poll(void)
 {
 	if ((*sccc & RXRDY) == 0) {
-		do_poll_adb();
+		;
 		return -1;
 	}
 	buf_access();
@@ -297,15 +159,6 @@ xmon_read_poll(void)
 void
 xmon_init_scc(void)
 {
-	if ( _machine == _MACH_chrp )
-	{
-		sccd[3] = 0x83; eieio();	/* LCR = 8N1 + DLAB */
-		sccd[0] = 12; eieio();		/* DLL = 9600 baud */
-		sccd[1] = 0; eieio();
-		sccd[2] = 0; eieio();		/* FCR = 0 */
-		sccd[3] = 3; eieio();		/* LCR = 8N1 */
-		sccd[1] = 0; eieio();		/* IER = 0 */
-	}
 	scc_initialized = 1;
 	if (via_modem) {
 		for (;;) {
@@ -321,22 +174,6 @@ xmon_init_scc(void)
 	}
 }
 
-#if 0
-extern int (*prom_entry)(void *);
-
-int
-xmon_exit(void)
-{
-    struct prom_args {
-	char *service;
-    } args;
-
-    for (;;) {
-	args.service = "exit";
-	(*prom_entry)(&args);
-    }
-}
-#endif
 
 void *xmon_stdin;
 void *xmon_stdout;
Index: linux-2.6.16-rc4-olh/arch/ppc/xmon/adb.c
===================================================================
--- linux-2.6.16-rc4-olh.orig/arch/ppc/xmon/adb.c
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright (C) 1996 Paul Mackerras.
- */
-#include "nonstdio.h"
-#include "privinst.h"
-
-#define scanhex	xmon_scanhex
-#define skipbl	xmon_skipbl
-
-#define ADB_B		(*(volatile unsigned char *)0xf3016000)
-#define ADB_SR		(*(volatile unsigned char *)0xf3017400)
-#define ADB_ACR		(*(volatile unsigned char *)0xf3017600)
-#define ADB_IFR		(*(volatile unsigned char *)0xf3017a00)
-
-static inline void eieio(void) { asm volatile ("eieio" : :); }
-
-#define N_ADB_LOG	1000
-struct adb_log {
-    unsigned char b;
-    unsigned char ifr;
-    unsigned char acr;
-    unsigned int time;
-} adb_log[N_ADB_LOG];
-int n_adb_log;
-
-void
-init_adb_log(void)
-{
-    adb_log[0].b = ADB_B;
-    adb_log[0].ifr = ADB_IFR;
-    adb_log[0].acr = ADB_ACR;
-    adb_log[0].time = get_dec();
-    n_adb_log = 0;
-}
-
-void
-dump_adb_log(void)
-{
-    unsigned t, t0;
-    struct adb_log *ap;
-    int i;
-
-    ap = adb_log;
-    t0 = ap->time;
-    for (i = 0; i <= n_adb_log; ++i, ++ap) {
-	t = t0 - ap->time;
-	printf("b=%x ifr=%x acr=%x at %d.%.7d\n", ap->b, ap->ifr, ap->acr,
-	       t / 1000000000, (t % 1000000000) / 100);
-    }
-}
-
-void
-adb_chklog(void)
-{
-    struct adb_log *ap = &adb_log[n_adb_log + 1];
-
-    ap->b = ADB_B;
-    ap->ifr = ADB_IFR;
-    ap->acr = ADB_ACR;
-    if (ap->b != ap[-1].b || (ap->ifr & 4) != (ap[-1].ifr & 4)
-	|| ap->acr != ap[-1].acr) {
-	ap->time = get_dec();
-	++n_adb_log;
-    }
-}
-
-int
-adb_bitwait(int bmask, int bval, int fmask, int fval)
-{
-    int i;
-    struct adb_log *ap;
-
-    for (i = 10000; i > 0; --i) {
-	adb_chklog();
-	ap = &adb_log[n_adb_log];
-	if ((ap->b & bmask) == bval && (ap->ifr & fmask) == fval)
-	    return 0;
-    }
-    return -1;
-}
-
-int
-adb_wait(void)
-{
-    if (adb_bitwait(0, 0, 4, 4) < 0) {
-	printf("adb: ready wait timeout\n");
-	return -1;
-    }
-    return 0;
-}
-
-void
-adb_readin(void)
-{
-    int i, j;
-    unsigned char d[64];
-
-    if (ADB_B & 8) {
-	printf("ADB_B: %x\n", ADB_B);
-	return;
-    }
-    i = 0;
-    adb_wait();
-    j = ADB_SR;
-    eieio();
-    ADB_B &= ~0x20;
-    eieio();
-    for (;;) {
-	if (adb_wait() < 0)
-	    break;
-	d[i++] = ADB_SR;
-	eieio();
-	if (ADB_B & 8)
-	    break;
-	ADB_B ^= 0x10;
-	eieio();
-    }
-    ADB_B |= 0x30;
-    if (adb_wait() == 0)
-	j = ADB_SR;
-    for (j = 0; j < i; ++j)
-	printf("%.2x ", d[j]);
-    printf("\n");
-}
-
-int
-adb_write(unsigned char *d, int i)
-{
-    int j;
-    unsigned x;
-
-    if ((ADB_B & 8) == 0) {
-	printf("r: ");
-	adb_readin();
-    }
-    for (;;) {
-	ADB_ACR = 0x1c;
-	eieio();
-	ADB_SR = d[0];
-	eieio();
-	ADB_B &= ~0x20;
-	eieio();
-	if (ADB_B & 8)
-	    break;
-	ADB_ACR = 0xc;
-	eieio();
-	ADB_B |= 0x20;
-	eieio();
-	adb_readin();
-    }
-    adb_wait();
-    for (j = 1; j < i; ++j) {
-	ADB_SR = d[j];
-	eieio();
-	ADB_B ^= 0x10;
-	eieio();
-	if (adb_wait() < 0)
-	    break;
-    }
-    ADB_ACR = 0xc;
-    eieio();
-    x = ADB_SR;
-    eieio();
-    ADB_B |= 0x30;
-    return j;
-}
-
-void
-adbcmds(void)
-{
-    char cmd;
-    unsigned rtcu, rtcl, dec, pdec, x;
-    int i, j;
-    unsigned char d[64];
-
-    cmd = skipbl();
-    switch (cmd) {
-    case 't':
-	for (;;) {
-	    rtcl = get_rtcl();
-	    rtcu = get_rtcu();
-	    dec = get_dec();
-	    printf("rtc u=%u l=%u dec=%x (%d = %d.%.7d)\n",
-		   rtcu, rtcl, dec, pdec - dec, (pdec - dec) / 1000000000,
-		   ((pdec - dec) % 1000000000) / 100);
-	    pdec = dec;
-	    if (cmd == 'x')
-		break;
-	    while (xmon_read(stdin, &cmd, 1) != 1)
-		;
-	}
-	break;
-    case 'r':
-	init_adb_log();
-	while (adb_bitwait(8, 0, 0, 0) == 0)
-	    adb_readin();
-	break;
-    case 'w':
-	i = 0;
-	while (scanhex(&x))
-	    d[i++] = x;
-	init_adb_log();
-	j = adb_write(d, i);
-	printf("sent %d bytes\n", j);
-	while (adb_bitwait(8, 0, 0, 0) == 0)
-	    adb_readin();
-	break;
-    case 'l':
-	dump_adb_log();
-	break;
-    }
-}
Index: linux-2.6.16-rc4-olh/arch/ppc/xmon/xmon.c
===================================================================
--- linux-2.6.16-rc4-olh.orig/arch/ppc/xmon/xmon.c
+++ linux-2.6.16-rc4-olh/arch/ppc/xmon/xmon.c
@@ -12,8 +12,6 @@
 #include <linux/kallsyms.h>
 #include <asm/ptrace.h>
 #include <asm/string.h>
-#include <asm/prom.h>
-#include <asm/bootx.h>
 #include <asm/machdep.h>
 #include <asm/xmon.h>
 #include "nonstdio.h"
@@ -101,9 +99,6 @@ void cacheflush(void);
 static void cpu_cmd(void);
 #endif /* CONFIG_SMP */
 static void csum(void);
-#ifdef CONFIG_BOOTX_TEXT
-static void vidcmds(void);
-#endif
 static void bootcmds(void);
 static void proccall(void);
 static void printtime(void);
@@ -522,11 +517,6 @@ cmds(struct pt_regs *excp)
 			cpu_cmd();
 			break;
 #endif /* CONFIG_SMP */
-#ifdef CONFIG_BOOTX_TEXT
-		case 'v':
-			vidcmds();
-			break;
-#endif
 		case 'z':
 			bootcmds();
 			break;
@@ -618,43 +608,6 @@ static void cpu_cmd(void)
 }
 #endif /* CONFIG_SMP */
 
-#ifdef CONFIG_BOOTX_TEXT
-extern boot_infos_t disp_bi;
-
-static void vidcmds(void)
-{
-	int c = inchar();
-	unsigned int val, w;
-	extern int boot_text_mapped;
-
-	if (!boot_text_mapped)
-		return;
-	if (c != '\n' && scanhex(&val)) {
-		switch (c) {
-		case 'd':
-			w = disp_bi.dispDeviceRowBytes
-				/ (disp_bi.dispDeviceDepth >> 3);
-			disp_bi.dispDeviceDepth = val;
-			disp_bi.dispDeviceRowBytes = w * (val >> 3);
-			return;
-		case 'p':
-			disp_bi.dispDeviceRowBytes = val;
-			return;
-		case 'w':
-			disp_bi.dispDeviceRect[2] = val;
-			return;
-		case 'h':
-			disp_bi.dispDeviceRect[3] = val;
-			return;
-		}
-	}
-	printf("W = %d (0x%x) H = %d (0x%x) D = %d (0x%x) P = %d (0x%x)\n",
-	       disp_bi.dispDeviceRect[2], disp_bi.dispDeviceRect[2],
-	       disp_bi.dispDeviceRect[3], disp_bi.dispDeviceRect[3],
-	       disp_bi.dispDeviceDepth, disp_bi.dispDeviceDepth,
-	       disp_bi.dispDeviceRowBytes, disp_bi.dispDeviceRowBytes);
-}
-#endif /* CONFIG_BOOTX_TEXT */
 
 static unsigned short fcstab[256] = {
 	0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
@@ -1020,7 +973,6 @@ dump_hash_table(void)
 }
 #else
 
-#ifndef CONFIG_PPC64BRIDGE
 static void
 dump_hash_table_seg(unsigned seg, unsigned start, unsigned end)
 {
@@ -1079,66 +1031,6 @@ dump_hash_table_seg(unsigned seg, unsign
 		printf(" ... %x\n", last_va);
 }
 
-#else /* CONFIG_PPC64BRIDGE */
-static void
-dump_hash_table_seg(unsigned seg, unsigned start, unsigned end)
-{
-	extern void *Hash;
-	extern unsigned long Hash_size;
-	unsigned *htab = Hash;
-	unsigned hsize = Hash_size;
-	unsigned v, hmask, va, last_va;
-	int found, last_found, i;
-	unsigned *hg, w1, last_w2, last_va0;
-
-	last_found = 0;
-	hmask = hsize / 128 - 1;
-	va = start;
-	start = (start >> 12) & 0xffff;
-	end = (end >> 12) & 0xffff;
-	for (v = start; v < end; ++v) {
-		found = 0;
-		hg = htab + (((v ^ seg) & hmask) * 32);
-		w1 = 1 | (seg << 12) | ((v & 0xf800) >> 4);
-		for (i = 0; i < 8; ++i, hg += 4) {
-			if (hg[1] == w1) {
-				found = 1;
-				break;
-			}
-		}
-		if (!found) {
-			w1 ^= 2;
-			hg = htab + ((~(v ^ seg) & hmask) * 32);
-			for (i = 0; i < 8; ++i, hg += 4) {
-				if (hg[1] == w1) {
-					found = 1;
-					break;
-				}
-			}
-		}
-		if (!(last_found && found && (hg[3] & ~0x180) == last_w2 + 4096)) {
-			if (last_found) {
-				if (last_va != last_va0)
-					printf(" ... %x", last_va);
-				printf("\n");
-			}
-			if (found) {
-				printf("%x to %x", va, hg[3]);
-				last_va0 = va;
-			}
-			last_found = found;
-		}
-		if (found) {
-			last_w2 = hg[3] & ~0x180;
-			last_va = va;
-		}
-		va += 4096;
-	}
-	if (last_found)
-		printf(" ... %x\n", last_va);
-}
-#endif /* CONFIG_PPC64BRIDGE */
-
 static unsigned hash_ctx;
 static unsigned hash_start;
 static unsigned hash_end;

^ permalink raw reply

* AmigaOne PPC Linux: Problems with Interrupts
From: Gerhard Pircher @ 2006-02-21 19:07 UTC (permalink / raw)
  To: linuxppc-dev, debian-powerpc

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="us-ascii", Size: 2892 bytes --]

Hi,

I encountered some problems with Linux PPC on the AmigaOne. As you can see
in the /proc/interrupts output below, the AmigaOne has a i8259 PIC (no
OpenPIC). The first problem is, that the interrupts 7 and 10 are shown as
"Edge" triggered, but they're set to "Level" in the u-boot (firmware)
preferences. I'm not sure, if u-boot setups the interrupts, therefore I
added this code to the platform PCI initialisation code (copied from
prep_pci.c):

void __init
amigaone_pcibios_fixup(void)
{
	/* IRQ 7 is level triggered. */
	unsigned char irq_edge_mask_lo = 0x80;
	/* IRQ, 9, 10, 11 is level triggered. */
	unsigned char irq_edge_mask_hi = 0x07;

	outb(inb(0x04d0)|irq_edge_mask_lo, 0x4d0);	/* primary 8259 */
	outb(inb(0x04d1)|irq_edge_mask_hi, 0x4d1);	/* cascaded 8259 */
}

Unortunately this didn't help and the interrupts seem to be still "edge"
triggered.

/proc/interrupts:
           CPU0
  1:        189   i8259     Edge      i8042
  2:          0   i8259     Edge      82c59 secondary cascade
  5:          0   i8259     Edge      uhci_hcd, uhci_hcd
  7:        546   i8259     Edge      eth0
 10:          0   i8259     Edge      EMU10K1
 12:       8217   i8259     Edge      i8042
 14:      19597   i8259     Edge      ide0
 15:      18951   i8259     Edge      ide1
BAD:          2

The other issue are the 2 BAD interrupts shown above. Does this have to do
something with the "edge" or "level" triggered mode or is it a interrupt
routing problem?

Thanks!

Gerhard

Other infos:

/proc/ioports
00000000-00bfffff : PCI host bridge
  00000000-0000001f : dma1
  00000020-00000021 : 8259 (master)
  00000040-0000005f : timer
  00000060-0000006f : i8042
  00000080-0000008f : dma page reg
  000000a0-000000a1 : 8259 (slave)
  000000c0-000000df : dma2
  00000170-00000177 : ide1
  000001f0-000001f7 : ide0
  00000278-0000027a : parport2
  000002f8-000002ff : serial
  00000376-00000376 : ide1
  00000378-0000037a : parport0
  000003bc-000003be : parport1
  000003c0-000003df : vga+
  000003e8-000003ef : serial
  000003f6-000003f6 : ide0
  000003f8-000003ff : serial
  000004d0-000004d1 : 8259 edge control
  00002000-00002fff : PCI Bus #01
    00002000-000020ff : 0000:01:00.0
  0000cc00-0000cc0f : 0000:00:07.1
    0000cc00-0000cc07 : ide0
    0000cc08-0000cc0f : ide1
  00802000-0080207f : 0000:00:06.0
    00802000-0080207f : 0000:00:06.0
  00802080-0080209f : 0000:00:07.2
    00802080-0080209f : uhci_hcd
  008020a0-008020bf : 0000:00:07.3
    008020a0-008020bf : uhci_hcd
  00802100-008021ff : 0000:00:07.5
  00802200-00802203 : 0000:00:07.5
  00802204-00802207 : 0000:00:07.5
  00802300-008023ff : 0000:00:07.6
  00802400-0080241f : 0000:00:09.0
    00802400-0080241f : EMU10K1
  00802420-00802427 : 0000:00:09.1
    00802420-00802427 : emu10k1-gp

-- 
10 GB Mailbox, 100 FreeSMS/Monat http://www.gmx.net/de/go/topmail
+++ GMX - die erste Adresse für Mail, Message, More +++

^ permalink raw reply

* Re: Uart on cpm2_io (was: Using modem signal in cpm2 uart for MPC8270)
From: Mathieu Deschamps @ 2006-02-21 16:44 UTC (permalink / raw)
  To: Wojciech Kromer; +Cc: linuxppc-embedded
In-Reply-To: <43FADB46.6030109@dgt.com.pl>

On Tuesday 21 February 2006 10:20, Wojciech Kromer wrote:
> Dnia 2006-02-21 09:58, U=C5=BCytkownik Mathieu Deschamps napisa=C5=82:
> > Hello,
> >
> > Sorry to come with this UART issue again but I had no answer and no
> > better idea but asking people who knows 82xx uart well, people who
> > designed it.
> >
> > My issue about this uart could be approched elseway : why is there a
> > modem_control conditionnal compilation option when PQ2 SCCs
> > (in normal operation mode which is default) take care of CTS,CD signals
> > (Chap 20-8 GSMR_L register DIAG MPC8280 PQ2 Ref. Manual ) ?
> >
> > I fell like that is clearly a design-time choice matter that I need to
> > clarify.
> >
> > And simply :
> > Is this version is known to be broken when activating this option ?
>
> Do not know what this option is, probably for disabling code from
> another driver.
> With latest CVS version from denx.de you have only to enable CTS/RTS..
> signals in menuconfig.
> (And read my prior post if you're using SCC4 with SCC_CONSOLE)
>
>
>
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Thanks for your reply,

<> Do not know what this option is, probably for disabling code from
<> another driver.
=2E..or rather to enable it...(default is disabled). Allthesame :=20

Now it's clear it has historical reason and that I should not meddle with i=
t=20
in getting it enable. I guess it may be used for non-PQ2 or rather for non=
=20
dedicated pins assignement capable cpu in order to implement thoses signals
handling.

About SCC4 my version includes that code you spoke about in your prior=20
posts, but I'll use SCC4 as usb and not as console. Thus maybe this
turned nouse and has vanished in your version and that's why it's call a=20
"feature enhancement" yet. =20


Best Regards,

=20
Mathieu Deschamps
Com2gether Design Center
Electronic and Embedded Engineering Services
www.com2gether.net=20

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox