From owner-freebsd-hackers@FreeBSD.ORG Mon Nov 28 17:14:40 2005 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6C9F516A41F; Mon, 28 Nov 2005 17:14:40 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id ACEB543D77; Mon, 28 Nov 2005 17:14:23 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost.village.org [127.0.0.1] (may be forged)) by harmony.bsdimp.com (8.13.3/8.13.3) with ESMTP id jASHB1df010329; Mon, 28 Nov 2005 10:11:01 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Mon, 28 Nov 2005 10:11:19 -0700 (MST) Message-Id: <20051128.101119.131838249.imp@bsdimp.com> To: jhb@freebsd.org From: "M. Warner Losh" In-Reply-To: <200511281115.28735.jhb@freebsd.org> References: <20051124111241.GB75190@mygiea.ham01.thiemo.net> <20051124.112632.65222526.imp@bsdimp.com> <200511281115.28735.jhb@freebsd.org> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Mon, 28 Nov 2005 10:11:02 -0700 (MST) Cc: freebsd-hackers@freebsd.org, listmember@thiemo.net Subject: Re: Writing a driver for a card reader controller - how? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Nov 2005 17:14:40 -0000 In message: <200511281115.28735.jhb@freebsd.org> John Baldwin writes: : On Thursday 24 November 2005 01:26 pm, M. Warner Losh wrote: : > In message: <20051124111241.GB75190@mygiea.ham01.thiemo.net> : > : > Thiemo Nordenholz writes: : > : Hi Warner, : > : : > : > to be set. Can you send me a pointer to the winbond datasheet you are : > : > using? IIRC, this chip has an odd API since it appears to be derived : > : : > : As I have to wait for some spare time before trying to use the hints I : > : have received here, for now I can only answer that question - I found a : > : datasheet at : > : http://www.winbond.com/e-winbondhtm/partner/PDFresult.asp?Pname=863 which : > : is what I try to work with. (That page sends a file "PDFresult.asp", : > : which is actually a PDF.) : > : > I've read through this pdf. As far as I can find, it just talks about : > how to setup the base address for each of the sets of registers : > without actually talking about the sets of registers themselves. Nor : > can I find in the document a pointer to the different register sets. : > Do you have one of those as well? It looks fairly easy to program : > this device's base addresses or inquire what they are. It is done in : > much the same way that super I/O chips are programmed. : : For an ACPI device you want to use _PRS and _SRS. _PRS will give you a list : of candidate resource sets, possibly in groups via DPF tags. You then build : a resource and do an _SRS to set it. The problem is that our ACPI bus isn't : smart enough to allocate resources for a device when bus_alloc_resource() is : called to choose available resources when a device is not configured. This : is similar to how you fixed the PCI bus recently to allocate resources for : BARs that weren't already allocated by the BIOS. Ah, I see. Sounds like time to jump into the ACPI code and do someting similar... Warner