Stable Release Status (5.24)
Summary
The table below gives a summary of the stable release (5.24) readiness of each RISC OS port, based upon a review by RISC OS Open (ROOL) conducted on 27 January 2018.
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.
Update 02-Feb-2018
The sections now detail specifics when hovering over the word Desirable or Fail, so that port maintainers can see what needs to be addressed before the April cutoff.
Update 26-Feb-2018
Reviewing recent changes to the ports, we’ve updated the table to reflect
- Beagleboard – port status page updated (Jeffrey Lee, Sprow)
- Raspberry PI – Gamma curve supported for GraphicsV (Jeffrey Lee)
- Iyonix – HAL now implements TimerIRQClear (Jeffrey Lee)
- Titanium – Some brands of external hub used to cause hang at power on (Elesar)
- iMX6 – IMXVideo search for HAL device type loop exit now uses CMP to avoid infinite loop (John Ballance)
- iMX6 – GraphicsV despatch now respects the driver number in b24-b31 of GraphicsV reason (John Ballance)
- iMX6 – IMX6Video is now in the right order of RegisterDriver; claim GraphicsV; StartDriver (John Ballance)
- iMX6 – Debugging command ReadEDID and hardwired MDF removed from IMXVideo (Jeffrey Lee)
- iMX6 – Gamma curve supported for GraphicsV (Jeffrey Lee)
- iMX6 – Video mode vetting now vets the mode and has internationalised text (Jeffrey Lee)
- iMX6 – Failures during IMXVideo initialisation are now correctly cleaned up after (Jeffrey Lee)
- iMX6 – The missing IMXVideo colour depths are now reported via GraphicsV (Jeffrey Lee)
- iMX6 – Video driver no longer peeks MonitorType CMOS, which the kernel and ScrModes handle (Jeffrey Lee)
Overall, the Raspberry Pi transitioned from red to amber.
Update 25-Mar-2018
Reviewing recent changes to the ports, we’ve updated the table to reflect
- Iyonix – Removal of NVidia straps deferred (see port status)
- Raspberry Pi – 3.5mm audio out tested on socket J7 (Sprow)
- Raspberry Pi – GPIO table updated to cover model ZeroW (Sprow)
- OMAP5 – gained a port status page in the wiki (Willi Theiss)
- Raspberry Pi – as a bonus, differences between the Pi 3B and 3B+ use of LEDs and faster ethernet controller have been accommodated (Jeffrey Lee)
Overall, the Iyonix transitioned from amber to green.
Overall, the Raspberry Pi transitioned from amber to green.
Update 01-Apr-2018
Reviewing recent changes to the ports, we’ve updated the table to reflect
- OMAP3 – GPIO HAL device updated from obsolete API 0.0 to API 1.0 and GPIO module now included (Sprow)
- OMAP4 – GPIO HAL device updated from obsolete API 0.0 to API 1.0 and GPIO module now included (Sprow, Willi Theiss)
Overall, the OMAP3 transitioned from amber to green.
Overall, the OMAP4 transitioned from amber to green.
Update 08-Apr-2018
Reviewing recent changes to the ports, we’ve updated the table to reflect
- Titanium – big video modes such as 1920×1200@60Hz no longer tear due to the video DMA not getting enough bus time (Elesar)
- OMAP5 – port status page brought up to date declaring the boot mode multicolour problem (Willi Theiss)
Overall, the Titanium 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 | N/A | Pass | N/A | N/A |
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 | Desirable Is stereo audio out on J1500? SATA not supported (see HAL, below). |
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 CVS and Code review forum from 01-Apr-2015 to 03-Aug-2017
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Fail PartMan SWI table in CMHG doesn’t match implementation. Some docs for PartMan_MorePartitions 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
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 (an ARMX6 customer did try submitting one from their computer, but on review it didn’t do any autosensing). |
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 |
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 |
All GraphicsV entry points are implemented
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass |
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 Castle 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 | FailSATA device missing (see Peripherals, above) |
Pass | Pass | Pass |
Video driver
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | Pass | Desirable Uses unallocated error base of 0 |
Pass | Fail OMAPHDMI relies on a hardwired MDF in ResourceFS; MDFs describe the monitor which is not known at build time, so cannot be embedded in ROM. |
Pass | Pass | Pass |
USB
Beagleboard | IOMD | iMX6 | Iyonix | OMAP5 | Pandaboard | Raspberry Pi | Titanium |
---|---|---|---|---|---|---|---|
Pass | N/A | 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 |
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. |
Pass | Pass | N/A | N/A | N/A |