Hello all,
I am trying to add usb_ethernet (smsc) driver for raspberry pi for both USB
and Ethernet support.
Now I have added the required files. But the USB device is not getting
power. To get the compilation error-less, I have applied a hack.
if_smsc.c is using the function “usbd_m_copy_in” which is present in the
file sys/dev/usb/usb_busdma.c. But due to this macro #if USB_HAVE_MBUF the
function was not getting compiled. So I have commented out the macro and
let the function compile.
Now ideally I should have used the DMA controller. Here I don't know the
status of DMA's functions and their usage. Any pointers on that ?
I believe the problem is secondary for the USB to function. Anyhow the USB
devices should get the power if the code is added. I suspect there is no
proper linking between the drivers. (i.e. dwcotg, bcm283x_dwcotg, ushub,
smsc, uhub, usb.) I would like some insights on how these interact.
I have added following lines in the nexus-devices.h file under
Raspberry-pi-BSP.
SYSINIT_DRIVER_REFERENCE(bcm283x_dwcotg, nexus);
SYSINIT_DRIVER_REFERENCE(smsc, uhub);
SYSINIT_DRIVER_REFERENCE(smsc, uether);
SYSINIT_DRIVER_REFERENCE(smsc, usb);
SYSINIT_DRIVER_REFERENCE(smsc, ether);
SYSINIT_DRIVER_REFERENCE(smsc, miibus);
I am also attaching the log of INIT01 Test.
I need help at this point. I am kind of stuck here.
Thank you in advance.
Deval Shah
*** LIBBSD INIT 1 TEST ***
VERBOSE_SYSINIT: DDB not enabled, symbol lookups disabled.
subsystem 880000
0xa7fb0(0)... done.
subsystem 1000000
0x8fd74(0)... done.
0x1ba34(0)... done.
0x8de24(0)... done.
subsystem 1800000
0x8f1f8(0x112678)... done.
0x8f1f8(0x112798)... done.
0x8f1f8(0x112788)... done.
0x8f1f8(0x1128fc)... done.
0x8f1f8(0x11292c)... done.
0x8f1f8(0x1129d0)... done.
0x8f1f8(0x112a50)... done.
0x8f1f8(0x112a70)... done.
0x8f1f8(0x112b6c)... done.
0x8f1f8(0x112534)... done.
0x8f1f8(0x112b8c)... done.
0x8f1f8(0x112bac)... done.
0x8f1f8(0x1131c0)... done.
0x8f1f8(0x113380)... done.
0x8f1f8(0x113350)... done.
0x8f1f8(0x113340)... done.
0x8f1f8(0x113330)... done.
0x8f1f8(0x113534)... done.
0x8f1f8(0x113554)... done.
0x8f1f8(0x11387c)... done.
0x8f1f8(0x113d48)... done.
0x8f1f8(0x114274)... done.
0x8f1f8(0x114264)... done.
0x8f1f8(0x114254)... done.
0x8f1f8(0x114244)... done.
0x8f1f8(0x114d44)... done.
0x8f1f8(0x115b60)... done.
0x8f1f8(0x115e68)... done.
0x8f1f8(0x116690)... done.
0x8f1f8(0x116680)... done.
0x8f1f8(0x116670)... done.
0x8f1f8(0x116660)... done.
0x8f1f8(0x117728)... done.
0x8f1f8(0x112524)... done.
0x8f1f8(0x117ac8)... done.
0x8f1f8(0x11838c)... done.
0x8f1f8(0x1183ac)... done.
0x8f1f8(0x1183cc)... done.
0x8f1f8(0x1183ec)... done.
0x8f1f8(0x11836c)... done.
0x8f1f8(0x112514)... done.
0x8f1f8(0x1186f4)... done.
0x8f1f8(0x1186e4)... done.
0x8f1f8(0x11877c)... done.
0x8f1f8(0x1188ec)... done.
0x8f1f8(0x118938)... done.
0x8f1f8(0x1189ac)... done.
0x8f1f8(0x118a0c)... done.
0x8f1f8(0x118a5c)... done.
0x8f1f8(0x118a8c)... done.
0x8f1f8(0x118c44)... done.
0x8f1f8(0x118ec4)... done.
0x8f1f8(0x1191f8)... done.
0x8f1f8(0x1192c8)... done.
0x8f1f8(0x119498)... done.
0x8f1f8(0x1124cc)... done.
0x8f1f8(0x1194f8)... done.
0x19188(0)... done.
0x1a9ac(0)... done.
subsystem 1b00000
0x90368(0x115064)... done.
0x8f638(0x11892c)... done.
0x8f638(0x1142e0)... done.
0x8f638(0x118970)... done.
0x8f638(0x118360)... done.
0x90368(0x118994)... done.
0x8f638(0x112c20)... done.
0x8f638(0x1166fc)... done.
0x8f638(0x112c0c)... done.
0x90844(0x1133f8)... done.
0x8f638(0x118abc)... done.
0x8f638(0x118b58)... done.
0x90368(0x118c84)... done.
0x8f638(0x113e84)... done.
0x8f638(0x118cac)... done.
0x8f638(0x118dbc)... done.
0x8f638(0x114d74)... done.
0x8f638(0x11922c)... done.
0x90368(0x1176dc)... done.
0x8f638(0x112aa0)... done.
0x8f638(0x118814)... done.
0x8f638(0x118830)... done.
0x8f638(0x118824)... done.
0x9e73c(0)... done.
0x1fbc0(0)... done.
0x9af88(0)... done.
subsystem 1c00000
0x1f0c4(0)... done.
subsystem 2000000
0x19d38(0)... done.
0x9aefc(0)... done.
subsystem 2200000
0x98fd8(0)... done.
0x90c80(0)... done.
subsystem 2300000
0x8bd50(0)... done.
subsystem 2700000
0x99db0(0)... done.
0x196c0(0)... done.
subsystem 2800001
0x3ce80(0)... done.
0x1b598(0)... done.
subsystem 3000000
0x30940(0)... done.
0x308bc(0)... done.
0x19de8(0x1135d4)... done.
0x35f18(0)... done.
subsystem 3100000
0x19de8(0x112830)... make_device:1743: root at no device as unit 0
devclass_find_internal:950: looking for root
devclass_find_internal:960: creating root
devclass_add_device:1672: (null) in devclass root
devclass_alloc_unit:1586: unit 0 in devclass root
devclass_alloc_unit:1645: now: unit 0 in devclass root
devclass_find_internal:950: looking for root
done.
0x19de8(0x118518)... devclass_find_internal:950: looking for root
_bsd_driver_module_handler:4575: Loading module: driver nexus on bus root (pass 2147483647)
_bsd_devclass_add_driver:1083: nexus
devclass_find_internal:950: looking for nexus
devclass_find_internal:960: creating nexus
done.
0x19de8(0x111864)... devclass_find_internal:950: looking for octusb
devclass_find_internal:960: creating octusb
_bsd_driver_module_handler:4575: Loading module: driver usbus on bus octusb (pass 2147483647)
_bsd_devclass_add_driver:1083: usbus
devclass_find_internal:950: looking for usbus
devclass_find_internal:960: creating usbus
done.
0x19de8(0x1118f4)... devclass_find_internal:950: looking for uss820dci
devclass_find_internal:960: creating uss820dci
_bsd_driver_module_handler:4575: Loading module: driver usbus on bus uss820dci (pass 2147483647)
_bsd_devclass_add_driver:1083: usbus
devclass_find_internal:950: looking for usbus
done.
0x19de8(0x111840)... devclass_find_internal:950: looking for musbotg
devclass_find_internal:960: creating musbotg
_bsd_driver_module_handler:4575: Loading module: driver usbus on bus musbotg (pass 2147483647)
_bsd_devclass_add_driver:1083: usbus
devclass_find_internal:950: looking for usbus
done.
0x19de8(0x1117d4)... devclass_find_internal:950: looking for at91_udp
devclass_find_internal:960: creating at91_udp
_bsd_driver_module_handler:4575: Loading module: driver usbus on bus at91_udp (pass 2147483647)
_bsd_devclass_add_driver:1083: usbus
devclass_find_internal:950: looking for usbus
done.
0x19de8(0x111918)... devclass_find_internal:950: looking for xhci
devclass_find_internal:960: creating xhci
_bsd_driver_module_handler:4575: Loading module: driver usbus on bus xhci (pass 2147483647)
_bsd_devclass_add_driver:1083: usbus
devclass_find_internal:950: looking for usbus
done.
0x19de8(0x11181c)... devclass_find_internal:950: looking for ehci
devclass_find_internal:960: creating ehci
_bsd_driver_module_handler:4575: Loading module: driver usbus on bus ehci (pass 2147483647)
_bsd_devclass_add_driver:1083: usbus
devclass_find_internal:950: looking for usbus
done.
0x19de8(0x1118d0)... devclass_find_internal:950: looking for uhci
devclass_find_internal:960: creating uhci
_bsd_driver_module_handler:4575: Loading module: driver usbus on bus uhci (pass 2147483647)
_bsd_devclass_add_driver:1083: usbus
devclass_find_internal:950: looking for usbus
done.
0x19de8(0x111888)... devclass_find_internal:950: looking for ohci
devclass_find_internal:960: creating ohci
_bsd_driver_module_handler:4575: Loading module: driver usbus on bus ohci (pass 2147483647)
_bsd_devclass_add_driver:1083: usbus
devclass_find_internal:950: looking for usbus
done.
0x2d008(0)... done.
0x19de8(0x111a38)... devclass_find_internal:950: looking for smsc
devclass_find_internal:960: creating smsc
_bsd_driver_module_handler:4575: Loading module: driver miibus on bus smsc (pass 2147483647)
_bsd_devclass_add_driver:1083: miibus
devclass_find_internal:950: looking for miibus
devclass_find_internal:960: creating miibus
done.
0x19de8(0x111abc)... devclass_find_internal:950: looking for uhub
devclass_find_internal:960: creating uhub
_bsd_driver_module_handler:4575: Loading module: driver smsc on bus uhub (pass 2147483647)
_bsd_devclass_add_driver:1083: smsc
devclass_find_internal:950: looking for smsc
done.
0x19de8(0x112028)... devclass_find_internal:950: looking for uhub
_bsd_driver_module_handler:4575: Loading module: driver uhub on bus uhub (pass 2147483647)
_bsd_devclass_add_driver:1083: uhub
devclass_find_internal:950: looking for uhub
done.
0x19de8(0x11204c)... devclass_find_internal:950: looking for usbus
_bsd_driver_module_handler:4575: Loading module: driver uhub on bus usbus (pass 2147483647)
_bsd_devclass_add_driver:1083: uhub
devclass_find_internal:950: looking for uhub
done.
0x19de8(0x1113dc)... devclass_find_internal:950: looking for nexus
_bsd_driver_module_handler:4575: Loading module: driver bcm283x_dwcotg on bus nexus (pass 2147483647)
_bsd_devclass_add_driver:1083: bcm283x_dwcotg
devclass_find_internal:950: looking for bcm283x_dwcotg
devclass_find_internal:960: creating bcm283x_dwcotg
devclass_find_internal:950: looking for dwcotg
devclass_find_internal:960: creating dwcotg
done.
0x19de8(0x1114a8)... devclass_find_internal:950: looking for simplebus
devclass_find_internal:960: creating simplebus
_bsd_driver_module_handler:4575: Loading module: driver dwcotg on bus simplebus (pass 2147483647)
_bsd_devclass_add_driver:1083: dwcotg
devclass_find_internal:950: looking for dwcotg
done.
0x19de8(0x1118ac)... devclass_find_internal:950: looking for saf1761otg
devclass_find_internal:960: creating saf1761otg
_bsd_driver_module_handler:4575: Loading module: driver usbus on bus saf1761otg (pass 2147483647)
_bsd_devclass_add_driver:1083: usbus
devclass_find_internal:950: looking for usbus
done.
0x19de8(0x1117f8)... devclass_find_internal:950: looking for dwcotg
_bsd_driver_module_handler:4575: Loading module: driver usbus on bus dwcotg (pass 2147483647)
_bsd_devclass_add_driver:1083: usbus
devclass_find_internal:950: looking for usbus
done.
subsystem 3800000
0xa7f90(0)... _bsd_device_add_child_ordered:1858: nexus at root with order 0 as unit 0
make_device:1743: nexus at root as unit 0
devclass_find_internal:950: looking for nexus
devclass_add_device:1672: (null) in devclass nexus
devclass_alloc_unit:1586: unit 0 in devclass nexus
devclass_alloc_unit:1645: now: unit 0 in devclass nexus
done.
0x9bfc0(0)... done.
0x9bbb8(0)... done.
0x991f4(0)... done.
0x9bc2c(0)... done.
0xa7fac(0)... _bsd_root_bus_configure:4541: .
devclass_find_driver_internal:1325: nexus in devclass root
_bsd_device_probe_child:2063: Trying nexus
_bsd_device_add_child_ordered:1858: bcm283x_dwcotg at nexus with order 0 as unit 0
make_device:1743: bcm283x_dwcotg at nexus as unit 0
devclass_find_internal:950: looking for bcm283x_dwcotg
devclass_add_device:1672: (null) in devclass bcm283x_dwcotg
devclass_alloc_unit:1586: unit 0 in devclass bcm283x_dwcotg
devclass_alloc_unit:1645: now: unit 0 in devclass bcm283x_dwcotg
nexus0: <RTEMS Nexus device>
devclass_find_driver_internal:1325: bcm283x_dwcotg in devclass nexus
_bsd_device_probe_child:2063: Trying bcm283x_dwcotg
bcm283x_dwcotg0: <DWC OTG 2.0 integrated USB controller (bcm283x)> on nexus0
_bsd_device_add_child_ordered:1858: usbus at bcm283x_dwcotg with order 0 as unit -1
make_device:1743: usbus at bcm283x_dwcotg as unit -1
devclass_find_internal:950: looking for usbus
devclass_add_device:1672: (null) in devclass usbus
devclass_alloc_unit:1586: unit -1 in devclass usbus
devclass_alloc_unit:1645: now: unit 0 in devclass usbus
devclass_find_driver_internal:1325: usbus in devclass bcm283x_dwcotg
devclass_find_driver_internal:1332: not found
devclass_find_driver_internal:1325: usbus in devclass dwcotg
_bsd_device_probe_child:2063: Trying usbus
usbus0 on bcm283x_dwcotg0
devclass_find_internal:950: looking for usbus
done.
0xa7f8c(0)... done.
subsystem 7000000
0xa11f8(0)... done.
0x7dca0(0)... done.
0xa33e8(0)... done.
0x19de8(0x1177ac)... done.
0x7cae8(0)... done.
0x19de8(0x1139c8)... vlan: initialized, using hash tables with chaining
done.
0x19de8(0x118f4c)... done.
0xa24b4(0)... done.
0x19de8(0x111be0)... done.
0x9949c(0)... done.
0x19de8(0x113730)... done.
subsystem 8000000
0xa1998(0)... done.
subsystem 8600000
0x26b78(0)... done.
0x9cd48(0)... done.
subsystem 8800000
0x9d178(0x112d4c)... done.
0x9d178(0x114674)... done.
0x9d178(0x113e14)... done.
0x9d178(0x11682c)... done.
0x9d0e0(0x112d4c)... done.
0x9d0e0(0x113e14)... done.
0x9d0e0(0x11682c)... done.
0x9d0e0(0x114674)... done.
0x409d8(0)... done.
0x3ec04(0)... done.
0x3ec68(0)... done.
0x4a3b4(0)... done.
0x76d8c(0)... done.
0x42ba0(0)... done.
subsystem 8800001
0xa1f28(0)... done.
0x9cdc4(0)... done.
0x30d10(0)... done.
0x19de8(0x113870)... done.
0x19de8(0x118eb8)... done.
0x3a24c(0)... lo0: bpf attached
done.
subsystem d800000
0x9c148(0)... done.
subsystem fffffff
0x1b9ac(0)... done.
usbus0: 480Mbps High Speed USB v2.0
0x90bd0(0)... done.
_bsd_device_add_child_ordered:1858: (null) at usbus with order 0 as unit -1
make_device:1743: (null) at usbus as unit -1
_bsd_device_probe_child:2063: Trying uhub
devclass_find_internal:950: looking for uhub
devclass_add_device:1672: (null) in devclass uhub
devclass_alloc_unit:1586: unit -1 in devclass uhub
devclass_alloc_unit:1645: now: unit 0 in devclass uhub
devclass_delete_device:1711: uhub in devclass uhub
devclass_find_internal:950: looking for uhub
devclass_add_device:1672: (null) in devclass uhub
devclass_alloc_unit:1586: unit -1 in devclass uhub
devclass_alloc_unit:1645: now: unit 0 in devclass uhub
uhub0: <DWCOTG OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
Sleeping to see what happens
uhub0: 1 port with 1 removable, self powered
Stack usage by thread
ID NAME LOW HIGH CURRENT AVAILABLE USED
0x09010001 IDLE 0x130c00 - 0x131bff 0x131b98 4080 128
0x0a010001 UI1 0x131e18 - 0x139e17 0x139a40 32752 1008
0x0a010002 TIME 0x13a568 - 0x142567 0x1424a8 32752 332
0x0a010003 IRQS 0x142570 - 0x14a56f 0x14a4b0 32752 308
0x0a010004 _BSD 0x15ce48 - 0x164e47 0x164d80 32752 240
0x0a010005 _BSD 0x164fa0 - 0x16cf9f 0x16ced8 32752 336
0x0a010006 _BSD 0x16fd68 - 0x177d67 0x177ca8 32752 232
0x0a010007 _BSD 0x177f08 - 0x17ff07 0x17fe40 32752 240
0x0a010008 _BSD 0x17ffc8 - 0x187fc7 0x187f08 32752 232
0x0a010009 _BSD 0x188168 - 0x190167 0x1900a0 32752 240
0x0a01000a _BSD 0x191388 - 0x199387 0x1992c8 32752 232
0x0a01000b _BSD 0x1993f0 - 0x1a13ef 0x1a1330 32752 232
0x0a01000c _BSD 0x1a1458 - 0x1a9457 0x1a9398 32752 232
0x0a01000d _BSD 0x1a94c0 - 0x1b14bf 0x1b1400 32752 936
0x0a01000e _BSD 0x1b1528 - 0x1b9527 0x1b9468 32752 232
*** END OF TEST LIBBSD INIT 1 ***
_______________________________________________
devel mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/devel