aperezbios
Well-known member
What if you could build a 603e-based Power Macintosh computer around existing, new-old-stock PowerPC-based chips that nobody wants any more?
Fifteen years ago, in mid-2007, while the first iPhone was making front-page news around the world, Freescale Semiconductor announced the MPC8313 "Integrated Processor", a member of the PowerQUICC II Pro family, which has an integrated 32-bit 66MHz 3.3-volt-only PCI controller, and a a e300c3 processor core, which is fully compatible with the 603e Apple used back in the day.
A month ago, I decided to go down a bit of a rabbit hole, and commissioned a brand new PowerPC-based compute module, built around the Freescale (now NXP) MPC8313E. Rochester Electronics, a specialty distributor focused entirely on New Old Stock semiconductors, happens to have around six thousand of in stock, in varying speed grades, some with hardware encryption acceleration (the E in MPC8313E), and some without.
It's important to point out that this design is not something I intend to ever commercialize... While this initial design is functionally-complete, it's not yet tested in the real world, and it ONLY exists "on paper" right now. This design is really only intended to serve as a very basic/spartan "bring-up" board, which is why it only has the most basic I/O required to accomplish this task:
Linux retains support for the MPC8313E, from the most current/recent 6.x kernels, all the way back to kernel 2.6.x, and Linux is the first, and likely only, operating system this iteration of the board will ever boot.
Before it's possible to boot any operating system, U-boot must be made to load. Most of the MPC83xx support code was removed from U-boot in the 2015-2016 time frame, due to lack of maintainership, but Freescale/NXP maintains their own fork, which has kept support for the MPC8313E Reference Design Board. We've carefully designed the board below, which currently has a working title of QUICCSand, using RAM and parallel flash that's identical to the original Freescale MPC8313E Reference Design Board, such that U-boot bring-up will hopefully be as pain-free as it can be.
Here's a rendering of the board layout, which was done in Altium:
Hardware-wise, the CPU itself can address up to two gigabytes of DDR2 SDRAM, and the CPU core itself has 16kB of L1 I+D cache. There's no L2 cache of any sort, and the MPC8313 itself only supports 32-bit wide memory, which obviously limits performance.
How will it perform? There's no real way to tell until it's minimally operational. Is this thing useful on its own? Not really! Am I crazy for doing this? Absolutely, but it's fun and I hope to ultimately contribute something useful to the world of PowerPC retro-computing. I've got a decent amount of experience with U-boot, and previous 64-bit embedded PowerPC projects, so I'm going in to this with eyes wide open.
Ultimately, I intend to develop this board in to a Compute Module, suitable for use in a stand-alone context, mated to a 3.3 volt, 32-bit PCI carrier board, which would allow it to function in a passive PCI backplane. See the photo below for an example of the sort of PCI backplane I have in mind.
Beyond that, I don't have any solid plans yet, but feel free to imagine how such a thing might be useful to the classic Mac crowd
Fifteen years ago, in mid-2007, while the first iPhone was making front-page news around the world, Freescale Semiconductor announced the MPC8313 "Integrated Processor", a member of the PowerQUICC II Pro family, which has an integrated 32-bit 66MHz 3.3-volt-only PCI controller, and a a e300c3 processor core, which is fully compatible with the 603e Apple used back in the day.
A month ago, I decided to go down a bit of a rabbit hole, and commissioned a brand new PowerPC-based compute module, built around the Freescale (now NXP) MPC8313E. Rochester Electronics, a specialty distributor focused entirely on New Old Stock semiconductors, happens to have around six thousand of in stock, in varying speed grades, some with hardware encryption acceleration (the E in MPC8313E), and some without.
It's important to point out that this design is not something I intend to ever commercialize... While this initial design is functionally-complete, it's not yet tested in the real world, and it ONLY exists "on paper" right now. This design is really only intended to serve as a very basic/spartan "bring-up" board, which is why it only has the most basic I/O required to accomplish this task:
- 128 Megabytes of DDR2 SDRAM
- One Gigabit Ethernet port
- One parallel NAND flash (for boot)
- One USB 2.0 (full speed only, 12Mbit/sec) port
- One SPI-attached microSD card socket
- One four-position DIP switch, to set the Reset Configuration Word
- Two I2C headers
- Two 3.3V serial UART headers
Linux retains support for the MPC8313E, from the most current/recent 6.x kernels, all the way back to kernel 2.6.x, and Linux is the first, and likely only, operating system this iteration of the board will ever boot.
Before it's possible to boot any operating system, U-boot must be made to load. Most of the MPC83xx support code was removed from U-boot in the 2015-2016 time frame, due to lack of maintainership, but Freescale/NXP maintains their own fork, which has kept support for the MPC8313E Reference Design Board. We've carefully designed the board below, which currently has a working title of QUICCSand, using RAM and parallel flash that's identical to the original Freescale MPC8313E Reference Design Board, such that U-boot bring-up will hopefully be as pain-free as it can be.
Here's a rendering of the board layout, which was done in Altium:
Hardware-wise, the CPU itself can address up to two gigabytes of DDR2 SDRAM, and the CPU core itself has 16kB of L1 I+D cache. There's no L2 cache of any sort, and the MPC8313 itself only supports 32-bit wide memory, which obviously limits performance.
How will it perform? There's no real way to tell until it's minimally operational. Is this thing useful on its own? Not really! Am I crazy for doing this? Absolutely, but it's fun and I hope to ultimately contribute something useful to the world of PowerPC retro-computing. I've got a decent amount of experience with U-boot, and previous 64-bit embedded PowerPC projects, so I'm going in to this with eyes wide open.
Ultimately, I intend to develop this board in to a Compute Module, suitable for use in a stand-alone context, mated to a 3.3 volt, 32-bit PCI carrier board, which would allow it to function in a passive PCI backplane. See the photo below for an example of the sort of PCI backplane I have in mind.
Beyond that, I don't have any solid plans yet, but feel free to imagine how such a thing might be useful to the classic Mac crowd
Last edited: