Date: Sun, 4 Feb 2007 22:24:01 +0100 From: Cats <cats@catslab.com> To: <freebsd-hackers@FreeBSD.ORG>, <freebsd-hackers@FreeBSD.ORG> Subject: Re: Geode SC1100 i2c bus Message-ID: <20072422241.046491@poppa> In-Reply-To: <20070204.132150.1288664462.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
I played a bit today with Geode registers. Well, I tried to tweak the /usr/src/sys/i386/i386/geode.c *** 198,203 **** --- 198,207 ---- * people think their box just died. */ led_func(&led1b, 1); + outb(0x2E,0x7); // Select LDN Page 80 + outb(0x2F,0x2); // Put 02h in LDN to select IR Port + outb(0x2E,0x30); // Select Logical Device Control= Register + outb(0x2F,inb (0x2F)+1); // Set LDCR[0] to enable IR= port } if ( strlen(bios_oem) ) printf("Geode %s\n", bios_oem); After rebooting with the new kernel I got this in the dmesg: sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A, console sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A Yes, the IR port is seen as a standard serial port and I have the cuad1* and= ttyd1* in the /dev Well of course none of IRRCX1 and IRTX pins are wired on the wrap board, so= no way to test it. This might be a trick to enable the ACBbuses on the geode to have them= recognized by a driver on the isa bus. Got to try when I'll have some spare time. Cheers, Cedric De cats@catslab.com, le 04/02/2007 > In message: > Milan Obuch writes: > : On Sunday 04 February 2007 01:21, perryh@pluto.rain.com wrote: : > > > > The ACB is at the same level than Uart, so I had a look at > sio : > > > source and got a big headache. I'm not really used to > drivers : > > > nor kernel programming stuff, that's why I need > your help. : > > > : > > Why do you compare ACB and UART? In FreeBSD, sio is serial > i/o : > > controller, not superIO, maybe you are confused... ACB > and UART : > > does not have much in common... : > > : > As I read the OP, both the ACB and the serial are in the same > chip : > (the superIO), so it would seem reasonable to expect that > the method : > of accessing the device registers in the (currently > unsupported) ACB : > might be similar to the method of accessing > the device registers in : > the (supported) serial port. : > : > : You are right from the point of view 'how to access registers'. > But what OP : wrote could be understand another way, too - he tried > to modify sio to create : acb driver, which would not achieve the > correct results. There is i2c : infrastructure in FreeBSD, acb > driver should fit into its place there and it : is not that easy - > I tried to understand it, but nobody could/was willing : to/did not > care to help me understand it. > > I'm happy to help you understand it. > > Warner > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers- > unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20072422241.046491>