Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
HAL_BCM2835 HAL_BCM2835
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Labels
    • Labels
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • RiscOS
    • SSources
  • HAL
  • HAL_BCM2835HAL_BCM2835
  • Merge requests
  • !2

Merged
Created Jun 24, 2019 by Ben Avison@bavisonDeveloper

Raspberry Pi 4 support

  • Overview 25
  • Commits 20
  • Changes 18

The Raspberry Pi 4 is more radically different from its predecessors than any previous new generation of the Raspberry Pi. As such, it has unfortunately not been possible to get the RISC OS port fully functional before launch.

Note! The 4x main USB sockets and Ethernet are completely non-functional at present, and so this is not yet considered suitable for general users.

If you are able to assist in the USB/Ethernet development you will need to build the ROM from source, pulling this development branch into your source tree, and to choose whether to connect via USB or serial during the process.

You will need:

  • the firmware files bootcode.bin, fixup4.dat, start4.elf plus the usual config.txt
  • add the following line at the end of config.txt:
[pi4]
enable_gic=1
  • since DHCP hangs indefinitely waiting for the Ethernet controller, remove SetupNet from PreDesk

To work using USB peripherals plugged into the USB-C socket:

  • an USB-C male to USB-A female adapter lead and another means of powering the Pi (eg. via the GPIO pins), or
  • a powered USB-C hub that is able to deliver approximately 800mA through the USB-C connector

To work using a serial terminal:

  • a serial lead and terminal application on another machine to drive the UART on header pins 6, 8 and 10 at 115200 baud, 8N1
  • in Kernel/hdr/Options, set DebugTerminal to {TRUE}
  • in HAL_BCM2835/hdr/BCM2835, set Debug and HALDebug to {TRUE}
  • since the desktop can't be driven over serial, a quick way to ensure we don't leave the command line is to knock the Desktop module out from the Components file
  • to stop the serial driver from controlling the debug UART, knock the DualSerial module out from the Components file too (in this case, you may wish to suffix it with "-type EXP" rather than commentig it out, to ensure its export phase still runs if you are building from clean)
Edited Mar 11, 2020 by Ben Avison
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: Pi4