RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

Stable Release Status

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
Ready Ready Significant shortfalls Ready Significant shortfalls Ready Ready Ready
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

Search whole site

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Information pages

  • Downloads
  • Licences
  • About
  • Contact
  • Privacy
  • Help
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open theme is an original creation

Valid XHTML 1.0  |  Valid CSS

Powered by Radiant CMS
This site runs on Rails

Hosted by Arachsys