Open Hardware project

Introducing “Django”, a cheap and compact PowerPC motherboard project

Hi, I am Manuel, an Italian guy living in Varese with a university degree in telecommunications engineering. I am among the volunteers using their spare time to contribute to the activities of the PowerProgressCommunity, a not-for-profit organization of enthusiasts supporting alternative computing technologies.

In this post I would like to introduce you to a project I am currently working on: the “Django” PowerPC motherboard. My goal is to publish the schematics of the board as fully Open Source Hardware, enabling anyone interested in having a cheap and compact PowerPC computer for use as a desktop development platform.

In my work I took great inspiration from the publicly available schematics of the PowerPC notebook, and I am developing the board using the great Open Source software KiCad.
Below you may find a first snapshot of a simplified block diagram of the Django board (click the image to zoom) in its current status.

You may find the detailed schematics of the first draft in this linked PDF.

The board I have in mind has the following characteristics:

  • NXP QoriQ T1042 CPU
  • DDR4 RAM
  • HDMI video output based on the NXP DIU (Display Interface Unit). I has quite limited capabilities (max 720p with 24 bit color depth, no HW acceleration) but it comes at no cost as it is integrated in the CPU SoC
  • Multiple onboard ports:
    • 1 x RJ45 gigabit ethernet
    • 2 x USB 2.0
    • 4 x USB 3.0
    • 1 x M.2 Key M with PCIe x4 Gen 2
    • 1 x M.2 Key B (only PCIe), 1 x SATA 2.0
  • Small form factor, too early to tell, most probably it will be Nano-ITX, I want to keep it as small as possible

The T1042 CPUs have the following characteristics:

  • PowerPC e5500, Power ISA v.2.06, IBM Book3e
  • quad core CPU, with a speed ranging between 1.2 Ghz and 1.4 Ghz
  • 64-bit single threaded cores
  • 256 kB L2 cache per core and 256kB shared CoreNet L3 cache
  • Manufactured at 28 nm
  • 780-pin PBGA
  • The price range of the CPU (checked on Mouser) ranges between € 70 and € 130, depending on the selected CPU model and requested quantities

You may have a look at the KiCad files I published our GitLab repository at
https://gitlab.com/power-progress-community/oshw-powerpc-django/

The scope of this post is to reach experienced electronic designers willing to contribute to the project, especially in the following areas:

  • Design support for still missing parts
  • Review of every sheet
  • Review of footprints
  • PCB design

Please, add your suggestions to
https://gitlab.com/power-progress-community/oshw-powerpc-django/sch-pcb/-/issues

You may also join a Discord channel to discuss the Django board with us, click the following link to join https://discord.gg/JjgRWYewy3

You may be interested in why I decided to spend my spare time on this project aimed at giving the PowerPC architecture another chance of survival. Below you may read my thoughts on the topic of alternative technologies, a bit long to read, but I hope you will enjoy it.

Have you ever thought about CPU architecture diversity? From the Commodore 64 to the latest PC and recent consoles like the PS5 a great deal of water passed under the bridge. A wealth of alternative CPU architectures such as CISC, RISC, 68k, 80×86, PowerPC, MIPS, SPARC, ARM were invented with the goal to find better solutions able to outperform their predecessors and reach new heights in computing performance. Some of these architectures disappeared from today’s mainstream market, and paradoxically the x86-x64 architecture that rules the consumer desktop world today is not the latest in the line of these architectures.

At the PowerProgressCommunity we love the idea of keeping alive alternative architectures, someone still using 68k CPUs due to sweet memories linked to their childhood, someone uses Sparc, someone still using MOS 6510 back then used for the C64, but is the PowerPC we are supporting the most. In fact, PowerPC is one of the latest designed and successful CPU architectures ever made, and if it still runs on Mars after all these years, it must have been a very good and solid design. It is somehow impressive that the IBM 970 processor (also called G5) that was the last PowerPC CPU sold in the consumer market in 2005 still works great after 15 years, and a great deal of useful software works thanks to Linux. Could you say the same for an Intel Pentium D?

However, we all know that the success of a technology is not related to its efficiency or technological potential. In the market, the software applications shipped and running together with a ready-to-use Personal Computer wins over technology. Today it is much easier and cheaper to wait for the latest mainstream CPU revision (better semiconductor manufacturing, faster speed, better power efficiency, more cores) than optimizing the software code in order to squeeze the available hardware resources. Some architecture was simply abandoned precisely for this reason, and some others simply escaped the mainstream market and went for the embedded market that focuses on very specialized appliances where the balance among reliability, power efficiency and performance are the keys. This is the case of PowerPC, a great architecture that found its place in the network devices, avionic and spaceship displays and onboard computers. As the history repeats itself, now is the turn of the ever expanding ARM, that already has an increasing importance in the mainstream market, and is now expanding in the embedded market too at the expense of the PowerPC. Many factories stopped investing and selling PowerPC, and we see that the last technological developments of this platform date back to around 6 years ago.

But then something unexpected happened: IBM, the company that detains the rights and knowledge of the POWER ISA architecture (the high-end successor of PowerPC), opened up to the open source world and the community seemed to appreciate the effort, at least we do. The OpenPOWER Foundation is now a consolidated reality. Taking advantage of the open documentation, people started to work on softcores, FPGA and ASIC implementations, some others successfully found financial partners for making a completely open source ASIC (without foundry IPs) and the overall evolution of the Power architecture seems to slowly start again.
Does the restarting of Power ISA development bring new life to PowerPC too?

Well, not really, as the only remaining company selling PowerPC CPUs is NXP and there is no sign of recent developments in their QoriQ line of CPU SoCs. In addition, PowerPC is well-known to be a big-endian only CPU and most of the existing software for this platform works in this mode, whereas recent POWER CPUs are mostly working in little-endian mode, even if they can work in big-endian mode too. The fact is that almost all software developed in the last two decades is meant to work in little-endian mode only, nobody cares anymore to write code that is compatible with both endianness modes. However one could argue that widely used standards such as the TCP/IP, the protocol used to transmit data on the Internet, use a big-endian data encoding and any software dealing with it must support big-endian. Even some file systems primarily use big-endian mode, but these areas are not a problem for modern little-endian CPUs as they provide convenient byte-swapping functions implemented in hardware.

Again, here it comes again the key message of our PowerProgressCommunity association: we would like to preserve alternative technologies as much as possible. This message is only partially linked to preserve our childhood memories, we strongly believe that having one architecture only is not a safe path, as we must preserve an alternative, backup technology if anything bad happens to the technology used as mainstream. This is particularly important in today’s world, where technology pervades every aspect of our everybody’s life. That’s why we want to give the PowerPC another chance to survive.

The Linux world is well grown, there’s a lot of open source software, and most key libraries still support both big and little endian. Volunteers involved with PowerProgressCommunity activities are trying their best to fix those libraries that break the big-endian support and publish their fixed versions on our software repository in a ready-to-use state, until the patches are being implemented in the mainstream source code tree.

The Django board I present today is my effort to provide the community a cheap big-endian hardware aimed primarily at software developers where they could work on supporting big-endian software and libraries, and, at the same time, aimed at giving another chance of survival to the PowerPC architecture.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.