The i.MX SoCs seem really nice, it's probably one of the few mainstream ones I haven't personally worked with (only wrote software that targeted it while fully remote).
Most of the fully open designs seem to be limited to a handful of silicon like Freescale PowerPC, a few ARM and MIPS SoCs and RISC-V-based systems which can still have closed Boot ROMs of course (like Intel and AMD x86 CPUs).
At some point I had high hopes there would be a reverse engineering effort for the Marvell Armada chips but that never really went anywhere and a ton of otherwise useful boards are essentially useless nowadays.
I dunno. I've been shipping iMX-based designs for over a decade now and I think it's about as open as you can get. Yeah, there's a blob for GPU and a microcode blob for DMA-based blocks but otherwise I can whip u-boot and a Yocto package and make it do whatever I want. If you need a desktop to make your system fly, I don't know what to tell you.
IMO the people stressing about open designs are the ones that don't want to pay for anything above RPi prices. Like I said: job security.
It's not immune to supply issues as well, but that's because a ton of mid-range automakers use it in their IVI systems. The 7 is a safe haven because it doesn't have the video and camera codecs in hardware.
I keep an eye on RISC-V as well, but until I can get one with a 5-10 year production horizon I'll wait to order eval kits.
Yeah the near-term and long-term RISC-V products haven't materialised yet. Software hasn't matured all that much either.
I was looking at the iMx8 but like you said, anything with automotive or embedded applications in mass produced systems is hard to get. I've seem them used in security devices that do a bit of on-device pre-authentication and even there I'm hearing about supply issues. It was mostly Apalis COM based but they had the benefit of switching between a Tegra and iMx version whenever supply was getting constrained. (or essentially the prices started getting bumped before the next order cycle) I think the lead times for some models became over 36 months at some point (either the imx8 ones or the Tegra ones)... yikes.
Regarding the GPU and DMA blocks: that seems to be the standard at this stage. I guess it's because it's mostly licensed IP and because they need to honour the NDA from their upstream vendor, we're just getting the blobs as a side-effect. Same with the Zinq and some of the Sitara GPU cores they got from PowerVR. Luckily, that last one has gotten a lot of FOSS attention and besides loading some startup firmware or microcode it's largely free.
The whole 'freedom' thing doesn't have to be an ultimate goal here, but it does have the nice side-effect that it opens up the use of mainline source trees, broadly used and well-maintained tools and toolchains etc. instead of just some giant tarball the vendor prepared for a specific kernel and boot loader combination. And if the vendor decides to focus on the next new shiny thing, you can just port/upstream sources as needed to keep your project going, vendor be damned.
I've been using Toradex as well lately because of the pin compatibility. Apalis and Colibri are pretty solid products. Kind of makes me wish the SOM standardization movement hadn't fizzled out because that might have made some of the supply issues less problematic. Or maybe not.
Also, the SODIMM connector is long in the tooth and gives off a shitton of RF radiation especially when you're driving an LCD over the rails. But the alternatives like the Hirose mezz connectors aren't optimal either.
NXP/Freescale's kernel isn't the greatest but at least they try to get close to mainline. TI gets a thumbs up as well.
Oh yeah, the interface definitely leaves a lot to be desired. It's almost like it's getting PC104-legacy-ish at this point. On the other hand, the high density interconnects (even the ones way back from when Motorola and Apple started to make PowerPC daughter boards) are a PITA to work with when you need to do anything except one-off assembly...
Perhaps some form factor with a required low-density power + slow data interface and an optional high-density high-speed data interface would be the sweet spot. But if even something like M.2 standardisation tells us anything, even that is going to be a mess.
I guess we're stuck with foil tape for the time being.
Comments
The i.MX SoCs seem really nice, it's probably one of the few mainstream ones I haven't personally worked with (only wrote software that targeted it while fully remote).
Most of the fully open designs seem to be limited to a handful of silicon like Freescale PowerPC, a few ARM and MIPS SoCs and RISC-V-based systems which can still have closed Boot ROMs of course (like Intel and AMD x86 CPUs).
At some point I had high hopes there would be a reverse engineering effort for the Marvell Armada chips but that never really went anywhere and a ton of otherwise useful boards are essentially useless nowadays.
I dunno. I've been shipping iMX-based designs for over a decade now and I think it's about as open as you can get. Yeah, there's a blob for GPU and a microcode blob for DMA-based blocks but otherwise I can whip u-boot and a Yocto package and make it do whatever I want. If you need a desktop to make your system fly, I don't know what to tell you.
IMO the people stressing about open designs are the ones that don't want to pay for anything above RPi prices. Like I said: job security.
It's not immune to supply issues as well, but that's because a ton of mid-range automakers use it in their IVI systems. The 7 is a safe haven because it doesn't have the video and camera codecs in hardware.
I keep an eye on RISC-V as well, but until I can get one with a 5-10 year production horizon I'll wait to order eval kits.
Yeah the near-term and long-term RISC-V products haven't materialised yet. Software hasn't matured all that much either.
I was looking at the iMx8 but like you said, anything with automotive or embedded applications in mass produced systems is hard to get. I've seem them used in security devices that do a bit of on-device pre-authentication and even there I'm hearing about supply issues. It was mostly Apalis COM based but they had the benefit of switching between a Tegra and iMx version whenever supply was getting constrained. (or essentially the prices started getting bumped before the next order cycle) I think the lead times for some models became over 36 months at some point (either the imx8 ones or the Tegra ones)... yikes.
Regarding the GPU and DMA blocks: that seems to be the standard at this stage. I guess it's because it's mostly licensed IP and because they need to honour the NDA from their upstream vendor, we're just getting the blobs as a side-effect. Same with the Zinq and some of the Sitara GPU cores they got from PowerVR. Luckily, that last one has gotten a lot of FOSS attention and besides loading some startup firmware or microcode it's largely free.
The whole 'freedom' thing doesn't have to be an ultimate goal here, but it does have the nice side-effect that it opens up the use of mainline source trees, broadly used and well-maintained tools and toolchains etc. instead of just some giant tarball the vendor prepared for a specific kernel and boot loader combination. And if the vendor decides to focus on the next new shiny thing, you can just port/upstream sources as needed to keep your project going, vendor be damned.
I've been using Toradex as well lately because of the pin compatibility. Apalis and Colibri are pretty solid products. Kind of makes me wish the SOM standardization movement hadn't fizzled out because that might have made some of the supply issues less problematic. Or maybe not.
Also, the SODIMM connector is long in the tooth and gives off a shitton of RF radiation especially when you're driving an LCD over the rails. But the alternatives like the Hirose mezz connectors aren't optimal either.
NXP/Freescale's kernel isn't the greatest but at least they try to get close to mainline. TI gets a thumbs up as well.
Oh yeah, the interface definitely leaves a lot to be desired. It's almost like it's getting PC104-legacy-ish at this point. On the other hand, the high density interconnects (even the ones way back from when Motorola and Apple started to make PowerPC daughter boards) are a PITA to work with when you need to do anything except one-off assembly...
Perhaps some form factor with a required low-density power + slow data interface and an optional high-density high-speed data interface would be the sweet spot. But if even something like M.2 standardisation tells us anything, even that is going to be a mess.
I guess we're stuck with foil tape for the time being.