Archive

Posts Tagged ‘drivers’

Linux 4.2 Release – Main Changes, ARM and MIPS Architectures

September 2nd, 2015 No comments

Linus Torvalds released Linux Kernel 4.2 last Sunday:

So judging by how little happened this week, it wouldn’t have been a mistake to release 4.2 last week after all, but hey, there’s certainly a few fixes here, and it’s not like delaying 4.2 for a week should have caused any problems either.

So here it is, and the merge window for 4.3 is now open. I already have a few pending early pull requests, but as usual I’ll start processing them tomorrow and give the release some time to actually sit.

The shortlog from rc8 is tiny, and appended. The patch is pretty tiny too.

Go get it,

Linus

Some notable changes made to Linux 4.2 include:

  • File systems
    • New features for F2FS including per file encryption
    • CIFS support SMB 3.1.1 (experimental)
  • Cryptography – Jitter Entropy Random Number Generator, Chacha20 stream cipher and Poly1305 authentication (RFC7539),New RSA implementation. See lwn.net for details.
  • AMD GPU driver added support for AMD “Tonga,” “Iceland,” and “Carrizo” systems. That driver has now over 400,000 lines of code…
  • Networking

Some of the new features and improvements specific to the ARM architecture include (With a focus on Allwinner/Rockchip/Amlogic/Mediatek processors often discussed in this blog):

  • Allwinner:
    • A10/A10s/A13/A20/A31/A23 – SRAM Controller
    • A23 – SMP support, architected timer support
    • A31/A31s – CPUFreq support
    • A33 – Machine support, Bring-up sharing most drivers with A23, pinctl driver, PIO controller
    • A80 – Architected timer support, USB support
    • AXP221 PMIC driver
    • New boards and devices: LinkSprite pcDuino3 Nano, Cubietech Cubieboard4, Gemei G9, Auxtek T004, Utoo P66, Wexler TAB 7200, MK808C, Jesurun Q5, Xunlong Orange Pi, Xunlong Orange Pi Mini, Sinlinx SinA33
  • Rockchip
    • Fixes for GPU DRM driver
    • RK3368 – Added pinctrl and Ethernet (dwmac) support
    • Device tree – Files relicensed under GPLv2/X11 dual-license, Enable A12 HW PMU events in RK3288 boards, and TSADC for Firefly and PopMetal boards
    • Fixed IR receiver bug and modify some GPIO code in RK3288
  • Amlogic – Added documentation to the clock controller… nothing else.
  • Mediatek
    • Fixed clock registration in MT8135
    • Small changes and fixes to pinctrl driver
    • Added driver for Mediatek MT8173 I2C controller
    • Some fixes for PMIC
    • MT7601U driver (WiFi device)
    • Pinctrl driver for MT8127, MT6397,
  • Qualcomm
    • Added SPMI PMIC Arbiter device tree node for MSM8916
    • Added 8×16 chipset SPMI PMIC’s nodes
    • Added MSM8916 restart device node
    • Added initial set of PMIC and SoC pins for APQ8016 SBC board
  • Samsung
    • Fix exynos3250 MIPI DSI display and MIPI CSIS-2 camera sensor
    • Bring back cpufreq for exynos4210
  •  ARM64
    • New processors: Hisilicon ARM64 SoCs (e.g. Hi6220)
    • Various fixes for ARM64 for ACPI, MMU, SMP, perf, and more.
    • Enabled EDAC on ARM64
    • Support for Hikey board, ARM Juno r1 board
  • Various changes to some Atmel and Marvell processors, see Free Electrons blog post for details.
  • Other new ARM SoCs & hardware platforms – Freescale i.MX 7Dual, ZTE ZX29670, Buffalo WXR-1900DHP, ASUS RT-AC87U, SmartRG SR400ac, Compulab CM-A510, and more

There has also been some interesting changes for the MIPS architecture:

  • many bug fixes: LLVM build issue, KVM fixes, fix seccomp MIPS64, fix for oprofile (get_c0_perfcount_int), Fix JR emulation for R6, etc…
  • Some code cleanups (fixed misspellings, removes some code)
  • Added support for appended DTP
  • Improvements for R12000, R3000, Broadcom BCM47xx and BCM63xx,  ATH79
  • Large patchset for Ingenic JZ4740 SoC
  • Added support to Pistachio SoC
  • New MIPS platforms: MIPS Creator CI20 board and XWR-1750 board

A complete changelog for Linux 4.2 should soon be published on Kernelnewbies.org, and you’ll probably also want to look at their ARM architecture and drivers sections for more details about to various platforms including ARM and MIPS. I’ve also generated a complete Linux 4.2 Changelog with comments only (13.9MB) using git (git log v4.1..v4.2 --stat)

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Open Source Linux Drivers for PowerVR GPUs Might Be in the Works

June 18th, 2015 8 comments

When I write about a new processor with a PowerVR GPU, I can be sure there will be one or two comments saying something like “It has a PowerVR GPU, it’s a non-starter”, mostly because of the status of graphics drivers in Linux. Luc Verhaegen (libv) also made a presentation at FOSDEM 2013 listing various open source projects for GPUs found in ARM processors and PowerVR was the only one without any community project. Bear in mind that apart from Nvidia, and to some extend Broadcom for the VideoCore IV GPU found in  BCM2835 / BCM2836 processors used in Raspberry Pi boards, no other companies have released user space drivers for their GPUs, and all work is done by volunteers for other open source GPU drivers, and I’m not sure any of them work 100% yet.

Imagination has already provided working GPU drivers for their MIPS Creator-CI20 board, these are closed source binaries, but at least they should be usable in Linux. Now Alexandru Voica, Senior Marketing Specialist at Imagination Technologies, and who seems to handle press releases and many of the posts in the company’s blog, has hinted that Imagination is currently working on open source drivers for their GPU in reddit.

Q: Is there plans to make/help/fund open PowerVR driver for Linux?

A: Yes, there is a plan and it is one of the things I’ve been working on for the past few months. Hopefully I’ll have something more to share soon(-ish?).

Sadly, there aren’t any details right now, so we’ll have to be patient and see what comes out of this.

Via Phoronix and Harley.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

How to Build a Single Kernel Module (Driver) in Ubuntu

March 6th, 2015 6 comments

When I bought UNI-T UT61E digital multimeter,  I planned to to use the open source tool Sigrok to capture voltage, current or resistance data with my Ubuntu 14.04 machine. Unfortunately, it was just not working for me and I kept getting some “Invalid function byte” error messages, so I asked on Sigrok mailing list, and since it worked for others, I was in big troubles. It turned out the RS-232 to USB dongle I used:

idVendor           0x1a86 QinHeng Electronics
idProduct          0x7523 HL-340 USB-Serial adapter

was most likely to culprit, so I decided to buy another random USB to serial dongle on eBay, and after a few weeks I received it only to find out it had the exact same VID:PID, so I was out of luck. Finally, I gave up on Sigrok on Linux, and tested the power consumption of some Rockchip RK3288 & Amlogic S802 devices in a Windows 7 virtual machine running in my Ubuntu 14.04 host PC. A few days later, Karl Parsonn left a comment saying ch341 driver just ignored parity (UNI-T DMM use odd parity), but that he wrote a patch that should eventually make it to mainline.

Ubuntu_14.04_CH341_Driver

Since I did not want to wait I decided to build ch341.ko with the patched driver, and I can now use Sigrok with my HL-340 USB-Serial adapter successfully, but I’ll write more about that in another post, and today, I’ll document the steps I followed to build the driver for my machine.

Instructions to build a kernel module in Ubuntu are already available, but the patch for ch341 driver is for Linux 3.18.6, and Ubuntu 14.04 comes with Linux 3.13. So I had two choices:

  1. Backport the driver to Linux 3.13
  2. Upgrade my Ubuntu kernel to 3.18

I decided to go with option 1 at first, but I quickly changed my mind as there’s been a bit too many modifications between the two versions, and it started to be time consuming. So it was time for plan B, or rather option 2. I could probably have use the Karl’s Linux kernel, but I remembered having read that Canonical makes some changes to the Linux kernel, so instead I went to http://kernel.ubuntu.com/~kernel-ppa/mainline/ to download and install Linux 3.18 in my machine (This is 3.18.0, but with hindsights I should have gone with 3.18.6 instead, but it still worked):

cd /tmp/
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/linux-headers-3.18.0-031800-generic_3.18.0-031800.201412071935_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/linux-headers-3.18.0-031800_3.18.0-031800.201412071935_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/linux-image-3.18.0-031800-generic_3.18.0-031800.201412071935_amd64.deb
sudo dpkg -i linux-headers-3.18.0-*.deb linux-image-3.18.0-*.deb

This steps requires a reboot. In case it does not boot at all, you should be able to boot one of the older Linux kernel via grub, and remove the new mainline kernel, so I believe this step is relatively safe.

Then I checkout the Linux kernel and downloaded and applied Ubuntu specific patchsets:

mkdir workddir
cd workdir
git clone git://kernel.ubuntu.com/virgin/linux-stable.git v3.18
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/0001-base-packaging.patch
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/0002-debian-changelog.patch
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/0003-configs-based-on-Ubuntu-3.18.0-6.7.patch
patch -p1  < 0001-base-packaging.patch 
patch -p1  < 0002-debian-changelog.patch 
patch -p1  < 0003-configs-based-on-Ubuntu-3.18.0-6.7.patch 

Backup the current driver:

sudo mv -v /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko_backup

Then I mostly followed the build instructions found on Askubuntu to setup the kernel to build modules:

cd v3.18
make oldconfig
make prepare
make scripts
cp -v /usr/src/linux-headers-3.18.0-031800-generic/Module.symvers .

and update the code with the new driver, build and install the module:

cd drivers/usb/serial/
wget https://raw.githubusercontent.com/karlp/linux/ch341-3.18.6/drivers/usb/serial/ch341.c
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install

Finally run depmod, unload the old module if needed, and load the newly built module.

sudo depmod
sudo modprobe -r ch341
sudo modprobe -v ch341

Done. I’ve now got a CH341 driver that supports no parity or odd/even parities.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

ARM Releases Kernel Drivers for Mali-T880 / T860 GPUs, User Space Drivers for Mali-T76x GPUs

February 23rd, 2015 17 comments

ARM Mali GPU drivers includes both open source kernel drivers, and binary userspace drivers supporting framebuffer and/ior X11 implementation. The former is rarely an issue and is quickly released, but the latter requires porting and testing for a specific hardware platform, as well legal work, which greatly delay the releases.

ARM_Mali_GPU_Drivers

Release r5p0-06rel0 for User Space Binary Drivers

Mali-T880 GPU was announced at the beginning of the month together with ARM Cortex A72, and on February 17, 2015, ARM released an update to their Mali-T600 series, Mali-T700 series & Mali-T860/T880 GPU kernel device drivers with revision r5p1-00rel0 that adds supports to Mali-T860 and Mali-T880 GPU. These open source drivers are available for Android and Linux, and also support early Mali-T700 and T600 GPUs.

Separately, the company has also released Mali-T76X GPU drivers for Firefly board powered by Rockchip RK3288 quad core Cortex A17 processor featuring a Mali-T764 GPU. The first release only supports the framebuffer driver, but ARM is expecting to be able to release the X11 version in the next release (r5p1) planned at the end of March, which means some Linux desktop graphics accelerated will soon be available on Rockchip RK3288, and not only some OpenGL ES 3.0 demos on the framebuffer. The latest release (r5p0-06rel0) also supports Exynos powered Arndale Octa board, Samsung Chromebook 2, Arndale board, and Samsung Chromebook. According to an ARM representative, Rockchip also plans to release their own Linux GPU drivers targeting “TopMetal” hardware platform (should probably read PopMetal).

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linux 3.18 Released

December 10th, 2014 2 comments

Linus Torvalds released Linux Kernel 3.18 last Sunday:

It’s been a quiet week, and the patch from rc7 is tiny, so 3.18 is out.

I’d love to say that we’ve figured out the problem that plagues 3.17 for a couple of people, but we haven’t. At the same time, there’s absolutely no point in having everybody else twiddling their thumbs when a couple of people are actively trying to bisect an older issue, so holding up the release just didn’t make sense. Especially since that would just have then held things up entirely over the holiday break.

So the merge window for 3.19 is open, and DaveJ will hopefully get his bisection done (or at least narrow things down sufficiently that we have that “Ahaa” moment) over the next week. But in solidarity with Dave (and to make my life easier too 😉 let’s try to avoid introducing any _new_ nasty issues, ok?

Linus

Linux 3.17 added support for Xbox One controllers, USB device sharing over IP, more secure random numbers, several modifications for perf and more.

Some of the changes made to Linux 3.18 include:

  • Performance improvements for the networking stack thanks to bulk network packet transmission, which “allows a relatively small system to drive a high-speed interface at full wire speed, even when small packets are being transmitted.”
  • Faster suspend and resume by replacing a 100ms polling loop with proper completion notification. This will mostly be noticeable on systems with a large number of cores. Git pull.
  • Berkeley Packet Filter bpf() system call. “The hooks to use this code (in tracing and packet filtering, for example) will take a little longer, but the core support for a “universal virtual machine” in the kernel is now present.”
  • Nouveau drivers for Nvidia GPUs now supports basic DisplayPort audio
  • Several filesystems improvements, notably for BTRFS and F2FS
  • Audio hardware. Codecs: Cirrus Logic CS35L32, Everest ES8328 and Freescale ES8328; others: Generic Freescale sound cards, Analog Devices SSM4567 audio amplifier

New features and improvements specific to the ARM architecture include:

  • Allwinner
    • Allwinner A31/A23 –  RTC  & Watchdog
    • Allwinner A23 – MMC, pinctrl, DMA and I2C
    • New boards: Olimex A20-OLinuXino-Lime, Merrii Hummingbird A20, and HSG H702 tablet board.
  • Rockchip
    • Added new clock-type for the cpuclk
    • Ethernet: Added support for Rockchip SoC layer device tree bindings for arc-emac driver, and emac nodes to the rk3188 device tree.
    • Added driver for Rockchip Successive Approximation Register (SAR) ADC.
    • RK808 PMIC: Added regulator driver, clkout driver, and mfd driver.
  • Amlogic – Added MesonX support, only Meson6 for now (Amlogic AML8726-MX). DTS for Geniatech ATV1200 media player
  • Added basic support for BCM63138 DSL SoC, Texas Instruments AM57xx family, Atmel SAMA5D4, Qualcomm IPQ8064, Renesas r8a7794 SoC,
  • New Device tree files for various board and products: Gateworks GW5520, SAMA5D4ek board,  i.MX1 Armadeus APF9828, i.MX1 ADS board, Technexion Thunder support (TAO3530 SOM based, Sony Xperia Z1, IFC6540 board, CM-QS600 SoM,  etc…

I could find a few changes for MIPS architecture in Linux 3.18 too:

  • SEAD3: Nuke PIC32 I2C driver.
  • Loongson: Make platform serial setup always built-in
  • Netlogic: handle modular USB case & AHCI builds
  • tlbex: Fix potential HTW race on TLBL/M/S handlers
  • cpu-probe: Set the FTLB probability bit on supported cores
  • fix EVA & non-SMP non-FPU FP context signal handling
  • Etc.. You can find a few more changes @ http://lwn.net/Articles/623825/

A more thorough changelog for Linux 3.18 will soon be published on Kernelnewbies.org. Remember to also check ARM architecture and drivers sections, for more details about changes related to ARM platforms.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Qualcomm Releases Userspace Adreno 320 GPU Drivers for Ubuntu

October 30th, 2014 2 comments

Qualcomm Developer Network has just sent the October Newsletter by email, and they had some news specific to Ubuntu / Linux support on IFC6410 development board powered by a Snapdragon 600 processor. Firs they link to a guest blog post on Qualcomm website entitled “Video Conferencing on Linux with the Qualcomm Snapdragon 600 Processor“, where Qualcomm partner eInfochips stated:

Qualcomm Technologies, Inc.’s leadership in mobile market with Linux Android support is well established. As the demand for Qualcomm Snapdragon processors, a product of Qualcomm Technologies, Inc., increase in adjacent markets, the need for non-Android Linux support becomes evident.

Which is always good to read. The rest of the post blog provides a few more details about their a low-latency (50ms glass-to-glass) video conferencing solution based on OpenEmbedded build with Linaro Linux Kernel, and making use of Qt5, Gstreamer, and Sofia SIP library. Further improvements will be achieved with hardware video decoding.

Qualcomm also released a developer preview user-mode Ubuntu Linux driver binaries for Qualcomm Adreno 320 GPU on Inforce IFC6410 board. Linaro already releases a monthly Linaro Member Build for IFC6410 board. This release includes support for OpenGL ES 3.0 and has been tested with the Linaro 14.09 Ubuntu release. The Linaro image already included OpenGL 2.1 support for Adreno 320 GPU, but based on the open source freedreno GPU driver, instead of an official release by Qualcomm.

You can download adreno-ubuntu.tar.gz with your Qualcomm developer credentials.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linux 3.17 Released

October 9th, 2014 5 comments

Linus Torvalds announced the release of Linux Kernel 3.17 on Sunday:

So the past week was fairly calm, and so I have no qualms about releasing 3.17 on the normal schedule (as opposed to the optimistic “maybe I can release it one week early” schedule that was not to be).

However, I now have travel coming up – something I hoped to avoid when I was hoping for releasing early. Which means that while 3.17 is out, I’m not going to be merging stuff very actively next week, and the week after that is LinuxCon EU…

What that means is that depending on how you want to see it, the 3.18 merge window will either be three weeks, or alternatively just have a rather slow start. I don’t mind getting pull requests starting now (in fact, I have a couple already pending in my inbox), but I likely won’t start processing them for a week.

Anyway, back to 3.17. Nothing major happened during the last week, as you can see from the appended shortlog. Mostly drivers (i915, nouveau, ethernet, scsi, sound) and some networking fixes. With some misc noise all over.

Go out and test,

Linus

Kernel 3.16 added Nouveau drivers for GK20A GPU (Tegra K1), ARM64/EFI boot, improved support for Xen, KVM, EFI, NFS, as well as various changed to networking, and more…  Some noticeable changes for Linux 3.17:

  • Gamepads – Added Microsoft Xbox One controller support, improvements to Sony SIXAXIS support
  • Toshiba “Active Protection Sensor” support which stops your harddrive from spinning when the accelerator detects your laptop is in free fall…
  • “Cross-thread filter setting” for secure computing facility:
        int seccomp(unsigned int operation, unsigned int flag, const char *args);
    

    See manpage for details.

  • Enhanced AMD Radeon R9 290 support
  • Miscellaneous Nouveau driver improvements, including Kepler GPU fixes

New features and improvements specific to the ARM architecture include:

  • AllWinner
    • A10/A20 – IR driver
    • A31 – PIO/R_PIO external interrupts, DMAengine, GMAC
    • A23: Timers, UARTs, initial bringup, Basic clocks,  PIO/R_PIO drivers
    • New boards: ba10-tvbox; Merrii A31 Hummingbird; pcDuino V3
  • Rockchip
    • Enabled RK3288 SoC support
    • Added RK3xxx I2S controller, RK3288 clock controller, RK3066 and RK3188 clock driver.
    • Added RK3288 evaluation boards
  • Added basic support for Mediatek MT6589 SoCs
  • NEON implementation of crypto algorithms (SHA1; SHA512).
  • Marvell Kirkwood now fully “device tree-ified”, mach-kirkwood directory deleted
  • Added APM X-Gene SoC ethernet driver support.
  • Various changes for Broadcom BCM7xxx STB SoCs, Fresscale i.MX, Samsung Exynos & S5PV210, Nvidia Tegra, Renesas SH and TI AM43xx SoCs.
  • ARM64 / ARMv8 – Added 48-bit adress space, CONFIG_CC_STACKPROTECTOR (GCC’s -fstack-protector), audit support, and context tracking

I’ve also been asked about MIPS changes last time, so here it is:

  • Add Loongson-3B support
  • Add NUMA support for Loongson-3
  • BCM47XX: Detect more then 128 MiB of RAM (HIGHMEM)
  • BCM47XX: add Microsoft MN-700 and Asus WL500G
  • Support CPU topology files in sysfs
  • kernel: cpu-probe: Add support for the HardWare Table Walker
  • perf: Add hardware events for P5600

Further details on Linux 3.17 changes will soon be available on Kernelnewbies.org. For more details about ARM changes, remember to also check ARM architecture and drivers sections.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

MYIR ARM9 Linux Development Boards & Computer-on-Modules Powered by Freescale i.MX28 Processor

August 14th, 2014 No comments

MYIR MYD-IMX28X development boards and MYC-IMX28X CPU modules had been announced in May 2014, but I’ve just found out about them via the company’s newsletter. The CoMs are powered by Freescale i.MX28 ARM9 processors (i.MX283 or i.MX287), feature 128 MB RAM, 256 MB Flash, and connect to a baseboard to make the development boards. Target applications include smart gateways, human-machine interfaces (HMIs), handheld devices, scanners, portable medical, experimental education as well as other industrial applications.

MYC-IMX28X CoMs

MYIR_MYC-iMX28X_ARM9_CoMMYC-IMX28X computer-on-module specifications:

  • Processor – Freescale i.MX283 or i.MX287 ARM926EJ-STM processor up to 454MHz with 128KB SRAM, 128KB ROM, 1280 bits of OCOTP ROM, 16KB/32KB I and D Cache
  • System Memory – 128MB DDR2 SDRAM
  • Storage – 256MB NAND flash, 128KB SPI flash
  • Connectivity – On-board Ethernet PHY
  • Connectors – 2x 1.27mm pitch 2 x 40-pin SMT male expansion connectors with access to
    • Ethernet – Up to 2 Ethernet (two for i.MX287, one for i.MX283)
    • USB – 2x USB2.0 High-speed ports
    • Serial – Up to 6x Serial ports (including one Debug port)
    • 1x I2C, 2x SPI
    • Up to 8x ADC (one high-speed ADC, seven low-resolution ADC)
    • Up to 5x PWM
    • 1x SDIO
    • 2x CAN (i.MX287 only)
  • Misc – Power and user LEDs
  • Power Supply – 5V
  • Dimensions – 62mm x 38mm
  • Operating Temperature Range – Commercial: -20~70 Celsius; Industrial: -40 to +85 Celsius

The main differences between i.MX283 and i.MX287, are support for only 1 Ethernet port against 2 for i.MX287, and the latter features 2 CAN buses. The company provides an SDK with u-boot, Linux 2.6.35, and relevant drivers for the module.

MYD-IMX28X Boards

Click To Enlarge

MYD-IMX28X Development Board (Click To Enlarge)

The development boards have the following hardware specifications:

  • SoC/Memory/Storage – Based on MYC-IMX283 or MYC-IMX287 modules as described above: Freescale i.MX28 @ 454 MHz, 128 MB DDR2, 256 NAND flash, and 128KB SPI flash
  • External Storage – micro SD card slot
  • Display I/F – 1x LCD interface (16-bit true color, supports optional 4.3-inch and 7-inch TFT LCD), 1x 4-wire resistive touch screen interface
  • Audio – 3.5mm jacks for Audio IN and OUT, and headphone output, digital audio out (RCA), MIC IN interface, Buzzer
  • Serial ports – 1x 3-wire RS232 Debug serial port (DB9), 1x 5-wire RS232 serial port (UART0), 1x RS485
  • USB – 1x USB2.0 Host port, 1x USB2.0 OTG
  • Connectivity – 10/100Mbps Ethernet (two for i.MX287, one for i.MX283)
  • CAN – 2 x CAN interfaces (only for i.MX287)
  • Expansion connector – 2x 20-pin headers with access to 3x ADC (one high-speed ADC, two low-resolution ADC), 1x SPI, 2x I2C, 3x UART, 3x PWM
  • Debugging – 20-pin JTAG interface
  • Misc – 4 x Buttons (1 x Reset button, 3 x User buttons), 2 x User LEDs (Blue)
  • Power Supply – 5V barrel connector
  • Dimensions – 140mm x 90mm

MYD-IMX28X_Block_DiagramPublicly available documentation is limited with only Freescale i.MX28 datasheet, and MYD-IMX28X board and MYC-IMX28X module simplified datasheets with overview of the boards, header pinout, and a list of document and software packages available for the board. U-boot, Linux 2.6.35, and drivers will be provided with source code, as well as some code samples to control various peripherals (SPI. I2C, touchscreen, LCD…) and a Qt demo. MYIR also provides 4.3″ and 7″ resistive or capacitive touchscreen as option for $60 to $99.

The modules and development kits appears to be available now, MYC-IMX28X module starts at $39 for the commercial version, $59 for the industrial version, and the development board, probably excluding the CPU module, sells for $99 and $119, respectively for the commercial and industrial versions. You can find more details on MYIR’s MYC-IMX28X module page.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter