329201. New PPC hardware announced: "Mirari" featuring USB3, NVME, onboard FPGA (Update)
Geennaam (01-May-2025, 12:08)
What started out as a teaser ended up as a bit of a messy full disclosure. I guess we couldn't hold back our excitement any longer.
So here's some additional information which hopefully explains what this project is about and what it is capable of.
Background and Mission:
The Mirari board is designed with the intention to provide the Amiga community with low-cost PowerPC hardware. Therefore, the design is based on a bare minimum with nice-to-haves based on what makes sense, but always with the mission in mind. Due to the minor cost difference between a dual-core T1022 and the quad-core T1042, we've decided on the T1042, resulting in a low-cost board with mid-range specifications.
The T10x2 is based on the e5500 core, the same core found in the X5000. Initial benchmarks confirm that the single-core performance difference is just the clock difference, with a 1.4 GHz T1042 performing at 70% of the 2GHz X5020. The design also accommodates the pin and footprint-compatible T2081, allowing for a mid-cost board with high-end specifications. To ensure compatibility, we had to make some compromises to the T10x2 design.
Memory Support:
The T10x2 memory controller supports both 64-bit DDR3L and DDR4 at 800 MHz (DDR1600).
The T2081 memory controller supports both 64-bit DDR3L at 933MHz (DDR1866) and DDR3 at 1066MHz (DDR2133).
The common denominator is DDR3L, hence the choice for a 1.35V SODIMM slot.
If we had focused solely on the T1042, DDR4 would have been the better choice from an availability standpoint. However, since the clock speed is the same but latencies are larger for DDR4, the overall memory performance would have been lower.
For the T2081 we can increase the memory controller voltage to 1.5V which would enable the DDR2133 interface speed.
Although we have only one memory controller, initial Linux benchmarks show that the single and SMT memory performance is at least on par with the X5020.
- Audio:
For longevity reasons, we've decided to use an industrial-grade audio codec from TI (TLV320AIC3204). This codec is routed to three audio jacks at the rear (mic, line-in, line-out) and to an onboard HD audio connector. Additionally, there's a digital optical output (Toslink). The T1042 features an I2S interface for direct connection to external audio codecs, while the T208x does not. Therefore, we've implemented the I2S and S/PDIF controllers in the FPGA. This means there's no audio driver readily available for Linux. For OS4 and MorphOS, I have experience writing AHI drivers, so consider this covered.
- Storage:
The mainboard features two SATA ports and two NVMe slots. However, we had to make some tough choices again:
For the T1042 variant, there's always one SATA port and one NVMe slot available. The second SATA/NVMe is mutually exclusive, currently jumper-based but eventually u-boot configurable.
The T2081 does not have SATA interfaces. If you need SATA, it must be added with a PCIe card. However, keep in mind that SATA is being phased out, with modern PCs and laptops often using NVMe over SATA SSDs.
Tested Linux distributions are all booting and running from NVMe. I also have experience with NVMe drivers, so consider this covered for OS4 and MorphOS as well.
USB3: We based u-boot on the latest stable version available earlier this year, 2024.10. This has many benefits over using the 2014-2018 versions available in other PowerPC hardware. However, the developers behind u-boot changed the driver model around 2018, with a transition period ending in 2020. This means u-boot is a mixture of old drivers and drivers compliant with the new model. For USB on NXP SoC, there's a catch: NXP didn't rewrite their OHCI and EHCI drivers for the new model. Activating the XHCI driver for USB3 support causes conflicts. Fortunately, this is not an issue under Linux, so USB3 works correctly, but we have work to do for u-boot.
- Prototypes:
We have ordered 5 prototypes and managed to make them all work (100% yield). This was a great concern to me personally, as the layout requirements for the 780 balls FPGA stretched our supplier's capabilities to its limits. The boards run stably and have undergone hours of burn-in testing with Linux stress testing tools. One observation is that the CPUs run around 30°C idle and around 40°C under full load, which is good for overclocking potential. The core power supply has quite some headroom to support this. You can check out the Hyperion Entertainment X5000 Linux-only forum for posts from Skateman. Whenever he talks about his 4-core e5500, he is actually talking about this board.
Full Specifications of the Current Design:
-Form Factor: micro-ATX compatible, 244x170mm (L x W)
-T10x2 (2-4 e5500 cores) up to 1.5GHz / T2081 (4 dual-threaded e6500 cores with Altivec 2.0) up to 1.8GHz
-DDR3L (1.35V) SODIMM with rank interleaving (T10x2 up to DDR1600; T2081 up to DDR2133)
-PCIe x16 slot with 4 lanes occupied (PCIe 2.0)
-PCIe x4 slot with one lane occupied (T10x2 PCIe 2.0; T2081 PCIe 3.0)
-PCIe x1 slot with one lane occupied (PCIe 2.0)
-2x SATA 2.0 (T10x2 only, at 300Mbit/s)
-2x NVMe slots (second slot mutually exclusive with second SATA port)
-8 USB 2.0 ports (4 connected to the rear I/O; 4 connected to internal USB 2.0 headers)
-4 USB 3.2 Gen1 ports (2 connected to the rear I/O; 2 connected to an internal USB 3.0 header)
-10/100/1000Mbit Ethernet
-192kHz/24bit analog audio (mic, line-in, line-out to the rear I/O; mic, headphone to the HD audio connector)
-S/PDIF / Toslink digital audio out
-9-pin RS232 to the rear I/O
-Micro SD card (push-in push-out) as boot source
-24-pin ATX power connector
-4-pin ATX CPU power connector
-CPU fan header with PWM
-Case fan header
Storage:
The mainboard features two SATA ports and two NVMe slots. However, we had to make some tough choices again:
For the T1042 variant, there's always one SATA port and one NVMe slot available. The second SATA/NVMe is mutually exclusive, currently jumper-based but eventually u-boot configurable.
The T2081 does not have SATA interfaces. If you need SATA, it must be added with a PCIe card. However, keep in mind that SATA is being phased out, with modern PCs and laptops often using NVMe over SATA SSDs.
Tested Linux distributions are all booting and running from NVMe. I also have experience with NVMe drivers, so consider this covered for OS4 and MorphOS as well.
USB3: We based u-boot on the latest stable version available earlier this year, 2024.10. This has many benefits over using the 2014-2018 versions available in other PowerPC hardware. However, the developers behind u-boot changed the driver model around 2018, with a transition period ending in 2020. This means u-boot is a mixture of old drivers and drivers compliant with the new model. For USB on NXP SoC, there's a catch: NXP didn't rewrite their OHCI and EHCI drivers for the new model. Activating the XHCI driver for USB3 support causes conflicts. Fortunately, this is not an issue under Linux, so USB3 works correctly, but we have work to do for u-boot.
Prototypes: We have ordered 5 prototypes and managed to make them all work (100% yield). This was a great concern to me personally, as the layout requirements for the 780 balls FPGA stretched our supplier's capabilities to its limits. The boards run stably and have undergone hours of burn-in testing with Linux stress testing tools. One observation is that the CPUs run around 30°C idle and around 40°C under full load, which is good for overclocking potential. The core power supply has quite some headroom to support this. You can check out the Hyperion Entertainment X5000 Linux-only forum for posts from Skateman. Whenever he talks about his 4-core e5500, he is actually talking about this board.
Full Specifications of the Current Design:
Form Factor: micro-ATX compatible, 244x170mm (L x W)
-T10x2 (2-4 e5500 cores) up to 1.5GHz / T2081 (4 dual-threaded e6500 cores with Altivec 2.0) up to 1.8GHz
-DDR3L (1.35V) SODIMM with rank interleaving (T10x2 up to DDR1600; T2081 up to DDR2133)
-PCIe x16 slot with 4 lanes occupied (PCIe 2.0)
-PCIe x4 slot with one lane occupied (T10x2 PCIe 2.0; T2081 PCIe 3.0)
-PCIe x1 slot with one lane occupied (PCIe 2.0)
-2x SATA 2.0 (T10x2 only, at 300Mbit/s)
-2x NVMe slots (second slot mutually exclusive with second SATA port)
-8 USB 2.0 ports (4 connected to the rear I/O; 4 connected to internal USB 2.0 headers)
-4 USB 3.2 Gen1 ports (2 connected to the rear I/O; 2 connected to an internal USB 3.0 header)
-10/100/1000Mbit Ethernet
-192kHz/24bit analog audio (mic, line-in, line-out to the rear I/O; mic, -headphone to the HD audio connector)
-S/PDIF / Toslink digital audio out
-9-pin RS232 to the rear I/O
-Micro SD card (push-in push-out) as boot source
-24-pin ATX power connector
-4-pin ATX CPU power connector
-CPU fan header with PWM
-Case fan header
|