4. Custom Kernel Journey - dmikey/retros GitHub Wiki

🧩 R36S Clone DTS Audit β€” EmuELEC 4.7 Compatibility

This document tracks the current status of DTS (Device Tree Source) hardware definitions for a clone R36S handheld running EmuELEC 4.7, based on a decompiled .dtb (rf3536k4ka.dtb) from the original device.


βœ… Hardware Accounted For

Component Status Notes
SoC βœ… RK3326 Fully supported in upstream + EmuELEC kernel patches.
Display (LCD Panel) βœ… Present dsi@ node with panel@ subtree; enables video output.
Backlight βœ… Present Backlight node present (PWM or GPIO controlled).
Audio Codec / I2S βœ… Present Audio system defined, likely via I2S to external codec.
Analog Sticks βœ… Present ADC joystick or SARADC references included.
Power Management βœ… Present Voltage regulators and power domains defined.
Battery / Fuel Gauge βœ… Present Basic battery monitoring defined.
Storage (eMMC/SD) βœ… Present MMC/SD card interface included.
USB Host βœ… Present usb@ or dwc2 present, enables OTG/charging.
PWM Controller βœ… Present Used for backlight brightness.
Thermal Zones / Cooling βœ… Present CPU thermal sensors and passive cooling zones.
SPI & I2C Buses βœ… Present Available for peripherals (PMIC, display, audio).
Framebuffer / DRM βœ… Present Proper video pipeline appears defined.

🟑 Likely Present (But Unconfirmed)

Component Status Notes
GPIO Buttons (ABXY, D-pad, etc.) 🟑 Not defined in DTS Likely hardcoded in vendor kernel source. Needs gpio-keys block.
Wi-Fi / Bluetooth 🟑 Probably not present Typical R36S clones don’t include networking hardware.
Headphone Jack 🟑 Unclear Audio works, but jack GPIO switch not defined.
Analog Trigger Support 🟑 Not defined May require additional GPIO or ADC mapping.

❌ Missing or Not Declared

Component Status Notes
RTC (Real-Time Clock) ❌ Not found No rtc@ node. Timekeeping fallback likely uses fake-hwclock or NTP.
HDMI Output ❌ Not supported RK3326 has no HDMI output.
Touchscreen ❌ Not applicable No panel or driver support for touchscreen.
Camera (MIPI/ISP) ❌ Not applicable Not relevant to this device class.

βœ… Summary Table

Category βœ… Working 🟑 Unconfirmed ❌ Missing
Display βœ…
Audio βœ… 🟑 Headphone GPIO
Input βœ… Analog 🟑 GPIO buttons ❌ RTC
Power/Battery βœ…
USB/Storage βœ…
Networking 🟑 Possibly missing ❌ if needed
Timekeeping ❌ RTC

πŸ”§ Action Items

  • Add gpio-keys block to map physical button inputs.
  • Probe GPIO pinout to match buttons to specific lines.
  • Optionally add rtc@ node if a real-time clock exists or emulate one.
  • Clean up DTS warnings (address formats, duplicate unit addresses, etc.).
  • Test backlight control and analog stick calibration under EmuELEC.