After my last post Build fbtft drivers for Linux 4.4 on BeagleBone Black, I was curious watch patches are need to run mainline Linux kernel on BeagleBone Black. Here's what I've found so far:
Mainline Linux kernel
- "Mainline" refers to Linus Torvald's linux.git repo hosted on kernel.org:
- Kernel version currently in development is Linux 4.4
- Linux 4.4 is now in the release candidate phase
- Most recent release candidate is: Linux 4.4-rc3
Robert C. Nelson's bb-kernel repo
- bb-kernel repo is maintained by the most excellent Robert C. Nelson:
"This git repo contains just scripts/patches to build a specific kernel for some ARM devices. The kernel source will be downloaded when you run any of the build scripts"
- Most recent branch is: am33x-v4.4
- Most recent tag: 4.4-rc3-bone0
- build_kernel.sh will clone Linus Torvald's linux.git repo into ignore/linux-src dir
- The repo in ignore/linux-src will then be cloned into KERNEL dir
- BeagleBone patchset will then be applied to that KERNEL repo
Patchset for BeagleBone:
patch.sh script calls:
- reverts () function to apply 1 patch
- ti () function to apply 24 patches for cpu_freq and 3 patches for iodelay
- pru ()function to apply 2 patches
- bbb_overlays () function to apply 44 patches
- beaglebone () function to apply 31 patches
- quieter () function to apply 1 patch
- Robert maintains a BeagleBone patchset for the mainline Linux kernel
- 102 patches applied when I run the build script
BeagleBone Cape Manager (bone_capemgr):
- in-kernel mechanism for dynamically loading Device Tree fragments from userspace.
- completely implemented in the kernel with no userspace component
- implementation is currently located in the BeagleBone kernel patch set at Linux 3.8 and Linux 4.1.
enable/disable cmdline:
- bone_capemgr.enable_partno=
- bone_capemgr.disable_partno=
- [PATCH 1/5] misc: Beaglebone capemanager by Pantelis Antoniou
- Recent Google+ discussion about mainline and the current bone_capemgr patchset
- Device Tree Overlays from bb.org-overlays repo
- slots: /sys/devices/platform/bone_capemgr/slots
Workaround: Disable DMA for SPI driver:
bbb: add spi pio mode
config: CONFIG_SPI_DEBUG is actually useful
config: spidev to module
Related GitHub Gists:
bb-kernel am33x-v4.4: patches just bbb_overlays & beaglebone
BeagleBone Black am33x-v4.4 with fbtft drivers
pdp7.blogspot.com
Comments