Date: Tue, 29 Nov 2011 00:38:05 +0100 From: Stefan Bethke <stb@lassitu.de> To: freebsd-embedded@freebsd.org Subject: Re: TL-WR1043: switch Message-ID: <5483EFA1-9D7B-4EE6-B888-F024BD1FF3A5@lassitu.de> In-Reply-To: <3B3DB17D-BF87-40EE-B1C1-445F178E8844@lassitu.de> References: <68ABED76-CB1F-405A-8036-EC254F7511FA@lassitu.de> <3B3DB17D-BF87-40EE-B1C1-445F178E8844@lassitu.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Am 28.11.2011 um 23:29 schrieb Stefan Bethke: > Am 28.11.2011 um 23:18 schrieb Stefan Bethke: >=20 >> So with the GPIOs working, the next step would be to attach a = bit-banging I2C device to GPIO 18 and 19. My kernel foo is probably not = up to creating the appropriate newbus attachment myself. Anybody want = to give me a hint? I'd start by copying lpbb, replacing the parallel = port code with appropirate gpio calls. >>=20 >> I haven't taken a detailed look at the OpenWrt code, but the = datasheet for the RTL8366 can be googled, including a full register map = and a description of the VLAN configuration (which I'm most interested = in). With a working I2C bus, that shouldn't be too hard, I'd think. >=20 > Further looking around, we already have dev/gpio/gpioiic.c. I'll see = if I can get it to attach. With gpioiic and these hints: hint.gpioiic.0.at=3D"gpiobus0" hint.gpioiic.0.pins=3D0xc0000 I'm getting this: gpio0: [GIANT-LOCKED] gpioc0: <GPIO controller> on gpio0 gpiobus0: <GPIO bus> on gpio0 gpioled0: <GPIO led> at pin(s) 1 on gpiobus0 gpioled1: <GPIO led> at pin(s) 2 on gpiobus0 gpioled2: <GPIO led> at pin(s) 5 on gpiobus0 gpioled3: <GPIO led> at pin(s) 9 on gpiobus0 gpioiic0: <GPIO I2C bit-banging driver> at pin(s) 18-19 on gpiobus0 iicbb0: <I2C bit-banging driver> on gpioiic0 iicbus0: <Philips I2C bus> on iicbb0 master-only iic0: <I2C generic I/O> on iicbus0 =85 # i2c -a 4 -d r -c 2 error sending stop condtion ioctl: error sending start condition#=20 # i2c -r panic: rb_cpldbus: cannot serialize the access to device. KDB: enter: panic [ thread pid 753 tid 100043 ] Stopped at kdb_enter+0x4c: lui at,0x8054 db>=20 The panic comes from gpiobus.c Also, gpioiic.c assumes that SCL is pin 0 and SDA is pin 1. Are pins = addressed relative to the child device, or are the pin numbers absolute = wrt the actual gpio device? Stefan --=20 Stefan Bethke <stb@lassitu.de> Fon +49 151 14070811
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5483EFA1-9D7B-4EE6-B888-F024BD1FF3A5>