Realtek RTD1295 is a quad core Cortex A53 processor with built-in Gigabit Ethernet, USB 3.0 and SATA found, and is found in some TV boxes such as Zidoo X9S or Eweat R9 Plus that run Android 6.0 and OpenWrt on top of Linux 4.1. Andreas Färber has been working on Mainline Linux support for the SoC using Zidoo X9S, and just submitted patchsets for enablement of RTD1295.
This mini-series adds initial support for the Realtek RTD1295 SoC and the Zidoo X9S TV box.
With these patches CPU0 can be booted with earlycon.
PSCI doesn’t work despite present in the vendor device tree; as enable-method it instead used a custom “rtk-spin-table” that I sadly have no source code of.
The UARTs use a custom interrupt controller that I again lack source code of; with interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH> it can boot into an initrd.
The boot process is slightly twisted: The files need to be loaded from a 32-bit U-Boot, then boot into 64-bit U-Boot where the kernel can be booted. Similar to my previous Amlogic S905 work, the TEXT_OFFSET poses a problem, so a uImage needs to be used (or the kernel patched) for load address 0x00280000. I haven’t succeeded loading an initrd via bootm/booti; but as quick workaround initrd=$rootfs_loadaddr,0x$filesize can manually be specified in $bootargs.
If you want to try it out on your own Realtek RTD1295 device, you can find how to access the UART console, and play with U-Boot on Zidoo X9S page on OpenSUSE website. More experimental patchsets can also be found on Github.
In other news, if you’re interested in mainline Linux on Amlogic S912, kernel developers are currently using Nexbox A1 TV box with the help of Amlogic, which according to an upcoming talk at the Embedded Linux Conference 2017, “has put a priority on supporting their chips in the mainline Linux kernel”.