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