[PATCH 00/10] Updated ML300 ML403 patches

2006-01-17 Thread Grant Likely
Let's keep this conversation on the mailing list.

Peter Ryser wrote:
 Hi Grant and Andrei,
 
 I'm glad to see some activity on the linuxppc email alias for the MLxxx 
 boards and appreciate the work put into moving the 2.4 support to 2.6.
 
 I just tried to boot the 2.6 kernel with Grant's patches applied to 
 Linus' latest tree on both the ML300 and the ML403 and in both cases end 
 up with the PLB Error LED lit up. Both boards print the messages from 
 the bootloader, print Now booting the kernel and then nothing (but the 
 error LED). Anything you can think of that is going wrong?

Hmm, did you use the ml403 and ml300 def configs?  What date did you 
pull Linus' tree?  Kumar and Paul were talking today about some serial 
subsystem breakage on the linux-2.6 tree this weekend... I'll fast 
forward tonight and try it on my board.

Try seeking to commit: 67daf5f11f06b9b15f8320de1d237ccc2e74fe43
That's what I generated the latest patches against.

 
 Anyway, there is another issue that I would like to bring up and it has 
 to do with xparameters.h. The xparameters.h file, or more exactly, the 
 xparameters_* file, is automatically generated by EDK and is then used 
 to configure the devices in the Linux kernel at compile time. While I 
 understand the desire to get away from a static device definition to 
 device enumeration at run-time, the current set of patches is a step 
 backwards for users from a useability point of view. Users will now have 
 to modify xparameters*.h by hand which is an error-prone process. 

Actually, users should *never* modifiy generated files.  The intent is 
that board specific fixups go directly into the top level xparameters.h 
so that newly generated files don't have to be touched.  But yes, I 
understand what you mean.

 Additionally, the original 'redefines' are now replaced with redefines 
 in xparameters.h but differently for every board. I suggest we keep the 
 2.4 methodology until we can come up with a better approach to enumerate 
 devices at run-time.

Andrei  I are already discussing this.  I'm going to change the 
xparameters redefines to provide a default set of mappings that can be 
used if xparameters_*.h has the linux specific mappings.

However, due to the fact that generated xparam files don't have the 
Linux redefines if the FPGA engineer doesn't select a linux bsp.  I 
think it's important to allow user defined 'fixups' for their board. 
(I've personally worked on a couple of projects where the FPGA engineer 
would not generate the Linux BSP).  Design specific fixups can go into 
the top level xparameters.h without touching the generated file

rant BTW; it really bugs me that edk will generate different xparam 
files depending on the bsp; why isn't there a single standard set of 
data that is loaded into all xparam files; regardless of software 
target?  Some no-OS targets need the same information that a Linux port 
needs. /rant

I've avoided using the same names as used by the Linux redefines because 
I don't know how stable the linux bsp naming convention is, and I want 
to avoid a naming conflict.  If you can *guarantee* me that those linux 
redefines are stable, then I have no problem using them instead of the 
new defines that are currently in the patch.  If they are not; then I'll 
just do a one-to-one mapping into a non-conflicting namespace, and users 
can provide custom definitions as needed.

This really isn't a big deal anyway; most of this discussion will become 
moot in short order.  Sometime in the next few releases, linuxppc will 
flip over to using a flattened device tree to pass device information 
from the boot loader to the kernel.  xparameters will drop out of the 
kernel proper entirely except for the edk-generated device drivers 
(which is another issue entirely).  All the xparam stuff will be 
extracted into a device tree by u-boot or the zImage wrapper.  The 
kernel just won't care.  :)


 Specific to the patch: XPAR_DDR_SIZE is not the same as XPAR_MEM_*. 
 XPAR_DDR_SIZE is specifically defined by the user as part of the BSP 
 generation and indicates how much memory is available for Linux. This 
 can be (and typically is) the same as the physically available memory 
 but can be less than that. On the other hand XPAR_MEM_* can be the same 
 or a multiple of the physically available memory (aliasing for cached 
 and non-cached accesses). Statically defining the memory size in 
 xparameters_ml403.h is not desirable. This is especially true for the 
 multi-processor FPGA devices that might want to share the physically 
 available memory between themselves.

As you can see in embed_config.c; I already discovered this the hard way 
   :(

Hmmm, I don't see any XPAR mem defines in xparameters_ml300.h.  (I don't 
have a copy of the linux xparams for ml403 in front of me at the moment) 
  Is this something new?

Really, this isn't statically defined anyway.  The bootloader (u-boot or 
zImage) passes the memory size into the kernel; and in 

Virtex-4 TEMAC device driver available?

2006-01-17 Thread Patrick Huesmann
Hi,

I'm using linux on several projects running on Virtex2Pro boards
utilizing a softcore MAC (OPB EMAC). Recently, we built a new board
based on the Virtex 4 FX and I noticed that its hardwired TEMAC
differs significantly from the OPB EMAC we used before.

Is there already a linux driver for this TEMAC available? I noticed
that several patches for basic Virtex-4 support have been posted to
this list, but I don't know what kernel these patches are based on, or
where I can download a development snapshot.

Unfortunately, the public rsync repository at source.mvista.com (where
I got the kernel for our Virtex2Pro based stuff from) seems to be
discontinued, and I don't see any PPC specific kernel stuff in the git
repositories there.

Thanks,
Patrick



Virtex-4 TEMAC device driver available?

2006-01-17 Thread Yoshio Kashiwagi
Hi Patrick-san,

GSRD of the following URL is downloaded and the driver of mvl is
generated by EDK, the Xilinx temac driver and patch for 2.4 will be 
obtained.

http://www.xilinx.co.jp/esp/wired/optical/xlnx_net/gsrd.htm

Now, I'm just working temac driver to 2.6 and have not yet completed.

Best Regards,
Yoshio Kashiwagi - Nissin Systems

 Hi,
 
 I'm using linux on several projects running on Virtex2Pro boards
 utilizing a softcore MAC (OPB EMAC). Recently, we built a new board
 based on the Virtex 4 FX and I noticed that its hardwired TEMAC
 differs significantly from the OPB EMAC we used before.
 
 Is there already a linux driver for this TEMAC available? I noticed
 that several patches for basic Virtex-4 support have been posted to
 this list, but I don't know what kernel these patches are based on, or
 where I can download a development snapshot.
 
 Unfortunately, the public rsync repository at source.mvista.com (where
 I got the kernel for our Virtex2Pro based stuff from) seems to be
 discontinued, and I don't see any PPC specific kernel stuff in the git
 repositories there.
 
 Thanks,
 Patrick
 ___
 Linuxppc-embedded mailing list
 Linuxppc-embedded at ozlabs.org
 https://ozlabs.org/mailman/listinfo/linuxppc-embedded
 




[PATCH 00/10] Updated ML300 ML403 patches

2006-01-17 Thread Peter Ryser

 Hmm, did you use the ml403 and ml300 def configs?  What date did you 
 pull Linus' tree?  Kumar and Paul were talking today about some serial 
 subsystem breakage on the linux-2.6 tree this weekend... I'll fast 
 forward tonight and try it on my board. 

Okay, please let me know how this works for you.

 Try seeking to commit: 67daf5f11f06b9b15f8320de1d237ccc2e74fe43
 That's what I generated the latest patches against. 

Hmm, I only recently switched to using git. Is this number string some 
kind of a tag that I can synchronize my local git tree to? If so, how?

 Anyway, there is another issue that I would like to bring up and it 
 has to do with xparameters.h. The xparameters.h file, or more 
 exactly, the xparameters_* file, is automatically generated by EDK 
 and is then used to configure the devices in the Linux kernel at 
 compile time. While I understand the desire to get away from a static 
 device definition to device enumeration at run-time, the current set 
 of patches is a step backwards for users from a useability point of 
 view. Users will now have to modify xparameters*.h by hand which is 
 an error-prone process. 


 Actually, users should *never* modifiy generated files.  The intent is 
 that board specific fixups go directly into the top level 
 xparameters.h so that newly generated files don't have to be touched.  
 But yes, I understand what you mean. 

An EDK user is free to choose arbitrary names for his peripherals. 
Additionally, Base System Builder uses different names for various 
boards (historically). With that it is impossible to make static 
assignments in xparameters.h. If you go back to the 2.4 kernel and have 
a look at xparameters_ml300.h you can see that the assignment of boards 
specific parameters to Linux specific parameters is done in there and 
that xparameters.h is basically used to chose the proper xparameters_* 
file for a given board.

 Additionally, the original 'redefines' are now replaced with 
 redefines in xparameters.h but differently for every board. I suggest 
 we keep the 2.4 methodology until we can come up with a better 
 approach to enumerate devices at run-time.


 Andrei  I are already discussing this.  I'm going to change the 
 xparameters redefines to provide a default set of mappings that can be 
 used if xparameters_*.h has the linux specific mappings. 

Thanks. Why not just use the xparameters_ml300.h file created by the 
system_linux.xmp in the EDK reference design for the ML403 and rename it 
to xparameters_ml403.h for inclusion into the kernel tree? We could then 
make a change in EDK, add a parameter that lets the user specify the 
board he uses, and with that automatically create an xparameters_ml403.h 
(or any other board for that matter).

 However, due to the fact that generated xparam files don't have the 
 Linux redefines if the FPGA engineer doesn't select a linux bsp.

That's not a recommended flow. It's very easy to create an EDK design 
with the proper settings and since it is very likely that things change 
during the design process of the FPGA the small investment into making 
the proper settings in the tool will save a lot of time in the end.

   I think it's important to allow user defined 'fixups' for their 
 board. (I've personally worked on a couple of projects where the FPGA 
 engineer would not generate the Linux BSP).  Design specific fixups 
 can go into the top level xparameters.h without touching the generated 
 file 

I strongly believe that this approach fixes things in the wrong place. 
The correct thing to do is to use EDK to create a proper xparameters_*.h 
that matches the FPGA design. In your methodology, if the user decides 
to change the peripheral names in EDK he will have to go back and change 
the defines in xparameters.h. With the 2.4 kernel methodology that is 
not necessary as such changes will be represented in a regenerated 
board-specific xparameters_*.h

 rant BTW; it really bugs me that edk will generate different xparam 
 files depending on the bsp; why isn't there a single standard set of 
 data that is loaded into all xparam files; regardless of software 
 target?  Some no-OS targets need the same information that a Linux 
 port needs. /rant 

EDK creates an xparameters.h that matches the names of the parameters in 
the hardware design. However, EDK is capable of assuming other 
personalities than 'standalone', for example Linux. With the Linux 
personality it creates the proper files AND directory structure for 
inclusion into the Linux kernel. Ideally, the source files that are used 
to create the Linux bsp for a given FPGA design should be included in 
the kernel tree and be maintained in there (maybe, in the xparameters 
directory). I'm not so sure though how well this would be accepted in 
the community. Opinions?

 I've avoided using the same names as used by the Linux redefines 
 because I don't know how stable the linux bsp naming convention is, 
 and I want to avoid a naming 

[PATCH 00/10] Updated ML300 ML403 patches

2006-01-17 Thread Grant Likely
Peter Ryser wrote:
 
 Hmm, did you use the ml403 and ml300 def configs?  What date did you 
 pull Linus' tree?  Kumar and Paul were talking today about some serial 
 subsystem breakage on the linux-2.6 tree this weekend... I'll fast 
 forward tonight and try it on my board. 
 
 
 Okay, please let me know how this works for you.
 
 Try seeking to commit: 67daf5f11f06b9b15f8320de1d237ccc2e74fe43
 That's what I generated the latest patches against. 
 
 
 Hmm, I only recently switched to using git. Is this number string some 
 kind of a tag that I can synchronize my local git tree to? If so, how?
 

Yea, the number is kind of like a raw tag without a name associated with 
it.  The cg-seek command can be used to get you there.  (But you also 
need to have cogito installed)

 Anyway, there is another issue that I would like to bring up and it 
 has to do with xparameters.h. The xparameters.h file, or more 
 exactly, the xparameters_* file, is automatically generated by EDK 
 and is then used to configure the devices in the Linux kernel at 
 compile time. While I understand the desire to get away from a static 
 device definition to device enumeration at run-time, the current set 
 of patches is a step backwards for users from a useability point of 
 view. Users will now have to modify xparameters*.h by hand which is 
 an error-prone process. 



 Actually, users should *never* modifiy generated files.  The intent is 
 that board specific fixups go directly into the top level 
 xparameters.h so that newly generated files don't have to be touched.  
 But yes, I understand what you mean. 
 
 
 An EDK user is free to choose arbitrary names for his peripherals. 
 Additionally, Base System Builder uses different names for various 
 boards (historically). With that it is impossible to make static 
 assignments in xparameters.h. If you go back to the 2.4 kernel and have 
 a look at xparameters_ml300.h you can see that the assignment of boards 
 specific parameters to Linux specific parameters is done in there and 
 that xparameters.h is basically used to chose the proper xparameters_* 
 file for a given board.

okay

 
 Additionally, the original 'redefines' are now replaced with 
 redefines in xparameters.h but differently for every board. I suggest 
 we keep the 2.4 methodology until we can come up with a better 
 approach to enumerate devices at run-time.



 Andrei  I are already discussing this.  I'm going to change the 
 xparameters redefines to provide a default set of mappings that can be 
 used if xparameters_*.h has the linux specific mappings. 
 
 
 Thanks. Why not just use the xparameters_ml300.h file created by the 
 system_linux.xmp in the EDK reference design for the ML403 and rename it 
 to xparameters_ml403.h for inclusion into the kernel tree? We could then 
 make a change in EDK, add a parameter that lets the user specify the 
 board he uses, and with that automatically create an xparameters_ml403.h 
 (or any other board for that matter).

I don't understand what you mean.  It sounds like your suggesting I do 
exactly opposite what you're arguing; hand modify one of the 
xparameters_*.h files.  Are you saying that edk can't generate Linux 
redefines for the ml403 at the moment?

I do *not* think I should replace the edk-generated xparameters_ml403.h 
with a hacked xparameters_ml300.h file.  I'd rather use the generated 
_ml403 file and change the infrastructure when the Linux redefines are 
ready.

 
 However, due to the fact that generated xparam files don't have the 
 Linux redefines if the FPGA engineer doesn't select a linux bsp.

 
 That's not a recommended flow. It's very easy to create an EDK design 
 with the proper settings and since it is very likely that things change 
 during the design process of the FPGA the small investment into making 
 the proper settings in the tool will save a lot of time in the end.

I understand that it's not *recommended*; I'm just saying it's not 
always *reality*  :p

 
   I think it's important to allow user defined 'fixups' for their 
 board. (I've personally worked on a couple of projects where the FPGA 
 engineer would not generate the Linux BSP).  Design specific fixups 
 can go into the top level xparameters.h without touching the generated 
 file 
 
 
 I strongly believe that this approach fixes things in the wrong place. 
 The correct thing to do is to use EDK to create a proper xparameters_*.h 
 that matches the FPGA design. In your methodology, if the user decides 
 to change the peripheral names in EDK he will have to go back and change 
 the defines in xparameters.h. With the 2.4 kernel methodology that is 
 not necessary as such changes will be represented in a regenerated 
 board-specific xparameters_*.h

???

Yes; but I already said that I'll change the patch to use the Xilinx 
redefines.  My argument is simply that *if* changes are required, there 
is a way for the user to do it.  In the normal (recommended) case; 
nothing will need to be done. 

General GIT MO question

2006-01-17 Thread Grant Likely
David H. Lynch Jr. wrote:
   I appreciate you feedback on the E12/UartLite stuff I posted earlier.
no problem

 
   I have gotten sufficiently compitent with git that I can use it as a
 source code manager.
   But despite perusing through a fairly significant amount of git docs, I
 have not really grasped how to get from how I work to what seems to be
 the norm for patch subimissions.
Heh, your tracking the same path of pain that I went through 2 months
ago.  :)

 
   Fixing a bug or adding a small feature is one thing. You have a base,
 and and end result and a simple diff. But I am porting to a whole new
 board, adding support for two new serial drivers, and adding boot to
 init serial IO support - all at once, as well as dealing with bugs and
 mis-steps along the way.
 
   I can figure out how to get git to do alot of nice things, but I can
 not figure out how to get it to produce a nice modularized set of
 patches that includes only those things relevant for kernel submission.
Here's what I do, assuming that my changes are in the 'master' branch,
and 'master' is based off of 'origin'.  BTW, I also use the cogito with git.

1. create a new branch 'cleanup' off of origin so it doesn't have any of
my patches in it.
$ git branch cleanup origin
$ git checkout origin

2. get a list of all my patches; I use 'cg log' and look for the sha1
'commit' tags.
$ cg log master
p
3a. start 'cherry-picking' my patches one-by-one from 'master' to
'cleanup'.  Feel free to use this to reorder patches
$ git cherry-pick -r first-commit-sha1
$ git cherry-pick -r second-commit-sha1
$ git cherry-pick -r third-commit-sha1

3b. If I want to modify the patch before committing; I use the -n flag
to only apply the changes; clean up the change, then commit it with the
-c flag.  Also do this if a patch conflicts.
$ git cherry-pick -r -n messy-commit-sha1
$ edit stuff
$ cg commit -c messy-commit-sha1   # Use the original change message

3c. Cherry picking works for merging patches too
$ git cherry-pick -r -n partial-patch1
$ git cherry-pick -r -n partial-patch2
$ git cherry-pick -r -n partial-patch3
$ cg commit

4. generate patch files for submission to the mailing list
$ git-format-patch -o output dir origin cleanup

5. (optional) make 'cleanup' the new 'master
$ git branch -f master cleanup
$ git checkout master

 
   I am looking for a clue here. How do you produce a clean set of
 granular patches including only what you want and not the all the steps
 and mis-steps along the way ?


-- 
Grant Likely, B.Sc. P.Eng.
Secret Lab Technologies Ltd.
(403) 663-0761





[PATCH 00/10] Updated ML300 ML403 patches

2006-01-17 Thread Peter Ryser

 I don't understand what you mean.  It sounds like your suggesting I do 
 exactly opposite what you're arguing; hand modify one of the 
 xparameters_*.h files.  Are you saying that edk can't generate Linux 
 redefines for the ml403 at the moment? 

Yes, it can. It looks they are not present in the xparameters_ml403.h 
that you submitted as part of your patch. I'll send you the 
automatically generated file in a seperate email.

 I do *not* think I should replace the edk-generated 
 xparameters_ml403.h with a hacked xparameters_ml300.h file.  I'd 
 rather use the generated _ml403 file and change the infrastructure 
 when the Linux redefines are ready. 

See above. BTW, I'm not sure how familiar you are with the process in 
EDK. Let me know if I can help you step through it.

 That's not a recommended flow. It's very easy to create an EDK design 
 with the proper settings and since it is very likely that things 
 change during the design process of the FPGA the small investment 
 into making the proper settings in the tool will save a lot of time 
 in the end.


 I understand that it's not *recommended*; I'm just saying it's not 
 always *reality*  :p 

Yeah, that's true for user projects. However, I hope that we can get the 
default included in the Linux 2.6 kernel right.

 Yes; but I already said that I'll change the patch to use the Xilinx 
 redefines.  My argument is simply that *if* changes are required, 
 there is a way for the user to do it.  In the normal (recommended) 
 case; nothing will need to be done.  (think Larry Wall's quote: easy 
 things easy; hard things possible)

 When it is needed; the fixups will be in xparameters.h; not 
 xparameters_*.h; and they'll be for a specific port.  The fixups will 
 only need to be done once per project (most likely). 

I'm not sure that I follow your argument here.

 My point is that the Linux redefines are useful to more than just 
 Linux ports.  Don't you think standalone apps could also benefit from 
 a sane-set of defines for peripherals?  In other words; shouldn't the 
 Linux redefines be always available (and called something more generic)? 

I see what you mean and I tend to agree.

 okay, I'll change the patch to use those names. 

Great. Thanks.


- Peter







[PATCH 00/10] Updated ML300 ML403 patches

2006-01-17 Thread Grant Likely
Peter Ryser wrote:
 
 I don't understand what you mean.  It sounds like your suggesting I do 
 exactly opposite what you're arguing; hand modify one of the 
 xparameters_*.h files.  Are you saying that edk can't generate Linux 
 redefines for the ml403 at the moment? 
 
 
 Yes, it can. It looks they are not present in the xparameters_ml403.h 
 that you submitted as part of your patch. I'll send you the 
 automatically generated file in a seperate email.

okay good; I misunderstood what you were saying.  I pulled 
xparameters_ml403.h out of the ref design w/ the standalone bsp.  I just 
haven't bothered trying to generating the Linux bsp yet.

 
 I do *not* think I should replace the edk-generated 
 xparameters_ml403.h with a hacked xparameters_ml300.h file.  I'd 
 rather use the generated _ml403 file and change the infrastructure 
 when the Linux redefines are ready. 
 
 
 See above. BTW, I'm not sure how familiar you are with the process in 
 EDK. Let me know if I can help you step through it.

okay, I'll ping you when I've got questions.

 I understand that it's not *recommended*; I'm just saying it's not 
 always *reality*  :p 
 
 
 Yeah, that's true for user projects. However, I hope that we can get the 
 default included in the Linux 2.6 kernel right.

yes, definately

 
 Yes; but I already said that I'll change the patch to use the Xilinx 
 redefines.  My argument is simply that *if* changes are required, 
 there is a way for the user to do it.  In the normal (recommended) 
 case; nothing will need to be done.  (think Larry Wall's quote: easy 
 things easy; hard things possible)

 When it is needed; the fixups will be in xparameters.h; not 
 xparameters_*.h; and they'll be for a specific port.  The fixups will 
 only need to be done once per project (most likely). 
 
 
 I'm not sure that I follow your argument here.

I'll compose my answer in code; watch for patches.  :)

btw, once Linus closes the 2.6.16 merge window, it looks like we may be 
able to use the powerpc.git tree for tracking these changes.

Cheers,
g.

-- 
Grant Likely, B.Sc. P.Eng.
Secret Lab Technologies Ltd.
(403) 663-0761



[PATCH 00/10] Updated ML300 ML403 patches

2006-01-17 Thread Grant Likely
John Bonesio wrote:
 Hello,
 
 I work in the Xilinx software group.
 
 I'm replying to this email thread because Grant suggested there be a GIT
 tree for Virtex specific changes.

I was told today that we may be able to use Paul's linuxppc tree.  I'm 
going to ask him later today.

 
 I am wondering if the open source community would prefer or see a
 benefit to Xilinx owning/hosting the source trees (CVS or GIT or
 whatever) for our drivers, and in particular the Linux adapter drivers.
 If we did this we would provide a web site with the information along
 with instructions on how to submit changes.
 
 We are exploring this idea and wanted to know what others thought of
 this.

Let's just keep things on the mailing list; it's the natural place to 
discuss issues.  If the traffic gets too high, we can do something 
different.

g.


-- 
Grant Likely, B.Sc. P.Eng.
Secret Lab Technologies Ltd.
(403) 663-0761



[PATCH 00/10] Updated ML300 ML403 patches

2006-01-17 Thread John Bonesio
Hello,

I work in the Xilinx software group.

I'm replying to this email thread because Grant suggested there be a GIT
tree for Virtex specific changes.

I am wondering if the open source community would prefer or see a
benefit to Xilinx owning/hosting the source trees (CVS or GIT or
whatever) for our drivers, and in particular the Linux adapter drivers.
If we did this we would provide a web site with the information along
with instructions on how to submit changes.

We are exploring this idea and wanted to know what others thought of
this.

- John

-Original Message-
From: [EMAIL PROTECTED]
[mailto:linuxppc-embedded-bounces at ozlabs.org] On Behalf Of Grant Likely
Sent: Tuesday, January 17, 2006 8:41 AM
To: peter.ryser
Cc: Grant Likely; Andrei Konovalov; rick.moleres; linuxppc-embedded
Subject: Re: [PATCH 00/10] Updated ML300  ML403 patches

Peter Ryser wrote:
 
 Hmm, did you use the ml403 and ml300 def configs?  What date did you 
 pull Linus' tree?  Kumar and Paul were talking today about some
serial 
 subsystem breakage on the linux-2.6 tree this weekend... I'll fast 
 forward tonight and try it on my board. 
 
 
 Okay, please let me know how this works for you.
 
 Try seeking to commit: 67daf5f11f06b9b15f8320de1d237ccc2e74fe43
 That's what I generated the latest patches against. 
 
 
 Hmm, I only recently switched to using git. Is this number string some

 kind of a tag that I can synchronize my local git tree to? If so, how?
 

Yea, the number is kind of like a raw tag without a name associated with

it.  The cg-seek command can be used to get you there.  (But you also 
need to have cogito installed)

 Anyway, there is another issue that I would like to bring up and it 
 has to do with xparameters.h. The xparameters.h file, or more 
 exactly, the xparameters_* file, is automatically generated by EDK 
 and is then used to configure the devices in the Linux kernel at 
 compile time. While I understand the desire to get away from a
static 
 device definition to device enumeration at run-time, the current set

 of patches is a step backwards for users from a useability point of 
 view. Users will now have to modify xparameters*.h by hand which is 
 an error-prone process. 



 Actually, users should *never* modifiy generated files.  The intent
is 
 that board specific fixups go directly into the top level 
 xparameters.h so that newly generated files don't have to be touched.

 But yes, I understand what you mean. 
 
 
 An EDK user is free to choose arbitrary names for his peripherals. 
 Additionally, Base System Builder uses different names for various 
 boards (historically). With that it is impossible to make static 
 assignments in xparameters.h. If you go back to the 2.4 kernel and
have 
 a look at xparameters_ml300.h you can see that the assignment of
boards 
 specific parameters to Linux specific parameters is done in there and 
 that xparameters.h is basically used to chose the proper xparameters_*

 file for a given board.

okay

 
 Additionally, the original 'redefines' are now replaced with 
 redefines in xparameters.h but differently for every board. I
suggest 
 we keep the 2.4 methodology until we can come up with a better 
 approach to enumerate devices at run-time.



 Andrei  I are already discussing this.  I'm going to change the 
 xparameters redefines to provide a default set of mappings that can
be 
 used if xparameters_*.h has the linux specific mappings. 
 
 
 Thanks. Why not just use the xparameters_ml300.h file created by the 
 system_linux.xmp in the EDK reference design for the ML403 and rename
it 
 to xparameters_ml403.h for inclusion into the kernel tree? We could
then 
 make a change in EDK, add a parameter that lets the user specify the 
 board he uses, and with that automatically create an
xparameters_ml403.h 
 (or any other board for that matter).

I don't understand what you mean.  It sounds like your suggesting I do 
exactly opposite what you're arguing; hand modify one of the 
xparameters_*.h files.  Are you saying that edk can't generate Linux 
redefines for the ml403 at the moment?

I do *not* think I should replace the edk-generated xparameters_ml403.h 
with a hacked xparameters_ml300.h file.  I'd rather use the generated 
_ml403 file and change the infrastructure when the Linux redefines are 
ready.

 
 However, due to the fact that generated xparam files don't have the 
 Linux redefines if the FPGA engineer doesn't select a linux bsp.

 
 That's not a recommended flow. It's very easy to create an EDK design 
 with the proper settings and since it is very likely that things
change 
 during the design process of the FPGA the small investment into making

 the proper settings in the tool will save a lot of time in the end.

I understand that it's not *recommended*; I'm just saying it's not 
always *reality*  :p

 
   I think it's important to allow user defined 'fixups' for their 
 board. (I've personally worked on a couple of projects where the FPGA

 

[PATCH] PPC32 8xx: support for the physmapped flash on m8xx

2006-01-17 Thread Vitaly Bordug

Implemented more correct way to support physmapped flash on m8xx
than map in mtd.

The areas intended to contain bootloader are protected readonly.
Note that CFI and JEDEC stuff should be configured properly in order
this to work, e.g. for 885/86x CFI should support 4-chip flash interleave.
Also fixed compilation warning.

Signed-off-by: Vitaly Bordug vbordug at ru.mvista.com
---

 arch/ppc/syslib/m8xx_setup.c |   50 ++
 1 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/arch/ppc/syslib/m8xx_setup.c b/arch/ppc/syslib/m8xx_setup.c
index 688616d..efe3308 100644
--- a/arch/ppc/syslib/m8xx_setup.c
+++ b/arch/ppc/syslib/m8xx_setup.c
@@ -34,6 +34,13 @@
 #include linux/seq_file.h
 #include linux/root_dev.h
 
+#if defined(CONFIG_MTD)  defined(CONFIG_MTD_PHYSMAP)
+#include linux/mtd/partitions.h
+#include linux/mtd/physmap.h
+#include linux/mtd/mtd.h
+#include linux/mtd/map.h
+#endif
+
 #include asm/mmu.h
 #include asm/reg.h
 #include asm/residual.h
@@ -49,6 +56,34 @@
 
 #include ppc8xx_pic.h
 
+#ifdef CONFIG_MTD_PHYSMAP
+#define MPC8xxADS_BANK_WIDTH 4
+#endif
+
+#define MPC8xxADS_U_BOOT_SIZE  0x8
+#define MPC8xxADS_FREE_AREA_OFFSET MPC8xxADS_U_BOOT_SIZE
+
+#if defined(CONFIG_MTD_PARTITIONS)
+ /*
+   NOTE: bank width and interleave relative to the installed flash
+   should have been chosen within MTD_CFI_GEOMETRY options.
+ */
+static struct mtd_partition mpc8xxads_partitions[] = {
+   {
+   .name = bootloader,
+   .size = MPC8xxADS_U_BOOT_SIZE,
+   .offset = 0,
+   .mask_flags   = MTD_WRITEABLE,  /* force read-only */
+   }, {
+   .name = User FS,
+   .offset = MPC8xxADS_FREE_AREA_OFFSET
+   }
+};
+
+#define mpc8xxads_part_num (sizeof (mpc8xxads_partitions) / sizeof 
(mpc8xxads_partitions[0]))
+
+#endif
+
 static int m8xx_set_rtc_time(unsigned long time);
 static unsigned long m8xx_get_rtc_time(void);
 void m8xx_calibrate_decr(void);
@@ -71,6 +106,10 @@ board_init(void)
 void __init
 m8xx_setup_arch(void)
 {
+#if defined(CONFIG_MTD)  defined(CONFIG_MTD_PHYSMAP)
+   bd_t *binfo = (bd_t *)__res;
+#endif
+
/* Reset the Communication Processor Module.
*/
m8xx_cpm_reset();
@@ -106,6 +145,17 @@ m8xx_setup_arch(void)
}
 #endif
 #endif
+
+#if defined (CONFIG_MPC86XADS) || defined (CONFIG_MPC885ADS)
+#if defined(CONFIG_MTD_PHYSMAP)
+   physmap_configure(binfo-bi_flashstart, binfo-bi_flashsize,
+   MPC8xxADS_BANK_WIDTH, NULL);
+#ifdef CONFIG_MTD_PARTITIONS
+   physmap_set_partitions(mpc8xxads_partitions, mpc8xxads_part_num);
+#endif /* CONFIG_MTD_PARTITIONS */
+#endif /* CONFIG_MTD_PHYSMAP */
+#endif
+
board_init();
 }
 




[PATCH 00/10] Updated ML300 ML403 patches

2006-01-17 Thread Grant Likely
Peter Ryser wrote:
 
 Hmm, did you use the ml403 and ml300 def configs?  What date did you 
 pull Linus' tree?  Kumar and Paul were talking today about some serial 
 subsystem breakage on the linux-2.6 tree this weekend... I'll fast 
 forward tonight and try it on my board. 
 
 
 Okay, please let me know how this works for you.

Yeah, the head of Linus' tree is busted.  Doing a cg-seek 
67daf5f11f06b9b15f8320de1d237ccc2e74fe43 will work, but you first need 
to remove the following line from arch/ppc/kernel/ppc_ksyms.c

EXPORT_SYMBOL(get_wchan);

The fix will be in post -rc1

Cheers,
g.

-- 
Grant Likely, B.Sc. P.Eng.
Secret Lab Technologies Ltd.
(403) 663-0761



Linux-2.4.31 porting

2006-01-17 Thread Jose França (Ext_GTBC)
Hello u all!

Have you already ported a linux-2.4.31 to be used on a PPC mpc8272 (or 
anyone from the family) based board?
The problem that I have is that i don't have console. As far as i could 
debug, the kernel stucks on my_console_write (in arch/ppc/cpm2_io/uart.c), 
waiting for transmitter fifo to empty (line 2298 - while (bdp-cbd_sc  
BD_SC_READY)).
Any suggestions will be highly welcomed!



Thanks for reading!
Best regards,
Filipe.
-- next part --
An HTML attachment was scrubbed...
URL: 
http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060117/7b306f2a/attachment.htm
 


[PATCH 00/10] Updated ML300 ML403 patches

2006-01-17 Thread T Ziomek
Here's another lurker poking his head up...

Grant Likely wrote:
 
 John Bonesio wrote:
  Hello,
 
  I work in the Xilinx software group.
 
  I'm replying to this email thread because Grant suggested there be a GIT
  tree for Virtex specific changes.
 
 I was told today that we may be able to use Paul's linuxppc tree.  I'm
 going to ask him later today.

Probably a newbie question...my understanding is that kernel.org is the
preferred repository for PPC-specific code these days, correct?  So the a-
bove is referring to Xilinx-specific PPC code?  From what I can see on LXR
and kernel.org neither has any Xilinx-related code...

  I am wondering if the open source community would prefer or see a
  benefit to Xilinx owning/hosting the source trees (CVS or GIT or
  whatever) for our drivers, and in particular the Linux adapter drivers.
  If we did this we would provide a web site with the information along
  with instructions on how to submit changes.
 
  We are exploring this idea and wanted to know what others thought of
  this.
 
 Let's just keep things on the mailing list; it's the natural place to
 discuss issues.  If the traffic gets too high, we can do something
 different.

Re keeping discussion on linuxppc-embedded, sure.  Re the hosting of source
trees, I'd definitely like to see Xilinx take that on if the stuff dis-
cussed above doesn't come to pass.  We need to have a relatively stable,
long-term primary source for such code.

Tom Ziomek
-- 
   /\  ASCII Ribbon Campaign   |
   \ /  |   Email to user 'CTZ001'
XAgainst HTML   | at 'email.mot.com'
   / \ in e-mail  news |



[PATCH 00/10] Updated ML300 ML403 patches

2006-01-17 Thread T Ziomek
On Tue, 17 Jan 2006, Grant Likely wrote:

 T Ziomek wrote:
 
 Grant Likely wrote:
 
 John Bonesio wrote:
  . . .
 I'm replying to this email thread because Grant suggested there be a GIT
 tree for Virtex specific changes.
 
 I was told today that we may be able to use Paul's linuxppc tree.  I'm
 going to ask him later today.
 
 Probably a newbie question...my understanding is that kernel.org is the
 preferred repository for PPC-specific code these days, correct?  So the a-
 bove is referring to Xilinx-specific PPC code?  From what I can see on LXR
 and kernel.org neither has any Xilinx-related code...

 mainline linux-2.6 tree has ml300 support

 ml300 platform bus support is pending for the powerpc.git tree
 ml403 support is pending for the powerpc.git tree

 powerpc.git is periodically pulled into linux-2.6

 both are on kernel.org

Meh, okay.  But then what are the Virtex specific changes that would need
to be in Paul's linuxppc tree or anywhere but kernel.org?

Thanks, Tom
-- 
   /\  ASCII Ribbon Campaign   |
   \ /  |   Email to user 'CTZ001'
XAgainst HTML   | at 'email.mot.com'
   / \ in e-mail  news |



[PATCH 00/10] Updated ML300 ML403 patches

2006-01-17 Thread Grant Likely
T Ziomek wrote:
 On Tue, 17 Jan 2006, Grant Likely wrote:
 T Ziomek wrote:
 Grant Likely wrote:
 John Bonesio wrote:
 Grant Likely wrote:
 I'm replying to this email thread because Grant suggested there be 
 a GIT
 tree for Virtex specific changes.
--- snip ---

 mainline linux-2.6 tree has ml300 support

 ml300 platform bus support is pending for the powerpc.git tree
 ml403 support is pending for the powerpc.git tree

 powerpc.git is periodically pulled into linux-2.6

 both are on kernel.org
 
 Meh, okay.  But then what are the Virtex specific changes that would need
 to be in Paul's linuxppc tree or anywhere but kernel.org?

Basically, I was thinking about a 'development sandbox' that feeds into 
linux-2.6.git.  However, if we can use Paul's powerpc tree, then I don't 
need to create yet-another-git-tree

g.

-- 
Grant Likely, B.Sc. P.Eng.
Secret Lab Technologies Ltd.
(403) 663-0761



Question about SCC Ethernet driver

2006-01-17 Thread David Tao
Hello there,
   
  Present MPC8260 SCC Ethernet driver supports one 10M Ethernet port for SCC1 
or SCC2. And there is a patch on the net said to support one Ethernet port on 
any of SCC1 - SCC4. As we hope to use all the SCCs for 10M Ethernet ports, we 
need to change the driver. Questions:
   
  1. Is it possible to implement 7 Ethernet ports (3 FCCs and 4 SCCs) on a 
MPC8270? I didn't see any hardware restriction on this. Performance may be an 
issue? 
  2. Is there a driver which supports multiple SCC Ethernet ports simultanously?
   
  Thanks for any help or information.
   
  Regards,
  David
   


-
Yahoo! Photos
 Got holiday prints? See all the ways to get quality prints in your hands ASAP.
-- next part --
An HTML attachment was scrubbed...
URL: 
http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060117/85821680/attachment.htm
 


Question about SCC Ethernet driver

2006-01-17 Thread Dan Malek

On Jan 17, 2006, at 8:28 PM, David Tao wrote:

 Present MPC8260 SCC Ethernet driver supports?one 10M Ethernet port for 
 SCC1 or SCC2.

Not any more.  Take a look at drivers/net/fs_enet in the 2.6 kernels.
I'm sure Pantelis will have more information when he reads this.

 1. Is it possible to?implement 7 Ethernet ports (3 FCCs and 4 SCCs) on 
 a MPC8270? I didn't see any hardware restriction on this. Performance 
 may be an issue??

Depends what you want to do with the data in the CPU core and the
clock speeds you have chosen.  The CPM can handle the data traffic on
the wires if you run it over 133 MHz.

Thanks.

-- Dan