The goal is to bring the BB tree as close to mainline as possible.
Setting SGX and Capemgr aside, I tried going through the patch list in finer detail.
I compared the states of the bleeding edge mainline. 3.14-RC5 https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/
And 3.12 https://github.com/beagleboard/kernel/tree/3.12/
It took quite a bit of time and effort. But I think its worth it.
Audio
/3.12/patches/audio/0001-ASoC-davinci-evm-Move-sysclk-logic-away-from-evm_hw_.patch Upstreamed already
/3.12/patches/audio/0002-ASoC-davinci-evm-Add-device-tree-binding.patch Upstreamed already
/3.12/patches/audio/0003-ASoC-davinci-mcasp-Add-DMA-register-locations-to-DT.patch Upstreamed already. But different patch title
/3.12/patches/audio/0004-ASoC-davinci-mcasp-Extract-DMA-channels-directly-fro.patch Upstreamed already
/3.12/patches/audio/0005-ASoC-davinci-mcasp-Interrupts-property-to-optional-a.patch Upstreamed already. Different Name
/3.12/patches/audio/0006-ASoC-davinci-Add-support-for-AM33xx-SoC-Audio.patch Upstreamed already
/3.12/patches/audio/0007-ASoC-davinci-mcasp-Remove-redundant-num-serializer-D.patch Upstreamed already
/3.12/patches/audio/0008-ASoC-davinci-evm-Add-named-clock-reference-to-DT-bin.patch Not Upstreamed.
/3.12/patches/audio/0009-ASoC-davinci-evm-HDMI-audio-support-for-TDA998x-trou.patch Not Upstreamed.
These are heavy duty patches adding hdmi audio support for BBB.
Activity on mailing lists…
http://thread.gmane.org/gmane.linux.alsa.devel/118086/focus=110209
/3.12/patches/audio/0010-ASoC-hdmi-codec-Add-devicetree-binding-with-document.patch Upstreamed
/3.12/patches/audio/0011-ASoC-hdmi-codec-Add-SNDRV_PCM_FMTBIT_32_LE-playback-.patch Upstreamed
/3.12/patches/audio/0012-ASoC-davinci-HDMI-audio-build-for-AM33XX-and-TDA998x.patch Not upstreamed. Related to HDMI above.
/3.12/patches/audio/0013-Audio-McASP-Add-McASP-Device-Tree-Bindings.patch Upstreamed
/3.12/patches/audio/0014-ASoc-McASP-Lift-Reset-on-CLK-Dividers-when-RX-TX.patch Not Upstreamed
/3.12/patches/audio/0015-ASoc-Davinci-EVM-Config-12MHz-CLK-for-AIC3x-Codec.patch Not Upstreamed.
Audio alone can be an uphill task to upstream if the mailing lists want things a certain way. I’ll have to go through the previous lkml thread in finer detail.
Cpufreq
/3.12/patches/cpufreq/0001-ARM-OMAP3-do-not-register-non-dt-OPP-tables-for-devi.patch Upstreamed
/3.12/patches/cpufreq/0002-ARM-OMAP2-add-missing-lateinit-hook-for-calling-pm-l.patch Upstreamed
/3.12/patches/cpufreq/0003-ARM-OMAP3-use-cpu0-cpufreq-driver-in-device-tree-sup.patch Upstreamed
/3.12/patches/cpufreq/0004-ARM-dts-OMAP3-add-clock-nodes-for-CPU.patch Not upstreamed
/3.12/patches/cpufreq/0005-hack-boneblack-enable-1Ghz-operation.patch Not upstreamed
Deassert hard reset
/3.12/patches/deassert-hard-reset/0001-ARM-omap-add-DT-support-for-deasserting-hardware-res.patch
DMA-devel
/3.12/patches/dma-devel/0001-da8xx-config-Enable-MMC-and-FS-options.patch Dont even know why this is there. Seems out of place.
/3.12/patches/dma-devel/0002-sound-soc-soc-dmaengine-pcm-Add-support-for-new-DMAE.patch Not upstreamed
DRM
/3.12/patches/drm/0001-drm-tilcdc-Add-I2C-HDMI-audio-config-for-tda998x.patch Not upstreamed. Relevant to HDMI audio above.
DTC-fixes
/3.12/patches/dtc-fixes/0001-Fix-util_is_printable_string.patch Not Upstreamed.
/3.12/patches/dtc-fixes/0002-fdtdump-properly-handle-multi-string-properties.patch Not Upstreamed.
DTC-overlays
/home/zubairlk/fresh/3.12/patches/dtc-overlays/0001-dtc-Dynamic-symbols-fixup-support.patch Not Upstreamed
/home/zubairlk/fresh/3.12/patches/dtc-overlays/0002-dtc-Dynamic-symbols-fixup-support-shipped.patch Not Upstreamed.
These overlays seem like heavy duty stuff…
Attracted attention on lkml in Nov 2013. But Panto’s second attempt in January seems to not have received any response :s
http://www.spinics.net/lists/devicetree/msg10654.html
https://lkml.org/lkml/2013/1/4/295
I guess these would be linked with capemgr in some way…
dts-fixes
/3.12/patches/dts-fixes/0001-dts-beaglebone-Add-I2C-definitions-for-EEPROMs-capes.patch Not upstreamed.
/3.12/patches/dts-fixes/0002-arm-beaglebone-dts-Add-capemanager-to-the-DTS.patch Not Upstreamed
/3.12/patches/dts-fixes/0003-OF-Compile-Device-Tree-sources-with-resolve-option.patch Not upstreamed
/3.12/patches/dts-fixes/0004-am335x-bone-enable-HDMI-on-black.patch Not upstreamed
capemgr and hdmi audio. Being unable to mainline a core functionality adds a significant overhead to patch maintenance…
general-fixes
/3.12/patches/general-fixes/0001-add-PM-firmware.patch Cant Upstream
/3.12/patches/general-fixes/0002-ARM-CUSTOM-Build-a-uImage-with-dtb-already-appended.patch Cant upstream
/3.12/patches/general-fixes/0003-defconfig-add-for-mainline-on-the-beaglebone.patch Cant upstream
These are hacks. Nice ones no doubt. but can’t upstream them
i2c-fixes
/3.12/patches/i2c-fixes/0001-i2c-EEPROM-In-kernel-memory-accessor-interface.patch Not Upstreamed
/3.12/patches/i2c-fixes/0002-grove-i2c-Add-rudimentary-grove-i2c-motor-control-dr.patch Not upstreamed.
Interesting driver for motor control. not sure if its upstream material though…
lcdc-fixes
/home/zubairlk/fresh/3.12/patches/lcdc-fixes/0001-gpu-drm-tilcdc-get-preferred_bpp-value-from-DT.patch Upstreamed
/home/zubairlk/fresh/3.12/patches/lcdc-fixes/0002-drm-tilcdc-fixing-i2c-slave-initialization-race.patch Upstreamed
/home/zubairlk/fresh/3.12/patches/lcdc-fixes/0003-drm-tilcdc-Fix-scheduling-while-atomic-from-irq-hand.patch Not upstreamed
/home/zubairlk/fresh/3.12/patches/lcdc-fixes/0004-tilcdc-Slave-panel-settings-read-from-DT-now.patch Not upstreamed
mmc-fixes
/3.12/patches/mmc-fixes/0001-omap-hsmmc-Correct-usage-of-of_find_node_by_name.patch Not upstreamed
/3.12/patches/mmc-fixes/0002-omap_hsmmc-Add-reset-gpio.patch Not upstreamed
Upstreaming mmc ones might lead to the BBB booting straight from mainline? That would be cool
net
/3.12/patches/net/0001-am33xx-cpsw-default-to-ethernet-hwaddr-from-efuse-if.patch Not upstreamed
Large patch.
Upstream effort has taken place https://www.mail-archive.com/linux-omap@vger.kernel.org/msg95056.html
of-fixes
/3.12/patches/of-fixes/0001-of-i2c-Export-single-device-registration-method.patch Not upstreamed.
/3.12/patches/of-fixes/0002-OF-Clear-detach-flag-on-attach.patch Not upstreamed
/3.12/patches/of-fixes/0003-OF-Introduce-device-tree-node-flag-helpers.patch Not upstreamed
/3.12/patches/of-fixes/0004-OF-export-of_property_notify.patch Not upstreamed
/3.12/patches/of-fixes/0005-OF-Export-all-DT-proc-update-functions.patch Not upstreamed
/3.12/patches/of-fixes/0006-OF-Introduce-utility-helper-functions.patch Not upstreamed
/3.12/patches/of-fixes/0007-OF-Introduce-Device-Tree-resolve-support.patch Not upstreamed
/3.12/patches/of-fixes/0008-OF-Introduce-DT-overlay-support.patch Not upstreamed
except for the first few, most seem like updates for capemgr/dynamic DT loading. Just had a cursory look. so i might be wrong.
omap-next-dt
3.12/patches/omap-next-dt/
0001-ARM-dts-AM33XX-Add-PMU-support.patch Upstreamed
3.12/patches/omap-next-dt/0002-ARM-dts-AM33xx-Correct-gpio-interrupt-cells-property.patch Upstreamed
3.12/patches/omap-next-dt/0003-ARM-dts-AM33XX-Add-EDMA-support.patch Upstreamed
3.12/patches/omap-next-dt/0004-ARM-dts-AM33XX-Add-SPI-DMA-support.patch Upstreamed
3.12/patches/omap-next-dt/0005-ARM-dts-AM33XX-Add-MMC-support-and-documentation.patch Upstreamed
3.12/patches/omap-next-dt/0006-ARM-dts-am335x-bone-add-CD-for-mmc1.patch Upstreamed
3.12/patches/omap-next-dt/0007-ARM-dts-am335x-boneblack-add-eMMC-DT-entry.patch Upstreamed
3.12/patches/omap-next-dt/0008-ARM-dts-am335x-bone-common-switch-mmc1-to-4-bit-mode.patch Upstreamed
3.12/patches/omap-next-dt/0009-ARM-dts-am335x-bone-common-add-cpu0-and-mmc1-trigger.patch Upstreamed
3.12/patches/omap-next-dt/0010-ARM-dts-AM33XX-use-pinmux-node-defined-in-included-f.patch Upstreamed
3.12/patches/omap-next-dt/0011-ARM-dts-AM33XX-don-t-redefine-OCP-bus-and-device-nod.patch Upstreamed
3.12/patches/omap-next-dt/0012-ARM-dts-AM33XX-add-ethernet-alias-s-for-am33xx.patch Upstreamed
3.12/patches/omap-next-dt/0013-ARM-dts-am335x-boneblack-move-fixed-regulator-to-boa.patch Upstreamed
3.12/patches/omap-next-dt/0014-ARM-dts-am335x-bone-common-correct-mux-mode-for-cmd-.patch Upstreamed
Nice work on upstreaming these ones!
pdev-fixes
3.12/patches/pdev-fixes/0001-pdev-Fix-platform-device-resource-linking.patch Not upstreamed
3.12/patches/pdev-fixes/0002-of-Link-platform-device-resources-properly.patch Not upstreamed
3.12/patches/pdev-fixes/0003-omap-Properly-handle-resources-for-omap_devices.patch Not upstreamed
3.12/patches/pdev-fixes/0004-omap-Avoid-crashes-in-the-case-of-hwmod-misconfigura.patch Not upstreamed
pinctrl-fixes
3.12/patches/pinctrl-fixes/0001-pinctrl-pinctrl-single-must-be-initialized-early.patch Not upstreamed
reset
3.12/patches/reset/0001-reset-Add-driver-for-gpio-controlled-reset-pins.patch Not upstreamed
Quite a bit of effort on it.
http://www.spinics.net/lists/arm-kernel/msg259553.html
tscadc
3.12/patches/tscadc/0001-Forwarding-changes-from-mfd-next.patch Upstreamed
3.12/patches/tscadc/0002-MFD-ti_tscadc-disable-TSC-control.patch Upstreamed
3.12/patches/tscadc/0003-IIO-ADC-ti_adc-Fix-1st-sample-read.patch Upstreamed
3.12/patches/tscadc/0004-iio-ti_am335x_adc-Added-iio_voltageX_scale.patch Not Upstreamed.
It has been a year already!? :s They pulled GSoC 2014 back i think?
I remember i didn’t do it because I used 1800mV hard coded values specific to BBB. But driver shouldn’t have that. Wanted to check TRM for a register to read or some configuration register etc. Didn’t have the time.
To sum up,
For GSoC 2014, I see significant work in several areas.
HDMI Audio support.
Net. Ethernet patch
MMC.
tiny fixes here n there…
These are BBB relevant only. Hardware specific. Makes it easier to upstream. I’d like to start with these ones.
reset: Add driver for gpio-controlled reset pins.
And Capemgr patches.
These are kernel framework relevant. They attract a lot of attention from kernel folk from all sorts of places
After HDMI audio and ethernet, i’d like to have an attempt at these…
With respect to schedule for 3 months. I can’t really say.
Awaiting feedback from mentors in the community…
Regards
ZubairLK