The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/ieee1394/IMPLEMENTATION

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 $NetBSD: IMPLEMENTATION,v 1.6 2002/02/03 07:29:14 jmc Exp $
    2 
    3 At time point in time, there are 3 controller drivers planned:
    4 
    5         fwochi          IEEE 1394 OHCI Controller (PCI & CardBus)
    6         fwlynx          TI TSB12LV21 (found B&W G3s)
    7         fwsony          Sony CXD1947A (found on Sony Vaio laptops)
    8 
    9 (Though as of this time, Sony has declined to release documentation
   10 about the CXD1947A).
   11 
   12 The device hierarchy will look like (using fwohci as the example):
   13 
   14 #
   15 # The controller driver.  Handles the device-specific 1394 functions.
   16 #
   17 fwohci* at pci? dev ? function ?
   18 # For each remote 1394 device on the 1394 bus, there will be a corresponding
   19 # fwnode.  If a 1394 device offers any supported services, they will be
   20 # a child of corresponding fwnode.  A particular fwnode can be tied to a
   21 # specific device by specifing its nodeid as its identifier (XXX this
   22 # is a 64 bit quantity and locators used by config must be 32 bit integers).
   23 #
   24 fwnode0 at fwbus? idhi 0x003065ff idlo 0xfedc46c0       
   25 fwnode1 at fwbus? idhi 0x0060e202 idlo 0x0000157e       
   26 fwnode2 at fwbus? idhi 0x00110600 idlo 0x00003169          
   27 fwnode* at fwbus? idhi ? idlo ?
   28 #
   29 # An ip capable interface can be added to the local bus as a service to offer
   30 # on the bus. (the code will only attach to the local bridge so 2 boxes plugged
   31 # into each other would only each have fw0, but would see the other side as
   32 # fwnodeX when it probes for remote devices)
   33 #
   34 fw* at fwbus?
   35 #
   36 # NOTE: All fwbus's, fw's, fwnode's derive their device struct from an
   37 # ieee1394_softc which allows the various layers to have a standard way to
   38 # look at values in their children nodes. (updating nodeid's, etc)
   39 #
   40 # One of the services that a node might offer is access to SCSI devices via
   41 # SBP-2.  As decsribed above, this mean a scsibus is a child of fwnode at some
   42 # point. (Making it a direct child is bad since that drags in the whole scsi
   43 # code base even if all a person wants is an fwnode and camera support)
   44 #
   45 fwscsi* at fwnode?
   46 scsibus* at fwscsi?
   47 
   48 Note that with advent of highly mobile storage devices, the need for 
   49 signatures or other mechanisms to identity disks indepentend of their
   50 localtion in the device hierarchy is sorely needed.
   51 
   52 fwohci0 at pci1 dev 12 function 0: NEC uPD72870 IEEE 1394 OHCI Host Controller (rev. 0x01)
   53 fwohci0: interrupting at isa irq 15
   54 fwohci0: OHCI 1.0
   55 fw0 at fwohci0: Id 00:d0:f5:20:00:00:5e:84, 400Mb/s, 1024 byte packets max
   56 fw0: isochronous channels: 16 transmit, 16 receive
   57 fwnode0 at fwohci0: Id xx:xx:xx:xx:xx:xx:xx:xx

Cache object: 1b87ec839c41a8b72e3842884a40f23e


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.