Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Feb 2001 17:27:32 +0100
From:      Nicolas Souchu <nsouch@fr.alcove.com>
To:        Mike Nowlin <mike@jason.argos.org>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: can't get iicbus working - ARRGH!
Message-ID:  <20010216172732.A29074@ontario.alcove-int>
In-Reply-To: <20010214022625.A26122@jason.argos.org>; from mike@jason.argos.org on Wed, Feb 14, 2001 at 02:26:25AM -0500
References:  <20010214022625.A26122@jason.argos.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Feb 14, 2001 at 02:26:25AM -0500, Mike Nowlin wrote:
> I messed around with this about a year ago, and now I'm messing around with
> it again.  
> 
> In a nutshell, I can NOT figure out how to get iic with lpbb working.  I
> have tried all sorts of combinations of config file parameters from LINT,
> man pages, etc.  

Is your parallel port peripheral 100% compatible with the one described in
lpbb(4)?

> 
> My current config file has something like:
> # Parallel port
> device          ppc0    at isa? port 0x3bc flags 0x28 irq 7 drq 3
> #device         ppc0    at isa? port 0x3bc flags 0x20 irq 7
> device          ppbus           # Parallel port bus (required)
> device          lpt             # Printer
> device          ppi             # Parallel port interface device
> #device         vpo             # Requires scbus and da
> #device         plip            # TCP/IP over parallel
> # I2C stuff
> device          iicbus 
> device          iic 
> #device         ic           
> #device         iicsmb    
> device          iicbb                                                          
> device          lpbb
> #
> device          smbus
> device          intpm 
> 
> The only boot messages I get that are related to this section are:
> ppc0: <Parallel port> at port 0x3bc-0x3bf irq 7 drq 3 flags 0x20 on isa0
> ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode 
> ppc0: FIFO with 16/16/16 bytes threshold  
> lpt0: <Printer> on ppbus0
> lpt0: Polled port ppi0: <Parallel I/O> on ppbus0                  
> 
> When I added the last two lines (smbus, intpm), I did get the following:
> intpm0: <Intel 82371AB Power management controller> port 0x5000-0x500f irq 9
> at device 7.3 on pci0
> intpm0: I/O mapped 5000
> intpm0: intr IRQ 9 enabled revision 0
> smbus0: <System Management Bus> on intsmb0
> intpm0: PM I/O mapped 4000 
> 
> ...which is closer to any I2C or SMB references I've gotten to date.

Without smb(4) in your config, you'll do nothing with this. intpm is only
smbus compatible.

There's some detection process in the lpbb driver. You should first
check if your parallel i2c interface is correctly detected.

#define ALIM    0x20
#define I2CKEY  0x50

static int lpbb_detect(device_t dev)
{
        device_t ppbus = device_get_parent(dev);

        if (ppb_request_bus(ppbus, dev, PPB_DONTWAIT)) {
                device_printf(dev, "can't allocate ppbus\n");
                return (0);
        }

        /* reset bus */
        setSDA(ppbus, 1);
        setSCL(ppbus, 1);

        if ((ppb_rstr(ppbus) & I2CKEY) ||
                ((ppb_rstr(ppbus) & ALIM) != ALIM)) {

                ppb_release_bus(ppbus, dev);
                return (0);
        }
[...]

Your interface must be compliant with this.

> 
> Does anyone have this working?

I did.

> If so, could you send me your config file to look through?

device ppc0	at...
device ppbus
device lpbb
device iicbb
device iicbus
device iic

Should do the job. Then if you want SMBus over parallel I2C, add

device iicsmb
device smb

> 
> Thanks - Mike
> 
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message

-- 
Nicolas.Souchu@fr.alcove.com
Alcôve - Open Source Software Engineer - http://www.alcove.com


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010216172732.A29074>