- 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'
-
- 19 Sep, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: build/c/usbmodule - The introduction of the delayed_read flag brought with it a bug, whereby performing one read at the filing system level would result in two transfers at the USB level: One transfer triggered by the RxWakeUp device call, and a second read triggered by the Resume device call once the devices buffer becomes empty. To counter this a new read_status variable is used to track the state of the filesystem-level transfer; idle, busy, or complete. Only start_read calls triggered by RxWakeUp are able to start new filesystem-level transfers, while Resume is only able to continue transfers which had been paused due to lack of buffer space. Additionally if a RxWakeUp call is received before the previous transfer had finished, the read amount is now buffered correctly, and the read count/padding count will only be reset once the new read actually starts. Also made DeviceFS-level debug output more verbose and useful; most read/write debug output now lists the associated usbd_xfer_handle, making it easier to track transfers once they enter the NetBSD layer. build/Version - Increase USBDriver version number Admin: Tested on BB-xM FTDIDriver now apears to work correctly again Version 0.75. Tagged as 'NetBSD-0_75'
-
- 13 Jul, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: build/c/usbmodule - read_cb() now explicitly clears the delayed_read flag, and only issues a delayed read if the pipe isn't a repeating type build/Version - Increased USBDriver version number Admin: Tested on BB-xM Version 0.74. Tagged as 'NetBSD-0_74'
-
- 09 Jul, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: build/c/usbmodule - If there's a read xfer which has been delayed due to RxWakeup being called before the previous xfer had finished (e.g. while inside a buffer filling upcall), report the transfer as having not finished yet. Should match the old behaviour before the delayed reads were introduced. build/Version - Increment USBDriver version number Admin: Tested briefly on BB-xM Version 0.73. Tagged as 'NetBSD-0_73'
-
- 24 Jun, 2012 1 commit
-
-
Jeffrey Lee authored
Fix null pointer dereferences. Add protection against DeviceFS xfers being multiply inserted into their pipes xfer queue. Detail: build/Version - Increased version numbers build/c/ehcimodule, build/c/ohcimodule - Fixed null pointer dereferences in debug code build/c/port, build/s/triggercbs - Fix debug code in tsleep() using hardcoded IRQsema ptr. Now requests the right pointer from build/s/triggercbs. build/c/usbmodule - Fix null pointer deferences in debug code and MonitorTX/MonitorRX handlers. Add xfer_busy and delayed_read flags to devstream struct in order to track whether the xfer associated with the stream is busy or not. Previously if the TxWakeUp/RxWakeUp device calls were made on a stream which already had an active xfer, the xfer would end up being inserted in the USB pipes xfer queue twice, creating a circular reference, resulting in (at the least) infinite loops in usbd_dump_queue() when debugging is enabled. Now, in the case of reads, a second read will automatically be issued once the first completes, while in the case of writes, the write request will simply be ignored. This isn't a proper fix for all the shortcomings of the DeviceFS interface, but at least the code is now a little bit safer. Admin: Tested on Raspberry Pi with high processor vectors Version 0.72. Tagged as 'NetBSD-0_72'
-
- 07 Jun, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: build/Makefile, build/!MkDebug,fd7 - Debug versions of the modules can now be built just by passing "DEBUG=TRUE" to amu build/!MkRhenium,fd7 - Deleted obsolete file build/Version - Increased version numbers build/c/ehcihal, build/c/ehcimodule, build/c/ohcimodule - Only accept USB controllers if HAL_USBControllerInfo says the struct size is an exact match with what we expect. Rework USB controller enumeration to allow modules to properly support both PCI and HAL controllers being available on the same machine, and without RHENIUM switch (module sources only). build/c/ehcimodule - Get rid of remaining RHENIUM bits; RHENIUM flag no longer needed for 32bit wide register reads/writes to be supported build/c/ohcimodule, build/cmhg/ohcimodhead, dev/usb/c/ohci - Get rid of remaining RHENIUM bits; RHENIUM flag no longer needed for HAL port power controls to be supported. build/c/usbhal, build/c/usbmodule, dev/usb/c/uhub, dev/usb/h/usb_port - Get rid of empty riscos_failed_device function build/s/call_veneer, build/s/triggercbs - Use Entry/EXIT macros to avoid single-reg LDM/STM performance warnings. Convert tabs to spaces. dev/usb/h/usb - Get rid of RHENIUM switch on USB_PORT_RESET_DELAY. Now always uses non-RHENIUM value of 100ms. Admin: Tested on rev A2 BB-xM, Iyonix, Raspberry Pi Version 0.71. Tagged as 'NetBSD-0_71'
-
- 14 May, 2012 1 commit
-
-
Robert Sprowson authored
Internally they're already in "usb.h" but possibly useful elsewhere. Version 0.70. Tagged as 'NetBSD-0_70'
-