Mainline kernel on UDOO Dual/Quad

Loading USB module freezes board

Upstream bugreport: https://bugzilla.kernel.org/show_bug.cgi?id=186701 None of the attempts to solve this problem have been accepted upstream:

Patch to disable the USB hub as a workaround: https://patchwork.kernel.org/patch/10173115 Patch that attempts to solve the problem in yet another way: https://patchwork.kernel.org/patch/10211403/


OLD

Build Linux 3.13-rc? for UDOO.

DISCLAIMER: I cannot be held responsible for any damage this might cause to either your brain, hardware, relationship, children, pets, ...
git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
cd linux
git remote add linaro-shawnguo git://git.linaro.org/people/shawnguo/linux-2.6.git
git fetch linaro-shawnguo
git branch udoo
git merge linaro-shawnguo/for-next

wget --content-disposition https://patchwork.kernel.org/patch/3180581/mbox/
git am 1-2-chipidea-ci_hdrc_imx-Allow-handling-the-clock-for-an-USB-phy-hub.patch

wget --content-disposition https://patchwork.kernel.org/patch/3180591/mbox/
git am 2-2-ARM-dts-imx6q-udoo-Add-USB-host-support.patch

wget --content-disposition https://patchwork.kernel.org/patch/3250991/mbox/
git am mmc-sdhci-Avoid-HARDIRQ-unsafe-lock.patch

wget --content-disposition http://patchwork.ozlabs.org/patch/283556/mbox/
git am --ignore-whitespace imx6q-work-around-fec-tx-queue-timeouts-when-SATA-SD-ethernet-is-active-with-high-throughput.patch

wget https://github.com/RobertCNelson/armv7-multiplatform/raw/v3.13.x/patches/imx_video_staging/0001-imx-drm-Add-mx6-hdmi-transmitter-support.patch
git am 0001-imx-drm-Add-mx6-hdmi-transmitter-support.patch

wget https://github.com/RobertCNelson/armv7-multiplatform/raw/v3.13.x/patches/imx_video_staging/0003-ARM-dts-mx6qdl-Add-HDMI-support.patch
git am 0003-ARM-dts-mx6qdl-Add-HDMI-support.patch

wget http://www.linux-ipv6.be/UDOO/udoo_dts_hdmi.patch
git apply udoo_dts_hdmi.patch

mkdir -p firmware/imx/sdma
wget -O firmware/imx/sdma/sdma-imx6q.bin https://raw.github.com/UDOOboard/Kernel_Unico/master/firmware/imx/sdma/sdma-imx6q-to1.bin
Use this config to build the kernel. Afterwards, copy
arch/arm/boot/dts/imx6q-udoo.dtb
to /, or to /boot if you use a separate /boot partition. Finally, in the U-boot environment, substitute mxcfb0 with fb0. Tadaa, console on HDMI \o/
PS: Big thanks to all the geniuses who wrote the code that made all this possible.