problems in SCC-UART in mpc860

2003-07-01 Thread Paul Ruhland

You stated you have the SCC UART CD enabled so this may be your initial
problem.

With CD enabled, SCC UART will not receive unless CD is asserted.  Typically,
a modem will not assert CD until it is connected and gets an aswer tone.
Therefore, you will not be able to communicate with the modem to configure it
and tell it to dial.

Try enabling RTS and CTS but not CD.  This may get you farther along.


On Tuesday 01 July 2003 10:46 am, nbasker at india.tejasnetworks.com wrote:
> Hi:
>
> I am trying to use a SCC configured in UART to communicate with a intel
> pc via modem. The configuration is simple and shown below
>
> target --- modem ---phoneline modemi386pc
>
> target configuration:
> 1. mpc860T custom board
> 2. scc2 configured in uart
> 3. linux-2-2-14 from montavista
> 4. patched 8xx_io/uart.c from 2.2.4 kernel from Denks
> 5. using mgetty/pppd to program modem and start pppd.
>
> host configuration:
> 1. i368pc running 2.2.14-12 redhat kernel
> 2. using pppd/chat to dialup to target modem.
>
> In this setup if use PCSO to enable RTS, CTS and CD along with
> crtscts option in pppd nothing works. If I disable PCSO and use
> nocrtscts option in pppd, LCP connection goes through but IPCP
> exchange at target fails (it never sends ConfigAck packet towards host).
>
> I am able to get the setup working using null modem cable enabling
> RTS/CTS/CD via PCSO register as well as pppd options.
>
> Since I am able to get SCC2/UART working with nullmodem, but not
> with actual modem, should I suspect hardware signal connectivity as
> a problem source?. I suspected the uart driver and went through
> all the register settings described in Section 23.21 of 860T user
> manual and everything seems to be fine.
>
> Any hint or help on this issue will be greatly appreciated.
>
> Thanks for your time,
> Nicholas.
>
> -
> This mail sent through Tejasnetworks Webclient
>
>


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





arch/ppc/8xx_io/commproc.c brg calculation patch

2003-03-07 Thread Paul Ruhland
This patch is against the linux-2.4 denx cvs. I haven't checked
linxppc-2_4_devel tree but I imagine it is the same.  It adds a bit more
precision to the brg calculation.

Currently, the calculation simply truncates (rounds down) the brg divider
which will make the baud rate on the high side of optimal when a closer value
may exist below optimal rate.  This was causing communication with some
equipment to fail as the higher value was out of tolerance.

This patch will round down (the brg divider) if the fractional part of the
division is < .5 and round up if >= .5.

--
Paul Ruhland
-- next part --
A non-text attachment was scrubbed...
Name: linux-2.4.brgcalc.patch
Type: text/x-diff
Size: 995 bytes
Desc: not available
Url : 
http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20030307/e30cd22a/attachment.patch
 


Cross compiling pppd 2.4.1 with ELDK 2.0

2002-11-20 Thread Paul Ruhland

Your output tells me the include paths in your eldk may be broken ( or
something went wrong during eldk install ).

If eldk path is '/opt/eldk', what do you have for the following:

  /opt/eldk/ppc_8xx/usr/include/linux
  /opt/eldk/ppc_8xx/usr/include/asm

They should be links like so:

  /opt/eldk/ppc_8xx/usr/include/linux --> ../src/linux/include/linux/
  /opt/eldk/ppc_8xx/usr/include/asm --> ../src/linux/include/asm/

Do the directories the links point to exist?

---

Optionally, and I've seen some say this shouldn't be done, I point those two
links to my target's kernel include paths.

  /opt/eldk/ppc_8xx/usr/include/linux -->
/home/me/project/src/linux/include/linux/
  /opt/eldk/ppc_8xx/usr/include/asm -->
/home/me/project/src/linux/include/asm/

I've never had a problem with this and its done like that on my host system as
well ( '/usr/include/linux' --> '/usr/src/linux/include/linux', etc ).


--
Paul Ruhland


On Wednesday 20 November 2002 04:53 pm, Tord Andersson wrote:
> Hi,
>
> I am currently trying to crosscompile pppd with the ELDK 2.0 toolchain.
> To build in a native Intel RedHat 7.2 environment was no problem.
> However, when trying to crosscompile it seems that there are more things
> than CC and the PATH to be altered. By changing the include file search
> path, I was able to build chat, but pppd seems to be a little harder. Is
> there anyone out there that might have some clues?
>
> Kind regards,
>
> Tord
>
> Some results:
> [root at ronja ppp-2.4.1]# printenv | grep PATH
> PATH=/opt/eldk/usr/bin:/opt/eldk/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R
>6/bin
>
> :/home/root/bin
>
> [root at ronja ppp-2.4.1]# export CC=ppc_8xx-gcc
> [root at ronja ppp-2.4.1]# make
> cd chat; make  all
> make[1]: Entering directory `/home/tord/proj/StarSafe/pppd/ppp-2.4.1/chat'
> ppc_8xx-gcc -c -O2 -g -pipe -DTERMIOS-DSIGTYPE=void
>  -UNO_SLEEP  -DFNDELAY=O_NDELAY  -o
> chat .o chat.c
> In file included from /opt/eldk/usr/../ppc_8xx/usr/include/signal.h:307,
>  from chat.c:97:
> /opt/eldk/usr/../ppc_8xx/usr/include/bits/sigcontext.h:28:
> asm/sigcontext.h: No such file or directory
> In file included from /opt/eldk/usr/../ppc_8xx/usr/include/errno.h:36,
>  from chat.c:98:
> /opt/eldk/usr/../ppc_8xx/usr/include/bits/errno.h:25: linux/errno.h: No
> such fil e or directory
> In file included from chat.c:97:
> /opt/eldk/usr/../ppc_8xx/usr/include/signal.h:310: warning: `struct
> sigcontext' declared inside parameter list
> /opt/eldk/usr/../ppc_8xx/usr/include/signal.h:310: warning: its scope is
> only th is definition or declaration, which is probably not what you want.
> chat.c: In function `write_char':
> chat.c:1257: `EINTR' undeclared (first use in this function)
> chat.c:1257: (Each undeclared identifier is reported only once
> chat.c:1257: for each function it appears in.)
> chat.c:1257: `EWOULDBLOCK' undeclared (first use in this function)
> make[1]: *** [chat.o] Error 1
> make[1]: Leaving directory `/home/tord/proj/star/pppd/ppp-2.4.1/chat'
> make: *** [all] Error 2
> [root at ronja ppp-2.4.1]#
>
>


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





pcmcia-cs-3.1.34 compile problems

2002-07-15 Thread Paul Ruhland

I've been using linux-2.4.4-2001-07-23 with a patched pcmcia-cs-3.1.24...works
great ( MPC850 platform ).

For a new project, I thought I would try the linux-2.4 cvs tree from DENX.
Applied all changes for our board...no problems...works as expected.  Then I
grabbed pcmcia-cs-3.1.34 from sourceforge and added the board specific stuff
and can't get it to compile.

Has anyone else tried/gotten the pcmcia-cs-3.1.34 source to compile for ppc
linux-2.4.x or had similar probems?

Below is the output from the build:

ppc_8xx-gcc -fno-builtin -msoft-float -ffixed-r2  -MD -O2 -Wall
-Wstrict-prototypes -pipe -I../include
-I/home/paulr/projects/nautilus2/src/linux/include  -D__KERNEL__ -DMODULE -c
m8xx_pcmcia.c
m8xx_pcmcia.c: In function `m8xx_shutdown':
m8xx_pcmcia.c:546: warning: implicit declaration of function
`free_irq_Rf20dabd8'
m8xx_pcmcia.c: In function `m8xx_init':
m8xx_pcmcia.c:561: warning: implicit declaration of function
`printk_Rdd132261'
m8xx_pcmcia.c:562: warning: implicit declaration of function
`CardServices_Re4eef0a4'
m8xx_pcmcia.c:573: warning: implicit declaration of function
`request_8xxirq_R814af5f5'
m8xx_pcmcia.c:627: warning: implicit declaration of function
`register_ss_entry_Reda35fe3'
m8xx_pcmcia.c: In function `m8xx_exit':
m8xx_pcmcia.c:641: warning: implicit declaration of function
`unregister_ss_entry_R7f678b5b'
m8xx_pcmcia.c: In function `m8xx_get_speed':
m8xx_pcmcia.c:782: `__res_Rd7dfb463' undeclared (first use in this function)
m8xx_pcmcia.c:782: (Each undeclared identifier is reported only once
m8xx_pcmcia.c:782: for each function it appears in.)
m8xx_pcmcia.c:755: warning: `clocks' might be used uninitialized in this
function
m8xx_pcmcia.c: In function `m8xx_get_status':
m8xx_pcmcia.c:918: warning: implicit declaration of function `socket_get'
m8xx_pcmcia.c: In function `m8xx_set_socket':
m8xx_pcmcia.c:1000: warning: implicit declaration of function
`__save_flags_ptr_R98964d1e'
m8xx_pcmcia.c:1001: warning: implicit declaration of function
`__cli_Re45078fb'
m8xx_pcmcia.c:1115: warning: implicit declaration of function
`__restore_flags_R9a3562fe'
make[1]: *** [m8xx_pcmcia.o] Error 1
make[1]: Leaving directory
`/home/paulr/projects/nautilus2/src/pcmcia-cs-3.1.34/modules'
make: *** [all] Error 2

--
Paul Ruhland

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





cramfs root filesystem corruption

2002-05-31 Thread Paul Ruhland

If it was mounted it certainly wouldn't qualify as 'inactive', at least by my
standards.  It is not mounted or being used in any way by the running system.


> -Original Message-
> From: K?ri Dav??sson [mailto:kd at flaga.is]
> Sent: Friday, May 31, 2002 10:07 AM
> To: pruhland at microwavedata.com; wd at denx.de
> Cc: linuxppc-embedded at lists.linuxppc.org
> Subject: RE: cramfs root filesystem corruption
>
>
> Inactive meaning "unmounted" or just not beeing used?
>
> K.D.
>
> > -Original Message-
> > From: Paul Ruhland [mailto:pruhland at microwavedata.com]
> > Sent: 31. ma? 2002 14:04
> > To: wd at denx.de
> > Cc: linuxppc-embedded at lists.linuxppc.org
> > Subject: Re: cramfs root filesystem corruption
> >
> > 200205301450.50112.pruhland at microwavedata.com> you wrote:
> > >> The cramfs image is in flash, mounted as root via mtd blockdevice.
> > >> Typically the error occurs during flash reprogramming (
> >
> > using mtd char
> >
> > >> device '/dev/mtd0' ) ...during/after flash programming the cramfs
> > >> filesystem 'loses' information ( files disappear ).  The
> >
> > errors from syslog
> >
> > >> are 'error during decompression', typically the error
> >
> > numbers ( from
> >
> > >> 'linux/zlib_fs.h' ) are Z_BUF_ERROR, for the first error,
> >
> > and Z_DATA_ERROR
> >
> > >> for the rest.
> > >
> > > Ummm... can you please explain EXACTLY what you
> > > are doing? You have a
> > > cramfs in flash, mounted as root, and you are erasing and
> >
> > overwriting
> >
> > > the SAME cramfs partition WHILE RUNNING FROM IT?
> >
> > No, I have redundant cramfs images in flash.  I am erasing
> > and overwriting the
> > inactive image while the other, active image,  is mounted as root.
> >
> >


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





cramfs root filesystem corruption

2002-05-30 Thread Paul Ruhland

I've found a few posts similar to this from about a year back in the main
kernel list but I could never follow the thread to any conclusion.

I'm running a cramfs root filesystem on an 850 system, linux-2.4.4 ( from denx
).  Everything has been running fine but the cramfs filesystem has started
behaving badly.

The cramfs image is in flash, mounted as root via mtd blockdevice.

Typically the error occurs during flash reprogramming ( using mtd char device
'/dev/mtd0' ) ...during/after flash programming the cramfs filesystem 'loses'
information ( files disappear ).  The errors from syslog are 'error during
decompression', typically the error numbers ( from 'linux/zlib_fs.h' ) are
Z_BUF_ERROR, for the first error,  and Z_DATA_ERROR for the rest.  I've got
my BDI breaking at the uncompress error and the source length is huge:

(gdb) frame 0
#0  cramfs_uncompress_block (dst=0xc078c000, dstlen=4096, src=0xc0145ac0,
srclen=4969176) at uncompress.c:49

The reprogramming of the flash is successful, all new data has been written to
the correct location(s).  The cramfs image ( root filesystem ) in flash is
NOT corrupt.  A hard reboot and everything is fine.

Has anyone seen such cramfs problem before?  I'm just looking to see if there
is any 'known' problems before I get to far into debugging this thing.

--
Paul Ruhland

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





powerpc cross tools question

2002-03-25 Thread Paul Ruhland

Keith,

What ppc target are you using?  The docs you referenced may work for ppc with
hardware floating point but definitely not for those without...like mpc860.

I have finally got the cross environment built and working for 860...in fact I
had just got my target booted and running sash when your post came in. :)

I used the penguinppc docs and Wolfgang Denks CDK
( ftp://ftp.denx.de/pub/LinuxPPC/usr/src/CDK.tar.gz ) for reference.  Mostly
just adapting the denx stuff to the package versions I was using.

I used the following packages:
  binutils-2.12.90.0.1
  gcc-core-2.95.3
  gcc-2.95.3
  glibc-2.2.5
  linux-2.4.4-2001-07-23 ( from ftp://ftp.denx.de )

The denx CDK makefiles and patches require a little modification to work with
these packages.  Specifically, the gcc specs patch, and the floating point
mods in 'Makefile.glibc'.  The specs patch needed a little tweak due to minor
changes in the second hunk, while most of the floating point mods were
already in the glibc-2.2.5 package...I just removed what was already
incorporated.

The only thing I'm not satisfied with at this point is I still need to make a
link on my target file system with the full path to the CDK lib directory as
on my host...

from target filesystem root:
   mkdir -p /home/paulr/linuxppc/CDK
   cd /home/paulr/linuxppc/CDK
   ln -s /lib

The path is hardcoded into 'ld-2.2.5.so'.
This was a 'feature' of HHL 1.2 but fixed in HHL 2.0 ( which is no longer
available from their website ).  I have the 2.0 source disk somewhere and the
required patch to glibc may be in there...or someone who knows what the fix
is may chime in here :)

If you still need help I would be happy to send you my scripts ( yes, I did
the whole thing in bash scripts...as a exercise mostly...would be just as
easy/easier to modify the denx makefiles.

--
Paul Ruhland

On Monday 25 March 2002 02:34 pm, Keith Outwater wrote:
> Greetings all -
> I built the powerpc-linux cross toolset from source using the
> cross-compiling mini-howto on www.penguinppc.org.  I am running x86
> linux (RH 7.2).
>
> I followed the mini-howto to the letter, but I have two problems:
> 1. I must manually edit /usr/local/powerpc-linux/lib/libc.so to change
> the paths from /lib/... to /usr/local/powerpc-linux/lib...
>
> 2. When I compile applications, certain #defines are missing such as
> PATH_MAX.  It appears that /usr/local/powerpc-linux/include is not in
> the compilers default search path (manually adding it allows the
> application to compile successfully).
>
> Has anyone used the mini-howto to build the cross tool chain?  Any
> pointers?
>
> Thanks!
>
> Keith Outwater
> Sr. Staff Engineer
> Microvision, Inc.
>
>


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





JFFS

2001-12-03 Thread Paul Ruhland

Hello Gerhard.

> I try to get rum mtd and jffs, mtd semmd to work fin, I get the line that
> physmap worked, but now I'm looking for the needed utils (erase and
> mkfs.jffs(2)) for the MPC860. Any ideas whre I could download it? Or any
> patches for the makefile?
>

'erase', 'mkfs.jffs', etc. are located in the 'util' directory of the mtd
source tree.  Instructions regarding compile the utils is contained in the
README in that directory.

If the mtd stuff came with your kernel the util directory may be in the linux
source tree...I don't know off hand since I used the mtd source.

--
Paul Ruhland
pruhland at rochester.rr.com

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





PCMCIA on MBX860

2001-02-04 Thread Paul Ruhland
On Sunday 04 February 2001 14:22, Paul Ruhland wrote:
> On Sunday 04 February 2001 13:49, Paul Ruhland wrote:
> > Steve,
> >
> > I will send you the changes for the MBX860 in another reply tomorrow (
> > 20010205 ).  All of that code is presently on my work machine.
>
> I managed to find an a patch for the pcmcia-cs-3.1.22 I made for the mbx...

I guess attaching the patch would have been a good idea...I need email
software that automatically attaches files I'm referring to...hahaha.

Don't forget to modify the config.in stuff to match your development layout.


---
Paul Ruhland
Micrwave Data Systems Inc.
175 Science Parkway
Rochester, NY 14620
TEL: +1.716.242.8372
EMAIL: pruhland at microwavedata.com
-- next part --
Only in pcmcia-cs-3.1.22: .prereq.ok
diff -c --recursive tar/pcmcia-cs-3.1.22/Configure pcmcia-cs-3.1.22/Configure
*** tar/pcmcia-cs-3.1.22/Configure  Wed Nov  8 00:00:37 2000
--- pcmcia-cs-3.1.22/Configure  Fri Dec  8 14:24:37 2000
***
*** 433,438 
--- 433,439 
printflag "MPC8xx architecture" CONFIG_8xx
printflag "Embedded Planet LITE platform" CONFIG_RPXLITE
printflag "Embedded Planet CLASSIC platfom" CONFIG_RPXCLASSIC
+ printflag "Motorola MBX platform" CONFIG_MBX
printflag "MPC823 processor" CONFIG_MPC823
printflag "MPC850 processor" CONFIG_MPC850
printflag "MPC860 processor" CONFIG_MPC860
***
*** 573,578 
--- 574,580 
configcheck CONFIG_8xx
configcheck CONFIG_RPXLITE
configcheck CONFIG_RPXCLASSIC
+ configcheck CONFIG_MBX
configcheck CONFIG_MPC823
configcheck CONFIG_MPC850
configcheck CONFIG_MPC860

diff -c --recursive tar/pcmcia-cs-3.1.22/config.in pcmcia-cs-3.1.22/config.in
*** tar/pcmcia-cs-3.1.22/config.in  Thu Jun 15 23:23:48 2000
--- pcmcia-cs-3.1.22/config.in  Fri Dec  8 14:03:14 2000
***
*** 1,17 
  #
  # config.in 1.16 2000/06/15 18:23:48 (David Hinds)
  #
! LINUX=/usr/src/linux
! PREFIX=
! MODDIR=
! CC=cc
! LD=ld
  PCDEBUG=
  KFLAGS=
  UFLAGS=
! ARCH=
  UNSAFE_TOOLS=n
! CONFIG_CARDBUS=y
  CONFIG_PNP=n
  USE_PM=y
  CONF_SRC=1
--- 1,17 
  #
  # config.in 1.16 2000/06/15 18:23:48 (David Hinds)
  #
! LINUX=/home/paulr/projects/nethop/linux
! PREFIX=/home/paulr/projects/nethop/target
! MODDIR=/lib/modules/2.2.14
! CC=ppc_8xx-gcc
! LD=ppc_8xx-ld
  PCDEBUG=
  KFLAGS=
  UFLAGS=
! ARCH=ppc
  UNSAFE_TOOLS=n
! CONFIG_CARDBUS=n
  CONFIG_PNP=n
  USE_PM=y
  CONF_SRC=1

diff -c --recursive tar/pcmcia-cs-3.1.22/modules/m8xx_pcmcia.c 
pcmcia-cs-3.1.22/modules/m8xx_pcmcia.c
*** tar/pcmcia-cs-3.1.22/modules/m8xx_pcmcia.c  Wed Oct 25 05:15:51 2000
--- pcmcia-cs-3.1.22/modules/m8xx_pcmcia.c  Mon Dec 11 10:44:36 2000
***
*** 94,99 
--- 94,105 
  #endif
  #endif
  
+ /* The MBX uses SLOT_A */
+ #ifdef CONFIG_MBX
+ #define CONFIG_PCMCIA_SLOT_A
+ #define CONFIG_BD_IS_HZ
+ #endif
+ 
  #endif /* !defined(CONFIG_PCMCIA_SLOT_A) && !defined(CONFIG_PCMCIA_SLOT_B) */
  
  /* - 
*/
***
*** 138,146 
  #endif
  
  #ifdef CONFIG_BD_IS_MHZ
! #define M8XX_BUSFREQ ((mpc8xx_bdinfo->bi_busfreq) * 100)
  #else
! #define M8XX_BUSFREQ (mpc8xx_bdinfo->bi_busfreq)
  #endif
  
  static int pcmcia_schlvl = PCMCIA_SCHLVL;
--- 144,154 
  #endif
  
  #ifdef CONFIG_BD_IS_MHZ
! //#define M8XX_BUSFREQ ((mpc8xx_bdinfo->bi_busfreq) * 100)
! #define M8XX_BUSFREQ ((50) * 100)
  #else
! //#define M8XX_BUSFREQ (mpc8xx_bdinfo->bi_busfreq)
! #define M8XX_BUSFREQ ((50) * 100)
  #endif
  
  static int pcmcia_schlvl = PCMCIA_SCHLVL;
***
*** 396,401 
--- 404,461 
  }
  
  #endif
+ 
+ /* 
--*/
+ /* MBX Boards from Motorola */
+ 
+ #if defined(CONFIG_MBX)
+ 
+ #define PCMCIA_BOARD_MSG "MBX860"
+ 
+ static int voltage_set(int slot, int vcc, int vpp)
+ {
+   unsigned char reg = 0;
+ 
+   switch(vcc) {
+   case 0: break;
+   case 33: reg |= 0x80; break;
+   case 50: reg |= 0x40; break;
+   default: return 1;
+   }
+ 
+   switch(vpp) {
+   case 0: break;
+   case 33: 
+   case 50:
+   if(vcc == vpp)
+   reg |= 0x20;
+   else
+   return 1;
+   break;
+   case 120: 
+   reg |= 0x10;
+   default: return 1;
+   }
+ 
+   if(!((vcc == 50) || (vcc == 0)))
+  return 1;
+ 
+   /* first, turn off all power */
+ 
+   *((unsigned char*)(MBX_CSR_ADDR + 1)) &= ~(0x80 | 0x40 | 0x20 | 0x10 );
+ 
+   /* enable new powersettings */
+ 
+   *((unsigned char*)(MBX_CSR_ADDR + 1)

PCMCIA on MBX860

2001-02-04 Thread Paul Ruhland

On Sunday 04 February 2001 13:49, Paul Ruhland wrote:

> Steve,
>
> I will send you the changes for the MBX860 in another reply tomorrow (
> 20010205 ).  All of that code is presently on my work machine.
>

I managed to find an a patch for the pcmcia-cs-3.1.22 I made for the mbx. I
only have code for the 'voltage_set' function in this patch.  You should be
able to use this as a starting point for changes to pcmcia-cs-3.1.24...this
was done hastily and the hardware_enable, hardware_disable should probably be
implemented and the voltage_set could use some work.  I believe this got it
up and running...I was able to use a 3Com LAN card ( 3c589_cs driver ).
Also, this patch doesn't include the irq stuff I mention in my previous reply.

I then abandoned the MBX in favor of an STK/TQM850L board from Denx Software
Engineering/TQ Components ( http://www.denx.de ) for various reasons.

For embedded mpc8xx development, I strongly recommend the STK/TQM boards and
PPCBOOT bootloader/monitor..outstanding hardware, software, support, and
documentation.

-------
Paul Ruhland
Micrwave Data Systems Inc.
175 Science Parkway
Rochester, NY 14620
TEL: +1.716.242.8372
EMAIL: pruhland at microwavedata.com

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





PCMCIA on MBX860

2001-02-04 Thread Paul Ruhland

On Saturday 03 February 2001 13:34, Steve Clarke wrote:
> I would like to get PCMCIA working on an MBX860 running HardHat. There was
> a thread in Nov 2000 on this topic between Paul Ruhland and Matthew Locke.
> Based on this thread, I started with pcmcia-cs-3.1.24.
>
> However, in 3.1.24 m8xx_pcmcia.c does not have references to the MBX board.
> It supports RPXxxx, ADS and FADS. Paul's email on 11-21-2000 said that he
> made MBX specific changes. Are these changes publicly available? If so, how
> do I get these changes?
>

Steve,

I will send you the changes for the MBX860 in another reply tomorrow (
20010205 ).  All of that code is presently on my work machine.

There are additions to 'pcmcia-cs-3.1.24/modules/m8xx_pcmcia.c' for board
specific voltage_set, hardware enable, and hardware disable.   If you have
the MBX860 docs you may want to look at the CSR configuration...using the
hardware specific code already present in 'm8xx_pcmcia.c' you could add
support for the MBX...its not really to involved...basically you have to
control the pcmcia reset, buffer enable, and voltage select lines.

Also, some things to check to get the card services and socket driver running
on ppc:

After 'make install', assuming your using the SysV script layout, you have to
edit '/etc/sysconfig/pcmcia' ( on your target filesystem ) and change the
following line:

  PCIC=i82365

to this:

  PCIC=m8xx_pcmcia

Also, the 'pcmcia-cs-3.1.24/modules/cs.c' module is responsible for telling
the card driver which interrupt to use.  This code seems broken for the
mpc850/860 ( always uses interrupt 0, which won't work ).  I ended up
hardcoding this interrupt to 11 for both boards I've gotten pcmcia working on
( MBX860 and TQM850L ).  In 'pcmcia-cs-3.1.24/modules/cs.c', in the
'cs_request_irq' function, I changed the initialization of the 'irq' var from
0 to 11.  This is not the best solution but I haven't had time to do a proper
fix.  It has to do with the fact that pcmcia on mpc850/860 is neither ISA or
PCI so the default just falls thru that function.

Also, I've experienced problems with the installed '/etc/pcmcia/network'
script...I would lose my nfs connection ( on eth0 ... SCCx ) when it tries to
bring up the pcmcia interface.   I ended up writing a much simpler script
that just does the required 'ifconfig ...' to bring up the interface.  I will
send you this as well...if your not using a network card it really doesn't
affect you.

There are also changes to the kernel...specifically in
'linux/include/asm-ppc/mpc8xx.h' and 'linux/arch/ppc/mm/init.c'.  You have to
ioremap the PCMCIA_IO_ADDR or the kernel will panic when it tries setup the
serial io during boot and of course the card services won't work with out it.
Here is the relevant changes required in 'mpc8xx.h':

/* Currently, all 8xx boards that support a processor to PCI/ISA bridge
 * use the same memory map.
 */
#if defined(CONFIG_PCI) && defined(PCI_ISA_IO_ADDR)
#define _IO_BASE PCI_ISA_IO_ADDR
#define _ISA_MEM_BASE PCI_ISA_MEM_ADDR
#define PCI_DRAM_OFFSET 0x8000
#else
//#define _IO_BASE 0
#define _IO_BASE   0xEC00   /* PCMCIA_IO_ADDR in board header */
#define _IO_BASE_SIZE  0x1000   /* PCMCIA_IO_SIZE */
#define _ISA_MEM_BASE   0
#define PCI_DRAM_OFFSET 0
#endif

For the MBX, I didn't use the board specific header defined
PCMCIA_IO_ADDR/PCMCIA_IO_SIZE because it contained a 'uint' reference that is
unknown to this section of code during compile.  You must make sure this
address/size is the same one used by the pcmcia card services as well...it
uses the board specific header from the kernel source tree so it should be
ok.  You may want to just remove the '(uint)' from
the'linux/include/asm-ppc/mbx.h' PCMCIA_IO_ADDR and PCMCIA_IO_SIZE
defines...this way you will be sure the kernel and pcmcia code are using the
same values.  Also, while your at it, change the defined PCMCIA_IO_SIZE to
0x1000.

In 'linux/arch/ppc/mm/init.c' at approx. line 1160 you have to do the ioremap:

#ifdef CONFIG_MBX
ioremap(NVRAM_ADDR, NVRAM_SIZE);
ioremap(MBX_CSR_ADDR, MBX_CSR_SIZE);
ioremap(PCI_CSR_ADDR, PCI_CSR_SIZE);

/* Map some of the PCI/ISA I/O space to get the IDE interface.
    */
    ioremap(PCI_ISA_IO_ADDR, 0x4000);
ioremap(PCI_IDE_ADDR, 0x4000);

/* map the pcmcia io space */
ioremap( PCMCIA_IO_ADDR, 0x1000);
#endif
#

I hope this wasn't too confusing...

---
Paul Ruhland
Micrwave Data Systems Inc.
175 Science Parkway
Rochester, NY 14620
TEL: +1.716.242.8372
EMAIL: pruhland at microwavedata.com

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