From owner-freebsd-embedded@FreeBSD.ORG Sat Dec 3 21:36:43 2011 Return-Path: Delivered-To: freebsd-embedded@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0CDAB1065676; Sat, 3 Dec 2011 21:36:43 +0000 (UTC) (envelope-from stb@lassitu.de) Received: from gilb.zs64.net (gilb.zs64.net [IPv6:2001:470:1f0b:105e::1ea]) by mx1.freebsd.org (Postfix) with ESMTP id BE73D8FC12; Sat, 3 Dec 2011 21:36:42 +0000 (UTC) Received: by gilb.zs64.net (Postfix, from stb@lassitu.de) id 9893D1146FC; Sat, 3 Dec 2011 22:36:41 +0100 (CET) Mime-Version: 1.0 (Apple Message framework v1251.1) Content-Type: text/plain; charset=iso-8859-1 From: Stefan Bethke In-Reply-To: Date: Sat, 3 Dec 2011 22:36:41 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: References: <68ABED76-CB1F-405A-8036-EC254F7511FA@lassitu.de> <3B3DB17D-BF87-40EE-B1C1-445F178E8844@lassitu.de> <86030CEE-6839-4B96-ACDC-2BA9AC1E4AE4@lassitu.de> <2D625CC9-A0E3-47AA-A504-CE8FB2F90245@lassitu.de> <203BF1C8-D528-40C9-8611-9C7AC7E43BAB@lassitu.de> <3C0E9CA3-E130-4E9A-ABCC-1782E28999D1@lassitu.de> <2B8826C7-00C7-4117-B424-4A86F1346DFF@bsdimp.com> <20111130231311.4a154bc5.ray@ddteam.net> <20111202164539.fff3ea91.ray@dlink.ua> <20111202191122.GK25601@funkthat.com> <2DB1EAFF-BFEA-4104-8F5A-E4D00BFDF8F9@lassitu.de> To: Adrian Chadd X-Mailer: Apple Mail (2.1251.1) Cc: Aleksandr Rybalko , freebsd-embedded@freebsd.org Subject: Re: TL-WR1043: switch X-BeenThere: freebsd-embedded@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Dedicated and Embedded Systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Dec 2011 21:36:43 -0000 Am 03.12.2011 um 16:47 schrieb Adrian Chadd: > Hi, >=20 > Initial comments (yes, I broke my own rule..) >=20 > * Don't get rid of SCL_PIN / SDA_PIN: instead rename them to > blah_PIN_DEFAULT, and use those defines instead of hardcoding 0 and 1. > I have a "thing" for avoiding hard-coded constants, and this makes it > more obvious that those 0/1 values are pins rather than true/false. > * We should break this out into separate diffs - let's focus right now > on fixing/extending the i2c bus code to work with the "strict" flag > you've introduced. The rest of the diff is GPIO stuff. That way we > can commit it in two parts. = http://www.lassitu.de/freebsd/iicbus-optional-relaxed-bus-semantics.patch > Stuff to look at later: >=20 > * The gpio default stuff is fine (but luis has send me some alternate > hint code to look at too!) - however, the capabilities are either in > or out. What about pullup, pulldown, etc? I'd be happy to review and test luis' code. The code that I added does instantiate each pin with DEFAULT_CAPS (read = and write), sets the name and sets the pin to either read or write. = =46rom ar71xx_gpio.c and ar71xxreg.h it seems that these devices only = support input and output and no other modes. > * Is there any way to make that "configure GPIO from hint" function > generic? Or should we worry about that later on? (eg so the rt305x CPU > support from ray@ can also use this?) sys/dev/gpio/gpiobus.c has no method to set the pin capabilities, only = to report the ones the underlying device offers. So every driver needs = to do it's confuration itself. The code itself certainly could be = factored out. > And my final question: >=20 > Does this actually now work for mainipulating the switch phy? If so: >=20 > * how does it work; I have a userland program that can read and write switch registers (and = PHY registers through that interface). See below. > * do we get per-physical-switch-port statistics somehow? They're there, and the OpenWrt driver has code to read them. I haven't = gotten round to implement that. > * how do I tinker with it next week when I'm over in Melbourne, > talking about this stuff to a group of researchers that want to use > the 1043nd? :) http://www.lassitu.de/freebsd/rtl8366ctl.tbz =46rom the enclosed README: > At this stage, the control program can talk to the switch, and > - print out some configuration information; > - print out some phy information; > - read and write arbitrary switch registers; > - read and write arbitrary phy registers. >=20 > Configuration actions are not implemented yet. I'll try and whip up a command to configure VLANs. Stefan --=20 Stefan Bethke Fon +49 151 14070811