Lup Yuen Lee 李立源 Profile picture
Mar 22, 2023 15 tweets 12 min read Read on X
Building the #PinePhone USB Driver for Apache #NuttX Real-Time Operating System ... All shall be explained in this article

Article: lupyuen.github.io/articles/usb3?1 Image
#PinePhone USB Programming is so much easier with USB EHCI ... Here's why

Article: lupyuen.github.io/articles/usb3?… Image
#PinePhone USB EHCI Registers are (thankfully) documented in the Allwinner A64 manual

Article: lupyuen.github.io/articles/usb3?… Image
#PinePhone USB OTG is super complicated ... So we won't touch it today for Apache #NuttX RTOS

Article: lupyuen.github.io/articles/usb3?… Image
#PinePhone (Allwinner A64) has 2 USB Ports ... One goes to External USB, the other goes to LTE Modem

Article: lupyuen.github.io/articles/usb3?… Image
Here's how we configure the #NuttX USB Driver for #PinePhone

Article: lupyuen.github.io/articles/usb3?… Image
Tweaking the Apache #NuttX USB Driver for 64-bit #PinePhone

Article: lupyuen.github.io/articles/usb3?… Image
#NuttX USB Driver fails at startup ... Because we haven't powered on #PinePhone USB Controller

Article: lupyuen.github.io/articles/usb3?… Image
How to power up #PinePhone USB Controller? Let’s consult U-Boot Bootloader

Article: lupyuen.github.io/articles/usb3?… Image
Here's how we find the #PinePhone USB Driver in U-Boot Bootloader

Article: lupyuen.github.io/articles/usb3?… Image
U-Boot Device Tree reveals the USB Drivers for #PinePhone

Article: lupyuen.github.io/articles/usb3?… Image
To power up #PinePhone USB Controller: 1️⃣ Enable the USB Clocks 2️⃣ Deassert the USB Resets

Article: lupyuen.github.io/articles/usb3?… Image
U-Boot Bootloader's mystery code for #PinePhone USB ... We'll decipher this someday

Article: lupyuen.github.io/articles/usb3?… Image
Here's how we enable the USB Clocks for #PinePhone

Article: lupyuen.github.io/articles/usb3?… Image
Enabling #PinePhone USB Clocks ... How we do it for Apache #NuttX RTOS

Article: lupyuen.github.io/articles/usb3?… Image

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Lup Yuen Lee 李立源

Lup Yuen Lee 李立源 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @MisterTechBlog

Jun 24
Our #RustLang App compiles for Software Floating-Point, but Apache #NuttX RTOS expects Hardware Floating-Point ... Let's fix this with a Rust Custom Target for QEMU #RISCV

Source: lupyuen.codeberg.page/articles/rust4…
Image
GCC Linker won’t link the binaries: Hard-Float vs Soft-Float ... Here's how we fix the #RustLang binaries in Apache #NuttX RTOS

Article: lupyuen.codeberg.page/articles/rust4…
Image
#RustLang won’t do Double-Float for 32-bit #RISCV ... Let's create a Custom Rust Target for #NuttX on QEMU

Article: lupyuen.codeberg.page/articles/rust4…
Image
Read 6 tweets
Dec 18, 2023
Let's look inside the #RISCV Sv39 Memory Management Unit ... With Apache #NuttX RTOS on @ThePine64 #Ox64 64-bit SBC

Article: lupyuen.codeberg.page/articles/mmu
Image
Protecting the RAM and I/O Memory inside our #Ox64 BL808 SBC

Article: lupyuen.codeberg.page/articles/mmu.h…
Image
Here's the Level 1 Page Table for #RISCV Sv39 Memory Management Unit

Article: lupyuen.codeberg.page/articles/mmu.h…
Image
Read 10 tweets
Sep 10, 2023
Let's power up the Display Controller inside #RISCV Star64 #JH7110 SBC @ThePine64 ... By running simple commands in the #UBoot Bootloader

Article: lupyuen.codeberg.page/articles/displ…
Image
#UBoot Commands "md" and "mw" for Dumping and Writing Memory

Article: lupyuen.codeberg.page/articles/displ…
Image
Writing to the Star64 #JH7110 UART Registers ... With #UBoot Bootloader

Article: lupyuen.codeberg.page/articles/displ…
Image
Read 14 tweets
Aug 22, 2023
#RISCV Star64 #JH7110 SBC is now supported by Apache #NuttX RTOS! Let's review how we created the first release of NuttX for Star64 @ThePine64

Article: lupyuen.codeberg.page/articles/relea…
Image
Here's how we build Apache #NuttX RTOS for #RISCV Star64 #JH7110 SBC

Article: lupyuen.codeberg.page/articles/relea…
Image
Bootable microSD with Apache #NuttX RTOS inside ... By creating a Flat Image Tree

Article: lupyuen.codeberg.page/articles/relea…
Image
Read 14 tweets
Aug 9, 2023
Apache #NuttX RTOS crashes on @ThePine64 Star64 #JH7110 #RISCV SBC because there's no Semihosting ... Let's modify NuttX to boot with an Initial RAM Disk instead (initrd)

Article: https://t.co/nhtphJNCvVlupyuen.codeberg.page/articles/semih…
Image
Apache #NuttX RTOS crashes on Star64 #JH7110 with #RISCV MCAUSE 3 ... Let's find out why

Article: https://t.co/YWcdZqVdcelupyuen.codeberg.page/articles/semih…
Image
Apache #NuttX RTOS halts with #RISCV MCAUSE 3 because of the EBREAK Instruction for Debugging ... But we're not doing any debugging!

Article: https://t.co/BZU2aQ8tjylupyuen.codeberg.page/articles/semih…
Image
Read 6 tweets
May 30, 2023
Will #LVGL Graphical Apps run in the Web Browser ... With #WebAssembly and #ZigLang Compiler? Let's find out!

Article: lupyuen.codeberg.page/articles/lvgl3… Image
#ZigLang and JavaScript will happily interoperate in #WebAssembly ... Both ways!

Article: lupyuen.codeberg.page/articles/lvgl3… Image
Read 15 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(