Stable Release Status (5.28)
Summary
The table below gives a summary of the stable release (5.28) readiness of each RISC OS port, based upon a review by RISC OS Open (ROOL) conducted on 19 February 2020 of the code in GitLab. This page will be updated weekly as the planned release date approaches; watch this space…
Beagleboard | IOMD | iMx6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Status | Status | Status | Status | Status | Status | Status | Status |
Details
Please note: many of these ports are maintained by other people and companies so this should not be interpreted as indicating the work remaining for ROOL to complete the stable release preparation.
The remainder of this page gives a more detailed breakdown of the status of each port, based upon the criteria specified in our stable release policy. The table from the previous readiness test is available for comparison.
Update 23-Feb-2020
Reviewing recent changes to the ports, we’ve updated the table to reflect
- Iyonix – NVidia driver now supports VetMode 2 GraphicsV call (Jeffrey Lee)
Overall, the Iyonix transitioned from amber to green.
Update 09-Mar-2020
Reviewing recent changes to the ports, we’ve updated the table to reflect
- OMAP5 – port status page brought up to date (Sprow)
- IOMD – removed VetMode 2 requirement as VIDC20 doesn’t support extra bytes on each line (Jeffrey Lee, Sprow)
Overall, the IOMD transitioned from amber to green.
Update 22-Mar-2020
Reviewing recent changes to the ports, we’ve updated the table to reflect
- OMAP5 – confirmed system sound on J1500 audio out (Willi Theiss)
- Raspberry Pi – port status page brought up to date (Stuart Painting, Sprow)
Update 06-Apr-2020
Reviewing recent changes to the ports, we’ve updated the table to reflect
- Beagleboard – OMAPVideo driver now supports VetMode 2 GraphicsV call (Jeffrey Lee, Sprow)
- Pandaboard – OMAPVideo driver now supports VetMode 2 GraphicsV call (Jeffrey Lee, Sprow)
Overall, the Beagleboard and Pandaboard transitioned from amber to green.
Update 13-Apr-2020
Reviewing recent changes to the ports, we’ve updated the table to reflect
- OMAP5 – OMAPHDMI driver now supports VetMode 2 GraphicsV call (Willi Theiss)
Update 04-May-2020
Reviewing recent changes to the ports, we’ve updated the table to reflect
- Raspberry Pi – Adds EtherGENET driver (Sprow)
Update 06-Jul-2020
Reviewing recent changes to the ports, we’ve updated the table to reflect
- Titanium – NULL pointer fix when idling in XHCIDriver (Sprow)
Overall, the Titanium port transitioned from amber to green.
Update 14-Sep-2020
Reviewing recent changes to the ports, we’ve updated the table to reflect
- Raspberry Pi – Functioning 4x external USB ports (Sprow)
Update 12-Oct-2020
Reviewing recent changes to the ports, we’ve updated the table to reflect
- Raspberry Pi – Pullup resistors implemented/fixed across models (David Higton, Sprow)
- Raspberry Pi – Gamma remains disabled per RC16 (Jeffrey Lee)
Overall, the Raspberry Pi port transitioned from amber to green.
Administrative
The port status page should reflect the current status of any known unresolvable problems
Port has “Status of the NNN port” page on the wiki, and is up to date (see policy) so users can compare ports side by side.
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Fail No page. |
Pass | Pass | Pass | Pass | Pass |
A products file must be provided listing the tags of all the components included, and corresponding components file
ROOL will generate the tags prior to building release candidates
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass |
If a previous stable release exists, the (autogenerated) change logs must be made available based on the previous products file. Newly stable platforms can’t provide this, so isn’t needed.
ROOL will generate change logs from the previous products files
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | N/A | Pass | Pass | Pass | Pass | Pass |
Peripherals
Accessible plugs and sockets for which there are support in contemporary platforms should be similarly supported
Inaccessible or internal plugs and sockets need not be supported, or can be powered down
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass |
Modules
Module names, SWI bases, error bases etc… must be registered using the normal allocation service to avoid clashes.
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Desirable Change AHCIDriver module title to SCSISoftAHCI to fit into existing SCSIDriver client scheme (cf. SCSISoftUSB, SCSISoftWD33C93). |
Pass | Pass | Pass | Pass | Pass |
ROM based modules must be internationalised via MessageTrans, with default en-gb translations in ResourceFS.
Disc based modules can use fixed en-gb strings, since international users can replace those easily by copying a localised version on top.
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Fail Hardwired English found in AHCIDriver, EtherTH. PartMan (the task title, plus a spelling mistake in CmdHelp) though this isn’t in the ROM components file so can be English only. |
Pass | Pass | Pass | Pass | Pass |
Programmer’s interfaces
Any newly introduced APIs should be finalised and run past ROOL to check they make provision for future hardware.
From inspection of GitLab and Code review forum from 04-Aug-2017 to 19-Feb-2020
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Fail Some docs for PartMan SWIs required to check API design. Recommended improvements to SPIDriver API have not been made yet. |
Pass | Pass | Pass | Pass | Pass |
Any extensions to existing APIs should be finalised, and extended in as backwards compatible manner as practical.
Part of the guarantee of a stable release is that programmer’s can rely on (and test for) APIs and that they will be continue to be supported in the future
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Desirable HAL CPUClkDevice should move to API 0.2. HAL GPIODevice should move to API 1.0 |
Pass | Pass | Pass | Pass | Pass |
Updates to other disc based applications that your platform relies upon should also have been made
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass |
Hardware abstraction
Generally the main difference between platforms are involved in the HAL; video; USB; and ethernet, though some platforms might share some of these. Each must implement the entry points that their contemporaries do.
HAL
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Fail SoftCMOS not required – just clear the area (so the checksum fails) and the kernel will substitute the correct CMOS defaults, rather than Iyonix ones. Freescale copyrighted code (eg. sdk_types.h) has been prefixed with Apache licence, also ROOL BSD code in hdr/SDMAAsm & s/SDMAScripts & s/SDMA. HAL_ATACableID & HAL_ATASetModes can be deleted now. Useful to return a string for HAL_PlatformName, rather than NULL. AudioTemplate shows SGTL5000 reports as connected via IIC, should probably be IIS (the mixer would be IIC). OSStartFlag for power on reset is hardwired as always set, even for hard resets. HAL_PlatformInfo compares a1 and ip, when both are undefined on entry. HAL_PhysInfo is incorrect for iMx6 – this looks like a copy & paste of Pandaboard’s physical memory arrangement. HAL GPIO device template claims API 0.1, but copy loop stops after only copying the API 0.0 fields. |
Pass | Pass | Pass | Pass | Pass |
Video driver
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Desirable Uses unallocated error base of 0 |
Pass | Pass | Pass | Pass | Pass |
All GraphicsV entry points are implemented
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Desirable No Vet Mode 2 entry |
Pass | FailOMAPHDMI driver bug prevents display on many monitors, whereas Linux can drive them (so hardware is capable). |
Pass | Pass | Pass |
USB
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | N/A | Pass | Pass | Pass | Pass | Pass | Pass |
USB sockets act upon overcurrent situations.
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass |
USB bulk, control, and interrupt end points are supported.
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass |
Ethernet
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Fail HAL EtherDevice exposes HAL workspace pointer. Service_DCIProtocolStatus doesn’t deregister filters when the protocol module goes away, see DCI4 4.2.4. Command ETHConfig would be better as a configure keyword (see EtherK for suitable set), and store value in NIC podule CMOS. DIB reports that extended stats are available, but none are defined or provided. Do not call HAL_IRQDisable on clearing up, just release the device vector, see https://www.riscosopen.org/wiki/documentation/show/Interrupts. |
Pass | Pass | Pass | Pass | Pass |
An autosense file is provided for any new ethernet driver(s), which abandons gracefully on systems that don’t include that driver
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Fail None provided. |
Pass | Pass | Pass | Pass | Pass |
The info/self test commands are implemented and follow the general form of the other ethernet drivers (eg. EtherK)
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Fail No ETHTest self test (see DCI4 section 9.1). EthConfig should use configure syntax similar to EtherK, and store result in CMOS for the NIC. |
Pass | Pass | Pass | Pass | Pass |
Forum/mailing list chatter
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
N/A | N/A | Desirable Hangs as ‘mod init complete’ approx 1:10. InitPause recommended in !Boot to workaround Ethernet startup issues. Detail sought, either to move to a fix, or to declare as known issues on the port status page. |
N/A | N/A | N/A | Desirable Screen blanks when gamma correction is enabled. Pending ticket raspberrypi/firmware/issues/971. |
Pass |