Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RPi400 Platform Target TODO #236

Open
2 of 12 tasks
klange opened this issue Feb 16, 2022 · 0 comments
Open
2 of 12 tasks

RPi400 Platform Target TODO #236

klange opened this issue Feb 16, 2022 · 0 comments

Comments

@klange
Copy link
Owner

klange commented Feb 16, 2022

Basic bringup is completed for the RPi400 and ToaruOS can reach a desktop and run applications on one core. This ticket tracks incomplete functionality.

  • SMP: spin up other cores
    Firmware drops us in EL2, might want to bootstrap cores to EL1 in the platform shim with our own spintables and let Misaka resume them with the existing EL1 AP startup code.
  • Collect memory information
    Currently pretending we have 512MB of continuous memory from 0, but that's probably not true with the VC? Consider switching to the "high peripheral" mode as well...
  • Actually parse the DTB firmware gives us
    This was skipped and important stuff (mostly GIC) was hardcoded as the existing DTB parser is incomplete and only barely understands the QEMU virt dtb.
  • Device drivers
    • USB
      I can put it off no longer, it's time to write a USB stack.
      • XHCI
      • HID
    • Onboard PCM?
      The 400 lacks the audio jack, but HDMI audio is supported - is that hooked up to the same hardware? Look into this.
    • Ethernet
    • Bluetooth
    • GPIO
  • Support setting clock time from userspace
    RPi has no RTC, so we need to be able to set the time through ntp or a command, probably just by adjusting the 'clock basis time'.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant