I have both a FW400 and FW800 MDD, so I'm comparing them in OF to see if there are noticable differences between them.
FW400 properties:
vendor-id 0000106b
device-id 00000031
revision-id 00000001
class-code 000c0010
interrupts 00000001
min-grant 0000000c
max-latency 00000018
subsystem-vendor-id 0000106b
subsystem-id 00005811
devsel-speed 00000001
fast-back-to-back
device_type ieee1394
reg 00007000 00000000 00000000 00000000 00000000
02007010 00000000 00000000 00000000 00001000
name firewire
compatible pci106b,5811
pci106b,31
pciclass,0c0010
#address-cells 00000004
#size-cells 00000002
local-guid 000a95ff fe88e1ca
assigned-addresses 82007010 00000000 f5000000 00000000 00001000
FW800 properties:
vendor-id 0000106b
device-id 00000031
revision-id 00000001
class-code 000c0010
interrupts 00000001
min-grant 0000000c
max-latency 00000018
subsystem-vendor-id 0000106b
subsystem-id 00005811
devsel-speed 00000001
fast-back-to-back
device_type ieee1394
reg 00007000 00000000 00000000 00000000 00000000
02007010 00000000 00000000 00000000 00001000
name firewire
compatible pci106b,5811
pci106b,31
pciclass,0c0010
#address-cells 00000004
#size-cells 00000002
local-guid 000a95ff fe7ff178
assigned-addresses 82007010 00000000 f5000000 00000000 00001000
Their properties are identical in everything except the GUID, but that's supposed to be a unique machine id.
Now to check the OF words.
FW400 words:
q'd-sync q'd-write-block q'd-read-block .stats probe
set-csr-mailbox set-config-rom get-busnode get-my-guid set-dstnode
set-spd set-address guid>node reset-bus close
open bus-reset? clr-status set-status get-status
status-address max-transfer dma-free dma-alloc decode-unit
encode-unit q'd-sync q'd-write-block write-block write-block?
write-block?-timeout wb-counter wb-start wb-max
read-block read-block-timeout rb-counter rb-start
rb-max write-quadlet wq-counter wq-start wq-max
read-csr-quadlet read-quadlet read-quad-timeout
rq-counter rq-start rq-max wait #nodes
reset-msecs lucent? elegant? next-ohci
FW800 words:
q'd-sync q'd-write-block q'd-read-block .stats probe
set-csr-mailbox set-config-rom get-busnode get-my-guid set-dstnode
set-spd set-address enable-node guid>node reset-bus
close open bus-reset? clr-status set-status
get-status status-address max-transfer dma-free dma-alloc
decode-unit encode-unit q'd-sync q'd-write-block write-block
write-block? write-block?-timeout wb-counter wb-start
wb-max read-block read-block-timeout rb-counter
rb-start rb-max write-quadlet wq-counter wq-start
wq-max read-csr-quadlet read-quadlet
read-quad-timeout rq-counter rq-start rq-max
wait add-range phy7-fail-last phy7-fail-cnt #nodes
reset-msecs lucent? elegant? next-ohci
These look very similar, but there are some differences. It seems that comparing the fcode between these could be very useful.