- 15 Nov, 2015 2 commits
-
-
ROOL authored
Detail: Play safe, put NULLs in for the unused HC overrides. Version 1.08. Not tagged
-
ROOL authored
Detail: Support controllers such as the XHCI which perform some steps of enumeration themselves in hardware, thereby needing some steps of the software enumeration to be bypassed. usb.c: Internally permit addr of 0, to represent the root hub, since the controller is responsible for allocating 1+. Merged from NetBSD 1.144. usb_subr.c: Test pointers against NULL not 0. Merged from NetBSD 1.191. Add 4 new bus methods, for prior to enumeration, address assignment phase, post enumeration fixup, and device removal. usbdivar.h: Prototypes of 4 new bus methods. Admin: HC API version number bumped. Submission from Elesar. Version 1.08. Tagged as 'NetBSD-1_08'
-
- 12 Nov, 2015 1 commit
-
-
Robert Sprowson authored
On first registering a new bus in the the NetBSD build of the code usb_kthread_create(usb_create_event_thread, sc) is called which in turn creates the main event thread ("usb_event_thread"). The first thing usb_event_thread() does is set sc->sc_bus->needs_explore = 1; usb_discover(sc); however in the RISC OS version of the code (usb.c around line 254) only the first action is performed, no discover happens. This change schedules a callback via usb_needs_explore_callback() which in turn calls discover_callback() when the OS is next free, which calls usb_discover() for each bus in an equivalent way to NetBSD's event thread. There's then no longer any need for the special one-shot 11s rediscover callback, only the repeating 30s rediscover is needed. For reference, the places that set needs_explore in this version are all in usb.c Line 254: set, but doesn't schedule a callback, as noted above Line 339: code not compiled for __riscos Line 548: set, does schedule a callback Line 727: cleared, in usb_discover() Line 743: set, does schedule a callback Line 756: code not called in RISC OS NetBSD uses 500ms initial delay before discover, then 60s between discovers (or until requested by a hub, whichever is sooner). RISC OS has a periodic callback of 30s (in usbmodule.c) and an initial discover of however long it is from the bus being registered until callbacks next fire usb_event_thread(), assumed ~500ms. Version 1.07. Tagged as 'NetBSD-1_07'
-
- 09 Nov, 2015 1 commit
-
-
Ben Avison authored
Detail: In version 1.05, the USB library which is exported for the use of the HAL keyboard scan code unconditionally required the HAL_USBPortPower symbol. Not all HALs provide that entry point; for those that didn't, they would no longer link. Fixed by use of a bit of magic assembler. Admin: Verified that OMAP3 ROM now builds again. Version 1.06. Tagged as 'NetBSD-1_06'
-
- 04 Nov, 2015 1 commit
-
-
ROOL authored
Detail: When signalled as a feature of the HAL device, call HAL_USBPortPower to turn on the port. Admin: Submission from Willi Theiss. Version 1.05. Tagged as 'NetBSD-1_05'
-
- 28 Sep, 2015 1 commit
-
-
Robert Sprowson authored
Assign a proper error number and translate "Incompatible USBDriver version". Don't bother internationalising the *commands which are for debug builds only. Rephrase the help for USBQuirk so it makes sense, and trim the unmatched '<' from the syntax example. Bracket the USBDiscover help with the same switch that governs the code, which has been disabled for over a decade. Version 1.04. Tagged as 'NetBSD-1_04'
-
- 17 Sep, 2015 1 commit
-
-
ROOL authored
Detail: From NetBSD usb_quirks.c revision 1.81. usbmodule: NULL is for pointer types, not ints. usb_quirks: Group the RISC OS specific ones together, disable the non applicable UQ_APPLE_ISO ones, UQ_LOST_CS_DESC doesn't apply either but is only used for USB modem drivers not ported here. Untangle ifdefs around usbd_find_quirk(). Admin: Removed unused source file ums.c Version 1.03. Tagged as 'NetBSD-1_03'
-
- 24 Aug, 2015 1 commit
-
-
John Ballance authored
Minor makefile correction to enable o_hal component creation, and change to !MkExport to export EHCI and OHCI elements as well Detail: Admin: tested in iMx6 build Version 1.02. Tagged as 'NetBSD-1_02'
-
- 23 Aug, 2015 1 commit
-
-
Robert Sprowson authored
In products using OHCIDriver/EHCIDriver when they came to do a header export would overwrite the USBDriver header with an empty one.
-
- 22 Aug, 2015 4 commits
-
-
ROOL authored
However, internally we get that info from the descriptor, so mask it off. Submission from Colin Granville. No version number bump, it's already been incremented today. Version 1.01. Tagged as 'NetBSD-1_01'
-
Robert Sprowson authored
From NetBSD dev/usb/usbdivar.h 1.109. As these extra members change the struct layout, bump the API version number too. Having carefully analysed which headers are actually required by host controllers (in NetBSD-0_98) also be explicit about them in Hdr/USBDriver rather than the former vague comment in h/usbdivar. Hdr/USBDriver: Relocate API define here. usbmodule.c: Include USBDriver.h to get the API define. usbdivar.h: Add struct members from recent NetBSD. Version 1.00. Tagged as 'NetBSD-1_00'
-
ROOL authored
Use -1 as the invalid mark, so that an accidental match on interface=0 alternate=0 is no longer possible. Submission from Colin Granville. Version 0.99. Tagged as 'NetBSD-0_99'
-
ROOL authored
From NetBSD 1.698.
-
- 21 Aug, 2015 3 commits
-
-
Robert Sprowson authored
USBDriver was not exporting its SWI (and other) definitions to the export directory like other modules do, meaning the host controller drivers all have to reach into this component to get their hands on it. Makefile: Export an assembler header, conversion to C, and SWI definitions from CMHG. Rationalise the dev/usb/h/* headers which are exported in addition to those that are pertinent to host controllers (was missing usbdivar, and was exporting unused usbdi_util). Export machine/h/bus too. As it's unusual for a CModule to output both a library and module and headers, the EXPDIR has been divided into EXPLIBDIR for those things in C:USB, and EXPDIR for the others. ehcimodule.c/ohcimodule.c: Use the exported USBDriver.h Version 0.98. Tagged as 'NetBSD-0_98'
-
Robert Sprowson authored
-
Robert Sprowson authored
-
- 14 Aug, 2015 1 commit
-
-
Jeffrey Lee authored
Detail: dev/usb/h/usb_port - Implement usb_syncmem to call the appropriate memory barrier function. Required for when PCI_RAMAlloc starts returning Normal, non-cacheable memory rather than Device (although technically these barriers have always been needed for ARMv6+) build/c/port - Memory barrier implementation; uses the appropriate OS routine if available, otherwise uses a null op. build/Version - Bump EHCIDriver version number (the only module that uses these barriers so far) Admin: Tested on BB-xM, PandaBoard Version 0.97. Tagged as 'NetBSD-0_97'
-
- 02 Aug, 2015 1 commit
-
-
Robert Sprowson authored
Don't set RES_OBJ to an empty string. Rename merged messages variable to be merged resources dir (even though not used in that manner here). Version 0.96. Tagged as 'NetBSD-0_96'
-
- 04 Jul, 2015 1 commit
-
-
Robert Sprowson authored
ohcimodule.c: Variable renamed so it builds with debug enabled. usbmodule.c: Tighten up the logic deciding when to launch a USB$<thing> variable, previously it would be launched both for the initial device attach and then again for each interface. Remove local <stdlib.h> function prototypes. Reindent to 4 spaces to match the rest of the file. Fix confusion of ->dv_unit being an int not a pointer. Submission from Colin Granville. Built, but not tested. Version 0.95. Tagged as 'NetBSD-0_95'
-
- 29 Jun, 2015 1 commit
-
-
Jeffrey Lee authored
Detail: build/c/usbmouse - For absolute pointing devices, use the PointerV_Report "Abso" call to report absolute positions instead of relative build/Version - Bump USBDriver version number Admin: Based on code supplied by Chris Mahoney; allows USB touchscreens such as the Adafruit AR1100 to work under RISC OS Tested locally in an Iyonix ROM build (with regular mouse) Version 0.94. Tagged as 'NetBSD-0_94'
-
- 06 Jan, 2015 1 commit
-
-
Jeffrey Lee authored
Detail: build/c/ehcimodule, build/c/ohcimodule - Deregister IRQ handlers in Service_PreReset. Fixes a hang during reset on OMAP4. build/Version - Bump module version numbers for recent changes. Admin: Tested on Pandaboard, Iyonix Version 0.93. Tagged as 'NetBSD-0_93'
-
- 02 Jan, 2015 1 commit
-
-
John Ballance authored
Detail: Recent investigations in stalling of OS_Reset showed that with multiple driver modules it was possible for the monotonic timer to be turned off before the usb system had shut down. Service_PreReset needs a rapid finite response to silence the relevant module's hardware and ensure it cannot intiiate something that could stall the reset process. As a result USBDriver module no longer issues Service_USB_DriverDying in its Service_PreReset response; it merely silences itself and removes itself from any vectors. This EHCIDriver and OHCIDriver modules now only need to silence themselves when receiving Service_PreReset. Admin: tested in iMx6 and iyonix Version 0.92. Tagged as 'NetBSD-0_92'
-
- 01 Jan, 2015 1 commit
-
-
Robert Sprowson authored
Exposed possible return with reserved bit 8 set when enter was pressed. Version 0.91. Tagged as 'NetBSD-0_91'
-
- 17 Dec, 2014 1 commit
-
-
Robert Sprowson authored
From NetBSD revision 1.687, this adds the 9514 hub featured on the Pandaboard. Tested on a Pandaboard rev A3, now named in *USBDEVICES. Version 0.90. Tagged as 'NetBSD-0_90'
-
- 25 Oct, 2014 1 commit
-
-
Robert Sprowson authored
OHCIDriver (only) had sketchy support for a HAL based scheme for controlling the port power and monitor overcurrent. However the implementation was limited to supporting the single port required for an embedded product (aka Rhenium in the CVS history). The change makes it follow a model much more akin to the HAL_TimerDevice/HAL_TimerIRQStatus/HAL_TimerIRQClear set of functions. Version: Bumped OHCIDriver and USBDriver version numbers. ohcimodule.c: Use some defines from OsBytes.h. Group the debug variables within the OHCI_DEBUG define so they go away in the release case. Allow for up to 15 ports to be controlled via the revised HAL API, and pass something other than a hardwired controller of 0 when controlling/monitoring power. Enumerate the device numbers for overcurrent monitoring on startup. Deal with the possibility of one (or more) of the device numbers being shared interrupts. Squash a few trivial compiler warnings. ohcimodhead.cmhg: rename the handler/entry to reflect their use for overcurrent ohci.c: Allow for up to 15 ports to be controlled by passing in the port index where needed. usb_subr.c/usbdivar.h: Remove a RISC OS-ism in datatoggle, to converge with NetBSD a bit. ehcivar.h/usb_port.h: Relocate the overrides for mutex_ functions here since this is the only controller using them. Previously when in "usb_port.h" they would indirectly get dragged in ia the nested include in "usb.h". The could in fact now be implemented using SyncLib, an exercise left to the reader. usb.h Merge some of the device classes and other allocations from NetBSD. While it's not been possible to test the revised API, due to not having sight of the original platform on which it was implemented, none of the actively maintained HALs currently use the HAL based power and overcurrent scheme anyway, so the new code never gets called. In that respect, it's no more broken then the previous single port-single controller version. Version 0.89. Tagged as 'NetBSD-0_89'
-
- 29 Aug, 2014 2 commits
-
-
Jeffrey Lee authored
Detail: build/c/ehcihal - Corrected EHCIF_ETTF flag Admin: Tested on BB-xM Version 0.88. Retagged as 'NetBSD-0_88'
-
Jeffrey Lee authored
Detail: build/Version - Bump EHCIDriver version number build/c/ehcihal, build/c/ehcimodule, build/c/ohcimodule - Use the HAL USB controller type & flag definitions from Hdr:HALEntries instead of using magic numbers build/c/ehcimodule - Avoid double-read of hardware register in debug version of bus_space_read_4(); ensures that we report the value that's actually returned to the driver dev/usb/c/ehci - Merge in the following revisions from NetBSD: - 1.172, 1.173, 1.178, 1.193 - Support for controllers with embedded transaction translators - 1.174 - alloc_sqtd_chain() fix for short packets that end on page boundaries - 1.179 - ehci_set_qh_qtd() fixed to terminate alternate next qTD pointer with EHCI_NULL, not 0 dev/usb/h/ehcireg - Updated to latest NetBSD version (1.34) dev/usb/h/ehcivar - Merge in revision 1.38 (ETTF support) Admin: Tested on BB-xM Version 0.88. Tagged as 'NetBSD-0_88'
-
- 12 Aug, 2014 1 commit
-
-
Jeffrey Lee authored
Detail: build/c/usbmodule - Improve *USBDevInfo to display the devices connection speed build/h/USBDevFS - Correct device speed listing to match reality build/Version - Bump USBDriver version number Admin: Tested on Raspberry Pi Version 0.87. Tagged as 'NetBSD-0_87'
-
- 01 Jun, 2014 2 commits
-
-
Jeffrey Lee authored
Detail: dev/usb/usbdevs - Updated to the latest version from the NetBSD CVS, mainly for several new DisplayLink product IDs. Merged in our TouchBook definitions from rev 1.5, and commented out a couple of duplicate products. dev/usb/c/usb_quirks - Updated to cope with MetaGeek vendor being renamed to Misc build/Version - Bump USBDriver version number Admin: Tested in OMAP3 ROM build Version 0.86. Tagged as 'NetBSD-0_86'
-
Jeffrey Lee authored
Detail: build/h/USBDevFS - Added extra #ifdef guard to allow USBDevFS.h to be safely included by software that uses the BSD USB headers. Add the DeviceFS_CallDevice codes that USBDriver uses. build/h/service - Removed redundant secondary definition of the service call structures which the drivers were using internally build/c/ehcihal - Removed redundant #includes build/c/ehcidriver, build/c/ohcidriver - Use USBDevFS.h instead of service.h build/c/usbmodule - Use USBDevFS.h instead of service.h. Get rid of local DeviceCall definitions and use the ones which are now in USBDevFS.h. Also switched over to using Interface/DevicsFS.h for the main DevicsFS call reason codes, to match the naming convention used by USBDevFS.h (as opposed to the OSLib naming convention that was used previously). Stripped the unused OBSOLETE_SERVICE_CALLS code. build/Makefile - Add usbdi_util.h to the header exports Admin: Tested with building OMAP3, Tungsten & BCM2835 ROMs Builds to binary-identical modules as previous version. Version 0.85. Tagged as 'NetBSD-0_85'
-
- 27 May, 2014 1 commit
-
-
Jeffrey Lee authored
Detail: build/c/usbhal - Restructured triggercbs() so that it doesn't use irqsema to prevent callbacks triggering recursively, as this behaviour can be required sometimes (e.g. xfer timeout callback for a blocking xfer that's being performed within the bus explore callback). Instead, a 'callbacks needed' flag is used to decide whether callbacks should be processed, which operates in a similar way to the kernel's CBack_VectorReq flag - once a triggercbs() instance starts processing callbacks, no other calls will process them until a new callback is inserted. Also fixed indexing of the callback array within triggercbs() to correctly deal with wrap-around build/Hdr/usbhal, dev/usb/h/usbhal - Add cbs_needed to workspace Admin: Tested on BB-xM with high processor vectors Fixes hang during boot time keyboard scan that was seen when certain devices were connected Version 0.84. Tagged as 'NetBSD-0_84'
-
- 06 May, 2014 1 commit
-
-
Robert Sprowson authored
Version 0.83. Tagged as 'NetBSD-0_83'
-
- 26 Apr, 2014 1 commit
-
-
Jeffrey Lee authored
Detail: dev/usb/c/usb_subr - Merge in latest usbd_new_device() changes from NetBSD (rev 1.196). This primarily changes around the order of the SET_ADDRESS and descriptor get calls, as well as changing the descriptor get to request 64 bytes of data instead of 8. build/Version - Bump USBDriver version number Admin: Tested on BB-xM, Raspberry Pi, Iyonix ROM softload Fixes issue reported on forums with Raspberry Pi Model A not initialising correctly when connected as a device. Previously it was getting stuck fetching the descriptors after setting the address. http://www.riscosopen.org/forum/forums/5/topics/2534 Version 0.82. Tagged as 'NetBSD-0_82'
-
- 13 Jul, 2013 1 commit
-
-
Robert Sprowson authored
Merge of code change from revision 1.152 of usbdi.c from NetBSD, function usb_transfer_complete - this just swaps the ordering around to ensure the callback & done are in the right order. Built, but not tested. Version 0.81. Tagged as 'NetBSD-0_81'
-
- 30 May, 2013 1 commit
-
-
Robert Sprowson authored
Retagged as NetBSD-0_80.
-
- 27 May, 2013 1 commit
-
-
Robert Sprowson authored
Previously, if an endpoint was specified the endpoint type would be matched as type BULK even if that wasn't the case for the given endpoint number. Also, the find_interface_and_endpoint could exit without assigning the alternate. Line 2001: only search for BULK when neither the type nor endpoint were given Line 2028: take the first match on any fields that were given, assign all 3 return values Line 2094: remove some dead code, 'ep' is not read by find_interface_and_endpoint, so no need to initialise it Test case OPENIN "devicefs#endpoint1;size8:USB1" now gets the actual endpoint_type of the device, rather than BULK all the time. Changes from Colin, ref http://www.riscosopen.org/forum/forums/3/topics/1895 Version 0.80. Tagged as 'NetBSD-0_80'
-
- 25 May, 2013 1 commit
-
-
Robert Sprowson authored
No transfer occurred if maxpacketsize exactly equalled the free space in the buffer. Changes from Colin, ref http://www.riscosopen.org/forum/forums/3/topics/1895 Module version number bumped. Version 0.79. Tagged as 'NetBSD-0_79'
-
- 10 May, 2013 1 commit
-
-
Robert Sprowson authored
Spotted by Colin http://www.riscosopen.org/forum/forums/4/topics/1874 Built, but not tested. Version 0.78. Tagged as 'NetBSD-0_78'
-
- 30 Mar, 2013 1 commit
-
-
Jeffrey Lee authored
Detail: build/c/ehcimodule, build/c/ohcimodule - Added a re-entrancy check to USBDriver registration, to avoid shenanigans if we receive "USBDriver has started" service calls while in the middle of registering build/Version - Bump EHCIDriver & OHCIDriver versions & dates Admin: Tested on BB-xM Doesn't fix any known EHCIDriver/OHCIDriver-related issues, but is the same fix as was made to DWCDriver after the above-mentioned problem was found to be the cause of a hang on boot in recent Pi ROMs Version 0.77. Tagged as 'NetBSD-0_77'
-
- 05 Dec, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: build/c/usbkboard - detach_keyboard() now issues KeyV_KeyboardRemoved when the last keyboard is removed, to provide a hint to other keyboard drivers (e.g. PandoraKey) that they can reclaim KeyV. build/Version - Increased USBDriver version number Admin: Tested on Pandora Version 0.76. Tagged as 'NetBSD-0_76'
-