[PATCH] Make OpenPIC serial clock configurable

2004-12-16 Thread [EMAIL PROTECTED]
An embedded and charset-unspecified text was scrubbed...
Name: not available
Url: 
http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20041216/fd295ae1/attachment.txt
 


saving registers on task switch

2004-12-16 Thread Schneider, Jan (GE51)
Hello,

I have a MPC855t and using the Kernel 2.4.18.
I want to make some changes in the kernel to use the MPC855's Debug
Registers.
Where is the part in the sources where the registers of one process are
being saved on the stack? 
Is it possible to add there the DebugRegisters?

thank you for any suggestions

Jan



[PATCH] Make OpenPIC serial clock configurable

2004-12-16 Thread Tom Rini
On Thu, Dec 16, 2004 at 11:25:13AM +0100, tglx at linutronix.de wrote:

 Make OpenPIC serial clock configurable
 
 Signed-off-by: Thomas Gleixner tglx at linutronix.de

I'd like to wait on this at least until the code for a board that uses
this comes out.

-- 
Tom Rini
http://gate.crashing.org/~trini/



Error cross-building Linux 2.6 for 8xx

2004-12-16 Thread Povolotsky, Alexander
Hi - I am double posting this on both: linuxppc-embedded at ozlabs.org and
etux at embeddedtux.org, hoping to 
increase the audience and, hence, to maximize the number of responses (if
only the same people read both mail lists,
why such duplicate redundant mail lists exist ?)

I recognize and highly appreciate what Wolfgang Denk wd at denx.de wrote (to
me) on etux at embeddedtux.org:

Forget the combination of a 2.6 kernel and  a  MPC8xx  processor  for
now. There are still serious problems in 2.6 on these processors.

But at least (I thought) I should be able to build the 2.6 kernel for 8xx.
So firstly I ran into I2C no-current-support-for-8xx (see details in the
listed below e-mail chain) ...

Then I took the I2C configuration out and tried to build the kernel again -
but I am still getting errors
(not sure though whether cross-compiler contributes to those recent errors
or not ... - I would, as always,
 appreciate any opinion/input ! ):

Make zImage

  CHK include/linux/version.h
make[1]: `arch/ppc/kernel/asm-offsets.asm' is up to date.
  CHK include/linux/compile.h
  CC  arch/ppc/8xx_io/uart.o
arch/ppc/8xx_io/uart.c:82: warning: type defaults to `int' in declaration of
`DECLARE_TASK_QUEUE'
arch/ppc/8xx_io/uart.c:82: warning: parameter names (without types) in
function declaration
arch/ppc/8xx_io/uart.c: In function `serial_console_device':
arch/ppc/8xx_io/uart.c:145: error: storage class specified for parameter
`rs_table'
arch/ppc/8xx_io/uart.c:145: error: parameter `rs_table' is initialized

Thanks,
Best Regards,
Alex

-Original Message-
From: Dan Malek [mailto:[EMAIL PROTECTED]
Sent: Wednesday, December 15, 2004 11:54 AM
To: Povolotsky, Alexander
Cc: 'linuxppc-embedded at ozlabs.org'
Subject: Re: I2C + Linux 2.6 on MPC880/MPC885 based board(s)


On Dec 15, 2004, at 11:04 AM, Povolotsky, Alexander wrote:

 On a software (Linux 2.6) side ...
 Did you deal with Linux 2.6 + MPC880/MPC885 (or at least any MPC8xx) ?
  If yes, what I2C settings in .config were used for successful 2.6 kernel

  build ?
  I am having a problem building it (see below attached) ... - that is  
  why I am trying to understand from the hardware point of view - hence my
h/w related questions  
  ... - the importance of I2C.

It looks like someone that has an interest in
using the CPM I2C (which isn't me) will need to port it first to 2.6,
then provide the board specific functions for set up and control.

On top of this, if you want to run the SMBus protocols, you will
need a much more complex CPM I2C functions.


-- Dan
**
-Original Message-
From: Povolotsky, Alexander 
Sent: Tuesday, December 14, 2004 6:13 PM
To: 'Greg KH'; Jean Delvare
Subject: RE: 8xx i2c drivers (cross)compilation errors on Linux 2.6.8


Hi,

Alexander, what arch are you building for?

PPC -8xx -MPC880 (Motorola - FreeScale Semiconductor)
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPC885nodeId
=018rH3bTdG4204

Thanks,
Best Regards,
Alex

PPS I have attached my original e-mail in its entirety (at the end ).

-Original Message-
From: Greg KH [mailto:[EMAIL PROTECTED]
Sent: Tuesday, December 14, 2004 4:50 PM
To: Jean Delvare
Cc: Alexander.Povolotsky at marconi.com
Subject: Re: 8xx i2c drivers (cross)compilation errors on Linux 2.6.8


On Tue, Dec 14, 2004 at 10:38:00AM +0100, Jean Delvare wrote:
 
 On 2004-12-14, Alexander Povolotsky wrote:
 
  Hi,
 
  I have the following .config setup:
  (...)
  CONFIG_I2C_RPXLITE=y
  (...)
  
  Originally I was getting error:
   CC  drivers/i2c/busses/i2c-rpx.o
  drivers/i2c/busses/i2c-rpx.c:20:32: linux/i2c-algo-8xx.h: No such file
or
  directory - why I am missing it - any hint ?
 
 Hm, looks like the 8xx i2c algorithm was never ported to Linux 2.6. Greg,
 how come that the RPX adapter driver is present in the tree and the
 algorithm it depends on isn't?

Because no one ever sent me the patch with those files in it?  :)

I have no idea, I've not cross built this driver before.

 Greg, could it be that an arch-specific (m68k? don't know what this
 rpx/8xx thing is) variant of the Linux tree already has the i2c-algo-8xx
 driver ported to 2.6? We probably want to import it into the main tree
 if this is the case (having adapter drivers that won't compile doesn't
 sound good...)

It might, I've seen i2c drivers in different arch specific trees (like
sh for example I know has a few.)

Alexander, what arch are you building for?

thanks,

greg k-h
*
-Original Message-
From: Jean Delvare [mailto:[EMAIL PROTECTED]
Sent: Tuesday, December 14, 2004 4:38 AM
To: Alexander.Povolotsky at marconi.com; greg at kroah.com
Subject: Re: 8xx i2c drivers (cross)compilation errors on Linux 2.6.8



On 2004-12-14, Alexander Povolotsky wrote:

 Hi,

 I have the following .config setup:
 (...)
 CONFIG_I2C_RPXLITE=y
 (...)
 
 Originally I was getting error:
  CC  drivers/i2c/busses/i2c-rpx.o
 drivers/i2c/busses/i2c-rpx.c:20:32: 

Error cross-building Linux 2.6 for 8xx

2004-12-16 Thread Guillaume Autran
/i2c-rpx.c:39: error: dereferencing pointer to incomplete
type
drivers/i2c/busses/i2c-rpx.c:41: error: dereferencing pointer to incomplete
type
drivers/i2c/busses/i2c-rpx.c:42: error: dereferencing pointer to incomplete
type
drivers/i2c/busses/i2c-rpx.c:53: error: dereferencing pointer to incomplete
type
drivers/i2c/busses/i2c-rpx.c:56: error: dereferencing pointer to incomplete
type
drivers/i2c/busses/i2c-rpx.c: At top level:
drivers/i2c/busses/i2c-rpx.c:67: error: variable `rpx_data' has initializer
but incomplete type
drivers/i2c/busses/i2c-rpx.c:68: error: unknown field `setisr' specified in
initializer
drivers/i2c/busses/i2c-rpx.c:69: warning: excess elements in struct
initializer
drivers/i2c/busses/i2c-rpx.c:69: warning: (near initialization for
`rpx_data')
drivers/i2c/busses/i2c-rpx.c:67: error: storage size of `rpx_data' isn't
known
make[3]: *** [drivers/i2c/busses/i2c-rpx.o] Error 1
make[2]: *** [drivers/i2c/busses] Error 2
make[1]: *** [drivers/i2c] Error 2
make: *** [drivers] Error 2

Here is the listing of i2c-algo-8xx.h I have (from Linux 2.4.26 distribution
)
/* 
/* i2c-algo-8xx.h i2c driver algorithms for MPX8XX CPM
/* 

/* $Id$ */

#ifndef I2C_ALGO_8XX_H
#define I2C_ALGO_8XX_H 1

#include linux/i2c.h

struct i2c_algo_8xx_data {
uint dp_addr;
int reloc;
volatile i2c8xx_t *i2c;
volatile iic_t  *iip;
volatile cpm8xx_t *cp;

int (*setisr) (int irq,
   void (*func)(int, void *, struct pt_regs *),
   const char *name,
   void *data);

u_char  temp[513];
};

int i2c_8xx_add_bus(struct i2c_adapter *);
int i2c_8xx_del_bus(struct i2c_adapter *);

#endif /* I2C_ALGO_8XX_H */


Thanks,
Best Regards,
I will highly Appreciate your response/help !
Alex Povolotsky

___
Linuxppc-embedded mailing list
Linuxppc-embedded at ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

  


-- 
===
Guillaume Autran
Senior Software Engineer
MRV Communications, Inc.
Tel: (978) 952-4932 office
E-mail: gautran at mrv.com
=== 

-- next part --
An HTML attachment was scrubbed...
URL: 
http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20041216/d00cb8d3/attachment.htm
 


Error cross-building Linux 2.6 for 8xx

2004-12-16 Thread Steven Blakeslee
arch/ppc/8xx_io/uart.c is the problem.  For the 2.6 kernel that compiles
for 8xx that file does not exist.  You need a newer version of the 2.6
kernel.  The version that compiles correctly and sort of runs is Linux
2.6.10-rc3.  I know for a fact that Linux 2.6.9 and lower does not
compile correctly on 8xx. 

Also, nfs root does not work, use a ramdisk.

My email client sucks, so I probably broke the thread, sorry.




 -Original Message-
 From: linuxppc-embedded-bounces at ozlabs.org 
 [mailto:linuxppc-embedded-bounces at ozlabs.org] On Behalf Of 
 Povolotsky, Alexander
 Sent: Thursday, December 16, 2004 10:31 AM
 To: 'linuxppc-embedded at ozlabs.org'; 'etux at embeddedtux.org'
 Subject: Error cross-building Linux 2.6 for 8xx
 
 Hi - I am double posting this on both: 
 linuxppc-embedded at ozlabs.org and etux at embeddedtux.org, hoping 
 to increase the audience and, hence, to maximize the number 
 of responses (if only the same people read both mail lists, 
 why such duplicate redundant mail lists exist ?)
 
 I recognize and highly appreciate what Wolfgang Denk 
 wd at denx.de wrote (to
 me) on etux at embeddedtux.org:
 
 Forget the combination of a 2.6 kernel and  a  MPC8xx  
 processor  for 
 now. There are still serious problems in 2.6 on these processors.
 
 But at least (I thought) I should be able to build the 2.6 
 kernel for 8xx.
 So firstly I ran into I2C no-current-support-for-8xx (see 
 details in the listed below e-mail chain) ...
 
 Then I took the I2C configuration out and tried to build the 
 kernel again - but I am still getting errors (not sure though 
 whether cross-compiler contributes to those recent errors 
 or not ... - I would, as always,  appreciate any opinion/input ! ):
 
 Make zImage
 
   CHK include/linux/version.h
 make[1]: `arch/ppc/kernel/asm-offsets.asm' is up to date.
   CHK include/linux/compile.h
   CC  arch/ppc/8xx_io/uart.o
 arch/ppc/8xx_io/uart.c:82: warning: type defaults to `int' in 
 declaration of `DECLARE_TASK_QUEUE'
 arch/ppc/8xx_io/uart.c:82: warning: parameter names (without 
 types) in function declaration
 arch/ppc/8xx_io/uart.c: In function `serial_console_device':
 arch/ppc/8xx_io/uart.c:145: error: storage class specified 
 for parameter `rs_table'
 arch/ppc/8xx_io/uart.c:145: error: parameter `rs_table' is initialized
 
 Thanks,
 Best Regards,
 Alex
 
 -Original Message-
 From: Dan Malek [mailto:dan at embeddededge.com]
 Sent: Wednesday, December 15, 2004 11:54 AM
 To: Povolotsky, Alexander
 Cc: 'linuxppc-embedded at ozlabs.org'
 Subject: Re: I2C + Linux 2.6 on MPC880/MPC885 based board(s)
 
 
 On Dec 15, 2004, at 11:04 AM, Povolotsky, Alexander wrote:
 
  On a software (Linux 2.6) side ...
  Did you deal with Linux 2.6 + MPC880/MPC885 (or at least 
 any MPC8xx) ?
   If yes, what I2C settings in .config were used for successful 2.6 
  kernel
 
   build ?
   I am having a problem building it (see below attached) ... 
 - that is  
  why I am trying to understand from the hardware point of 
 view - hence 
  my
 h/w related questions  
   ... - the importance of I2C.
 
 It looks like someone that has an interest in using the CPM 
 I2C (which isn't me) will need to port it first to 2.6, then 
 provide the board specific functions for set up and control.
 
 On top of this, if you want to run the SMBus protocols, you 
 will need a much more complex CPM I2C functions.
 
 
   -- Dan
 **
 -Original Message-
 From: Povolotsky, Alexander
 Sent: Tuesday, December 14, 2004 6:13 PM
 To: 'Greg KH'; Jean Delvare
 Subject: RE: 8xx i2c drivers (cross)compilation errors on Linux 2.6.8
 
 
 Hi,
 
 Alexander, what arch are you building for?
 
 PPC -8xx -MPC880 (Motorola - FreeScale Semiconductor)
 http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code
=MPC885nodeId
 =018rH3bTdG4204
 
 Thanks,
 Best Regards,
 Alex
 
 PPS I have attached my original e-mail in its entirety (at the end ).
 
 -Original Message-
 From: Greg KH [mailto:greg at kroah.com]
 Sent: Tuesday, December 14, 2004 4:50 PM
 To: Jean Delvare
 Cc: Alexander.Povolotsky at marconi.com
 Subject: Re: 8xx i2c drivers (cross)compilation errors on Linux 2.6.8
 
 
 On Tue, Dec 14, 2004 at 10:38:00AM +0100, Jean Delvare wrote:
  
  On 2004-12-14, Alexander Povolotsky wrote:
  
   Hi,
  
   I have the following .config setup:
   (...)
   CONFIG_I2C_RPXLITE=y
   (...)
   
   Originally I was getting error:
CC  drivers/i2c/busses/i2c-rpx.o
   drivers/i2c/busses/i2c-rpx.c:20:32: linux/i2c-algo-8xx.h: 
 No such file
 or
   directory - why I am missing it - any hint ?
  
  Hm, looks like the 8xx i2c algorithm was never ported to 
 Linux 2.6. Greg,
  how come that the RPX adapter driver is present in the tree and the
  algorithm it depends on isn't?
 
 Because no one ever sent me the patch with those files in it?  :)
 
 I have no idea, I've not cross built this driver before.
 
  Greg, could it be that an arch-specific (m68k? don't know what this
  

Error cross-building Linux 2.6 for 8xx

2004-12-16 Thread Demke, Torsten
Hello Alexander,

(snip)
 
 Make zImage
 
   CHK include/linux/version.h
 make[1]: `arch/ppc/kernel/asm-offsets.asm' is up to date.
   CHK include/linux/compile.h
   CC  arch/ppc/8xx_io/uart.o
 arch/ppc/8xx_io/uart.c:82: warning: type defaults to `int' in 
 declaration of
 `DECLARE_TASK_QUEUE'
 arch/ppc/8xx_io/uart.c:82: warning: parameter names (without types) in
 function declaration
 arch/ppc/8xx_io/uart.c: In function `serial_console_device':
 arch/ppc/8xx_io/uart.c:145: error: storage class specified 
 for parameter
 `rs_table'
 arch/ppc/8xx_io/uart.c:145: error: parameter `rs_table' is initialized
Its also recommended to use the new serial driver for 8xx 
(CONFIG_SERIAL_CPM_xxx) from the ../drivers/serial/cpm_uart/*.* directory.

Regards,
Torsten

 
 Thanks,
 Best Regards,
 Alex
 
 -Original Message-
 From: Dan Malek [mailto:dan at embeddededge.com]
 Sent: Wednesday, December 15, 2004 11:54 AM
 To: Povolotsky, Alexander
 Cc: 'linuxppc-embedded at ozlabs.org'
 Subject: Re: I2C + Linux 2.6 on MPC880/MPC885 based board(s)
 
 
 On Dec 15, 2004, at 11:04 AM, Povolotsky, Alexander wrote:
 
  On a software (Linux 2.6) side ...
  Did you deal with Linux 2.6 + MPC880/MPC885 (or at least 
 any MPC8xx) ?
   If yes, what I2C settings in .config were used for 
 successful 2.6 kernel
 
   build ?
   I am having a problem building it (see below attached) ... 
 - that is  
   why I am trying to understand from the hardware point of 
 view - hence my
 h/w related questions  
   ... - the importance of I2C.
 
 It looks like someone that has an interest in
 using the CPM I2C (which isn't me) will need to port it first to 2.6,
 then provide the board specific functions for set up and control.
 
 On top of this, if you want to run the SMBus protocols, you will
 need a much more complex CPM I2C functions.
 
 
   -- Dan
 **
 -Original Message-
 From: Povolotsky, Alexander 
 Sent: Tuesday, December 14, 2004 6:13 PM
 To: 'Greg KH'; Jean Delvare
 Subject: RE: 8xx i2c drivers (cross)compilation errors on Linux 2.6.8
 
 
 Hi,
 
 Alexander, what arch are you building for?
 
 PPC -8xx -MPC880 (Motorola - FreeScale Semiconductor)
 http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code
 =MPC885nodeId
 =018rH3bTdG4204
 
 Thanks,
 Best Regards,
 Alex
 
 PPS I have attached my original e-mail in its entirety (at the end ).
 
 -Original Message-
 From: Greg KH [mailto:greg at kroah.com]
 Sent: Tuesday, December 14, 2004 4:50 PM
 To: Jean Delvare
 Cc: Alexander.Povolotsky at marconi.com
 Subject: Re: 8xx i2c drivers (cross)compilation errors on Linux 2.6.8
 
 
 On Tue, Dec 14, 2004 at 10:38:00AM +0100, Jean Delvare wrote:
  
  On 2004-12-14, Alexander Povolotsky wrote:
  
   Hi,
  
   I have the following .config setup:
   (...)
   CONFIG_I2C_RPXLITE=y
   (...)
   
   Originally I was getting error:
CC  drivers/i2c/busses/i2c-rpx.o
   drivers/i2c/busses/i2c-rpx.c:20:32: linux/i2c-algo-8xx.h: 
 No such file
 or
   directory - why I am missing it - any hint ?
  
  Hm, looks like the 8xx i2c algorithm was never ported to 
 Linux 2.6. Greg,
  how come that the RPX adapter driver is present in the tree and the
  algorithm it depends on isn't?
 
 Because no one ever sent me the patch with those files in it?  :)
 
 I have no idea, I've not cross built this driver before.
 
  Greg, could it be that an arch-specific (m68k? don't know what this
  rpx/8xx thing is) variant of the Linux tree already has the 
 i2c-algo-8xx
  driver ported to 2.6? We probably want to import it into 
 the main tree
  if this is the case (having adapter drivers that won't 
 compile doesn't
  sound good...)
 
 It might, I've seen i2c drivers in different arch specific trees (like
 sh for example I know has a few.)
 
 Alexander, what arch are you building for?
 
 thanks,
 
 greg k-h
 *
 -Original Message-
 From: Jean Delvare [mailto:khali at linux-fr.org]
 Sent: Tuesday, December 14, 2004 4:38 AM
 To: Alexander.Povolotsky at marconi.com; greg at kroah.com
 Subject: Re: 8xx i2c drivers (cross)compilation errors on Linux 2.6.8
 
 
 
 On 2004-12-14, Alexander Povolotsky wrote:
 
  Hi,
 
  I have the following .config setup:
  (...)
  CONFIG_I2C_RPXLITE=y
  (...)
  
  Originally I was getting error:
   CC  drivers/i2c/busses/i2c-rpx.o
  drivers/i2c/busses/i2c-rpx.c:20:32: linux/i2c-algo-8xx.h: 
 No such file or
  directory - why I am missing it - any hint ?
 
 Hm, looks like the 8xx i2c algorithm was never ported to 
 Linux 2.6. Greg,
 how come that the RPX adapter driver is present in the tree and the
 algorithm it depends on isn't?
 
  So I copied the i2c-algo-8xx.h file from Linux 2.4.26 
 distribution ...
  could I use it ?
  (if not - could you send me the correct i2c-algo-8xx.h file 
 ? - TIA !)
 
 I don't think it'll work. The header file is one thing, the algorithm
 driver is another and you would need to port both (they proabbly won't
 work out of the box due to 

[PATCH][PPC32] Fix io_remap_page_range for 36-bit phys platforms

2004-12-16 Thread Matt Porter
Fixes io_remap_page_range() to use the 32-bit address translator
similar to ioremap(). Someday u64 start/end resources should make
this unnecessary. Fixes set_pte() to handle a long long pte_t
properly.

Signed-off-by: Matt Porter mporter at kernel.crashing.org

diff -Nru a/arch/ppc/Kconfig b/arch/ppc/Kconfig
--- a/arch/ppc/Kconfig  2004-12-16 17:31:53 -07:00
+++ b/arch/ppc/Kconfig  2004-12-16 17:31:53 -07:00
@@ -97,6 +97,11 @@
depends on 44x
default y
 
+config PHYS_64BIT
+   bool
+   depends on 44x
+   default y
+
 config ALTIVEC
bool AltiVec Support
depends on 6xx || POWER4
diff -Nru a/arch/ppc/syslib/ibm44x_common.c b/arch/ppc/syslib/ibm44x_common.c
--- a/arch/ppc/syslib/ibm44x_common.c   2004-12-16 17:31:53 -07:00
+++ b/arch/ppc/syslib/ibm44x_common.c   2004-12-16 17:31:53 -07:00
@@ -19,6 +19,7 @@
 #include linux/time.h
 #include linux/types.h
 #include linux/serial.h
+#include linux/module.h
 
 #include asm/ibm44x.h
 #include asm/mmu.h
@@ -47,6 +48,7 @@
 
return (page_4gb | addr);
 };
+EXPORT_SYMBOL(fixup_bigphys_addr);
 
 void __init ibm44x_calibrate_decr(unsigned int freq)
 {
diff -Nru a/include/asm-ppc/pgtable.h b/include/asm-ppc/pgtable.h
--- a/include/asm-ppc/pgtable.h 2004-12-16 17:31:53 -07:00
+++ b/include/asm-ppc/pgtable.h 2004-12-16 17:31:53 -07:00
@@ -431,7 +431,7 @@
 #define pte_pfn(x) (pte_val(x)  PAGE_SHIFT)
 #define pte_page(x)pfn_to_page(pte_pfn(x))
 
-#define pfn_pte(pfn, prot) __pte(((pfn)  PAGE_SHIFT) | pgprot_val(prot))
+#define pfn_pte(pfn, prot) __pte(((pte_t)(pfn)  PAGE_SHIFT) | 
pgprot_val(prot))
 #define mk_pte(page, prot) pfn_pte(page_to_pfn(page), prot)
 
 /*
@@ -714,8 +714,22 @@
 /* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
 #define kern_addr_valid(addr)  (1)
 
+#ifdef CONFIG_PHYS_64BIT
+extern int remap_pfn_range(struct vm_area_struct *vma, unsigned long from,
+   unsigned long paddr, unsigned long size, pgprot_t prot);
+static inline int io_remap_page_range(struct vm_area_struct *vma,
+   unsigned long vaddr,
+   unsigned long paddr,
+   unsigned long size,
+   pgprot_t prot)
+{
+   phys_addr_t paddr64 = fixup_bigphys_addr(paddr, size);
+   return remap_pfn_range(vma, vaddr, paddr64  PAGE_SHIFT, size, prot);
+}
+#else
 #define io_remap_page_range(vma, vaddr, paddr, size, prot) \
remap_pfn_range(vma, vaddr, (paddr)  PAGE_SHIFT, size, prot)
+#endif
 
 /*
  * No page table caches to initialise