[meego-commits] 24877: Changes to MeeGo:1.2.0:oss:Update:Testing/kernel-adaptation-intel-automotive
Virgil Bucoci
no_reply at build.meego.com
Wed May 9 16:05:52 UTC 2012
Hi,
I have made the following changes to kernel-adaptation-intel-automotive in project MeeGo:1.2.0:oss:Update:Testing. Please review and accept ASAP.
Thank You,
Virgil Bucoci
[This message was auto-generated]
---
Request #24877:
submit: home:vbucoci:branches:devel:kernel:1.2/kernel-adaptation-intel-automotive(r21)(update) -> MeeGo:1.2.0:oss:Update:Testing/kernel-adaptation-intel-automotive
Message:
None
State: new 2012-05-09T08:10:45 vbucoci
Comment: None
changes files:
--------------
--- kernel-adaptation-intel-automotive.changes
+++ kernel-adaptation-intel-automotive.changes
@@ -0,0 +1,3 @@
+* Wed Apr 11 2012 Virgil Bucoci <virgil.bucoci at windriver.com> - 2.6.37.6
+- Upgraded to Lapis patches released in March, 2012.
+
old:
----
linux-2.6.37-ml7213-0004-i2s.patch
linux-2.6.37-ml7213-0006-snd.patch
linux-2.6.37-ml7213-0007-video_in.patch
linux-2.6.37-ml7213-0008-ioh_video_in-20110629-delete-invalid-definition-PCI_DEVICE_ID.patch
linux-2.6.37-ml7213-eg20t-0006-uart.patch
linux-2.6.37-ml7213-eg20t-hotfix-0001-spi_topcliff_pch-20110701-Replaced-upstreamed-version.patch
linux-2.6.37-ml7213-eg20t-hotfix-0002-snd-ml7213-20110701-1of2-Add-Wind-River-for-copyright.patch
linux-2.6.37-ml7213-eg20t-hotfix-0003-snd-ml7213-20110701-2of2-Add-I2C-Control.patch
linux-2.6.37-ml7213-eg20t-hotfix-0004-pch_dma-20110701-1of3-Fix-video-channel-issue.patch
linux-2.6.37-ml7213-eg20t-hotfix-0005-pch_dma-20110701-2of3-Fix-DMA-channl-setting-issue-forI2S.patch
linux-2.6.37-ml7213-eg20t-hotfix-0006-pch_dma-20110701-3of3-Fix-spin_lock-usage-issue.patch
linux-2.6.37-ml7213-eg20t-hotfix-0007-ioh_i2s-20110701-Fix-register-setting-issue.patch
linux-2.6.37-ml7213-eg20t-hotfix-0008-i2c-eg20t-20110701-Fix-unnecessary-error-message-issue.patch
linux-2.6.37-ml7213-eg20t-hotfix-0009-ioh_video_in-20110629-delete-invalid-definition-PCI_DEVICE_ID.patch
linux-2.6.37-ml7213-eg20t-hotfix-0010-i2c-eg20t-20110629-Fix-the-issue-combined-access.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0001-i2c-eg20t-Support-I2C-combined-mode.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0002-i2c-eg20t-Replace-inappropriate-error-message-to-deb.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0003-ioh_video_in-Delete-unsupported-device-ID.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0004-ioh_video_in-Modify-pci-bus-number-dynamically-to-ge.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0005-pch_phub-Save-FUNCSEL-register-in-PM-for-ML7213-IOH.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0006-pch_gpio-add-X86-Kconfig.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0007-gpio-add-MODULE_DEVICE_TABLE.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0008-pch_gbe-modify-for-checkpatch.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0009-GbE-Fixed-the-issue-of-collision-detection.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0010-GbE-Fixed-the-issue-of-checksum-judgment.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0011-spi_topcliff_pch-Updates-upstreamed-version.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0012-spi_topcliff_pch-Modify-pci-bus-number-dynamically-t.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0013-spi_topcliff_pch-supports-a-spi-mode-setup-and-bit-o.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0014-8250_pci-add-ENODEV-code-for-Intel-EG20T-PCH.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0015-pch_uart-MSI-support.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0016-pch_uart-add-console-support.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0017-pch_uart-add-poll-mode.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0018-pch_uart-Modify-pci-bus-number-dynamically-to-get-DM.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0019-pch_dma-Fix-video-channel-issue.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0020-pch_dma-fix-DMA-issue-ch8-ch11.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0021-pch_dma-update-spin_lock-usage-for-Alex-comments.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0022-pch_dma-Fix-CTL-register-access-issue.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0023-ioh_i2s-modify-infinite-loop-on-interrupt.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0024-pch_gpio-Delete-invalid-restore-code-in-suspend.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0025-pch_gpio-add-spinlock-in-suspend-resume-processing.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0026-pch_gpio-Save-register-value-in-suspend.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110802-0027-pch_udc-unlock-on-allocation-failure.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110804-0001-soundcard-modify-copyrithg-add-Wind-River.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110804-0002-snd-ml7213-Add-I2C-Control.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110804-0003-snd-ml7213-ioh-checkpatch.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110804-0004-i2s-snd-Update-Kconfig.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110804-0005-sndcard-added-clock-stop.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110824-0001-support-for-soundcard-monaural-and-i2s-reg-config.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110902-0001-pch_gbe-fixed-the-issue-which-receives-an-unnecessar.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110902-0002-pch_gbe-added-the-process-of-FIFO-over-run-error.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110909-0001-spi_topcliff_pch-add-tx-memory-clear-after-complete-.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110909-0002-spi_topcliff_pch-Fix-SSN-Control-issue.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110909-0003-spi_topcliff_pch-Fix-CPU-read-complete-condition-iss.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110909-0004-spi_topcliff_pch-Add-recovery-processing-in-case-FIF.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110909-0005-spi_topcliff_pch-Fix-overrun-issue.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110909-0006-spi_topcliff_pch-Fix-issue-for-transmitting-over-4KB.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110909-0007-i2c-eg20t-modified-the-setting-of-transfer-rate.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110914-0001-spi_topcliff_pch-Fix-calculation-missing-for-Tx.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110914-0002-spi_topcliff_pch-add-recovery-processing-in-case-wai.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110921-0001-i2c-eg20t-Fix-bus-idle-waiting-issue.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110921-0002-i2c-eg20t-Modify-returned-value-s32-to-long.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110921-0003-i2c-eg20t-delete-10bit-access-processing.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110921-0004-i2c-eg20t-Separate-error-processing.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110921-0005-i2c-eg20t-add-stop-sequence-in-case-wait-event-timeo.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110921-0006-i2c-eg20t-Fix-flag-setting-issue.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110921-0007-i2c-eg20t-Add-initialize-processing-in-case-i2c-erro.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110927-0001-pch_gbe-Fixed-the-issue-on-which-PC-was-frozen-when-.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110927-0002-pch_gbe-Fixed-the-issue-on-which-a-network-freezes.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110930-0001-snd-all-I2S-channel-operations-and-add-parameter-API.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110930-0002-i2c-eg20t-Fix-bus-idle-waiting-issue.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110930-0003-i2c-eg20t-Fix-NACK-processing-issue.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110930-0004-Import-from-linux-next-2a479d2d6b9c54c076e85fb86f4f4.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110930-0005-pch_can-fix-800k-comms-issue.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110930-0006-pch_can-fix-rmmod-issue.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110930-0007-pch_can-fix-module-reload-issue-with-MSI.patch
linux-2.6.37-ml7213-eg20t-hotfix-20110930-0008-pch_can-fix-tseg1-tseg2-setting-issue.patch
linux-2.6.37-ml7213-eg20t-hotfix-20111013-0001-i2s-Bug-correction.patch
linux-2.6.37-ml7213-eg20t-hotfix-20111013-0002-pch_dma-Fix-suspend-issue.patch
linux-2.6.37-ml7213-eg20t-hotfix-20111013-0003-8250_pci-Import-from-upstreamed-version.patch
linux-2.6.37-ml7213-eg20t-hotfix-20111013-0004-ioh_i2s-Support-Power-Management.patch
linux-2.6.37-ml7213-eg20t-hotfix-20111013-0005-pch_dma-Reduce-wasting-memory.patch
linux-2.6.37-ml7213-eg20t-hotfix-20111013-0006-i2c-eg20t-try-to-add-10-bit-access.patch
linux-2.6.37-ml7213-eg20t-hotfix-20111013-0007-i2c-eg20t-NACK-message-to-dbg-level.-checkpatch-issu.patch
linux-2.6.37-ml7213-eg20t-hotfix-20111013-0008-i2c-eg20t-Modify-for-checkpatch-error.patch
new:
----
linux-2.6.37-ml7213-0004-i2s_snd.patch
linux-2.6.37-ml7213-0005-aec.patch
linux-2.6.37-ml7213-0006-video_in.patch
linux-2.6.37-ml7213-0007-aec.patch
linux-2.6.37-ml7213-0007-mlb.patch
linux-2.6.37-ml7213-0008-snd_aec.patch
linux-2.6.37-ml7213-0009-crypt.patch
linux-2.6.37-ml7213-eg20t-0006-can.patch
spec files:
-----------
--- kernel-adaptation-intel-automotive.spec
+++ kernel-adaptation-intel-automotive.spec
@@ -185,121 +185,39 @@
Patch8: linux-2.6.37-ml7213-0001-phub.patch
Patch9: linux-2.6.37-ml7213-0002-spi.patch
Patch10: linux-2.6.37-ml7213-0003-gpio.patch
-Patch11: linux-2.6.37-ml7213-0004-i2s.patch
-Patch12: linux-2.6.37-ml7213-0005-mlb.patch
-Patch13: linux-2.6.37-ml7213-0006-snd.patch
-Patch14: linux-2.6.37-ml7213-0007-video_in.patch
-Patch15: linux-2.6.37-ml7213-eg20t-0001-i2c.patch
-Patch16: linux-2.6.37-ml7213-eg20t-0002-usbdev.patch
-Patch17: linux-2.6.37-ml7213-eg20t-0003-uart.patch
-Patch18: linux-2.6.37-ml7213-eg20t-0004-dma.patch
-Patch19: linux-2.6.37-ml7213-eg20t-0005-gbe.patch
-Patch20: linux-2.6.37-ml7213-eg20t-0006-uart.patch
+Patch11: linux-2.6.37-ml7213-0004-i2s_snd.patch
+Patch12: linux-2.6.37-ml7213-0005-aec.patch
+Patch13: linux-2.6.37-ml7213-0006-video_in.patch
+Patch14: linux-2.6.37-ml7213-0007-mlb.patch
+Patch15: linux-2.6.37-ml7213-0008-snd_aec.patch
+Patch16: linux-2.6.37-ml7213-0009-crypt.patch
+Patch17: linux-2.6.37-ml7213-eg20t-0001-i2c.patch
+Patch18: linux-2.6.37-ml7213-eg20t-0002-usbdev.patch
+Patch19: linux-2.6.37-ml7213-eg20t-0003-uart.patch
+Patch20: linux-2.6.37-ml7213-eg20t-0004-dma.patch
+Patch21: linux-2.6.37-ml7213-eg20t-0005-gbe.patch
+Patch22: linux-2.6.37-ml7213-eg20t-0006-can.patch
+Patch23: linux-2.6.37-ml7213-eg20t-hotfix-0001-pch_uart-Fix-PCH-UART-clock-rate.patch
-#####################################################################
-#
-# Russellville patches
#
-Patch21: linux-2.6.37-adjust-adv7180-timblogiw-to-be-NTSC.patch
-Patch22: linux-2.6.37-rv-add-timbi2s.patch
-Patch23: linux-2.6.37-rv-add-timblogiw.patch
-Patch24: linux-2.6.37-rv-fix-tx-cache-issue-ks8842.patch
-Patch25: linux-2.6.37-timberdale-enable-devices.patch
-Patch26: linux-2.6.37-timb-radio-pickup-dsp.patch
-#
-# End of EMGD Patches
+# End of EG20T(Topcliff) and ML7213 IOH Patches
#
#####################################################################
-# Hot fix of EG20T and ML7213
-#linux-2.6.37-ml7213-eg20t-hotfix-0001-spi_topcliff_pch-20110701-Replaced-upstreamed-version.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0002-snd-ml7213-20110701-1of2-Add-Wind-River-for-copyright.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0003-snd-ml7213-20110701-2of2-Add-I2C-Control.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0004-pch_dma-20110701-1of3-Fix-video-channel-issue.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0005-pch_dma-20110701-2of3-Fix-DMA-channl-setting-issue-forI2S.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0006-pch_dma-20110701-3of3-Fix-spin_lock-usage-issue.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0007-ioh_i2s-20110701-Fix-register-setting-issue.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0008-i2c-eg20t-20110701-Fix-unnecessary-error-message-issue.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0009-ioh_video_in-20110629-delete-invalid-definition-PCI_DEVICE_ID.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0010-i2c-eg20t-20110629-Fix-the-issue-combined-access.patch
-
-Patch27: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0001-i2c-eg20t-Support-I2C-combined-mode.patch
-Patch28: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0002-i2c-eg20t-Replace-inappropriate-error-message-to-deb.patch
-Patch29: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0003-ioh_video_in-Delete-unsupported-device-ID.patch
-Patch30: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0004-ioh_video_in-Modify-pci-bus-number-dynamically-to-ge.patch
-Patch31: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0005-pch_phub-Save-FUNCSEL-register-in-PM-for-ML7213-IOH.patch
-Patch32: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0006-pch_gpio-add-X86-Kconfig.patch
-Patch33: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0007-gpio-add-MODULE_DEVICE_TABLE.patch
-Patch34: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0008-pch_gbe-modify-for-checkpatch.patch
-Patch35: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0009-GbE-Fixed-the-issue-of-collision-detection.patch
-Patch36: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0010-GbE-Fixed-the-issue-of-checksum-judgment.patch
-Patch37: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0011-spi_topcliff_pch-Updates-upstreamed-version.patch
-Patch38: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0012-spi_topcliff_pch-Modify-pci-bus-number-dynamically-t.patch
-Patch39: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0013-spi_topcliff_pch-supports-a-spi-mode-setup-and-bit-o.patch
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0014-8250_pci-add-ENODEV-code-for-Intel-EG20T-PCH.patch
-Patch40: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0015-pch_uart-MSI-support.patch
-Patch41: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0016-pch_uart-add-console-support.patch
-Patch42: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0017-pch_uart-add-poll-mode.patch
-Patch43: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0018-pch_uart-Modify-pci-bus-number-dynamically-to-get-DM.patch
-Patch44: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0019-pch_dma-Fix-video-channel-issue.patch
-Patch45: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0020-pch_dma-fix-DMA-issue-ch8-ch11.patch
-Patch46: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0021-pch_dma-update-spin_lock-usage-for-Alex-comments.patch
-Patch47: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0022-pch_dma-Fix-CTL-register-access-issue.patch
-Patch48: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0023-ioh_i2s-modify-infinite-loop-on-interrupt.patch
-Patch49: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0024-pch_gpio-Delete-invalid-restore-code-in-suspend.patch
-Patch50: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0025-pch_gpio-add-spinlock-in-suspend-resume-processing.patch
-Patch51: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0026-pch_gpio-Save-register-value-in-suspend.patch
-Patch52: linux-2.6.37-ml7213-eg20t-hotfix-20110802-0027-pch_udc-unlock-on-allocation-failure.patch
-Patch53: linux-2.6.37-ml7213-eg20t-hotfix-20110804-0001-soundcard-modify-copyrithg-add-Wind-River.patch
-Patch54: linux-2.6.37-ml7213-eg20t-hotfix-20110804-0002-snd-ml7213-Add-I2C-Control.patch
-Patch55: linux-2.6.37-ml7213-eg20t-hotfix-20110804-0003-snd-ml7213-ioh-checkpatch.patch
-Patch56: linux-2.6.37-ml7213-eg20t-hotfix-20110804-0004-i2s-snd-Update-Kconfig.patch
-Patch57: linux-2.6.37-ml7213-eg20t-hotfix-20110804-0005-sndcard-added-clock-stop.patch
-Patch58: linux-2.6.37-ml7213-eg20t-hotfix-20110824-0001-support-for-soundcard-monaural-and-i2s-reg-config.patch
-Patch59: linux-2.6.37-ml7213-eg20t-hotfix-20110902-0001-pch_gbe-fixed-the-issue-which-receives-an-unnecessar.patch
-Patch60: linux-2.6.37-ml7213-eg20t-hotfix-20110902-0002-pch_gbe-added-the-process-of-FIFO-over-run-error.patch
-Patch61: linux-2.6.37-ml7213-eg20t-hotfix-20110909-0001-spi_topcliff_pch-add-tx-memory-clear-after-complete-.patch
-Patch62: linux-2.6.37-ml7213-eg20t-hotfix-20110909-0002-spi_topcliff_pch-Fix-SSN-Control-issue.patch
-Patch63: linux-2.6.37-ml7213-eg20t-hotfix-20110909-0003-spi_topcliff_pch-Fix-CPU-read-complete-condition-iss.patch
-Patch64: linux-2.6.37-ml7213-eg20t-hotfix-20110909-0004-spi_topcliff_pch-Add-recovery-processing-in-case-FIF.patch
-Patch65: linux-2.6.37-ml7213-eg20t-hotfix-20110909-0005-spi_topcliff_pch-Fix-overrun-issue.patch
-Patch66: linux-2.6.37-ml7213-eg20t-hotfix-20110909-0006-spi_topcliff_pch-Fix-issue-for-transmitting-over-4KB.patch
-Patch67: linux-2.6.37-ml7213-eg20t-hotfix-20110909-0007-i2c-eg20t-modified-the-setting-of-transfer-rate.patch
-Patch68: linux-2.6.37-ml7213-eg20t-hotfix-20110914-0001-spi_topcliff_pch-Fix-calculation-missing-for-Tx.patch
-Patch69: linux-2.6.37-ml7213-eg20t-hotfix-20110914-0002-spi_topcliff_pch-add-recovery-processing-in-case-wai.patch
-Patch70: linux-2.6.37-ml7213-eg20t-hotfix-20110921-0001-i2c-eg20t-Fix-bus-idle-waiting-issue.patch
-Patch71: linux-2.6.37-ml7213-eg20t-hotfix-20110921-0002-i2c-eg20t-Modify-returned-value-s32-to-long.patch
-Patch72: linux-2.6.37-ml7213-eg20t-hotfix-20110921-0003-i2c-eg20t-delete-10bit-access-processing.patch
-Patch73: linux-2.6.37-ml7213-eg20t-hotfix-20110921-0004-i2c-eg20t-Separate-error-processing.patch
-Patch74: linux-2.6.37-ml7213-eg20t-hotfix-20110921-0005-i2c-eg20t-add-stop-sequence-in-case-wait-event-timeo.patch
-Patch75: linux-2.6.37-ml7213-eg20t-hotfix-20110921-0006-i2c-eg20t-Fix-flag-setting-issue.patch
-Patch76: linux-2.6.37-ml7213-eg20t-hotfix-20110921-0007-i2c-eg20t-Add-initialize-processing-in-case-i2c-erro.patch
-Patch77: linux-2.6.37-ml7213-eg20t-hotfix-20110927-0001-pch_gbe-Fixed-the-issue-on-which-PC-was-frozen-when-.patch
-Patch78: linux-2.6.37-ml7213-eg20t-hotfix-20110927-0002-pch_gbe-Fixed-the-issue-on-which-a-network-freezes.patch
-Patch79: linux-2.6.37-ml7213-eg20t-hotfix-20110930-0001-snd-all-I2S-channel-operations-and-add-parameter-API.patch
-Patch80: linux-2.6.37-ml7213-eg20t-hotfix-20110930-0002-i2c-eg20t-Fix-bus-idle-waiting-issue.patch
-Patch81: linux-2.6.37-ml7213-eg20t-hotfix-20110930-0003-i2c-eg20t-Fix-NACK-processing-issue.patch
-Patch82: linux-2.6.37-ml7213-eg20t-hotfix-20110930-0004-Import-from-linux-next-2a479d2d6b9c54c076e85fb86f4f4.patch
-Patch83: linux-2.6.37-ml7213-eg20t-hotfix-20110930-0005-pch_can-fix-800k-comms-issue.patch
-Patch84: linux-2.6.37-ml7213-eg20t-hotfix-20110930-0006-pch_can-fix-rmmod-issue.patch
-Patch85: linux-2.6.37-ml7213-eg20t-hotfix-20110930-0007-pch_can-fix-module-reload-issue-with-MSI.patch
-Patch86: linux-2.6.37-ml7213-eg20t-hotfix-20110930-0008-pch_can-fix-tseg1-tseg2-setting-issue.patch
-Patch87: linux-2.6.37-ml7213-eg20t-hotfix-20111013-0001-i2s-Bug-correction.patch
-Patch88: linux-2.6.37-ml7213-eg20t-hotfix-20111013-0002-pch_dma-Fix-suspend-issue.patch
-# linux-2.6.37-ml7213-eg20t-hotfix-20111013-0003-8250_pci-Import-from-upstreamed-version.patch
-Patch89: linux-2.6.37-ml7213-eg20t-hotfix-20111013-0004-ioh_i2s-Support-Power-Management.patch
-Patch90: linux-2.6.37-ml7213-eg20t-hotfix-20111013-0005-pch_dma-Reduce-wasting-memory.patch
-Patch91: linux-2.6.37-ml7213-eg20t-hotfix-20111013-0006-i2c-eg20t-try-to-add-10-bit-access.patch
-Patch92: linux-2.6.37-ml7213-eg20t-hotfix-20111013-0007-i2c-eg20t-NACK-message-to-dbg-level.-checkpatch-issu.patch
-Patch93: linux-2.6.37-ml7213-eg20t-hotfix-20111013-0008-i2c-eg20t-Modify-for-checkpatch-error.patch
-
-Patch94: linux-2.6.37-ml7213-eg20t-hotfix-0001-pch_uart-Fix-PCH-UART-clock-rate.patch
-
-# End of Hot fix
-
-# End of EG20T and ML7213 Patches
+#####################################################################
+#
+# Russellville patches
+#
+Patch24: linux-2.6.37-adjust-adv7180-timblogiw-to-be-NTSC.patch
+Patch25: linux-2.6.37-rv-add-timbi2s.patch
+Patch26: linux-2.6.37-rv-add-timblogiw.patch
+Patch27: linux-2.6.37-rv-fix-tx-cache-issue-ks8842.patch
+Patch28: linux-2.6.37-timberdale-enable-devices.patch
+Patch29: linux-2.6.37-timb-radio-pickup-dsp.patch
+#
+# End of Russellville Patches
#
#####################################################################
@@ -307,10 +225,10 @@
#
# EMGD patches
#
-Patch95: linux-2.6.37-emgd-0001-add-makefile.patch
-Patch96: linux-2.6.37-emgd-0002-1893-build.patch
-Patch97: linux-2.6.37-emgd-0003-1922-build.patch
-Patch98: linux-2.6.37-emgd-0004-2032-build.patch
+Patch30: linux-2.6.37-emgd-0001-add-makefile.patch
+Patch31: linux-2.6.37-emgd-0002-1893-build.patch
+Patch32: linux-2.6.37-emgd-0003-1922-build.patch
+Patch33: linux-2.6.37-emgd-0004-2032-build.patch
#
# End of EMGD Patches
#
@@ -320,9 +238,9 @@
#####################################################################
#
# Kernel CVE patches
-Patch99: linux-2.6.37-cve-0001-Treat-writes-as-new-when-holes-span-across-page-boun.patch
-Patch100: linux-2.6.37-cve-0002-bonding-Incorrect-TX-queue-offset.patch
-Patch101: linux-2.6.37-cve-0003-netfilter-arp_tables-fix-infoleak-to-userspace.patch
+Patch34: linux-2.6.37-cve-0001-Treat-writes-as-new-when-holes-span-across-page-boun.patch
+Patch35: linux-2.6.37-cve-0002-bonding-Incorrect-TX-queue-offset.patch
+Patch36: linux-2.6.37-cve-0003-netfilter-arp_tables-fix-infoleak-to-userspace.patch
#
# End of Kernel CVE patches
#####################################################################
@@ -331,7 +249,7 @@
#####################################################################
#
# USB CDC NCM driver patch
-Patch102: linux-2.6.37-cdc-ncm.patch
+Patch37: linux-2.6.37-cdc-ncm.patch
#
# End of USB CDC NCM patches
#####################################################################
@@ -484,26 +402,38 @@
%patch9 -p1
# linux-2.6.37-ml7213-0003-gpio.patch
%patch10 -p1
-# linux-2.6.37-ml7213-0004-i2s.patch
+# linux-2.6.37-ml7213-0004-i2s_snd.patch
%patch11 -p1
-# linux-2.6.37-ml7213-0005-mlb.patch
+# linux-2.6.37-ml7213-0005-aec.patch
%patch12 -p1
-# linux-2.6.37-ml7213-0006-snd.patch
+# linux-2.6.37-ml7213-0006-video_in.patch
%patch13 -p1
-# linux-2.6.37-ml7213-0007-video_in.patch
+# linux-2.6.37-ml7213-0007-mlb.patch
%patch14 -p1
-# linux-2.6.37-ml7213-eg20t-0001-i2c.patch
+# linux-2.6.37-ml7213-0008-snd_aec.patch
%patch15 -p1
-# linux-2.6.37-ml7213-eg20t-0002-usbdev.patch
+# linux-2.6.37-ml7213-0009-crypt.patch
%patch16 -p1
-# linux-2.6.37-ml7213-eg20t-0003-uart.patch
+# linux-2.6.37-ml7213-eg20t-0001-i2c.patch
%patch17 -p1
-# linux-2.6.37-ml7213-eg20t-0004-dma.patch
+# linux-2.6.37-ml7213-eg20t-0002-usbdev.patch
%patch18 -p1
-# linux-2.6.37-ml7213-eg20t-0005-gbe.patch
+# linux-2.6.37-ml7213-eg20t-0003-uart.patch
%patch19 -p1
-# linux-2.6.37-ml7213-eg20t-0006-uart.patch
+# linux-2.6.37-ml7213-eg20t-0004-dma.patch
%patch20 -p1
+# linux-2.6.37-ml7213-eg20t-0005-gbe.patch
+%patch21 -p1
+# linux-2.6.37-ml7213-eg20t-0006-can.patch
+%patch22 -p1
+
+# linux-2.6.37-ml7213-eg20t-hotfix-0001-pch_uart-Fix-PCH-UART-clock-rate.patch
+%patch23 -p1
+
+#
+# End of EG20T(Topcliff) and ML7213 IOH Patches
+#
+#####################################################################
#####################################################################
@@ -511,178 +441,19 @@
# Russellville patches
#
# linux-2.6.37-adjust-adv7180-timblogiw-to-be-NTSC.patch
-%patch21 -p1
-# linux-2.6.37-rv-add-timbi2s.patch
-%patch22 -p1
-# linux-2.6.37-rv-add-timblogiw.patch
-%patch23 -p1
-# linux-2.6.37-rv-fix-tx-cache-issue-ks8842.patch
%patch24 -p1
-# linux-2.6.37-timberdale-enable-devices.patch
+# linux-2.6.37-rv-add-timbi2s.patch
%patch25 -p1
-# linux-2.6.37-timb-radio-pickup-dsp.patch
+# linux-2.6.37-rv-add-timblogiw.patch
%patch26 -p1
-#
-# End of EMGD Patches
-#
-#####################################################################
-
-
-# Hot fix of EG20T and ML7213
-#linux-2.6.37-ml7213-eg20t-hotfix-0001-spi_topcliff_pch-20110701-Replaced-upstreamed-version.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0002-snd-ml7213-20110701-1of2-Add-Wind-River-for-copyright.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0003-snd-ml7213-20110701-2of2-Add-I2C-Control.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0004-pch_dma-20110701-1of3-Fix-video-channel-issue.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0005-pch_dma-20110701-2of3-Fix-DMA-channl-setting-issue-forI2S.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0006-pch_dma-20110701-3of3-Fix-spin_lock-usage-issue.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0007-ioh_i2s-20110701-Fix-register-setting-issue.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0008-i2c-eg20t-20110701-Fix-unnecessary-error-message-issue.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0009-ioh_video_in-20110629-delete-invalid-definition-PCI_DEVICE_ID.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0010-i2c-eg20t-20110629-Fix-the-issue-combined-access.patch
-
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0001-i2c-eg20t-Support-I2C-combined-mode.patch
+# linux-2.6.37-rv-fix-tx-cache-issue-ks8842.patch
%patch27 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0002-i2c-eg20t-Replace-inappropriate-error-message-to-deb.patch
+# linux-2.6.37-timberdale-enable-devices.patch
%patch28 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0003-ioh_video_in-Delete-unsupported-device-ID.patch
+# linux-2.6.37-timb-radio-pickup-dsp.patch
%patch29 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0004-ioh_video_in-Modify-pci-bus-number-dynamically-to-ge.patch
-%patch30 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0005-pch_phub-Save-FUNCSEL-register-in-PM-for-ML7213-IOH.patch
-%patch31 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0006-pch_gpio-add-X86-Kconfig.patch
-%patch32 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0007-gpio-add-MODULE_DEVICE_TABLE.patch
-%patch33 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0008-pch_gbe-modify-for-checkpatch.patch
-%patch34 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0009-GbE-Fixed-the-issue-of-collision-detection.patch
-%patch35 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0010-GbE-Fixed-the-issue-of-checksum-judgment.patch
-%patch36 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0011-spi_topcliff_pch-Updates-upstreamed-version.patch
-%patch37 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0012-spi_topcliff_pch-Modify-pci-bus-number-dynamically-t.patch
-%patch38 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0013-spi_topcliff_pch-supports-a-spi-mode-setup-and-bit-o.patch
-%patch39 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0014-8250_pci-add-ENODEV-code-for-Intel-EG20T-PCH.patch
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0015-pch_uart-MSI-support.patch
-%patch40 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0016-pch_uart-add-console-support.patch
-%patch41 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0017-pch_uart-add-poll-mode.patch
-%patch42 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0018-pch_uart-Modify-pci-bus-number-dynamically-to-get-DM.patch
-%patch43 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0019-pch_dma-Fix-video-channel-issue.patch
-%patch44 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0020-pch_dma-fix-DMA-issue-ch8-ch11.patch
-%patch45 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0021-pch_dma-update-spin_lock-usage-for-Alex-comments.patch
-%patch46 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0022-pch_dma-Fix-CTL-register-access-issue.patch
-%patch47 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0023-ioh_i2s-modify-infinite-loop-on-interrupt.patch
-%patch48 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0024-pch_gpio-Delete-invalid-restore-code-in-suspend.patch
-%patch49 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0025-pch_gpio-add-spinlock-in-suspend-resume-processing.patch
-%patch50 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0026-pch_gpio-Save-register-value-in-suspend.patch
-%patch51 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0027-pch_udc-unlock-on-allocation-failure.patch
-%patch52 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110804-0001-soundcard-modify-copyrithg-add-Wind-River.patch
-%patch53 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110804-0002-snd-ml7213-Add-I2C-Control.patch
-%patch54 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110804-0003-snd-ml7213-ioh-checkpatch.patch
-%patch55 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110804-0004-i2s-snd-Update-Kconfig.patch
-%patch56 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110804-0005-sndcard-added-clock-stop.patch
-%patch57 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110824-0001-support-for-soundcard-monaural-and-i2s-reg-config.patch
-%patch58 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110902-0001-pch_gbe-fixed-the-issue-which-receives-an-unnecessar.patch
-%patch59 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110902-0002-pch_gbe-added-the-process-of-FIFO-over-run-error.patch
-%patch60 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110909-0001-spi_topcliff_pch-add-tx-memory-clear-after-complete-.patch
-%patch61 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110909-0002-spi_topcliff_pch-Fix-SSN-Control-issue.patch
-%patch62 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110909-0003-spi_topcliff_pch-Fix-CPU-read-complete-condition-iss.patch
-%patch63 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110909-0004-spi_topcliff_pch-Add-recovery-processing-in-case-FIF.patch
-%patch64 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110909-0005-spi_topcliff_pch-Fix-overrun-issue.patch
-%patch65 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110909-0006-spi_topcliff_pch-Fix-issue-for-transmitting-over-4KB.patch
-%patch66 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110909-0007-i2c-eg20t-modified-the-setting-of-transfer-rate.patch
-%patch67 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110914-0001-spi_topcliff_pch-Fix-calculation-missing-for-Tx.patch
-%patch68 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110914-0002-spi_topcliff_pch-add-recovery-processing-in-case-wai.patch
-%patch69 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110921-0001-i2c-eg20t-Fix-bus-idle-waiting-issue.patch
-%patch70 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110921-0002-i2c-eg20t-Modify-returned-value-s32-to-long.patch
-%patch71 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110921-0003-i2c-eg20t-delete-10bit-access-processing.patch
-%patch72 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110921-0004-i2c-eg20t-Separate-error-processing.patch
-%patch73 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110921-0005-i2c-eg20t-add-stop-sequence-in-case-wait-event-timeo.patch
-%patch74 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110921-0006-i2c-eg20t-Fix-flag-setting-issue.patch
-%patch75 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110921-0007-i2c-eg20t-Add-initialize-processing-in-case-i2c-erro.patch
-%patch76 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110927-0001-pch_gbe-Fixed-the-issue-on-which-PC-was-frozen-when-.patch
-%patch77 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110927-0002-pch_gbe-Fixed-the-issue-on-which-a-network-freezes.patch
-%patch78 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110930-0001-snd-all-I2S-channel-operations-and-add-parameter-API.patch
-%patch79 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110930-0002-i2c-eg20t-Fix-bus-idle-waiting-issue.patch
-%patch80 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110930-0003-i2c-eg20t-Fix-NACK-processing-issue.patch
-%patch81 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110930-0004-Import-from-linux-next-2a479d2d6b9c54c076e85fb86f4f4.patch
-%patch82 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110930-0005-pch_can-fix-800k-comms-issue.patch
-%patch83 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110930-0006-pch_can-fix-rmmod-issue.patch
-%patch84 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110930-0007-pch_can-fix-module-reload-issue-with-MSI.patch
-%patch85 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20110930-0008-pch_can-fix-tseg1-tseg2-setting-issue.patch
-%patch86 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20111013-0001-i2s-Bug-correction.patch
-%patch87 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20111013-0002-pch_dma-Fix-suspend-issue.patch
-%patch88 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20111013-0003-8250_pci-Import-from-upstreamed-version.patch
-# linux-2.6.37-ml7213-eg20t-hotfix-20111013-0004-ioh_i2s-Support-Power-Management.patch
-%patch89 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20111013-0005-pch_dma-Reduce-wasting-memory.patch
-%patch90 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20111013-0006-i2c-eg20t-try-to-add-10-bit-access.patch
-%patch91 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20111013-0007-i2c-eg20t-NACK-message-to-dbg-level.-checkpatch-issu.patch
-%patch92 -p1
-# linux-2.6.37-ml7213-eg20t-hotfix-20111013-0008-i2c-eg20t-Modify-for-checkpatch-error.patch
-%patch93 -p1
-
-# linux-2.6.37-ml7213-eg20t-hotfix-0001-pch_uart-Fix-PCH-UART-clock-rate.patch
-%patch94 -p1
-
-# End of Hot fix
-
-# End of EG20T and ML7213 Patches
+#
+# End of Russellville Patches
#
#####################################################################
@@ -691,13 +462,13 @@
# EMGD patches
#
# linux-2.6.37-emgd-0001-add-makefile.patch
-%patch95 -p1
+%patch30 -p1
# linux-2.6.37-emgd-0002-1893-build.patch
-%patch96 -p1
+%patch31 -p1
# linux-2.6.37-emgd-0003-1922-build.patch
-%patch97 -p1
+%patch32 -p1
# linux-2.6.37-emgd-0004-2032-build.patch
-%patch98 -p1
+%patch33 -p1
#
# End of EMGD Patches
#
@@ -708,11 +479,11 @@
#
# Kernel CVE patches
# linux-2.6.37-cve-0001-Treat-writes-as-new-when-holes-span-across-page-boun.patch
-%patch99 -p1
+%patch34 -p1
# linux-2.6.37-cve-0002-bonding-Incorrect-TX-queue-offset.patch
-%patch100 -p1
+%patch35 -p1
# linux-2.6.37-cve-0003-netfilter-arp_tables-fix-infoleak-to-userspace.patch
-%patch101 -p1
+%patch36 -p1
#
# End of Kernel CVE patches
#####################################################################
@@ -722,7 +493,7 @@
#
# USB CDC NCM driver patch
# linux-2.6.37-cdc-ncm.patch
-%patch102 -p1
+%patch37 -p1
#
# End of USB CDC NCM patches
#####################################################################
other changes:
--------------
++++++ config-adaptation-intel-automotive
--- config-adaptation-intel-automotive
+++ config-adaptation-intel-automotive
@@ -243,6 +243,13 @@
CONFIG_USB_EG20T=y
CONFIG_USB_GADGET_DUALSPEED=y
CONFIG_CAN=y
+CONFIG_CAN_DEV=y
+CONFIG_CAN_CALC_BITTIMING=y
+CONFIG_CAN_RAW=y
+# CONFIG_CAN_MCP251X is not set
+# CONFIG_CAN_SJA1000 is not set
+# CONFIG_CAN_EMS_USB is not set
+# CONFIG_CAN_ESD_USB2 is not set
CONFIG_PCH_CAN=y
CONFIG_PCH_DMA=y
CONFIG_SERIAL_PCH_UART=y
@@ -270,3 +277,9 @@
# CONFIG_DRM_EMGD_DEBUG is not set
# CONFIG_DRM_EMGD_PDUMP is not set
+CONFIG_USB_SIERRA_NET=m
+
+CONFIG_IOH_AEC=m
+# CONFIG_ML7213_I2S_DMA is not set
+CONFIG_SND_IOH_AEC=m
+CONFIG_IOH_CRYPTO=m
++++++ linux-2.6.37-ml7213-0001-phub.patch
--- linux-2.6.37-ml7213-0001-phub.patch
+++ linux-2.6.37-ml7213-0001-phub.patch
@@ -1,10 +1,17 @@
+From 8271ab1dd4554e1b5ca352920f46e5babd965b03 Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 11:05:49 +0900
+Subject: [PATCH 10/15] Packet Hub driver
+
+
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm at gmail.com>
---
- drivers/misc/Kconfig | 7 ++++-
- drivers/misc/pch_phub.c | 69 ++++++++++++++++++++++++++++++++---------------
- 2 files changed, 53 insertions(+), 23 deletions(-)
+ drivers/misc/Kconfig | 10 ++-
+ drivers/misc/pch_phub.c | 277 +++++++++++++++++++++++++++++++++++++++--------
+ 2 files changed, 243 insertions(+), 44 deletions(-)
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
-index 4d073f1..4852595 100644
+index 4d073f1..a6bb880 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -441,7 +441,7 @@ config BMP085
@@ -12,102 +19,398 @@
config PCH_PHUB
- tristate "PCH Packet Hub of Intel Topcliff"
-+ tristate "PCH Packet Hub of Intel Topcliff / OKI SEMICONDUCTOR ML7213"
++ tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB"
depends on PCI
help
This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of
-@@ -449,6 +449,11 @@ config PCH_PHUB
+@@ -449,6 +449,14 @@ config PCH_PHUB
processor. The Topcliff has MAC address and Option ROM data in SROM.
This driver can access MAC address and Option ROM data in SROM.
-+ This driver also can be used for OKI SEMICONDUCTOR's ML7213 which is
-+ for IVI(In-Vehicle Infotainment) use.
-+ ML7213 is companion chip for Intel Atom E6xx series.
-+ ML7213 is completely compatible for Intel EG20T PCH.
++ This driver also can be used for LAPIS Semiconductor's IOH,
++ ML7213/ML7223/ML7831.
++ ML7213 which is for IVI(In-Vehicle Infotainment) use.
++ ML7223 IOH is for MP(Media Phone) use.
++ ML7831 IOH is for general purpose use.
++ ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
++ ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
+
To compile this driver as a module, choose M here: the module will
be called pch_phub.
diff --git a/drivers/misc/pch_phub.c b/drivers/misc/pch_phub.c
-index 744b804..98bffc4 100644
+index 744b804..19e0196 100644
--- a/drivers/misc/pch_phub.c
+++ b/drivers/misc/pch_phub.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 OKI SEMICONDUCTOR Co., LTD.
-+ * Copyright (C) 2010 OKI SEMICONDUCTOR CO., LTD.
++ * Copyright (C) 2011 LAPIS Semiconductor Co., Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
-@@ -33,7 +33,12 @@
+@@ -27,13 +27,25 @@
+ #include <linux/mutex.h>
+ #include <linux/if_ether.h>
+ #include <linux/ctype.h>
++#include <linux/dmi.h>
+
+ #define PHUB_STATUS 0x00 /* Status Register offset */
+ #define PHUB_CONTROL 0x04 /* Control Register offset */
#define PHUB_TIMEOUT 0x05 /* Time out value for Status Register */
#define PCH_PHUB_ROM_WRITE_ENABLE 0x01 /* Enabling for writing ROM */
#define PCH_PHUB_ROM_WRITE_DISABLE 0x00 /* Disabling for writing ROM */
-#define PCH_PHUB_ROM_START_ADDR 0x14 /* ROM data area start address offset */
-+#define PCH_PHUB_MAC_START_ADDR 0x20C /* MAC data area start address offset */
-+#define PCH_PHUB_ROM_START_ADDR_EG20T 0x14 /* ROM data area start address offset
++#define PCH_PHUB_MAC_START_ADDR_EG20T 0x14 /* MAC data area start address
++ offset */
++#define PCH_PHUB_MAC_START_ADDR_ML7223 0x20C /* MAC data area start address
++ offset */
++#define PCH_PHUB_ROM_START_ADDR_EG20T 0x80 /* ROM data area start address offset
+ (Intel EG20T PCH)*/
+#define PCH_PHUB_ROM_START_ADDR_ML7213 0x400 /* ROM data area start address
-+ offset(OKI SEMICONDUCTOR ML7213)
++ offset(LAPIS Semicon ML7213)
++ */
++#define PCH_PHUB_ROM_START_ADDR_ML7223 0x400 /* ROM data area start address
++ offset(LAPIS Semicon ML7223)
+ */
/* MAX number of INT_REDUCE_CONTROL registers */
#define MAX_NUM_INT_REDUCE_CONTROL_REG 128
-@@ -42,6 +47,10 @@
+@@ -41,6 +53,24 @@
+ #define PCH_MINOR_NOS 1
#define CLKCFG_CAN_50MHZ 0x12000000
#define CLKCFG_CANCLK_MASK 0xFF000000
-
++#define CLKCFG_UART_MASK 0xFFFFFF
++
++/* CM-iTC */
++#define CLKCFG_UART_48MHZ (1 << 16)
++#define CLKCFG_BAUDDIV (2 << 20)
++#define CLKCFG_PLL2VCO (8 << 9)
++#define CLKCFG_UARTCLKSEL (1 << 18)
++
+/* Macros for ML7213 */
+#define PCI_VENDOR_ID_ROHM 0x10db
+#define PCI_DEVICE_ID_ROHM_ML7213_PHUB 0x801A
+
++/* Macros for ML7223 */
++#define PCI_DEVICE_ID_ROHM_ML7223_mPHUB 0x8012 /* for Bus-m */
++#define PCI_DEVICE_ID_ROHM_ML7223_nPHUB 0x8002 /* for Bus-n */
++
++/* Macros for ML7831 */
++#define PCI_DEVICE_ID_ROHM_ML7831_PHUB 0x8801
+
/* SROM ACCESS Macro */
#define PCH_WORD_ADDR_MASK (~((1 << 2) - 1))
+@@ -59,6 +89,7 @@
+ #define PCH_PHUB_INTPIN_REG_WPERMIT_REG3 0x002C
+ #define PCH_PHUB_INT_REDUCE_CONTROL_REG_BASE 0x0040
+ #define CLKCFG_REG_OFFSET 0x500
++#define FUNCSEL_REG_OFFSET 0x508
+
+ #define PCH_PHUB_OROM_SIZE 15360
+
+@@ -77,8 +108,13 @@
+ * @intpin_reg_wpermit_reg3: INTPIN_REG_WPERMIT register 3 val
+ * @int_reduce_control_reg: INT_REDUCE_CONTROL registers val
+ * @clkcfg_reg: CLK CFG register val
++ * @funcsel_reg: Function select register value
+ * @pch_phub_base_address: Register base address
+ * @pch_phub_extrom_base_address: external rom base address
++ * @pch_mac_start_address: MAC address area start address
++ * @pch_opt_rom_start_address: Option ROM start address
++ * @ioh_type: Save IOH type
++ * @pdev: pointer to pci device struct
+ */
+ struct pch_phub_reg {
+ u32 phub_id_reg;
+@@ -94,8 +130,13 @@ struct pch_phub_reg {
+ u32 intpin_reg_wpermit_reg3;
+ u32 int_reduce_control_reg[MAX_NUM_INT_REDUCE_CONTROL_REG];
+ u32 clkcfg_reg;
++ u32 funcsel_reg;
+ void __iomem *pch_phub_base_address;
+ void __iomem *pch_phub_extrom_base_address;
++ u32 pch_mac_start_address;
++ u32 pch_opt_rom_start_address;
++ int ioh_type;
++ struct pci_dev *pdev;
+ };
+
+ /* SROM SPEC for MAC address assignment offset */
+@@ -174,6 +215,8 @@ static void pch_phub_save_reg_conf(struct pci_dev *pdev)
+ __func__, i, chip->int_reduce_control_reg[i]);
+ }
+ chip->clkcfg_reg = ioread32(p + CLKCFG_REG_OFFSET);
++ if ((chip->ioh_type == 2) || (chip->ioh_type == 4))
++ chip->funcsel_reg = ioread32(p + FUNCSEL_REG_OFFSET);
+ }
+
+ /* pch_phub_restore_reg_conf - restore register configuration */
+@@ -234,6 +277,8 @@ static void pch_phub_restore_reg_conf(struct pci_dev *pdev)
+ }
+
+ iowrite32(chip->clkcfg_reg, p + CLKCFG_REG_OFFSET);
++ if ((chip->ioh_type == 2) || (chip->ioh_type == 4))
++ iowrite32(chip->funcsel_reg, p + FUNCSEL_REG_OFFSET);
+ }
-@@ -298,7 +307,7 @@ static void pch_phub_read_serial_rom_val(struct pch_phub_reg *chip,
+ /**
+@@ -298,7 +343,7 @@ static void pch_phub_read_serial_rom_val(struct pch_phub_reg *chip,
{
unsigned int mem_addr;
- mem_addr = PCH_PHUB_ROM_START_ADDR +
-+ mem_addr = PCH_PHUB_ROM_START_ADDR_EG20T +
++ mem_addr = chip->pch_mac_start_address +
pch_phub_mac_offset[offset_address];
pch_phub_read_serial_rom(chip, mem_addr, data);
-@@ -315,7 +324,7 @@ static int pch_phub_write_serial_rom_val(struct pch_phub_reg *chip,
+@@ -315,7 +360,7 @@ static int pch_phub_write_serial_rom_val(struct pch_phub_reg *chip,
int retval;
unsigned int mem_addr;
- mem_addr = PCH_PHUB_ROM_START_ADDR +
-+ mem_addr = PCH_PHUB_ROM_START_ADDR_EG20T +
++ mem_addr = chip->pch_mac_start_address +
pch_phub_mac_offset[offset_address];
retval = pch_phub_write_serial_rom(chip, mem_addr, data);
(387 more lines skipped)
++++++ linux-2.6.37-ml7213-0002-spi.patch
--- linux-2.6.37-ml7213-0002-spi.patch
+++ linux-2.6.37-ml7213-0002-spi.patch
@@ -1,14 +1,20 @@
+From 22bac06baeec8ba5d89f14ae783fdce2f1e6bc60 Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 11:01:54 +0900
+Subject: [PATCH 12/15] SPI driver
+
+
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm at gmail.com>
---
drivers/spi/Kconfig | 13 +-
drivers/spi/Makefile | 1 +
drivers/spi/pch_spi_platform_devices.c | 54 ++
- drivers/spi/spi_topcliff_pch.c | 1075 ++++++++++++++++++++++----------
- 4 files changed, 802 insertions(+), 341 deletions(-)
- create mode 100644 drivers/spi/Module.symvers
+ drivers/spi/spi_topcliff_pch.c | 1294 ++++++++++++++++++++++----------
+ 4 files changed, 963 insertions(+), 399 deletions(-)
create mode 100644 drivers/spi/pch_spi_platform_devices.c
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index 78f9fd0..46f7f27 100644
+index 78f9fd0..2844856 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -336,13 +336,24 @@ config SPI_TEGRA
@@ -25,14 +31,14 @@
+
config SPI_TOPCLIFF_PCH
- tristate "Topcliff PCH SPI Controller"
-+ tristate "Intel EG20T PCH/OKI SEMICONDUCTOR ML7213 IOH SPI controller"
++ tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) SPI"
depends on PCI
help
SPI driver for the Topcliff PCH (Platform Controller Hub) SPI bus
used in some x86 embedded processors.
-+ This driver also supports the ML7213, a companion chip for the
-+ Atom E6xx series and compatible with the Intel EG20T PCH.
++ This driver also supports the ML7213/ML7223/ML7831, a companion chip
++ for the Atom E6xx series and compatible with the Intel EG20T PCH.
+
config SPI_TXX9
tristate "Toshiba TXx9 SPI controller"
@@ -49,17 +55,14 @@
obj-$(CONFIG_SPI_TOPCLIFF_PCH) += spi_topcliff_pch.o
obj-$(CONFIG_SPI_TXX9) += spi_txx9.o
obj-$(CONFIG_SPI_XILINX) += xilinx_spi.o
-diff --git a/drivers/spi/Module.symvers b/drivers/spi/Module.symvers
-new file mode 100644
-index 0000000..e69de29
diff --git a/drivers/spi/pch_spi_platform_devices.c b/drivers/spi/pch_spi_platform_devices.c
new file mode 100644
-index 0000000..872e4b7
+index 0000000..9c9957e
--- /dev/null
+++ b/drivers/spi/pch_spi_platform_devices.c
@@ -0,0 +1,54 @@
+/*
-+ * Copyright (C) 2010 OKI SEMICONDUCTOR Co., LTD.
++ * Copyright (C) 2010 LAPIS Semiconductor Co., Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
@@ -113,9 +116,18 @@
+module_init(Load);
+MODULE_LICENSE("GPL");
diff --git a/drivers/spi/spi_topcliff_pch.c b/drivers/spi/spi_topcliff_pch.c
-index 58e187f..ad8f1f0 100644
+index 58e187f..4221f50 100644
--- a/drivers/spi/spi_topcliff_pch.c
+++ b/drivers/spi/spi_topcliff_pch.c
+@@ -1,7 +1,7 @@
+ /*
+ * SPI bus driver for the Topcliff PCH used by Intel SoCs
+ *
+- * Copyright (C) 2010 OKI SEMICONDUCTOR Co., LTD.
++ * Copyright (C) 2011 LAPIS Semiconductor Co., Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
@@ -26,6 +26,10 @@
#include <linux/spi/spidev.h>
#include <linux/module.h>
@@ -135,16 +147,27 @@
#define PCH_SPSR_TFD 0x000007C0
#define PCH_SPSR_RFD 0x0000F800
-@@ -52,8 +57,6 @@
+@@ -45,6 +50,8 @@
+ #define PCH_RX_THOLD 7
+ #define PCH_RX_THOLD_MAX 15
+
++#define PCH_TX_THOLD 2
++
+ #define PCH_MAX_BAUDRATE 5000000
+ #define PCH_MAX_FIFO_DEPTH 16
+
+@@ -52,9 +59,8 @@
#define STATUS_EXITING 2
#define PCH_SLEEP_TIME 10
-#define PCH_ADDRESS_SIZE 0x20
-
#define SSN_LOW 0x02U
++#define SSN_HIGH 0x03U
#define SSN_NO_CONTROL 0x00U
#define PCH_MAX_CS 0xFF
-@@ -73,22 +76,55 @@
+ #define PCI_DEVICE_ID_GE_SPI 0x8816
+@@ -73,22 +79,59 @@
#define SPSR_TFI_BIT (1 << 0)
#define SPSR_RFI_BIT (1 << 1)
#define SPSR_FI_BIT (1 << 2)
@@ -169,14 +192,18 @@
#define PCH_CLOCK_HZ 50000000
#define PCH_MAX_SPBR 1023
-+/* Definition for ML7213 by OKI SEMICONDUCTOR */
++/* Definition for ML7213/ML7223/ML7831 by LAPIS Semiconductor */
+#define PCI_VENDOR_ID_ROHM 0x10DB
+#define PCI_DEVICE_ID_ML7213_SPI 0x802c
++#define PCI_DEVICE_ID_ML7223_SPI 0x800F
++#define PCI_DEVICE_ID_ML7831_SPI 0x8816
+/*
+ * Set the number of SPI instance max
+ * Intel EG20T PCH : 1ch
-+ * OKI SEMICONDUCTOR ML7213 IOH : 2ch
++ * LAPIS Semiconductor ML7213 IOH : 2ch
++ * LAPIS Semiconductor ML7223 IOH : 1ch
++ * LAPIS Semiconductor ML7831 IOH : 1ch
+*/
+#define PCH_SPI_MAX_DEV 2
+
@@ -205,12 +232,13 @@
/**
* struct pch_spi_data - Holds the SPI channel specific details
* @io_remap_addr: The remapped PCI base address
-@@ -121,9 +157,12 @@
+@@ -121,9 +164,13 @@
* @cur_trans: The current transfer that this SPI driver is
* handling
* @board_dat: Reference to the SPI device data structure
+ * @plat_dev: platform_device structure
+ * @ch: SPI channel number
++ * @irq_reg_sts: Status of IRQ registration
*/
struct pch_spi_data {
void __iomem *io_remap_addr;
@@ -218,7 +246,7 @@
struct spi_master *master;
struct work_struct work;
struct workqueue_struct *wk;
-@@ -144,6 +183,10 @@ struct pch_spi_data {
+@@ -144,27 +191,38 @@ struct pch_spi_data {
struct spi_message *current_msg;
struct spi_transfer *cur_trans;
struct pch_spi_board_data *board_dat;
@@ -226,27 +254,32 @@
+ int ch;
+ struct pch_spi_dma_ctrl dma;
+ int use_dma;
++ u8 irq_reg_sts;
++ int save_total_len;
};
/**
-@@ -153,6 +196,7 @@ struct pch_spi_data {
- * @pci_req_sts: Status of pci_request_regions
+ * struct pch_spi_board_data - Holds the SPI device specific details
+ * @pdev: Pointer to the PCI device
+- * @irq_reg_sts: Status of IRQ registration
+- * @pci_req_sts: Status of pci_request_regions
* @suspend_sts: Status of suspend
- * @data: Pointer to SPI channel data structure
+- * @data: Pointer to SPI channel data structure
+ * @num: The number of SPI device instance
*/
struct pch_spi_board_data {
struct pci_dev *pdev;
-@@ -160,11 +204,18 @@ struct pch_spi_board_data {
- u8 pci_req_sts;
+- u8 irq_reg_sts;
+- u8 pci_req_sts;
u8 suspend_sts;
- struct pch_spi_data *data;
+- struct pch_spi_data *data;
+ int num;
+};
+
+struct pch_pd_dev_save {
+ int num;
+ struct platform_device *pd_save[PCH_SPI_MAX_DEV];
++ struct pch_spi_board_data *board_dat;
};
static struct pci_device_id pch_spi_pcidev_id[] = {
@@ -254,11 +287,13 @@
(1146 more lines skipped)
++++++ linux-2.6.37-ml7213-0003-gpio.patch
--- linux-2.6.37-ml7213-0003-gpio.patch
+++ linux-2.6.37-ml7213-0003-gpio.patch
@@ -1,25 +1,46 @@
+From c67c43c2d55d2b299178de7cf3b319d80719b232 Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 11:02:23 +0900
+Subject: [PATCH 06/15] GPIO driver
+
---
- drivers/gpio/Kconfig | 9 +
+ drivers/gpio/Kconfig | 20 +++-
drivers/gpio/Makefile | 1 +
- drivers/gpio/ml_ioh_gpio.c | 354 ++++++++++++++++++++++++++++++++++++++++++++
- drivers/gpio/pch_gpio.c | 1 +
- 4 files changed, 365 insertions(+), 0 deletions(-)
+ drivers/gpio/ml_ioh_gpio.c | 351 ++++++++++++++++++++++++++++++++++++++++++++
+ drivers/gpio/pch_gpio.c | 78 ++++++++--
+ 4 files changed, 436 insertions(+), 14 deletions(-)
create mode 100644 drivers/gpio/ml_ioh_gpio.c
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
-index 3143ac7..3dcd0ce 100644
+index 3143ac7..7642497 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
-@@ -333,6 +333,15 @@ config GPIO_PCH
+@@ -326,13 +326,29 @@ config GPIO_LANGWELL
+ Say Y here to support Intel Langwell/Penwell GPIO.
+
+ config GPIO_PCH
+- tristate "PCH GPIO of Intel Topcliff"
+- depends on PCI
++ tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO"
++ depends on PCI && X86
+ help
+ This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff
which is an IOH(Input/Output Hub) for x86 embedded processor.
This driver can access PCH GPIO device.
++ This driver also can be used for LAPIS Semiconductor IOH(Input/
++ Output Hub), ML7223 and ML7831.
++ ML7223 IOH is for MP(Media Phone) use.
++ ML7831 IOH is for general purpose use.
++ ML7223/ML7831 is companion chip for Intel Atom E6xx series.
++ ML7223/ML7831 is completely compatible for Intel EG20T PCH.
++
+config GPIO_ML_IOH
-+ tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
++ tristate "LAPIS Semiconductor ML7213 IOH GPIO support"
+ depends on PCI
+ help
+ ML7213 is companion chip for Intel Atom E6xx series.
-+ This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output
++ This driver can be used for LAPIS Semicon ML7213 IOH(Input/Output
+ Hub) which is for IVI(In-Vehicle Infotainment) use.
+ This driver can access the IOH's GPIO device.
+
@@ -37,12 +58,12 @@
+obj-$(CONFIG_GPIO_ML_IOH) += ml_ioh_gpio.o
diff --git a/drivers/gpio/ml_ioh_gpio.c b/drivers/gpio/ml_ioh_gpio.c
new file mode 100644
-index 0000000..ab84fe9
+index 0000000..4da2cdf
--- /dev/null
+++ b/drivers/gpio/ml_ioh_gpio.c
-@@ -0,0 +1,354 @@
+@@ -0,0 +1,351 @@
+/*
-+ * Copyright (C) 2010 OKI SEMICONDUCTOR Co., LTD.
++ * Copyright (C) 2010 LAPIS Semiconductor Co., Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
@@ -334,9 +355,6 @@
+ }
+ pci_disable_device(pdev);
+ pci_set_power_state(pdev, PCI_D0);
-+ ret = pci_enable_wake(pdev, PCI_D0, 1);
-+ if (ret)
-+ dev_err(&pdev->dev, "pci_enable_wake Failed -%d\n", ret);
+
+ return 0;
+}
@@ -393,13 +411,100 @@
+}
+module_exit(ioh_gpio_pci_exit);
+
-+MODULE_DESCRIPTION("OKI SEMICONDUCTOR ML-IOH series GPIO Driver");
++MODULE_DESCRIPTION("LAPIS Semiconductor ML-IOH series GPIO Driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/gpio/pch_gpio.c b/drivers/gpio/pch_gpio.c
-index 0eba0a7..b4e9915 100644
+index 0eba0a7..2e51fcb 100644
--- a/drivers/gpio/pch_gpio.c
+++ b/drivers/gpio/pch_gpio.c
-@@ -105,6 +105,7 @@ static int pch_gpio_direction_output(struct gpio_chip *gpio, unsigned nr,
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2010 OKI SEMICONDUCTOR Co., LTD.
++ * Copyright (C) 2011 LAPIS Semiconductor Co., Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+@@ -18,9 +18,6 @@
+ #include <linux/pci.h>
+ #include <linux/gpio.h>
+
+-#define PCH_GPIO_ALL_PINS 0xfff /* Mask for GPIO pins 0 to 11 */
+-#define GPIO_NUM_PINS 12 /* Specifies number of GPIO PINS GPIO0-GPIO11 */
+-
+ struct pch_regs {
+ u32 ien;
+ u32 istatus;
+@@ -33,18 +30,39 @@ struct pch_regs {
+ u32 pm;
+ u32 im0;
+ u32 im1;
+- u32 reserved[4];
++ u32 reserved[3];
++ u32 gpio_use_sel;
+ u32 reset;
+ };
+
++enum pch_type_t {
++ INTEL_EG20T_PCH,
++ OKISEMI_ML7223m_IOH, /* LAPIS Semiconductor ML7223 IOH PCIe Bus-m */
++ OKISEMI_ML7223n_IOH /* LAPIS Semiconductor ML7223 IOH PCIe Bus-n */
++};
++
++/* Specifies number of GPIO PINS */
++static int gpio_pins[] = {
++ [INTEL_EG20T_PCH] = 12,
++ [OKISEMI_ML7223m_IOH] = 8,
++ [OKISEMI_ML7223n_IOH] = 8,
++};
++
+ /**
+ * struct pch_gpio_reg_data - The register store data.
+ * @po_reg: To store contents of PO register.
+ * @pm_reg: To store contents of PM register.
++ * @im0_reg: To store contents of IM0 register.
++ * @im1_reg: To store contents of IM1 register.
++ * @gpio_use_sel_reg : To store contents of GPIO_USE_SEL register.
++ * (Only ML7223 Bus-n)
+ */
+ struct pch_gpio_reg_data {
+ u32 po_reg;
+ u32 pm_reg;
++ u32 im0_reg;
++ u32 im1_reg;
++ u32 gpio_use_sel_reg;
+ };
+
+ /**
+@@ -55,6 +73,10 @@ struct pch_gpio_reg_data {
+ * @gpio: Data for GPIO infrastructure.
+ * @pch_gpio_reg: Memory mapped Register data is saved here
+ * when suspend.
++ * @ioh: IOH ID
++ * @spinlock: Used for register access protection in
++ * interrupt context pch_irq_mask,
++ * pch_irq_unmask and pch_irq_type;
+ */
+ struct pch_gpio {
+ void __iomem *base;
+@@ -63,6 +85,8 @@ struct pch_gpio {
+ struct gpio_chip gpio;
+ struct pch_gpio_reg_data pch_gpio_reg;
+ struct mutex lock;
++ enum pch_type_t ioh;
++ spinlock_t spinlock;
+ };
+
+ static void pch_gpio_set(struct gpio_chip *gpio, unsigned nr, int val)
+@@ -96,7 +120,7 @@ static int pch_gpio_direction_output(struct gpio_chip *gpio, unsigned nr,
+ u32 reg_val;
+
+ mutex_lock(&chip->lock);
+- pm = ioread32(&chip->reg->pm) & PCH_GPIO_ALL_PINS;
++ pm = ioread32(&chip->reg->pm) & ((1 << gpio_pins[chip->ioh]) - 1);
+ pm |= (1 << nr);
+ iowrite32(pm, &chip->reg->pm);
+
+@@ -105,6 +129,7 @@ static int pch_gpio_direction_output(struct gpio_chip *gpio, unsigned nr,
reg_val |= (1 << nr);
else
reg_val &= ~(1 << nr);
@@ -407,6 +512,136 @@
mutex_unlock(&chip->lock);
+@@ -117,7 +142,7 @@ static int pch_gpio_direction_input(struct gpio_chip *gpio, unsigned nr)
+ u32 pm;
+
+ mutex_lock(&chip->lock);
+- pm = ioread32(&chip->reg->pm) & PCH_GPIO_ALL_PINS; /*bits 0-11*/
++ pm = ioread32(&chip->reg->pm) & ((1 << gpio_pins[chip->ioh]) - 1);
+ pm &= ~(1 << nr);
+ iowrite32(pm, &chip->reg->pm);
+ mutex_unlock(&chip->lock);
(125 more lines skipped)
++++++ linux-2.6.37-ml7213-0004-i2s_snd.patch (new)
--- linux-2.6.37-ml7213-0004-i2s_snd.patch
+++ linux-2.6.37-ml7213-0004-i2s_snd.patch
+From 3b3d26ed35a5659d7943e839311dff730aeb7dd3 Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 11:01:21 +0900
+Subject: [PATCH 08/15] I2S driver
+
+
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+---
+ sound/drivers/Kconfig | 48 +
+ sound/drivers/Makefile | 9 +-
+ sound/drivers/ioh_i2s.c | 1724 ++++++++++++++++++++++++++++++++++
+ sound/drivers/ioh_i2s.h | 155 ++++
+ sound/drivers/ioh_i2s_config.h | 1978 ++++++++++++++++++++++++++++++++++++++++
+ sound/drivers/ioh_i2s_dma.c | 1176 ++++++++++++++++++++++++
+ sound/drivers/ml7213-ioh.c | 1443 +++++++++++++++++++++++++++++
+ 7 files changed, 6532 insertions(+), 1 deletions(-)
+ create mode 100644 sound/drivers/ioh_i2s.c
+ create mode 100644 sound/drivers/ioh_i2s.h
+ create mode 100644 sound/drivers/ioh_i2s_config.h
+ create mode 100644 sound/drivers/ioh_i2s_dma.c
+ create mode 100644 sound/drivers/ml7213-ioh.c
+
+diff --git a/sound/drivers/Kconfig b/sound/drivers/Kconfig
+index c896116..f581ee1 100644
+--- a/sound/drivers/Kconfig
++++ b/sound/drivers/Kconfig
+@@ -209,6 +209,53 @@ config SND_AC97_POWER_SAVE
+
+ See Documentation/sound/alsa/powersave.txt for more details.
+
++config ML7213_I2S
++ tristate "LAPIS Semiconductor ML7213 IOH I2S Driver"
++ help
++ This driver is LAPIS Semiconductor ML7213 IOH I2S driver.
++ ML7213 is companion chip for Intel Atom E6xx series.
++ This driver is required to use ML7213 SoundCard.
++
++ To compile this driver as a module, choose M here: the module
++ will be called ioh_i2s.
++
++config ML7213_I2S_DEBUG
++ bool "ML7213 I2S driver debug"
++ depends on ML7213_I2S
++ default n
++ help
++ This option enables the addition of a debugging code to
++ the LAPIS Semiconductor ML7213 IOH I2S Driver. If you are unsure, say N.
++
++ To compile this driver as a debugging module, choose Y here: the module
++ will be called ioh_i2s.
++
++config SND_ML7213_I2S
++ tristate "LAPIS Semicon ML7213 SoundCard Driver for ML26124 Audio Codec"
++ depends on ML7213_I2S
++ default y
++ help
++ This driver is LAPIS Semiconductor ML7213 IOH SoundCard driver
++ who controls ML26124 Audio Codec connected by I2S of ML7213 IOH.
++ Control of ML26124 uses I2C of ML7213 IOH.
++
++ To compile this driver as a module, choose M here: the module
++ will be called snd-ml7213ioh.
++
++
++config ML7213_I2S_DMA
++ tristate "LAPIS Semiconductor ML7213 IOH special DMA driver of I2S"
++ depends on ML7213_I2S
++ default n
++ help
++ This driver is LAPIS Semiconductor ML7213 IOH special DMA driver of I2S.
++ ML7213 is companion chip for Intel Atom E6xx series.
++ This driver is required to use ML7213 SoundCard by the maximum performance.
++ If this driver is not used, use a standard DMA driver.
++
++ To compile this driver as a module, choose M here: the module
++ will be called ioh_i2s_dma.
++
+ config SND_AC97_POWER_SAVE_DEFAULT
+ int "Default time-out for AC97 power-save mode"
+ depends on SND_AC97_POWER_SAVE
+@@ -219,4 +266,5 @@ config SND_AC97_POWER_SAVE_DEFAULT
+
+ See SND_AC97_POWER_SAVE for more details.
+
++
+ endif # SND_DRIVERS
+diff --git a/sound/drivers/Makefile b/sound/drivers/Makefile
+index 1a8440c..19c1825 100644
+--- a/sound/drivers/Makefile
++++ b/sound/drivers/Makefile
+@@ -11,15 +11,22 @@ snd-portman2x4-objs := portman2x4.o
+ snd-serial-u16550-objs := serial-u16550.o
+ snd-virmidi-objs := virmidi.o
+ snd-ml403-ac97cr-objs := ml403-ac97cr.o pcm-indirect2.o
++snd-ml7213ioh-objs := ml7213-ioh.o
+
+ # Toplevel Module Dependency
+ obj-$(CONFIG_SND_DUMMY) += snd-dummy.o
+ obj-$(CONFIG_SND_ALOOP) += snd-aloop.o
+ obj-$(CONFIG_SND_VIRMIDI) += snd-virmidi.o
+ obj-$(CONFIG_SND_SERIAL_U16550) += snd-serial-u16550.o
++obj-$(CONFIG_SND_ML7213_I2S) += snd-ml7213ioh.o
+ obj-$(CONFIG_SND_MTPAV) += snd-mtpav.o
+ obj-$(CONFIG_SND_MTS64) += snd-mts64.o
+ obj-$(CONFIG_SND_PORTMAN2X4) += snd-portman2x4.o
+ obj-$(CONFIG_SND_ML403_AC97CR) += snd-ml403-ac97cr.o
+-
+ obj-$(CONFIG_SND) += opl3/ opl4/ mpu401/ vx/ pcsp/
++obj-$(CONFIG_ML7213_I2S) += ioh_i2s.o
++obj-$(CONFIG_ML7213_I2S_DMA) += ioh_i2s_dma.o
++ifeq ($(CONFIG_ML7213_I2S_DEBUG),y)
++EXTRA_CFLAG += -DDEBUG
++endif
++
+diff --git a/sound/drivers/ioh_i2s.c b/sound/drivers/ioh_i2s.c
+new file mode 100644
+index 0000000..37b565d
+--- /dev/null
++++ b/sound/drivers/ioh_i2s.c
+@@ -0,0 +1,1724 @@
++/*
++ * Copyright (C) 2010 LAPIS Semiconductor Co., Ltd.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; version 2 of the License.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
++ */
++#include <linux/slab.h>
++#include <linux/module.h>
++#include <linux/io.h>
++#include <linux/ctype.h>
++#include <linux/interrupt.h>
++#include <linux/device.h>
++
++#include "ioh_i2s.h"
++#include "ioh_i2s_config.h"
++
++#include <linux/dmaengine.h>
++#include <linux/dma-mapping.h>
++#include <linux/scatterlist.h>
++#include <linux/completion.h>
++#include <linux/delay.h>
++
++#include <linux/string.h>
++#include <linux/timer.h>
++#include <linux/workqueue.h>
++
++#include <linux/pci.h>
++#include <linux/pch_dma.h>
++
++#define MAX_I2S_IF MAX_I2S_CH
++
++#define I2SCLKCNT0_OFFSET 0x3000
++#define I2SCLKCNT1_OFFSET 0x3010
++#define I2SCLKCNT2_OFFSET 0x3020
++#define I2SCLKCNT3_OFFSET 0x3030
++#define I2SCLKCNT4_OFFSET 0x3040
++#define I2SCLKCNT5_OFFSET 0x3050
++#define I2SISTATUS_OFFSET 0x3080
++#define I2SIDISP_OFFSET 0x3084
++#define I2SIMASK_OFFSET 0x3088
++#define I2SIMASKCLR_OFFSET 0x308C
++#define I2SSRST_OFFSET 0x3FFC
++#define I2SDRTX_OFFSET 0x0
++#define I2SCNTTX_OFFSET 0x4
++#define I2SFIFOCTX_OFFSET 0x8
++#define I2SAFTX_OFFSET 0xC
++#define I2SAETX_OFFSET 0x10
++#define I2SMSKTX_OFFSET 0x14
++#define I2SISTTX_OFFSET 0x18
++#define I2SMONTX_OFFSET 0x1C
++#define I2SDRRX_OFFSET 0x20
++#define I2SCNTRX_OFFSET 0x24
++#define I2SFIFOCRX_OFFSET 0x28
++#define I2SAFRX_OFFSET 0x2C
++#define I2SAERX_OFFSET 0x30
++#define I2SMSKRX_OFFSET 0x34
++#define I2SISTRX_OFFSET 0x38
++#define I2SMONRX_OFFSET 0x3C
++#define FIRST_TX_OFFSET 0x0
++#define FIRST_RX_OFFSET 0x0
++
++#define I2SDRTXMIRROR_OFFSET 0x100
++#define I2SDRRXMIRROR_OFFSET 0x400
++
++#define TX_OFFSET_INCREMENT 0x800
++
++#define I2S_ALL_INTERRUPT_BITS 0x3F003F
++#define I2S_IDISP_BITS 0x3F003F
(6425 more lines skipped)
++++++ linux-2.6.37-ml7213-0005-aec.patch (new)
--- linux-2.6.37-ml7213-0005-aec.patch
+++ linux-2.6.37-ml7213-0005-aec.patch
+From 66b364c938c536f955d70f2f4320fc4637121adc Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 11:10:38 +0900
+Subject: [PATCH 01/15] DSP(AEC) driver
+
+
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+---
+ drivers/char/Kconfig | 7 +
+ drivers/char/Makefile | 2 +
+ drivers/char/ioh_aec/ML7223-0101-0-p_0.dat |14336 ++++++++++++++++++++++++++++
+ drivers/char/ioh_aec/ML7223-0101-0-x_0.dat | 512 +
+ drivers/char/ioh_aec/ML7223-0101-0-y_0.dat | 4608 +++++++++
+ drivers/char/ioh_aec/ML7223-0101-1-p_0.dat |14336 ++++++++++++++++++++++++++++
+ drivers/char/ioh_aec/ML7223-0101-1-x_0.dat | 512 +
+ drivers/char/ioh_aec/ML7223-0101-1-y_0.dat | 4608 +++++++++
+ drivers/char/ioh_aec/Makefile | 5 +
+ drivers/char/ioh_aec/ioh_aec_codec_hal.c | 3962 ++++++++
+ drivers/char/ioh_aec/ioh_aec_codec_hal.h | 743 ++
+ drivers/char/ioh_aec/ioh_aec_def.h | 380 +
+ drivers/char/ioh_aec/ioh_aec_if.h | 1085 +++
+ drivers/char/ioh_aec/ioh_aec_kernel.c | 3573 +++++++
+ drivers/char/ioh_aec/ioh_aec_kernel.h | 346 +
+ drivers/char/ioh_aec/ioh_aec_pci.c | 273 +
+ drivers/char/ioh_aec/ioh_aec_table.tab | 220 +
+ 17 files changed, 49508 insertions(+), 0 deletions(-)
+ create mode 100644 drivers/char/ioh_aec/ML7223-0101-0-p_0.dat
+ create mode 100644 drivers/char/ioh_aec/ML7223-0101-0-x_0.dat
+ create mode 100644 drivers/char/ioh_aec/ML7223-0101-0-y_0.dat
+ create mode 100644 drivers/char/ioh_aec/ML7223-0101-1-p_0.dat
+ create mode 100644 drivers/char/ioh_aec/ML7223-0101-1-x_0.dat
+ create mode 100644 drivers/char/ioh_aec/ML7223-0101-1-y_0.dat
+ create mode 100644 drivers/char/ioh_aec/Makefile
+ create mode 100644 drivers/char/ioh_aec/ioh_aec_codec_hal.c
+ create mode 100644 drivers/char/ioh_aec/ioh_aec_codec_hal.h
+ create mode 100644 drivers/char/ioh_aec/ioh_aec_def.h
+ create mode 100644 drivers/char/ioh_aec/ioh_aec_if.h
+ create mode 100644 drivers/char/ioh_aec/ioh_aec_kernel.c
+ create mode 100644 drivers/char/ioh_aec/ioh_aec_kernel.h
+ create mode 100644 drivers/char/ioh_aec/ioh_aec_pci.c
+ create mode 100644 drivers/char/ioh_aec/ioh_aec_table.tab
+
+diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
+index 43d3395..53df494 100644
+--- a/drivers/char/Kconfig
++++ b/drivers/char/Kconfig
+@@ -4,6 +4,13 @@
+
+ menu "Character devices"
+
++config IOH_AEC
++ tristate "IOH AEC"
++ depends on PCI
++ help
++ If you say yes to this option, support will be included for the
++ IOH AEC Driver.
++
+ config VT
+ bool "Virtual terminal" if EMBEDDED
+ depends on !S390
+diff --git a/drivers/char/Makefile b/drivers/char/Makefile
+index ba53ec9..aeb71c4 100644
+--- a/drivers/char/Makefile
++++ b/drivers/char/Makefile
+@@ -98,3 +98,5 @@ obj-$(CONFIG_RAMOOPS) += ramoops.o
+
+ obj-$(CONFIG_JS_RTC) += js-rtc.o
+ js-rtc-y = rtc.o
++
++obj-$(CONFIG_IOH_AEC) += ioh_aec/
+diff --git a/drivers/char/ioh_aec/ML7223-0101-0-p_0.dat b/drivers/char/ioh_aec/ML7223-0101-0-p_0.dat
+new file mode 100644
+index 0000000..4dbf015
+--- /dev/null
++++ b/drivers/char/ioh_aec/ML7223-0101-0-p_0.dat
+@@ -0,0 +1,14336 @@
++0x0F0D,
++0x0000,
++0x0F7B,
++0x0000,
++0x2F0E,
++0x0030,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE006,
++0x1760,
++0x1760,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE00C,
++0x1760,
++0x1760,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE012,
++0x1760,
++0x1760,
++0x2F2E,
++0x20CA,
++0x1760,
++0x1760,
++0x1760,
++0x1760,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE01E,
++0x1760,
++0x1760,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE024,
++0x1760,
++0x1760,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE02A,
++0x1760,
++0x1760,
++0x0F2D,
++0x00E4,
++0x0F01,
++0x0003,
++0x1300,
++0xFA00,
++0x0F01,
++0xFFFF,
++0x1300,
++0xF140,
++0x1300,
++0xF141,
++0x1300,
++0xF142,
++0x1300,
++0xF143,
++0x0F5B,
++0x0002,
++0x1764,
++0x004A,
++0x1300,
++0xF140,
++0x1300,
++0xF141,
++0x1300,
++0xF142,
++0x1300,
++0xF143,
++0x0F01,
++0x0001,
++0x1300,
++0xF502,
++0x1300,
++0xF602,
++0x0F09,
++0x0000,
++0x0F5B,
++0x2E00,
++0x1761,
++0x1688,
++0x0F09,
++0x0000,
++0x0F5B,
++0x1E00,
++0x1761,
++0x3688,
++0x2F3E,
++0x08ED,
++0x1760,
++0x0F09,
++0x2800,
++0x2F3E,
++0x08ED,
++0x1760,
++0x0F09,
++0x2840,
++0x2F3E,
++0x08ED,
++0x1760,
++0x0F09,
++0x2880,
++0x2F3E,
++0x1FE2,
++0x0F01,
++0x0000,
++0x0F11,
++0xFFFF,
++0x2F1E,
++0x1FED,
++0x1760,
++0x1358,
++0x1D24,
++0x2F3E,
++0x16ED,
(49464 more lines skipped)
++++++ linux-2.6.37-ml7213-0005-mlb.patch
--- linux-2.6.37-ml7213-0005-mlb.patch
+++ linux-2.6.37-ml7213-0005-mlb.patch
@@ -1,6 +1,13 @@
+From d545f9b8598ecd4a1332cd7f4f82584850287744 Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 11:11:26 +0900
+Subject: [PATCH 09/15] Media LB driver
+
+
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm at gmail.com>
---
drivers/char/Kconfig | 7 +
- drivers/char/Makefile | 2 +
+ drivers/char/Makefile | 1 +
drivers/char/ioh_mlb/Makefile | 6 +
drivers/char/ioh_mlb/ioh_common.h | 50 +
drivers/char/ioh_mlb/ioh_mlb_api.h | 106 ++
@@ -9,7 +16,7 @@
drivers/char/ioh_mlb/ioh_mlb_pci.c | 1444 +++++++++++++++++++++
drivers/char/ioh_mlb/ioh_mlb_pci.h | 71 +
drivers/char/ioh_mlb/ioh_mlb_register_def.h | 127 ++
- 10 files changed, 3891 insertions(+), 0 deletions(-)
+ 10 files changed, 3890 insertions(+), 0 deletions(-)
create mode 100644 drivers/char/ioh_mlb/Makefile
create mode 100644 drivers/char/ioh_mlb/ioh_common.h
create mode 100644 drivers/char/ioh_mlb/ioh_mlb_api.h
@@ -20,7 +27,7 @@
create mode 100644 drivers/char/ioh_mlb/ioh_mlb_register_def.h
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
-index 43d3395..359a42f 100644
+index 53df494..6d084f4 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -4,6 +4,13 @@
@@ -28,25 +35,25 @@
menu "Character devices"
+config IOH_MEDIALB
-+ tristate "OKI SEMICONDUCTOR ML7213 IOH MediaLB support"
++ tristate "LAPIS Semiconductor ML7213 IOH MediaLB support"
+ depends on PCI
+ help
+ If you say yes to this option, support will be included for the
+ IOH MEDIA LB Driver.
+
- config VT
- bool "Virtual terminal" if EMBEDDED
- depends on !S390
+ config IOH_AEC
+ tristate "IOH AEC"
+ depends on PCI
diff --git a/drivers/char/Makefile b/drivers/char/Makefile
-index ba53ec9..7c8d51a 100644
+index aeb71c4..d37cdf2 100644
--- a/drivers/char/Makefile
+++ b/drivers/char/Makefile
-@@ -98,3 +98,5 @@ obj-$(CONFIG_RAMOOPS) += ramoops.o
-
+@@ -99,4 +99,5 @@ obj-$(CONFIG_RAMOOPS) += ramoops.o
obj-$(CONFIG_JS_RTC) += js-rtc.o
js-rtc-y = rtc.o
-+
+
+obj-$(CONFIG_IOH_MEDIALB) += ioh_mlb/
+ obj-$(CONFIG_IOH_AEC) += ioh_aec/
diff --git a/drivers/char/ioh_mlb/Makefile b/drivers/char/ioh_mlb/Makefile
new file mode 100644
index 0000000..56bc4d6
@@ -61,12 +68,12 @@
+
diff --git a/drivers/char/ioh_mlb/ioh_common.h b/drivers/char/ioh_mlb/ioh_common.h
new file mode 100644
-index 0000000..2acbe5b
+index 0000000..a38de60
--- /dev/null
+++ b/drivers/char/ioh_mlb/ioh_common.h
@@ -0,0 +1,50 @@
+/*
-+ * Copyright (C) 2010 OKI SEMICONDUCTOR CO., LTD.
++ * Copyright (C) LAPIS Semiconductor Co., Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
@@ -117,12 +124,12 @@
+
diff --git a/drivers/char/ioh_mlb/ioh_mlb_api.h b/drivers/char/ioh_mlb/ioh_mlb_api.h
new file mode 100644
-index 0000000..b1ab6ac
+index 0000000..4c4539e
--- /dev/null
+++ b/drivers/char/ioh_mlb/ioh_mlb_api.h
@@ -0,0 +1,106 @@
+/*
-+ * Copyright (C) 2010 OKI SEMICONDUCTOR CO., LTD.
++ * Copyright (C) LAPIS Semiconductor Co., Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
@@ -229,12 +236,12 @@
+#endif // #ifndef __IOH_MLB_API_H__
diff --git a/drivers/char/ioh_mlb/ioh_mlb_hal.c b/drivers/char/ioh_mlb/ioh_mlb_hal.c
new file mode 100644
-index 0000000..5d9af1a
+index 0000000..5b4b6de
--- /dev/null
+++ b/drivers/char/ioh_mlb/ioh_mlb_hal.c
@@ -0,0 +1,1856 @@
+/*
-+ * Copyright (C) 2010 OKI SEMICONDUCTOR CO., LTD.
++ * Copyright (C) 2010 LAPIS Semiconductor Co., Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
@@ -2091,12 +2098,12 @@
+}
diff --git a/drivers/char/ioh_mlb/ioh_mlb_hal.h b/drivers/char/ioh_mlb/ioh_mlb_hal.h
new file mode 100644
-index 0000000..54e54d7
+index 0000000..eb0a2f3
--- /dev/null
+++ b/drivers/char/ioh_mlb/ioh_mlb_hal.h
@@ -0,0 +1,222 @@
+/*
-+ * Copyright (C) 2010 OKI SEMICONDUCTOR CO., LTD.
++ * Copyright (C) 2010 LAPIS Semiconductor Co., Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
@@ -2319,12 +2326,12 @@
+#endif // #ifndef __IOH_MLB_HAL_H__
diff --git a/drivers/char/ioh_mlb/ioh_mlb_pci.c b/drivers/char/ioh_mlb/ioh_mlb_pci.c
new file mode 100644
-index 0000000..60e446f
+index 0000000..6573046
--- /dev/null
+++ b/drivers/char/ioh_mlb/ioh_mlb_pci.c
@@ -0,0 +1,1444 @@
+/*
-+ * Copyright (C) 2010 OKI SEMICONDUCTOR CO., LTD.
++ * Copyright (C) 2010 LAPIS Semiconductor Co., Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
@@ -3769,12 +3776,12 @@
+MODULE_DEVICE_TABLE(pci, ioh_mlb_pcidev_ids);
diff --git a/drivers/char/ioh_mlb/ioh_mlb_pci.h b/drivers/char/ioh_mlb/ioh_mlb_pci.h
new file mode 100644
-index 0000000..98b58c4
+index 0000000..039f21c
--- /dev/null
+++ b/drivers/char/ioh_mlb/ioh_mlb_pci.h
@@ -0,0 +1,71 @@
+/*
-+ * Copyright (C) 2010 OKI SEMICONDUCTOR CO., LTD.
++ * Copyright (C) 2010 LAPIS Semiconductor Co., Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
@@ -3846,12 +3853,12 @@
+
diff --git a/drivers/char/ioh_mlb/ioh_mlb_register_def.h b/drivers/char/ioh_mlb/ioh_mlb_register_def.h
new file mode 100644
-index 0000000..a1c865a
+index 0000000..710c1a6
--- /dev/null
+++ b/drivers/char/ioh_mlb/ioh_mlb_register_def.h
@@ -0,0 +1,127 @@
+/*
-+ * Copyright (C) 2010 OKI SEMICONDUCTOR CO., LTD.
++ * Copyright (C) LAPIS Semiconductor Co., Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
@@ -3978,5 +3985,5 @@
+
+#endif // #ifndef __IOH_MLB_REGISTER_DEF_H__
--
-1.7.4
+1.7.7.6
++++++ linux-2.6.37-ml7213-0006-video_in.patch (new)
--- linux-2.6.37-ml7213-0006-video_in.patch
+++ linux-2.6.37-ml7213-0006-video_in.patch
+From 65ccb0ffe697f93219a7ba74d85edfe356e8a487 Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 10:59:52 +0900
+Subject: [PATCH 15/15] Digital Video Input driver
+
+
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+---
+ drivers/media/video/Kconfig | 79 +
+ drivers/media/video/Makefile | 15 +
+ drivers/media/video/ioh_video_in.c | 4704 +++++++++++++++++++++++++
+ drivers/media/video/ioh_video_in_main.h | 1058 ++++++
+ drivers/media/video/ioh_video_in_ml86v76651.c | 620 ++++
+ drivers/media/video/ioh_video_in_ncm13j.c | 584 +++
+ drivers/media/video/ioh_video_in_ov7620.c | 637 ++++
+ drivers/media/video/ioh_video_in_ov9653.c | 818 +++++
+ 8 files changed, 8515 insertions(+), 0 deletions(-)
+ create mode 100644 drivers/media/video/ioh_video_in.c
+ create mode 100644 drivers/media/video/ioh_video_in_main.h
+ create mode 100644 drivers/media/video/ioh_video_in_ml86v76651.c
+ create mode 100644 drivers/media/video/ioh_video_in_ncm13j.c
+ create mode 100644 drivers/media/video/ioh_video_in_ov7620.c
+ create mode 100644 drivers/media/video/ioh_video_in_ov9653.c
+
+diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
+index 6830d28..072899c 100644
+--- a/drivers/media/video/Kconfig
++++ b/drivers/media/video/Kconfig
+@@ -878,6 +878,85 @@ config VIDEO_MX2
+ Interface
+
+
++config IOH_VIDEOIN
++ tristate "LAPIS Semiconductor IOH(ML7213/ML7223) VIDEO IN"
++ depends on PCI && DMADEVICES
++ select PCH_DMA
++ help
++ This driver is for Video IN of LAPIS Semiconductor ML7213/ML7223 IOHs
++ (Input/Output Hub).
++ These ML7213/ML7223 IOHs are companion chip for Intel Atom E6xx
++ series.
++ ML7213 IOH is for IVI(In-Vehicle Infotainment) use and ML7223 IOH is
++ for MP(Media Phone) use.
++
++config IOH_VIDEO_DEVICE_SELECT
++ boolean
++
++choice
++ prompt "Select IOH VIDEO IN Device"
++ depends on IOH_VIDEOIN
++ help
++ This is a selection of used device of the IOH VIDEO.
++
++config IOH_ML86V76651
++ boolean "IOH VIDEO IN(ML86V76651)"
++ depends on PCI && IOH_VIDEOIN && I2C_EG20T
++ help
++ If you say yes to this option, support will be included for the
++ IOH VIDEO ON Driver(ML86V76651).
++
++config IOH_ML86V76653
++ boolean "IOH VIDEO IN(ML86V76653)"
++ depends on PCI && IOH_VIDEOIN && I2C_EG20T
++ help
++ If you say yes to this option, support will be included for the
++ IOH VIDEO ON Driver(ML86V76653).
++
++config IOH_OV7620
++ boolean "IOH VIDEO IN(OV7620)"
++ depends on PCI && IOH_VIDEOIN && I2C_EG20T
++ help
++ If you say yes to this option, support will be included for the
++ IOH VIDEO ON Driver(OV7620).
++
++config IOH_OV9653
++ boolean "IOH VIDEO IN(OV9653)"
++ depends on PCI && IOH_VIDEOIN && I2C_EG20T
++ help
++ If you say yes to this option, support will be included for the
++ IOH VIDEO ON Driver(OV9653).
++
++config IOH_NCM13J
++ boolean "IOH VIDEO IN(NCM13-J)"
++ depends on PCI && IOH_VIDEOIN && I2C_EG20T
++ help
++ If you say yes to this option, support will be included for the
++ IOH VIDEO ON Driver(NCM13-J).
++endchoice
++
++config IOH_VIDEO_FRAMEWORK_SELECT
++ boolean
++
++choice
++ prompt "Select IOH VIDEO IN Videobuf Freamework"
++ depends on IOH_VIDEOIN
++ help
++ This is a selection of used the method of video buffer framework.
++
++config IOH_VIDEO_IN_VMALLOC
++ boolean "VMALLOC Framework"
++ select VIDEOBUF_VMALLOC
++ help
++ If you say yes to this option, VMALLOC framework is used.
++
++config IOH_VIDEO_IN_DMA_CONTIG
++ boolean "DMA-CONTIG Framework"
++ select VIDEOBUF_DMA_CONTIG
++ help
++ If you say yes to this option, DMA-CONTIG framework is used.
++endchoice
++
+ #
+ # USB Multimedia device configuration
+ #
+diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
+index af79d47..797636c 100644
+--- a/drivers/media/video/Makefile
++++ b/drivers/media/video/Makefile
+@@ -180,6 +180,21 @@ obj-y += davinci/
+
+ obj-$(CONFIG_ARCH_OMAP) += omap/
+
++obj-$(CONFIG_IOH_ML86V76651) += ioh_video_in_ml86v76651.o
++obj-$(CONFIG_IOH_ML86V76653) += ioh_video_in_ml86v76651.o
++obj-$(CONFIG_IOH_OV7620) += ioh_video_in_ov7620.o
++obj-$(CONFIG_IOH_OV9653) += ioh_video_in_ov9653.o
++obj-$(CONFIG_IOH_NCM13J) += ioh_video_in_ncm13j.o
++obj-$(CONFIG_IOH_VIDEOIN) += ioh_video_in.o
++ifeq ($(CONFIG_IOH_ML86V76653),y)
++EXTRA_CFLAGS += -DIOH_VIDEO_IN_ML86V76653
++endif
++ifeq ($(CONFIG_IOH_VIDEO_IN_DMA_CONTIG),y)
++EXTRA_CFLAGS += -DIOH_VIDEO_IN_DMA_CONTIG
++endif
++
++
+ EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core
+ EXTRA_CFLAGS += -Idrivers/media/dvb/frontends
+ EXTRA_CFLAGS += -Idrivers/media/common/tuners
++EXTRA_CFLAGS += -Idrivers/i2c/busses/
+diff --git a/drivers/media/video/ioh_video_in.c b/drivers/media/video/ioh_video_in.c
+new file mode 100644
+index 0000000..55c668d
+--- /dev/null
++++ b/drivers/media/video/ioh_video_in.c
+@@ -0,0 +1,4704 @@
++/*
++ * Copyright (C) 2010 LAPIS Semiconductor Co., Ltd.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; version 2 of the License.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
++ */
++
++#include <linux/module.h>
++#include <linux/errno.h>
++#include <linux/fs.h>
++#include <linux/kernel.h>
++#include <linux/mm.h>
++#include <linux/init.h>
++#include <linux/pci.h>
++#include <linux/version.h>
++#include <linux/mutex.h>
++#include <linux/videodev2.h>
++#include <linux/slab.h>
++#include <linux/dmaengine.h>
++#include <linux/pch_dma.h>
++#include <linux/interrupt.h>
++#include <linux/kthread.h>
++#include <linux/freezer.h>
++#include <linux/wait.h>
++#include <linux/list.h>
++#include <linux/spinlock.h>
++#include <linux/delay.h>
++#include <linux/i2c.h>
++#ifdef IOH_VIDEO_IN_DMA_CONTIG
++#include <media/videobuf-dma-contig.h>
++#else
++#include <media/videobuf-vmalloc.h>
++#endif
++#include <media/v4l2-device.h>
++#include <media/v4l2-ioctl.h>
++
++#include "ioh_video_in_main.h"
++
++#define IOH_VIDEOIN_THREAD_NAME "ioh_videoin_thread"
++
++#define IOH_VIN_MAJOR_VERSION 1
++#define IOH_VIN_MINOR_VERSION 0
(8402 more lines skipped)
++++++ linux-2.6.37-ml7213-0007-aec.patch (new)
--- linux-2.6.37-ml7213-0007-aec.patch
+++ linux-2.6.37-ml7213-0007-aec.patch
+From 66b364c938c536f955d70f2f4320fc4637121adc Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 11:10:38 +0900
+Subject: [PATCH 01/15] DSP(AEC) driver
+
+
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+---
+ drivers/char/Kconfig | 7 +
+ drivers/char/Makefile | 2 +
+ drivers/char/ioh_aec/ML7223-0101-0-p_0.dat |14336 ++++++++++++++++++++++++++++
+ drivers/char/ioh_aec/ML7223-0101-0-x_0.dat | 512 +
+ drivers/char/ioh_aec/ML7223-0101-0-y_0.dat | 4608 +++++++++
+ drivers/char/ioh_aec/ML7223-0101-1-p_0.dat |14336 ++++++++++++++++++++++++++++
+ drivers/char/ioh_aec/ML7223-0101-1-x_0.dat | 512 +
+ drivers/char/ioh_aec/ML7223-0101-1-y_0.dat | 4608 +++++++++
+ drivers/char/ioh_aec/Makefile | 5 +
+ drivers/char/ioh_aec/ioh_aec_codec_hal.c | 3962 ++++++++
+ drivers/char/ioh_aec/ioh_aec_codec_hal.h | 743 ++
+ drivers/char/ioh_aec/ioh_aec_def.h | 380 +
+ drivers/char/ioh_aec/ioh_aec_if.h | 1085 +++
+ drivers/char/ioh_aec/ioh_aec_kernel.c | 3573 +++++++
+ drivers/char/ioh_aec/ioh_aec_kernel.h | 346 +
+ drivers/char/ioh_aec/ioh_aec_pci.c | 273 +
+ drivers/char/ioh_aec/ioh_aec_table.tab | 220 +
+ 17 files changed, 49508 insertions(+), 0 deletions(-)
+ create mode 100644 drivers/char/ioh_aec/ML7223-0101-0-p_0.dat
+ create mode 100644 drivers/char/ioh_aec/ML7223-0101-0-x_0.dat
+ create mode 100644 drivers/char/ioh_aec/ML7223-0101-0-y_0.dat
+ create mode 100644 drivers/char/ioh_aec/ML7223-0101-1-p_0.dat
+ create mode 100644 drivers/char/ioh_aec/ML7223-0101-1-x_0.dat
+ create mode 100644 drivers/char/ioh_aec/ML7223-0101-1-y_0.dat
+ create mode 100644 drivers/char/ioh_aec/Makefile
+ create mode 100644 drivers/char/ioh_aec/ioh_aec_codec_hal.c
+ create mode 100644 drivers/char/ioh_aec/ioh_aec_codec_hal.h
+ create mode 100644 drivers/char/ioh_aec/ioh_aec_def.h
+ create mode 100644 drivers/char/ioh_aec/ioh_aec_if.h
+ create mode 100644 drivers/char/ioh_aec/ioh_aec_kernel.c
+ create mode 100644 drivers/char/ioh_aec/ioh_aec_kernel.h
+ create mode 100644 drivers/char/ioh_aec/ioh_aec_pci.c
+ create mode 100644 drivers/char/ioh_aec/ioh_aec_table.tab
+
+diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
+index 43d3395..53df494 100644
+--- a/drivers/char/Kconfig
++++ b/drivers/char/Kconfig
+@@ -4,6 +4,13 @@
+
+ menu "Character devices"
+
++config IOH_AEC
++ tristate "IOH AEC"
++ depends on PCI
++ help
++ If you say yes to this option, support will be included for the
++ IOH AEC Driver.
++
+ config VT
+ bool "Virtual terminal" if EMBEDDED
+ depends on !S390
+diff --git a/drivers/char/Makefile b/drivers/char/Makefile
+index ba53ec9..aeb71c4 100644
+--- a/drivers/char/Makefile
++++ b/drivers/char/Makefile
+@@ -98,3 +98,5 @@ obj-$(CONFIG_RAMOOPS) += ramoops.o
+
+ obj-$(CONFIG_JS_RTC) += js-rtc.o
+ js-rtc-y = rtc.o
++
++obj-$(CONFIG_IOH_AEC) += ioh_aec/
+diff --git a/drivers/char/ioh_aec/ML7223-0101-0-p_0.dat b/drivers/char/ioh_aec/ML7223-0101-0-p_0.dat
+new file mode 100644
+index 0000000..4dbf015
+--- /dev/null
++++ b/drivers/char/ioh_aec/ML7223-0101-0-p_0.dat
+@@ -0,0 +1,14336 @@
++0x0F0D,
++0x0000,
++0x0F7B,
++0x0000,
++0x2F0E,
++0x0030,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE006,
++0x1760,
++0x1760,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE00C,
++0x1760,
++0x1760,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE012,
++0x1760,
++0x1760,
++0x2F2E,
++0x20CA,
++0x1760,
++0x1760,
++0x1760,
++0x1760,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE01E,
++0x1760,
++0x1760,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE024,
++0x1760,
++0x1760,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE02A,
++0x1760,
++0x1760,
++0x0F2D,
++0x00E4,
++0x0F01,
++0x0003,
++0x1300,
++0xFA00,
++0x0F01,
++0xFFFF,
++0x1300,
++0xF140,
++0x1300,
++0xF141,
++0x1300,
++0xF142,
++0x1300,
++0xF143,
++0x0F5B,
++0x0002,
++0x1764,
++0x004A,
++0x1300,
++0xF140,
++0x1300,
++0xF141,
++0x1300,
++0xF142,
++0x1300,
++0xF143,
++0x0F01,
++0x0001,
++0x1300,
++0xF502,
++0x1300,
++0xF602,
++0x0F09,
++0x0000,
++0x0F5B,
++0x2E00,
++0x1761,
++0x1688,
++0x0F09,
++0x0000,
++0x0F5B,
++0x1E00,
++0x1761,
++0x3688,
++0x2F3E,
++0x08ED,
++0x1760,
++0x0F09,
++0x2800,
++0x2F3E,
++0x08ED,
++0x1760,
++0x0F09,
++0x2840,
++0x2F3E,
++0x08ED,
++0x1760,
++0x0F09,
++0x2880,
++0x2F3E,
++0x1FE2,
++0x0F01,
++0x0000,
++0x0F11,
++0xFFFF,
++0x2F1E,
++0x1FED,
++0x1760,
++0x1358,
++0x1D24,
++0x2F3E,
++0x16ED,
(49464 more lines skipped)
++++++ linux-2.6.37-ml7213-0007-mlb.patch (new)
--- linux-2.6.37-ml7213-0007-mlb.patch
+++ linux-2.6.37-ml7213-0007-mlb.patch
+From d545f9b8598ecd4a1332cd7f4f82584850287744 Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 11:11:26 +0900
+Subject: [PATCH 09/15] Media LB driver
+
+
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+---
+ drivers/char/Kconfig | 7 +
+ drivers/char/Makefile | 1 +
+ drivers/char/ioh_mlb/Makefile | 6 +
+ drivers/char/ioh_mlb/ioh_common.h | 50 +
+ drivers/char/ioh_mlb/ioh_mlb_api.h | 106 ++
+ drivers/char/ioh_mlb/ioh_mlb_hal.c | 1856 +++++++++++++++++++++++++++
+ drivers/char/ioh_mlb/ioh_mlb_hal.h | 222 ++++
+ drivers/char/ioh_mlb/ioh_mlb_pci.c | 1444 +++++++++++++++++++++
+ drivers/char/ioh_mlb/ioh_mlb_pci.h | 71 +
+ drivers/char/ioh_mlb/ioh_mlb_register_def.h | 127 ++
+ 10 files changed, 3890 insertions(+), 0 deletions(-)
+ create mode 100644 drivers/char/ioh_mlb/Makefile
+ create mode 100644 drivers/char/ioh_mlb/ioh_common.h
+ create mode 100644 drivers/char/ioh_mlb/ioh_mlb_api.h
+ create mode 100644 drivers/char/ioh_mlb/ioh_mlb_hal.c
+ create mode 100644 drivers/char/ioh_mlb/ioh_mlb_hal.h
+ create mode 100644 drivers/char/ioh_mlb/ioh_mlb_pci.c
+ create mode 100644 drivers/char/ioh_mlb/ioh_mlb_pci.h
+ create mode 100644 drivers/char/ioh_mlb/ioh_mlb_register_def.h
+
+diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
+index 53df494..6d084f4 100644
+--- a/drivers/char/Kconfig
++++ b/drivers/char/Kconfig
+@@ -4,6 +4,13 @@
+
+ menu "Character devices"
+
++config IOH_MEDIALB
++ tristate "LAPIS Semiconductor ML7213 IOH MediaLB support"
++ depends on PCI
++ help
++ If you say yes to this option, support will be included for the
++ IOH MEDIA LB Driver.
++
+ config IOH_AEC
+ tristate "IOH AEC"
+ depends on PCI
+diff --git a/drivers/char/Makefile b/drivers/char/Makefile
+index aeb71c4..d37cdf2 100644
+--- a/drivers/char/Makefile
++++ b/drivers/char/Makefile
+@@ -99,4 +99,5 @@ obj-$(CONFIG_RAMOOPS) += ramoops.o
+ obj-$(CONFIG_JS_RTC) += js-rtc.o
+ js-rtc-y = rtc.o
+
++obj-$(CONFIG_IOH_MEDIALB) += ioh_mlb/
+ obj-$(CONFIG_IOH_AEC) += ioh_aec/
+diff --git a/drivers/char/ioh_mlb/Makefile b/drivers/char/ioh_mlb/Makefile
+new file mode 100644
+index 0000000..56bc4d6
+--- /dev/null
++++ b/drivers/char/ioh_mlb/Makefile
+@@ -0,0 +1,6 @@
++obj-$(CONFIG_IOH_MEDIALB) += ioh_mlb.o
++#EXTRA_CFLAGS +=-DDEBUG
++EXTRA_CFLAGS += -DIOH_MLB_BLOCK
++ioh_mlb-objs := ioh_mlb_pci.o ioh_mlb_hal.o
++
++
+diff --git a/drivers/char/ioh_mlb/ioh_common.h b/drivers/char/ioh_mlb/ioh_common.h
+new file mode 100644
+index 0000000..a38de60
+--- /dev/null
++++ b/drivers/char/ioh_mlb/ioh_common.h
+@@ -0,0 +1,50 @@
++/*
++ * Copyright (C) LAPIS Semiconductor Co., Ltd.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; version 2 of the License.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
++ */
++
++#ifndef __IOH_COMMON_H__
++#define __IOH_COMMON_H__
++
++/*macros*/
++#define PCI_VENDOR_ID_IOH 0x10DB
++#define PCI_DEVICE_ID_IOH_I2S 0X800D
++#define IOH_WRITE_LONG(val,addr) iowrite32((val),(void __iomem *)(addr))
++#define IOH_READ_LONG(addr) ioread32((void __iomem *)(addr))
++
++/* global variables */
++#define IOH_LOG(level,fmt,args...) \
++printk(level "%s:" fmt " (jiffies=%lu)\n", MODULE_NAME, ##args, jiffies)
++
++#ifdef IOH_TRACE_ENABLED
++#define IOH_TRACE IOH_DEBUG
++#else
++#define IOH_TRACE(fmt,args...)
++#endif
++
++#ifdef DEBUG
++#define IOH_DEBUG(fmt,args...) IOH_LOG(KERN_DEBUG,fmt,##args)
++#else
++#define IOH_DEBUG(fmt,args...)
++#endif
++
++#define IOH_TRACE_ENTER IOH_TRACE("Enter %s",__func__)
++#define IOH_TRACE_EXIT IOH_TRACE("Exit %s",__func__)
++
++#define IOH_ERROR(fmt, args...) IOH_LOG(KERN_ERR, fmt, ##args)
++
++#endif
++
++
+diff --git a/drivers/char/ioh_mlb/ioh_mlb_api.h b/drivers/char/ioh_mlb/ioh_mlb_api.h
+new file mode 100644
+index 0000000..4c4539e
+--- /dev/null
++++ b/drivers/char/ioh_mlb/ioh_mlb_api.h
+@@ -0,0 +1,106 @@
++/*
++ * Copyright (C) LAPIS Semiconductor Co., Ltd.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; version 2 of the License.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
++ */
++
++#ifndef __IOH_MLB_API_H__
++#define __IOH_MLB_API_H__
++
++#ifndef IOH_MLB_NUM_CHANNELS
++# define IOH_MLB_NUM_CHANNELS (31)
++#endif // #ifndef IOH_MLB_NUM_CHANNELS
++
++#ifndef IOH_MLB_MAX_DEVICES
++# define IOH_MLB_MAX_DEVICES (1)
++#endif // #ifndef IOH_MLB_MAX_DEVICES
++
++#ifndef IOH_MLB_FIRST_MINOR
++# define IOH_MLB_FIRST_MINOR (0)
++#endif // #ifndef MLB_TEST_FIRST_MINOR
++
++enum {
++ RX= 0,
++ TX ,
++ TXRX,
++};
++
++enum {
++ SYNCHRONOUS = 0,
++ ISOCHRONOUS,
++ ASYNCHRONOUS,
++ CONTROL,
++};
++
++enum {
++ CLK256FS = 0,
++ CLK512FS,
++ CLK1024FS,
++ CLKRESERVED,
++};
++
++enum {
++ PING_PONG = 0,
++ CIRCULAR,
++};
++
++struct ioh_mlb_system_setting {
++ int mlb_speed;
++ int device_address;
++};
++
++struct ioh_mlb_channel_setting {
++ unsigned short channel_address;
++ int direction;
++ union {
++ int max_packet_size; // bytes
++ int max_message_size; // bytes
(3791 more lines skipped)
++++++ linux-2.6.37-ml7213-0008-snd_aec.patch (new)
--- linux-2.6.37-ml7213-0008-snd_aec.patch
+++ linux-2.6.37-ml7213-0008-snd_aec.patch
+From 742792ed53e6d531a24ef82833f127af24172ab4 Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 11:06:29 +0900
+Subject: [PATCH 11/15] AEC driver
+
+
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+---
+ sound/pci/Kconfig | 10 +
+ sound/pci/Makefile | 1 +
+ sound/pci/snd_ioh_aec/ML7223-0101-0-p_0.dat |14336 +++++++++++++++++++++++++++
+ sound/pci/snd_ioh_aec/ML7223-0101-0-x_0.dat | 512 +
+ sound/pci/snd_ioh_aec/ML7223-0101-0-y_0.dat | 4608 +++++++++
+ sound/pci/snd_ioh_aec/ML7223-0101-1-p_0.dat |14336 +++++++++++++++++++++++++++
+ sound/pci/snd_ioh_aec/ML7223-0101-1-x_0.dat | 512 +
+ sound/pci/snd_ioh_aec/ML7223-0101-1-y_0.dat | 4608 +++++++++
+ sound/pci/snd_ioh_aec/Makefile | 3 +
+ sound/pci/snd_ioh_aec/ioh_aec_codec_hal.c | 4042 ++++++++
+ sound/pci/snd_ioh_aec/ioh_aec_codec_hal.h | 755 ++
+ sound/pci/snd_ioh_aec/ioh_aec_def.h | 368 +
+ sound/pci/snd_ioh_aec/ioh_aec_if.h | 1068 ++
+ sound/pci/snd_ioh_aec/ioh_aec_kernel.c | 3595 +++++++
+ sound/pci/snd_ioh_aec/ioh_aec_kernel.h | 383 +
+ sound/pci/snd_ioh_aec/ioh_aec_table.tab | 203 +
+ sound/pci/snd_ioh_aec/ioh_alsa.c | 1662 ++++
+ 17 files changed, 51002 insertions(+), 0 deletions(-)
+ create mode 100755 sound/pci/snd_ioh_aec/ML7223-0101-0-p_0.dat
+ create mode 100755 sound/pci/snd_ioh_aec/ML7223-0101-0-x_0.dat
+ create mode 100755 sound/pci/snd_ioh_aec/ML7223-0101-0-y_0.dat
+ create mode 100755 sound/pci/snd_ioh_aec/ML7223-0101-1-p_0.dat
+ create mode 100755 sound/pci/snd_ioh_aec/ML7223-0101-1-x_0.dat
+ create mode 100755 sound/pci/snd_ioh_aec/ML7223-0101-1-y_0.dat
+ create mode 100755 sound/pci/snd_ioh_aec/Makefile
+ create mode 100755 sound/pci/snd_ioh_aec/ioh_aec_codec_hal.c
+ create mode 100755 sound/pci/snd_ioh_aec/ioh_aec_codec_hal.h
+ create mode 100755 sound/pci/snd_ioh_aec/ioh_aec_def.h
+ create mode 100755 sound/pci/snd_ioh_aec/ioh_aec_if.h
+ create mode 100755 sound/pci/snd_ioh_aec/ioh_aec_kernel.c
+ create mode 100755 sound/pci/snd_ioh_aec/ioh_aec_kernel.h
+ create mode 100755 sound/pci/snd_ioh_aec/ioh_aec_table.tab
+ create mode 100755 sound/pci/snd_ioh_aec/ioh_alsa.c
+
+diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
+index 12e3465..bfd32cc 100644
+--- a/sound/pci/Kconfig
++++ b/sound/pci/Kconfig
+@@ -853,4 +853,14 @@ config SND_YMFPCI
+ To compile this driver as a module, choose M here: the module
+ will be called snd-ymfpci.
+
++
++config SND_IOH_AEC
++ tristate "LAPIS Semiconductor ML7223 sound card driver for AEC"
++ help
++ Say Y here to include support for AEC soundcard -
++
++ To compile this driver as a module, choose M here: the module
++ will be called snd_ioh_aec.
++
++
+ endif # SND_PCI
+diff --git a/sound/pci/Makefile b/sound/pci/Makefile
+index 9cf4348..be28404 100644
+--- a/sound/pci/Makefile
++++ b/sound/pci/Makefile
+@@ -53,6 +53,7 @@ obj-$(CONFIG_SND_SIS7019) += snd-sis7019.o
+ obj-$(CONFIG_SND_SONICVIBES) += snd-sonicvibes.o
+ obj-$(CONFIG_SND_VIA82XX) += snd-via82xx.o
+ obj-$(CONFIG_SND_VIA82XX_MODEM) += snd-via82xx-modem.o
++obj-$(CONFIG_SND_IOH_AEC) += snd_ioh_aec/
+
+ obj-$(CONFIG_SND) += \
+ ac97/ \
+diff --git a/sound/pci/snd_ioh_aec/ML7223-0101-0-p_0.dat b/sound/pci/snd_ioh_aec/ML7223-0101-0-p_0.dat
+new file mode 100755
+index 0000000..4dbf015
+--- /dev/null
++++ b/sound/pci/snd_ioh_aec/ML7223-0101-0-p_0.dat
+@@ -0,0 +1,14336 @@
++0x0F0D,
++0x0000,
++0x0F7B,
++0x0000,
++0x2F0E,
++0x0030,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE006,
++0x1760,
++0x1760,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE00C,
++0x1760,
++0x1760,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE012,
++0x1760,
++0x1760,
++0x2F2E,
++0x20CA,
++0x1760,
++0x1760,
++0x1760,
++0x1760,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE01E,
++0x1760,
++0x1760,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE024,
++0x1760,
++0x1760,
++0x2F3E,
++0x022E,
++0x0F69,
++0xE02A,
++0x1760,
++0x1760,
++0x0F2D,
++0x00E4,
++0x0F01,
++0x0003,
++0x1300,
++0xFA00,
++0x0F01,
++0xFFFF,
++0x1300,
++0xF140,
++0x1300,
++0xF141,
++0x1300,
++0xF142,
++0x1300,
++0xF143,
++0x0F5B,
++0x0002,
++0x1764,
++0x004A,
++0x1300,
++0xF140,
++0x1300,
++0xF141,
++0x1300,
++0xF142,
++0x1300,
++0xF143,
++0x0F01,
++0x0001,
++0x1300,
++0xF502,
++0x1300,
++0xF602,
++0x0F09,
++0x0000,
++0x0F5B,
++0x2E00,
++0x1761,
++0x1688,
++0x0F09,
++0x0000,
++0x0F5B,
++0x1E00,
++0x1761,
++0x3688,
++0x2F3E,
++0x08ED,
++0x1760,
++0x0F09,
++0x2800,
++0x2F3E,
++0x08ED,
++0x1760,
++0x0F09,
++0x2840,
++0x2F3E,
++0x08ED,
++0x1760,
++0x0F09,
++0x2880,
++0x2F3E,
++0x1FE2,
++0x0F01,
++0x0000,
++0x0F11,
++0xFFFF,
++0x2F1E,
++0x1FED,
++0x1760,
++0x1358,
(50959 more lines skipped)
++++++ linux-2.6.37-ml7213-0009-crypt.patch (new)
--- linux-2.6.37-ml7213-0009-crypt.patch
+++ linux-2.6.37-ml7213-0009-crypt.patch
+From 018f921e40830da5a4d8f3b3ac3b29caa7589935 Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 11:05:27 +0900
+Subject: [PATCH 03/15] Crypt driver
+
+
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+---
+ drivers/crypto/Kconfig | 8 +
+ drivers/crypto/Makefile | 1 +
+ drivers/crypto/ioh_crypto/Makefile | 5 +
+ drivers/crypto/ioh_crypto/ioh_crypto_hal.c | 2258 +++++++++++++++++++++++++++
+ drivers/crypto/ioh_crypto/ioh_crypto_hal.h | 900 +++++++++++
+ drivers/crypto/ioh_crypto/ioh_crypto_main.c | 1817 +++++++++++++++++++++
+ drivers/crypto/ioh_crypto/ioh_crypto_main.h | 315 ++++
+ 7 files changed, 5304 insertions(+), 0 deletions(-)
+ create mode 100644 drivers/crypto/ioh_crypto/Makefile
+ create mode 100644 drivers/crypto/ioh_crypto/ioh_crypto_hal.c
+ create mode 100644 drivers/crypto/ioh_crypto/ioh_crypto_hal.h
+ create mode 100644 drivers/crypto/ioh_crypto/ioh_crypto_main.c
+ create mode 100644 drivers/crypto/ioh_crypto/ioh_crypto_main.h
+
+diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
+index eab2cf7..f0e1696 100644
+--- a/drivers/crypto/Kconfig
++++ b/drivers/crypto/Kconfig
+@@ -252,4 +252,12 @@ config CRYPTO_DEV_OMAP_AES
+ OMAP processors have AES module accelerator. Select this if you
+ want to use the OMAP module for AES algorithms.
+
++config IOH_CRYPTO
++ tristate "Driver IOH Crypto accelerator"
++ select PCH_DMA
++ select CRYPTO_ALGAPI
++ select CRYPTO_BLKCIPHER
++ help
++ This option allows you to have support for crypto and hash acceleration.
++
+ endif # CRYPTO_HW
+diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile
+index 2566973..a20bf9a 100644
+--- a/drivers/crypto/Makefile
++++ b/drivers/crypto/Makefile
+@@ -10,4 +10,5 @@ obj-$(CONFIG_CRYPTO_DEV_IXP4XX) += ixp4xx_crypto.o
+ obj-$(CONFIG_CRYPTO_DEV_PPC4XX) += amcc/
+ obj-$(CONFIG_CRYPTO_DEV_OMAP_SHAM) += omap-sham.o
+ obj-$(CONFIG_CRYPTO_DEV_OMAP_AES) += omap-aes.o
++obj-$(CONFIG_IOH_CRYPTO) += ioh_crypto/
+
+diff --git a/drivers/crypto/ioh_crypto/Makefile b/drivers/crypto/ioh_crypto/Makefile
+new file mode 100644
+index 0000000..c22c225
+--- /dev/null
++++ b/drivers/crypto/ioh_crypto/Makefile
+@@ -0,0 +1,5 @@
++#enable for debug;this can be added in Kconfig
++#EXTRA_CFLAGS += -DDEBUG
++
++obj-$(CONFIG_IOH_CRYPTO) += ioh_crypto.o
++ioh_crypto-objs := ioh_crypto_main.o ioh_crypto_hal.o
+diff --git a/drivers/crypto/ioh_crypto/ioh_crypto_hal.c b/drivers/crypto/ioh_crypto/ioh_crypto_hal.c
+new file mode 100644
+index 0000000..954dba6
+--- /dev/null
++++ b/drivers/crypto/ioh_crypto/ioh_crypto_hal.c
+@@ -0,0 +1,2258 @@
++/*
++ * Copyright (C) LAPIS Semiconductor Co., Ltd.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; version 2 of the License.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
++ */
++
++#include <linux/io.h>
++#include <linux/sched.h>
++#include <linux/interrupt.h>
++#include <linux/module.h>
++#include <linux/crypto.h>
++#include <crypto/algapi.h>
++#include <crypto/internal/hash.h>
++#include <crypto/scatterwalk.h>
++
++#include <linux/mm.h>
++#include <linux/scatterlist.h>
++#include <linux/highmem.h>
++
++#include <linux/pci.h>
++#include <linux/pci_ids.h>
++#include <linux/dma-mapping.h>
++
++#include <asm/kmap_types.h>
++
++#include <linux/dmaengine.h>
++#include <linux/pch_dma.h>
++
++#include "ioh_crypto_hal.h"
++#include "ioh_crypto_main.h"
++
++#ifdef DEBUG
++u32 ioh_crypto_hal_set_dma_sg_ctr;
++u32 ioh_crypto_hal_snd_dma_ctr;
++
++void ioh_crypto_hal_debug_dump_sg(struct ioh_crypto_hal_sg *sg, u8 * msg)
++{
++ u32 i;
++ struct scatterlist *sg_dbg;
++
++ IOH_DEBUG("=== %s() ===", __func__);
++
++ IOH_DEBUG("sg[0 - %d] --- %s", sg->num - 1, msg);
++
++ for (i = 0; i < sg->num + 1; i++) {
++ sg_dbg = sg->sg + i;
++
++ IOH_DEBUG("sg[%d]", i);
++
++ IOH_DEBUG("sg = %08X", (u32) sg_dbg);
++ IOH_DEBUG("sg_next = %08X", (u32) sg_next(sg_dbg));
++
++ IOH_DEBUG(" page_link = %0lX", sg_dbg->page_link);
++ IOH_DEBUG(" offset = %d", sg_dbg->offset);
++ IOH_DEBUG(" length = %d = 0X%08X [word]",
++ sg_dbg->length, sg_dbg->length);
++ IOH_DEBUG(" dma_address = %08X", (u32) sg_dbg->dma_address);
++ IOH_DEBUG(" dma_length = %d = 0X%08X [word]",
++ sg_dbg->dma_length, sg_dbg->dma_length);
++ }
++
++ for (i = 0; i < sg->num; i++)
++ IOH_DEBUG("reg_list[%d] = %08X", i, *(sg->reg_list + i));
++}
++
++void ioh_crypto_hal_debug_dump_work_data(u8 *data, u32 size, u8 *msg)
++{
++ u32 i;
++
++ IOH_DEBUG("%s(size=%d byte)", msg, size);
++
++ for (i = 0; i < size; i++) {
++ printk(KERN_DEBUG "%02X ", *(data + i));
++ if (15 == i % 16)
++ printk("\n");
++ }
++}
++
++void ioh_crypto_hal_debug_dump_work_data_all(struct ioh_crypto_hal_data *data)
++{
++ u32 offset = 0;
++
++ ioh_crypto_hal_debug_dump_work_data(data->virt + offset,
++ data->size_data_ipad, "data_ipad");
++ offset += data->size_data_ipad;
++
++ ioh_crypto_hal_debug_dump_work_data(data->virt + offset,
++ data->size_data_assoc,
++ "data_assoc");
++ offset += data->size_data_assoc;
++
++ ioh_crypto_hal_debug_dump_work_data(data->virt + offset,
++ data->size_data_ivc, "data_ivc");
++ offset += data->size_data_ivc;
++
++ ioh_crypto_hal_debug_dump_work_data(data->virt + offset,
++ data->size_data_crypto,
++ "data_crypto");
++ offset += data->size_data_crypto;
++
++ ioh_crypto_hal_debug_dump_work_data(data->virt + offset,
++ data->size_data_crypto_aesctr_dummy,
++ "data_crypto_aesctr_dummy");
++ offset += data->size_data_crypto_aesctr_dummy;
++
++ ioh_crypto_hal_debug_dump_work_data(data->virt + offset,
++ data->size_data_hash_tmp_pad,
++ "data_hash_tmp_pad");
++ offset += data->size_data_hash_tmp_pad;
++
++ ioh_crypto_hal_debug_dump_work_data(data->virt + offset,
++ data->size_data_opad, "data_opad");
++ offset += data->size_data_opad;
++
++ ioh_crypto_hal_debug_dump_work_data(data->virt + offset,
++ data->size_data_hash_tmp,
++ "data_hash_tmp");
++ offset += data->size_data_hash_tmp;
++
++ ioh_crypto_hal_debug_dump_work_data(data->virt + offset,
++ data->size_data_hash_rslt_pad,
(5179 more lines skipped)
++++++ linux-2.6.37-ml7213-eg20t-0001-i2c.patch
--- linux-2.6.37-ml7213-eg20t-0001-i2c.patch
+++ linux-2.6.37-ml7213-eg20t-0001-i2c.patch
@@ -1,28 +1,39 @@
+From 7c3e0a87000d15945fbc7825836e9893202a6c2b Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 10:58:56 +0900
+Subject: [PATCH 07/15] I2C driver
+
+
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm at gmail.com>
---
- drivers/i2c/busses/Kconfig | 11 +
+ drivers/i2c/busses/Kconfig | 15 +
drivers/i2c/busses/Makefile | 1 +
- drivers/i2c/busses/i2c-eg20t.c | 937 ++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 949 insertions(+), 0 deletions(-)
+ drivers/i2c/busses/i2c-eg20t.c | 1089 ++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 1105 insertions(+), 0 deletions(-)
create mode 100644 drivers/i2c/busses/i2c-eg20t.c
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
-index 3a6321c..5b592df 100644
+index 3a6321c..c72e9d5 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
-@@ -638,6 +638,17 @@ config I2C_XILINX
+@@ -638,6 +638,21 @@ config I2C_XILINX
This driver can also be built as a module. If so, the module
will be called xilinx_i2c.
+config I2C_EG20T
-+ tristate "Intel EG20T PCH/OKI SEMICONDUCTOR ML7213 IOH"
++ tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
+ depends on PCI
+ help
+ This driver is for PCH(Platform controller Hub) I2C of EG20T which
+ is an IOH(Input/Output Hub) for x86 embedded processor.
+ This driver can access PCH I2C bus device.
+
-+ This driver also supports the ML7213, a companion chip for the
-+ Atom E6xx series and compatible with the Intel EG20T PCH.
++ This driver also can be used for LAPIS Semiconductor IOH(Input/
++ Output Hub), ML7213, ML7223 and ML7831.
++ ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
++ for MP(Media Phone) use and ML7831 IOH is for general purpose use.
++ ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
++ ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
+
comment "External I2C/SMBus adapter drivers"
@@ -41,12 +52,12 @@
obj-$(CONFIG_I2C_PARPORT) += i2c-parport.o
diff --git a/drivers/i2c/busses/i2c-eg20t.c b/drivers/i2c/busses/i2c-eg20t.c
new file mode 100644
-index 0000000..c57c837
+index 0000000..ca9e579
--- /dev/null
+++ b/drivers/i2c/busses/i2c-eg20t.c
-@@ -0,0 +1,937 @@
+@@ -0,0 +1,1089 @@
+/*
-+ * Copyright (C) 2010 OKI SEMICONDUCTOR CO., LTD.
++ * Copyright (C) 2011 LAPIS Semiconductor Co., Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
@@ -110,6 +121,7 @@
+#define TEN_BIT_ADDR_DEFAULT 0xF000
+#define TEN_BIT_ADDR_MASK 0xF0
+#define PCH_START 0x0020
++#define PCH_RESTART 0x0004
+#define PCH_ESR_START 0x0001
+#define PCH_BUFF_START 0x1
+#define PCH_REPSTART 0x0004
@@ -181,7 +193,8 @@
+/*
+Set the number of I2C instance max
+Intel EG20T PCH : 1ch
-+OKI SEMICONDUCTOR ML7213 IOH : 2ch
++LAPIS Semiconductor ML7213 IOH : 2ch
++LAPIS Semiconductor ML7831 IOH : 1ch
+*/
+#define PCH_I2C_MAX_DEV 2
+
@@ -225,13 +238,17 @@
+static wait_queue_head_t pch_event;
+static DEFINE_MUTEX(pch_mutex);
+
-+/* Definition for ML7213 by OKI SEMICONDUCTOR */
++/* Definition for ML7213 by LAPIS Semiconductor */
+#define PCI_VENDOR_ID_ROHM 0x10DB
+#define PCI_DEVICE_ID_ML7213_I2C 0x802D
++#define PCI_DEVICE_ID_ML7223_I2C 0x8010
++#define PCI_DEVICE_ID_ML7831_I2C 0x8817
+
+static struct pci_device_id __devinitdata pch_pcidev_id[] = {
+ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_PCH_I2C), 1, },
+ { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7213_I2C), 2, },
++ { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7223_I2C), 1, },
++ { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7831_I2C), 1, },
+ {0,}
+};
+
@@ -286,7 +303,7 @@
+ if (pch_clk > PCH_MAX_CLK)
+ pch_clk = 62500;
+
-+ pch_i2cbc = (pch_clk + (pch_i2c_speed * 4)) / pch_i2c_speed * 8;
++ pch_i2cbc = (pch_clk + (pch_i2c_speed * 4)) / (pch_i2c_speed * 8);
+ /* Set transfer speed in I2CBC */
+ iowrite32(pch_i2cbc, p + PCH_I2CBC);
+
@@ -317,23 +334,24 @@
+ s32 timeout)
+{
+ void __iomem *p = adap->pch_base_address;
++ ktime_t ns_val;
++
++ if ((ioread32(p + PCH_I2CSR) & I2CMBB_BIT) == 0)
++ return 0;
+
+ /* MAX timeout value is timeout*1000*1000nsec */
-+ ktime_t ns_val = ktime_add_ns(ktime_get(), timeout*1000*1000);
++ ns_val = ktime_add_ns(ktime_get(), timeout*1000*1000);
+ do {
-+ if ((ioread32(p + PCH_I2CSR) & I2CMBB_BIT) == 0)
-+ break;
+ msleep(20);
++ if ((ioread32(p + PCH_I2CSR) & I2CMBB_BIT) == 0)
++ return 0;
+ } while (ktime_lt(ktime_get(), ns_val));
+
+ pch_dbg(adap, "I2CSR = %x\n", ioread32(p + PCH_I2CSR));
++ pch_err(adap, "%s: Timeout Error.return%d\n", __func__, -ETIME);
++ pch_i2c_init(adap);
+
-+ if (timeout == 0) {
-+ pch_err(adap, "%s: Timeout Error.return%d\n", __func__, -ETIME);
-+ return -ETIME;
-+ }
-+
-+ return 0;
++ return -ETIME;
+}
+
+/**
@@ -355,21 +373,19 @@
+ */
+static s32 pch_i2c_wait_for_xfer_complete(struct i2c_algo_pch_data *adap)
+{
-+ s32 ret;
++ long ret;
+ ret = wait_event_timeout(pch_event,
-+ (adap->pch_event_flag != 0), msecs_to_jiffies(50));
-+ if (ret < 0) {
-+ pch_err(adap, "timeout: %x\n", adap->pch_event_flag);
-+ return ret;
-+ }
++ (adap->pch_event_flag != 0), msecs_to_jiffies(1000));
+
+ if (ret == 0) {
+ pch_err(adap, "timeout: %x\n", adap->pch_event_flag);
++ adap->pch_event_flag = 0;
+ return -ETIMEDOUT;
+ }
+
+ if (adap->pch_event_flag & I2C_ERROR_MASK) {
+ pch_err(adap, "error bits set: %x\n", adap->pch_event_flag);
++ adap->pch_event_flag = 0;
+ return -EIO;
+ }
+
@@ -389,7 +405,7 @@
+ reg_val = ioread32(p + PCH_I2CSR) & PCH_GETACK;
+
+ if (reg_val != 0) {
-+ pch_err(adap, "return%d\n", -EPROTO);
++ pch_dbg(adap, "return%d\n", -EPROTO);
+ return -EPROTO;
+ }
+
@@ -438,6 +454,7 @@
+ u32 addr_2_msb;
+ u32 addr_8_lsb;
+ s32 wrcount;
++ s32 rtn;
+ void __iomem *p = adap->pch_base_address;
+
+ length = msgs->len;
@@ -456,16 +473,33 @@
+ }
+
+ if (msgs->flags & I2C_M_TEN) {
-+ addr_2_msb = ((addr & I2C_MSB_2B_MSK) >> 7);
++ addr_2_msb = ((addr & I2C_MSB_2B_MSK) >> 7) & 0x06;
+ iowrite32(addr_2_msb | TEN_BIT_ADDR_MASK, p + PCH_I2CDR);
+ if (first)
+ pch_i2c_start(adap);
-+ if (pch_i2c_wait_for_xfer_complete(adap) == 0 &&
-+ pch_i2c_getack(adap) == 0) {
(397 more lines skipped)
++++++ linux-2.6.37-ml7213-eg20t-0002-usbdev.patch
--- linux-2.6.37-ml7213-eg20t-0002-usbdev.patch
+++ linux-2.6.37-ml7213-eg20t-0002-usbdev.patch
@@ -1,21 +1,28 @@
+From ef420081d6f085224fdcbaf8351f804c314bb7cd Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 11:04:10 +0900
+Subject: [PATCH 14/15] USB Device driver
+
+
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm at gmail.com>
---
- drivers/usb/gadget/Kconfig | 27 +
+ drivers/usb/gadget/Kconfig | 28 +
drivers/usb/gadget/Makefile | 1 +
drivers/usb/gadget/gadget_chips.h | 7 +
- drivers/usb/gadget/pch_udc.c | 3003 +++++++++++++++++++++++++++++++++++++
- 4 files changed, 3038 insertions(+), 0 deletions(-)
+ drivers/usb/gadget/pch_udc.c | 3362 +++++++++++++++++++++++++++++++++++++
+ 4 files changed, 3398 insertions(+), 0 deletions(-)
create mode 100644 drivers/usb/gadget/pch_udc.c
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
-index 607d0db..533dbc8 100644
+index 607d0db..b5d7006 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
-@@ -495,6 +495,33 @@ config USB_LANGWELL
+@@ -495,6 +495,34 @@ config USB_LANGWELL
default USB_GADGET
select USB_GADGET_SELECTED
+config USB_GADGET_EG20T
-+ boolean "Intel EG20T PCH/OKI SEMICONDUCTOR ML7213 IOH UDC"
++ boolean "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7213/ML7831) UDC"
+ depends on PCI
+ select USB_GADGET_DUALSPEED
+ help
@@ -31,10 +38,11 @@
+ This driver dose not support interrupt transfer or isochronous
+ transfer modes.
+
-+ This driver also can be used for OKI SEMICONDUCTOR's ML7213 which is
++ This driver also can be used for LAPIS Semiconductor's ML7213 which is
+ for IVI(In-Vehicle Infotainment) use.
-+ ML7213 is companion chip for Intel Atom E6xx series.
-+ ML7213 is completely compatible for Intel EG20T PCH.
++ ML7831 is for general purpose use.
++ ML7213/ML7831 is companion chip for Intel Atom E6xx series.
++ ML7213/ML7831 is completely compatible for Intel EG20T PCH.
+
+config USB_EG20T
+ tristate
@@ -83,12 +91,12 @@
diff --git a/drivers/usb/gadget/pch_udc.c b/drivers/usb/gadget/pch_udc.c
new file mode 100644
-index 0000000..5544a86
+index 0000000..748f8aa
--- /dev/null
+++ b/drivers/usb/gadget/pch_udc.c
-@@ -0,0 +1,3003 @@
+@@ -0,0 +1,3362 @@
+/*
-+ * Copyright (C) 2010 OKI SEMICONDUCTOR CO., LTD.
++ * Copyright (C) 2011 LAPIS Semiconductor Co., Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
@@ -113,6 +121,15 @@
+#include <linux/interrupt.h>
+#include <linux/usb/ch9.h>
+#include <linux/usb/gadget.h>
++#include <linux/gpio.h>
++#include <linux/platform_device.h>
++#include <linux/usb/gpio_vbus.h>
++
++/* GPIO port for VBUS detecting */
++static struct gpio_vbus_mach_info *pch_vbus_gpio_info; /* GPIO informaton */
++
++#define PCH_VBUS_PERIOD 3000 /* VBUS polling period (msec) */
++#define PCH_VBUS_INTERVAL 10 /* VBUS polling interval (msec) */
+
+/* Address offset of Registers */
+#define UDC_EP_REG_SHIFT 0x20 /* Offset to next EP */
@@ -394,6 +411,21 @@
+};
+
+/**
++ * struct pch_vbus_gpio_data - Structure holding GPIO informaton
++ * for detecting VBUS
++ * @port: gpio port number
++ * @intr: gpio interrupt number
++ * @irq_work_fall Structure for WorkQueue
++ * @irq_work_rise Structure for WorkQueue
++ */
++struct pch_vbus_gpio_data {
++ int port;
++ int intr;
++ struct work_struct irq_work_fall;
++ struct work_struct irq_work_rise;
++};
++
++/**
+ * struct pch_udc_dev - Structure holding complete information
+ * of the PCH USB device
+ * @gadget: gadget driver data
@@ -409,6 +441,7 @@
+ * @registered: driver regsitered with system
+ * @suspended: driver in suspended state
+ * @connected: gadget driver associated
++ * @vbus_session: required vbus_session state
+ * @set_cfg_not_acked: pending acknowledgement 4 setup
+ * @waiting_zlp_ack: pending acknowledgement 4 ZLP
+ * @data_requests: DMA pool for data requests
@@ -420,6 +453,7 @@
+ * @base_addr: for mapped device memory
+ * @irq: IRQ line for the device
+ * @cfg_data: current cfg, intf, and alt in use
++ * @vbus_gpio: GPIO informaton for detecting VBUS
+ */
+struct pch_udc_dev {
+ struct usb_gadget gadget;
@@ -435,6 +469,7 @@
+ registered:1,
+ suspended:1,
+ connected:1,
++ vbus_session:1,
+ set_cfg_not_acked:1,
+ waiting_zlp_ack:1;
+ struct pci_pool *data_requests;
@@ -445,13 +480,15 @@
+ unsigned long phys_addr;
+ void __iomem *base_addr;
+ unsigned irq;
-+ struct pch_udc_cfg_data cfg_data;
++ struct pch_udc_cfg_data cfg_data;
++ struct pch_vbus_gpio_data vbus_gpio;
+};
+
+#define PCH_UDC_PCI_BAR 1
+#define PCI_DEVICE_ID_INTEL_EG20T_UDC 0x8808
+#define PCI_VENDOR_ID_ROHM 0x10DB
+#define PCI_DEVICE_ID_ML7213_IOH_UDC 0x801D
++#define PCI_DEVICE_ID_ML7831_IOH_UDC 0x8808
+
+static const char ep0_string[] = "ep0in";
+static DEFINE_SPINLOCK(udc_stall_spinlock); /* stall spin lock */
@@ -651,6 +688,29 @@
+}
+
+/**
++ * pch_udc_reconnect() - This API initializes usb device controller,
++ * and clear the disconnect status.
++ * @dev: Reference to pch_udc_regs structure
++ */
++static void pch_udc_init(struct pch_udc_dev *dev);
++static void pch_udc_reconnect(struct pch_udc_dev *dev)
++{
++ pch_udc_init(dev);
++
++ /* enable device interrupts */
++ /* pch_udc_enable_interrupts() */
++ pch_udc_bit_clr(dev, UDC_DEVIRQMSK_ADDR,
++ UDC_DEVINT_UR | UDC_DEVINT_ENUM);
++
++ /* Clear the disconnect */
++ pch_udc_bit_set(dev, UDC_DEVCTL_ADDR, UDC_DEVCTL_RES);
++ pch_udc_bit_clr(dev, UDC_DEVCTL_ADDR, UDC_DEVCTL_SD);
++ mdelay(1);
++ /* Resume USB signalling */
++ pch_udc_bit_clr(dev, UDC_DEVCTL_ADDR, UDC_DEVCTL_RES);
++}
++
++/**
+ * pch_udc_vbus_session() - set or clearr the disconnect status.
+ * @dev: Reference to pch_udc_regs structure
+ * @is_active: Parameter specifying the action
@@ -660,10 +720,18 @@
+static inline void pch_udc_vbus_session(struct pch_udc_dev *dev,
+ int is_active)
+{
-+ if (is_active)
-+ pch_udc_clear_disconnect(dev);
-+ else
-+ pch_udc_set_disconnect(dev);
++ if (is_active) {
++ pch_udc_reconnect(dev);
++ dev->vbus_session = 1;
++ } else {
++ if (dev->driver && dev->driver->disconnect) {
++ spin_unlock(&dev->lock);
++ dev->driver->disconnect(&dev->gadget);
++ spin_lock(&dev->lock);
++ }
++ pch_udc_init(dev);
++ dev->vbus_session = 0;
++ }
+}
+
+/**
(495 more lines skipped)
++++++ linux-2.6.37-ml7213-eg20t-0003-uart.patch
--- linux-2.6.37-ml7213-eg20t-0003-uart.patch
+++ linux-2.6.37-ml7213-eg20t-0003-uart.patch
@@ -1,20 +1,103 @@
+From 019c81bea7b01befe18e21583890a822e19dc805 Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 11:04:35 +0900
+Subject: [PATCH 13/15] UART driver
+
+
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm at gmail.com>
---
- drivers/serial/Kconfig | 14 +
+ drivers/serial/8250_pci.c | 57 ++
+ drivers/serial/Kconfig | 26 +
drivers/serial/Makefile | 1 +
- drivers/serial/pch_uart.c | 1597 +++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 1612 insertions(+), 0 deletions(-)
+ drivers/serial/pch_uart.c | 1841 +++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 1925 insertions(+), 0 deletions(-)
create mode 100644 drivers/serial/pch_uart.c
+diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c
+index 842e3b2..cb63ee5 100644
+--- a/drivers/serial/8250_pci.c
++++ b/drivers/serial/8250_pci.c
+@@ -972,6 +972,15 @@ static int skip_tx_en_setup(struct serial_private *priv,
+ return pci_default_setup(priv, board, port, idx);
+ }
+
++static int pci_eg20t_init(struct pci_dev *dev)
++{
++#if defined(CONFIG_SERIAL_PCH_UART) || defined(CONFIG_SERIAL_PCH_UART_MODULE)
++ return -ENODEV;
++#else
++ return 0;
++#endif
++}
++
+ /* This should be in linux/pci_ids.h */
+ #define PCI_VENDOR_ID_SBSMODULARIO 0x124B
+ #define PCI_SUBVENDOR_ID_SBSMODULARIO 0x124B
+@@ -1406,6 +1415,54 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
+ .init = pci_oxsemi_tornado_init,
+ .setup = pci_default_setup,
+ },
++ {
++ .vendor = PCI_VENDOR_ID_INTEL,
++ .device = 0x8811,
++ .init = pci_eg20t_init,
++ .setup = pci_default_setup,
++ },
++ {
++ .vendor = PCI_VENDOR_ID_INTEL,
++ .device = 0x8812,
++ .init = pci_eg20t_init,
++ .setup = pci_default_setup,
++ },
++ {
++ .vendor = PCI_VENDOR_ID_INTEL,
++ .device = 0x8813,
++ .init = pci_eg20t_init,
++ .setup = pci_default_setup,
++ },
++ {
++ .vendor = PCI_VENDOR_ID_INTEL,
++ .device = 0x8814,
++ .init = pci_eg20t_init,
++ .setup = pci_default_setup,
++ },
++ {
++ .vendor = 0x10DB,
++ .device = 0x8027,
++ .init = pci_eg20t_init,
++ .setup = pci_default_setup,
++ },
++ {
++ .vendor = 0x10DB,
++ .device = 0x8028,
++ .init = pci_eg20t_init,
++ .setup = pci_default_setup,
++ },
++ {
++ .vendor = 0x10DB,
++ .device = 0x8029,
++ .init = pci_eg20t_init,
++ .setup = pci_default_setup,
++ },
++ {
++ .vendor = 0x10DB,
++ .device = 0x800C,
++ .init = pci_eg20t_init,
++ .setup = pci_default_setup,
++ },
+ /*
+ * Default "match everything" terminator entry
+ */
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
-index aff9dcd..f59cfdf 100644
+index aff9dcd..f71be1c 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
-@@ -1632,4 +1632,18 @@ config SERIAL_ALTERA_UART_CONSOLE
+@@ -1632,4 +1632,30 @@ config SERIAL_ALTERA_UART_CONSOLE
help
Enable a Altera UART port to be the system console.
+config SERIAL_PCH_UART
-+ tristate "Intel EG20T PCH / OKI SEMICONDUCTOR ML7213 UART"
++ tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
+ depends on PCI && DMADEVICES
+ select SERIAL_CORE
+ select PCH_DMA
@@ -23,10 +106,22 @@
+ which is an IOH(Input/Output Hub) for x86 embedded processor.
+ Enabling PCH_DMA, this PCH UART works as DMA mode.
+
-+ This driver also can be used for OKI SEMICONDUCTOR's ML7213 which is
-+ for IVI(In-Vehicle Infotainment) use.
-+ ML7213 is companion chip for Intel Atom E6xx series.
-+ ML7213 is completely compatible for Intel EG20T PCH.
++ This driver also can be used for LAPIS Semiconductor IOH(Input/
++ Output Hub), ML7213, ML7223 and ML7831.
++ ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
++ for MP(Media Phone) use and ML7831 IOH is for general purpose use.
++ ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
++ ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
++
++config SERIAL_PCH_UART_CONSOLE
++ bool "Support for console on Intel EG20T PCH UART/LAPIS Semicon ML7213 IOH"
++ depends on SERIAL_PCH_UART=y
++ select SERIAL_CORE_CONSOLE
++ help
++ Say Y here if you wish to use the PCH UART as the system console
++ (the system console is the device which receives all kernel messages and
++ warnings and which allows logins in single user mode).
++
endmenu
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index c570576..b8438d9 100644
@@ -39,12 +134,12 @@
+obj-$(CONFIG_SERIAL_PCH_UART) += pch_uart.o
diff --git a/drivers/serial/pch_uart.c b/drivers/serial/pch_uart.c
new file mode 100644
-index 0000000..a5ce9a5
+index 0000000..5e918d7
--- /dev/null
+++ b/drivers/serial/pch_uart.c
-@@ -0,0 +1,1597 @@
+@@ -0,0 +1,1841 @@
+/*
-+ *Copyright (C) 2010 OKI SEMICONDUCTOR CO., LTD.
++ *Copyright (C) 2011 LAPIS Semiconductor Co., Ltd.
+ *
+ *This program is free software; you can redistribute it and/or modify
+ *it under the terms of the GNU General Public License as published by
@@ -66,6 +161,10 @@
+#include <linux/serial_core.h>
+#include <linux/interrupt.h>
+#include <linux/io.h>
++#include <linux/dmi.h>
++#include <linux/console.h>
++#include <linux/nmi.h>
++#include <linux/delay.h>
+
+#include <linux/dmaengine.h>
+#include <linux/pch_dma.h>
@@ -76,6 +175,7 @@
+ PCH_UART_HANDLED_RX_ERR_INT_SHIFT,
+ PCH_UART_HANDLED_RX_TRG_INT_SHIFT,
+ PCH_UART_HANDLED_MS_INT_SHIFT,
++ PCH_UART_HANDLED_LS_INT_SHIFT,
+};
+
+enum {
@@ -87,7 +187,8 @@
+
+/* Set the max number of UART port
+ * Intel EG20T PCH: 4 port
-+ * OKI SEMICONDUCTOR ML7213 IOH: 3 port
++ * LAPIS Semiconductor ML7213 IOH: 3 port
++ * LAPIS Semiconductor ML7223 IOH: 2 port
+*/
+#define PCH_UART_NR 4
+
@@ -99,6 +200,8 @@
+ PCH_UART_HANDLED_RX_TRG_INT_SHIFT)<<1))
+#define PCH_UART_HANDLED_MS_INT (1<<((PCH_UART_HANDLED_MS_INT_SHIFT)<<1))
+
++#define PCH_UART_HANDLED_LS_INT (1<<((PCH_UART_HANDLED_LS_INT_SHIFT)<<1))
++
+#define PCH_UART_RBR 0x00
+#define PCH_UART_THR 0x00
+
@@ -240,6 +343,10 @@
+
+#define PCI_VENDOR_ID_ROHM 0x10DB
+
++#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
++
++#define DEFAULT_BAUD_RATE 1843200 /* 1.8432MHz */
(496 more lines skipped)
++++++ linux-2.6.37-ml7213-eg20t-0004-dma.patch
--- linux-2.6.37-ml7213-eg20t-0004-dma.patch
+++ linux-2.6.37-ml7213-eg20t-0004-dma.patch
@@ -1,60 +1,91 @@
+From 2b1dc6911b325ae3aa175307103284e75d707c4d Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 11:00:30 +0900
+Subject: [PATCH 04/15] Shared DMA driver
+
+
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm at gmail.com>
---
- drivers/dma/Kconfig | 9 +++-
- drivers/dma/pch_dma.c | 141 +++++++++++++++++++++++++++++++-----------------
- 2 files changed, 98 insertions(+), 52 deletions(-)
+ drivers/dma/Kconfig | 11 +-
+ drivers/dma/pch_dma.c | 431 ++++++++++++++++++++++++++++++++++++-----------
+ include/linux/pch_dma.h | 11 ++
+ 3 files changed, 353 insertions(+), 100 deletions(-)
diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
-index 6ee2359..1b61d3a 100644
+index 6ee2359..66df216 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
-@@ -200,11 +200,16 @@ config PL330_DMA
+@@ -200,11 +200,18 @@ config PL330_DMA
platform_data for a dma-pl330 device.
config PCH_DMA
- tristate "Topcliff (Intel EG20T) PCH DMA support"
-+ tristate "Intel EG20T PCH / OKI SEMICONDUCTOR ML7213 IOH DMA support"
++ tristate "Intel EG20T PCH / LAPIS Semi IOH(ML7213/ML7223/ML7831) DMA"
depends on PCI && X86
select DMA_ENGINE
help
- Enable support for the Topcliff (Intel EG20T) PCH DMA engine.
+ Enable support for Intel EG20T PCH DMA engine.
+
-+ This driver also can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/
-+ Output Hub) which is for IVI(In-Vehicle Infotainment) use.
-+ ML7213 is companion chip for Intel Atom E6xx series.
-+ ML7213 is completely compatible for Intel EG20T PCH.
++ This driver also can be used for LAPIS Semiconductor IOH(Input/
++ Output Hub), ML7213, ML7223 and ML7831.
++ ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
++ for MP(Media Phone) use and ML7831 IOH is for general purpose use.
++ ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
++ ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
config IMX_SDMA
tristate "i.MX SDMA support"
diff --git a/drivers/dma/pch_dma.c b/drivers/dma/pch_dma.c
-index c064c89..8593ee8 100644
+index c064c89..ffaf646 100644
--- a/drivers/dma/pch_dma.c
+++ b/drivers/dma/pch_dma.c
@@ -1,6 +1,7 @@
/*
* Topcliff PCH DMA controller driver
* Copyright (c) 2010 Intel Corporation
-+ * Copyright (C) 2011 OKI SEMICONDUCTOR CO., LTD.
++ * Copyright (C) 2011 LAPIS Semiconductor Co., Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
-@@ -58,6 +59,15 @@
+@@ -33,6 +34,14 @@
+ #define DMA_CTL0_DIR_SHIFT_BITS 2
+ #define DMA_CTL0_BITS_PER_CH 4
+
++#define DMA_CTL1_PRI0 0x0
++#define DMA_CTL1_PRI1 0x1
++#define DMA_CTL1_PRI2 0x2
++#define DMA_CTL1_PRI3 0x3
++#define DMA_CTL1_PRI_MASK_BITS 3
++#define DMA_CTL1_PRI_SHIFT_BITS 2
++#define DMA_CTL1_BITS_PER_CH 4
++
+ #define DMA_CTL2_START_SHIFT_BITS 8
+ #define DMA_CTL2_IRQ_ENABLE_MASK ((1UL << DMA_CTL2_START_SHIFT_BITS) - 1)
+
+@@ -44,7 +53,8 @@
+ #define DMA_STATUS_MASK_BITS 0x3
+ #define DMA_STATUS_SHIFT_BITS 16
+ #define DMA_STATUS_IRQ(x) (0x1 << (x))
+-#define DMA_STATUS_ERR(x) (0x1 << ((x) + 8))
++#define DMA_STATUS0_ERR(x) (0x1 << ((x) + 8))
++#define DMA_STATUS2_ERR(x) (0x1 << (x))
+
+ #define DMA_DESC_WIDTH_SHIFT_BITS 12
+ #define DMA_DESC_WIDTH_1_BYTE (0x3 << DMA_DESC_WIDTH_SHIFT_BITS)
+@@ -58,7 +68,10 @@
#define DMA_DESC_FOLLOW_WITHOUT_IRQ 0x2
#define DMA_DESC_FOLLOW_WITH_IRQ 0x3
-+/* PCI Device ID of DMA device */
-+#define PCI_VENDOR_ID_ROHM 0x10DB
-+#define PCI_DEVICE_ID_EG20T_PCH_DMA_8CH 0x8810
-+#define PCI_DEVICE_ID_EG20T_PCH_DMA_4CH 0x8815
-+#define PCI_DEVICE_ID_ML7213_DMA1_8CH 0x8026
-+#define PCI_DEVICE_ID_ML7213_DMA2_8CH 0x802B
-+#define PCI_DEVICE_ID_ML7213_DMA3_4CH 0x8034
-+#define PCI_DEVICE_ID_ML7213_DMA4_12CH 0x8032
+-#define MAX_CHAN_NR 8
++#define MAX_CHAN_NR 12
+
- #define MAX_CHAN_NR 8
++#define DMA_MASK_CTL0_MODE 0x33333333
++#define DMA_MASK_CTL2_MODE 0x00003333
static unsigned int init_nr_desc_per_channel = 64;
-@@ -76,12 +86,12 @@ struct pch_dma_regs {
+ module_param(init_nr_desc_per_channel, uint, 0644);
+@@ -76,12 +89,12 @@ struct pch_dma_regs {
u32 dma_ctl0;
u32 dma_ctl1;
u32 dma_ctl2;
@@ -70,7 +101,7 @@
};
struct pch_dma_desc {
-@@ -123,12 +133,13 @@ struct pch_dma {
+@@ -123,21 +136,24 @@ struct pch_dma {
struct pci_pool *pool;
struct pch_dma_regs regs;
struct pch_dma_desc_regs ch_regs[MAX_CHAN_NR];
@@ -84,49 +115,164 @@
+#define PCH_DMA_CTL3 0x0C
#define PCH_DMA_STS0 0x10
#define PCH_DMA_STS1 0x14
++#define PCH_DMA_STS2 0x18
-@@ -137,7 +148,8 @@ struct pch_dma {
+ #define dma_readl(pd, name) \
+ readl((pd)->membase + PCH_DMA_##name)
#define dma_writel(pd, name, val) \
writel((val), (pd)->membase + PCH_DMA_##name)
-static inline struct pch_dma_desc *to_pd_desc(struct dma_async_tx_descriptor *txd)
-+static inline struct pch_dma_desc *to_pd_desc(
-+ struct dma_async_tx_descriptor *txd)
++static inline
++struct pch_dma_desc *to_pd_desc(struct dma_async_tx_descriptor *txd)
{
return container_of(txd, struct pch_dma_desc, txd);
}
-@@ -162,13 +174,15 @@ static inline struct device *chan2parent(struct dma_chan *chan)
+@@ -162,13 +178,15 @@ static inline struct device *chan2parent(struct dma_chan *chan)
return chan->dev->device.parent;
}
-static inline struct pch_dma_desc *pdc_first_active(struct pch_dma_chan *pd_chan)
-+static inline struct pch_dma_desc *pdc_first_active(
-+ struct pch_dma_chan *pd_chan)
++static inline
++struct pch_dma_desc *pdc_first_active(struct pch_dma_chan *pd_chan)
{
return list_first_entry(&pd_chan->active_list,
struct pch_dma_desc, desc_node);
}
-static inline struct pch_dma_desc *pdc_first_queued(struct pch_dma_chan *pd_chan)
-+static inline struct pch_dma_desc *pdc_first_queued(
-+ struct pch_dma_chan *pd_chan)
++static inline
++struct pch_dma_desc *pdc_first_queued(struct pch_dma_chan *pd_chan)
{
return list_first_entry(&pd_chan->queue,
struct pch_dma_desc, desc_node);
-@@ -198,16 +212,30 @@ static void pdc_set_dir(struct dma_chan *chan)
+@@ -178,13 +196,19 @@ static void pdc_enable_irq(struct dma_chan *chan, int enable)
+ {
struct pch_dma *pd = to_pd(chan->device);
u32 val;
++ int pos;
++
++ if (chan->chan_id < 8)
++ pos = chan->chan_id;
++ else
++ pos = chan->chan_id + 8;
+
+ val = dma_readl(pd, CTL2);
+
+ if (enable)
+- val |= 0x1 << chan->chan_id;
++ val |= 0x1 << pos;
+ else
+- val &= ~(0x1 << chan->chan_id);
++ val &= ~(0x1 << pos);
-- val = dma_readl(pd, CTL0);
-+ if (chan->chan_id < 8) {
-+ val = dma_readl(pd, CTL0);
+ dma_writel(pd, CTL2, val);
+@@ -192,45 +216,158 @@ static void pdc_enable_irq(struct dma_chan *chan, int enable)
+ chan->chan_id, val);
+ }
+
+-static void pdc_set_dir(struct dma_chan *chan)
(688 more lines skipped)
++++++ linux-2.6.37-ml7213-eg20t-0005-gbe.patch
--- linux-2.6.37-ml7213-eg20t-0005-gbe.patch
+++ linux-2.6.37-ml7213-eg20t-0005-gbe.patch
@@ -1,59 +1,62 @@
-diff -urN a/drivers/net/pch_gbe/pch_gbe_ethtool.c b/drivers/net/pch_gbe/pch_gbe_ethtool.c
---- a/drivers/net/pch_gbe/pch_gbe_ethtool.c 2011-01-05 08:50:19.000000000 +0800
-+++ b/drivers/net/pch_gbe/pch_gbe_ethtool.c 2011-05-06 09:37:39.638773962 +0800
-@@ -21,7 +21,7 @@
- #include "pch_gbe_api.h"
-
- /**
-- * pch_gbe_stats - Stats item infomation
-+ * pch_gbe_stats - Stats item information
- */
- struct pch_gbe_stats {
- char string[ETH_GSTRING_LEN];
-@@ -469,18 +469,6 @@
- }
-
- /**
-- * pch_gbe_get_tx_csum - Report whether transmit checksums are turned on or off
-- * @netdev: Network interface device structure
-- * Returns
-- * true(1): Checksum On
-- * false(0): Checksum Off
-- */
--static u32 pch_gbe_get_tx_csum(struct net_device *netdev)
--{
-- return (netdev->features & NETIF_F_HW_CSUM) != 0;
--}
--
--/**
- * pch_gbe_set_tx_csum - Turn transmit checksums on or off
- * @netdev: Network interface device structure
- * @data: Checksum on[true] or off[false]
-@@ -493,11 +481,7 @@
- struct pch_gbe_adapter *adapter = netdev_priv(netdev);
-
- adapter->tx_csum = data;
-- if (data)
-- netdev->features |= NETIF_F_HW_CSUM;
-- else
-- netdev->features &= ~NETIF_F_HW_CSUM;
-- return 0;
-+ return ethtool_op_set_tx_ipv6_csum(netdev, data);
- }
+From 62c1d6f630a0329220edd0bb6de065d3512c4b00 Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 11:03:30 +0900
+Subject: [PATCH 05/15] Gigabit Ethernet MAC driver
+
+
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+---
+ drivers/net/Kconfig | 9 +-
+ drivers/net/pch_gbe/pch_gbe.h | 30 ++-
+ drivers/net/pch_gbe/pch_gbe_api.c | 2 +-
+ drivers/net/pch_gbe/pch_gbe_api.h | 2 +-
+ drivers/net/pch_gbe/pch_gbe_ethtool.c | 23 +--
+ drivers/net/pch_gbe/pch_gbe_main.c | 408 +++++++++++++++++++++------------
+ drivers/net/pch_gbe/pch_gbe_param.c | 2 +-
+ drivers/net/pch_gbe/pch_gbe_phy.c | 2 +-
+ drivers/net/pch_gbe/pch_gbe_phy.h | 2 +-
+ 9 files changed, 292 insertions(+), 188 deletions(-)
+
+diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
+index 4f1755b..b66563a 100644
+--- a/drivers/net/Kconfig
++++ b/drivers/net/Kconfig
+@@ -2539,7 +2539,7 @@ config S6GMAC
+ source "drivers/net/stmmac/Kconfig"
+
+ config PCH_GBE
+- tristate "PCH Gigabit Ethernet"
++ tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GbE"
+ depends on PCI
+ select MII
+ ---help---
+@@ -2551,6 +2551,13 @@ config PCH_GBE
+ to Gigabit Ethernet.
+ This driver enables Gigabit Ethernet function.
+
++ This driver also can be used for LAPIS Semiconductor IOH(Input/
++ Output Hub), ML7223/ML7831.
++ ML7223 IOH is for MP(Media Phone) use. ML7831 IOH is for general
++ purpose use.
++ ML7223/ML7831 is companion chip for Intel Atom E6xx series.
++ ML7223/ML7831 is completely compatible for Intel EG20T PCH.
++
+ endif # NETDEV_1000
- /**
-@@ -572,7 +556,6 @@
- .set_pauseparam = pch_gbe_set_pauseparam,
- .get_rx_csum = pch_gbe_get_rx_csum,
- .set_rx_csum = pch_gbe_set_rx_csum,
-- .get_tx_csum = pch_gbe_get_tx_csum,
- .set_tx_csum = pch_gbe_set_tx_csum,
- .get_strings = pch_gbe_get_strings,
- .get_ethtool_stats = pch_gbe_get_ethtool_stats,
-diff -urN a/drivers/net/pch_gbe/pch_gbe.h b/drivers/net/pch_gbe/pch_gbe.h
---- a/drivers/net/pch_gbe/pch_gbe.h 2011-01-05 08:50:19.000000000 +0800
-+++ b/drivers/net/pch_gbe/pch_gbe.h 2011-05-06 09:37:39.637774414 +0800
-@@ -73,7 +73,7 @@
+ #
+diff --git a/drivers/net/pch_gbe/pch_gbe.h b/drivers/net/pch_gbe/pch_gbe.h
+index a0c26a9..8f67f4c 100644
+--- a/drivers/net/pch_gbe/pch_gbe.h
++++ b/drivers/net/pch_gbe/pch_gbe.h
+@@ -1,6 +1,6 @@
+ /*
+ * Copyright (C) 1999 - 2010 Intel Corporation.
+- * Copyright (C) 2010 OKI SEMICONDUCTOR Co., LTD.
++ * Copyright (C) 2010 LAPIS Semiconductor Co., Ltd.
+ *
+ * This code was derived from the Intel e1000e Linux driver.
+ *
+@@ -73,7 +73,7 @@ struct pch_gbe_regs {
struct pch_gbe_regs_mac_adr mac_adr[16];
u32 ADDR_MASK;
u32 MIIM;
@@ -62,7 +65,28 @@
u32 RGMII_ST;
u32 RGMII_CTRL;
u32 reserve3[3];
-@@ -351,7 +351,7 @@
+@@ -127,8 +127,8 @@ struct pch_gbe_regs {
+
+ /* Reset */
+ #define PCH_GBE_ALL_RST 0x80000000 /* All reset */
+-#define PCH_GBE_TX_RST 0x40000000 /* TX MAC, TX FIFO, TX DMA reset */
+-#define PCH_GBE_RX_RST 0x04000000 /* RX MAC, RX FIFO, RX DMA reset */
++#define PCH_GBE_TX_RST 0x00008000 /* TX MAC, TX FIFO, TX DMA reset */
++#define PCH_GBE_RX_RST 0x00004000 /* RX MAC, RX FIFO, RX DMA reset */
+
+ /* TCP/IP Accelerator Control */
+ #define PCH_GBE_EX_LIST_EN 0x00000008 /* External List Enable */
+@@ -276,6 +276,9 @@ struct pch_gbe_regs {
+ #define PCH_GBE_RX_DMA_EN 0x00000002 /* Enables Receive DMA */
+ #define PCH_GBE_TX_DMA_EN 0x00000001 /* Enables Transmission DMA */
+
++/* RX DMA STATUS */
++#define PCH_GBE_IDLE_CHECK 0xFFFFFFFE
++
+ /* Wake On LAN Status */
+ #define PCH_GBE_WLS_BR 0x00000008 /* Broadcas Address */
+ #define PCH_GBE_WLS_MLT 0x00000004 /* Multicast Address */
+@@ -351,7 +354,7 @@ struct pch_gbe_functions {
};
/**
@@ -71,7 +95,7 @@
* @addr[6]: Store the MAC address
* @fc: Mode of flow control
* @fc_autoneg: Auto negotiation enable for flow control setting
-@@ -375,7 +375,7 @@
+@@ -375,7 +378,7 @@ struct pch_gbe_mac_info {
};
/**
@@ -80,7 +104,7 @@
* @addr: PHY address
* @id: PHY's identifier
* @revision: PHY's revision
-@@ -393,7 +393,7 @@
+@@ -393,7 +396,7 @@ struct pch_gbe_phy_info {
/*!
* @ingroup Gigabit Ether driver Layer
* @struct pch_gbe_bus_info
@@ -89,7 +113,7 @@
*/
struct pch_gbe_bus_info {
u8 type;
-@@ -404,7 +404,7 @@
+@@ -404,7 +407,7 @@ struct pch_gbe_bus_info {
/*!
* @ingroup Gigabit Ether driver Layer
* @struct pch_gbe_hw
@@ -98,7 +122,7 @@
*/
struct pch_gbe_hw {
void *back;
-@@ -462,7 +462,7 @@
+@@ -462,7 +465,7 @@ struct pch_gbe_tx_desc {
/**
@@ -107,7 +131,14 @@
* @skb: pointer to a socket buffer
* @dma: DMA address
* @time_stamp: time stamp
-@@ -477,7 +477,7 @@
+@@ -471,13 +474,14 @@ struct pch_gbe_tx_desc {
+ struct pch_gbe_buffer {
+ struct sk_buff *skb;
+ dma_addr_t dma;
++ unsigned char *rx_buffer;
+ unsigned long time_stamp;
+ u16 length;
+ bool mapped;
};
(960 more lines skipped)
++++++ linux-2.6.37-ml7213-eg20t-0006-can.patch (new)
--- linux-2.6.37-ml7213-eg20t-0006-can.patch
+++ linux-2.6.37-ml7213-eg20t-0006-can.patch
+From 240b058c75846ad1a2e207420e84c49bb4929436 Mon Sep 17 00:00:00 2001
+From: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+Date: Tue, 27 Mar 2012 11:07:32 +0900
+Subject: [PATCH 02/15] CAN driver
+
+
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm at gmail.com>
+---
+ drivers/net/can/pch_can.c | 1355 ++++++++++++++++++++-------------------------
+ 1 files changed, 591 insertions(+), 764 deletions(-)
+
+diff --git a/drivers/net/can/pch_can.c b/drivers/net/can/pch_can.c
+index 6727182..a9094a4 100644
+--- a/drivers/net/can/pch_can.c
++++ b/drivers/net/can/pch_can.c
+@@ -1,6 +1,6 @@
+ /*
+ * Copyright (C) 1999 - 2010 Intel Corporation.
+- * Copyright (C) 2010 OKI SEMICONDUCTOR Co., LTD.
++ * Copyright (C) 2010 LAPIS SEMICONDUCTOR CO., LTD.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+@@ -32,106 +32,115 @@
+ #include <linux/can/dev.h>
+ #include <linux/can/error.h>
+
+-#define MAX_MSG_OBJ 32
+-#define MSG_OBJ_RX 0 /* The receive message object flag. */
+-#define MSG_OBJ_TX 1 /* The transmit message object flag. */
+-
+-#define ENABLE 1 /* The enable flag */
+-#define DISABLE 0 /* The disable flag */
+-#define CAN_CTRL_INIT 0x0001 /* The INIT bit of CANCONT register. */
+-#define CAN_CTRL_IE 0x0002 /* The IE bit of CAN control register */
+-#define CAN_CTRL_IE_SIE_EIE 0x000e
+-#define CAN_CTRL_CCE 0x0040
+-#define CAN_CTRL_OPT 0x0080 /* The OPT bit of CANCONT register. */
+-#define CAN_OPT_SILENT 0x0008 /* The Silent bit of CANOPT reg. */
+-#define CAN_OPT_LBACK 0x0010 /* The LoopBack bit of CANOPT reg. */
+-#define CAN_CMASK_RX_TX_SET 0x00f3
+-#define CAN_CMASK_RX_TX_GET 0x0073
+-#define CAN_CMASK_ALL 0xff
+-#define CAN_CMASK_RDWR 0x80
+-#define CAN_CMASK_ARB 0x20
+-#define CAN_CMASK_CTRL 0x10
+-#define CAN_CMASK_MASK 0x40
+-#define CAN_CMASK_NEWDAT 0x04
+-#define CAN_CMASK_CLRINTPND 0x08
+-
+-#define CAN_IF_MCONT_NEWDAT 0x8000
+-#define CAN_IF_MCONT_INTPND 0x2000
+-#define CAN_IF_MCONT_UMASK 0x1000
+-#define CAN_IF_MCONT_TXIE 0x0800
+-#define CAN_IF_MCONT_RXIE 0x0400
+-#define CAN_IF_MCONT_RMTEN 0x0200
+-#define CAN_IF_MCONT_TXRQXT 0x0100
+-#define CAN_IF_MCONT_EOB 0x0080
+-#define CAN_IF_MCONT_DLC 0x000f
+-#define CAN_IF_MCONT_MSGLOST 0x4000
+-#define CAN_MASK2_MDIR_MXTD 0xc000
+-#define CAN_ID2_DIR 0x2000
+-#define CAN_ID_MSGVAL 0x8000
+-
+-#define CAN_STATUS_INT 0x8000
+-#define CAN_IF_CREQ_BUSY 0x8000
+-#define CAN_ID2_XTD 0x4000
+-
+-#define CAN_REC 0x00007f00
+-#define CAN_TEC 0x000000ff
+-
+-#define PCH_RX_OK 0x00000010
+-#define PCH_TX_OK 0x00000008
+-#define PCH_BUS_OFF 0x00000080
+-#define PCH_EWARN 0x00000040
+-#define PCH_EPASSIV 0x00000020
+-#define PCH_LEC0 0x00000001
+-#define PCH_LEC1 0x00000002
+-#define PCH_LEC2 0x00000004
+-#define PCH_LEC_ALL (PCH_LEC0 | PCH_LEC1 | PCH_LEC2)
+-#define PCH_STUF_ERR PCH_LEC0
+-#define PCH_FORM_ERR PCH_LEC1
+-#define PCH_ACK_ERR (PCH_LEC0 | PCH_LEC1)
+-#define PCH_BIT1_ERR PCH_LEC2
+-#define PCH_BIT0_ERR (PCH_LEC0 | PCH_LEC2)
+-#define PCH_CRC_ERR (PCH_LEC1 | PCH_LEC2)
++#define PCH_CTRL_INIT BIT(0) /* The INIT bit of CANCONT register. */
++#define PCH_CTRL_IE BIT(1) /* The IE bit of CAN control register */
++#define PCH_CTRL_IE_SIE_EIE (BIT(3) | BIT(2) | BIT(1))
++#define PCH_CTRL_CCE BIT(6)
++#define PCH_CTRL_OPT BIT(7) /* The OPT bit of CANCONT register. */
++#define PCH_OPT_SILENT BIT(3) /* The Silent bit of CANOPT reg. */
++#define PCH_OPT_LBACK BIT(4) /* The LoopBack bit of CANOPT reg. */
++
++#define PCH_CMASK_RX_TX_SET 0x00f3
++#define PCH_CMASK_RX_TX_GET 0x0073
++#define PCH_CMASK_ALL 0xff
++#define PCH_CMASK_NEWDAT BIT(2)
++#define PCH_CMASK_CLRINTPND BIT(3)
++#define PCH_CMASK_CTRL BIT(4)
++#define PCH_CMASK_ARB BIT(5)
++#define PCH_CMASK_MASK BIT(6)
++#define PCH_CMASK_RDWR BIT(7)
++#define PCH_IF_MCONT_NEWDAT BIT(15)
++#define PCH_IF_MCONT_MSGLOST BIT(14)
++#define PCH_IF_MCONT_INTPND BIT(13)
++#define PCH_IF_MCONT_UMASK BIT(12)
++#define PCH_IF_MCONT_TXIE BIT(11)
++#define PCH_IF_MCONT_RXIE BIT(10)
++#define PCH_IF_MCONT_RMTEN BIT(9)
++#define PCH_IF_MCONT_TXRQXT BIT(8)
++#define PCH_IF_MCONT_EOB BIT(7)
++#define PCH_IF_MCONT_DLC (BIT(0) | BIT(1) | BIT(2) | BIT(3))
++#define PCH_MASK2_MDIR_MXTD (BIT(14) | BIT(15))
++#define PCH_ID2_DIR BIT(13)
++#define PCH_ID2_XTD BIT(14)
++#define PCH_ID_MSGVAL BIT(15)
++#define PCH_IF_CREQ_BUSY BIT(15)
++
++#define PCH_STATUS_INT 0x8000
++#define PCH_REC 0x00007f00
++#define PCH_TEC 0x000000ff
++
++#define PCH_TX_OK BIT(3)
++#define PCH_RX_OK BIT(4)
++#define PCH_EPASSIV BIT(5)
++#define PCH_EWARN BIT(6)
++#define PCH_BUS_OFF BIT(7)
+
+ /* bit position of certain controller bits. */
+-#define BIT_BITT_BRP 0
+-#define BIT_BITT_SJW 6
+-#define BIT_BITT_TSEG1 8
+-#define BIT_BITT_TSEG2 12
+-#define BIT_IF1_MCONT_RXIE 10
+-#define BIT_IF2_MCONT_TXIE 11
+-#define BIT_BRPE_BRPE 6
+-#define BIT_ES_TXERRCNT 0
+-#define BIT_ES_RXERRCNT 8
+-#define MSK_BITT_BRP 0x3f
+-#define MSK_BITT_SJW 0xc0
+-#define MSK_BITT_TSEG1 0xf00
+-#define MSK_BITT_TSEG2 0x7000
+-#define MSK_BRPE_BRPE 0x3c0
+-#define MSK_BRPE_GET 0x0f
+-#define MSK_CTRL_IE_SIE_EIE 0x07
+-#define MSK_MCONT_TXIE 0x08
+-#define MSK_MCONT_RXIE 0x10
+-#define PCH_CAN_NO_TX_BUFF 1
+-#define COUNTER_LIMIT 10
++#define PCH_BIT_BRP_SHIFT 0
++#define PCH_BIT_SJW_SHIFT 6
++#define PCH_BIT_TSEG1_SHIFT 8
++#define PCH_BIT_TSEG2_SHIFT 12
++#define PCH_BIT_BRPE_BRPE_SHIFT 6
++
++#define PCH_MSK_BITT_BRP 0x3f
++#define PCH_MSK_BRPE_BRPE 0x3c0
++#define PCH_MSK_CTRL_IE_SIE_EIE 0x07
++#define PCH_COUNTER_LIMIT 10
+
+ #define PCH_CAN_CLK 50000000 /* 50MHz */
+
+-/* Define the number of message object.
++/*
++ * Define the number of message object.
+ * PCH CAN communications are done via Message RAM.
+- * The Message RAM consists of 32 message objects. */
+-#define PCH_RX_OBJ_NUM 26 /* 1~ PCH_RX_OBJ_NUM is Rx*/
+-#define PCH_TX_OBJ_NUM 6 /* PCH_RX_OBJ_NUM is RX ~ Tx*/
+-#define PCH_OBJ_NUM (PCH_TX_OBJ_NUM + PCH_RX_OBJ_NUM)
++ * The Message RAM consists of 32 message objects.
++ */
++#define PCH_RX_OBJ_NUM 26
++#define PCH_TX_OBJ_NUM 6
++#define PCH_RX_OBJ_START 1
++#define PCH_RX_OBJ_END PCH_RX_OBJ_NUM
++#define PCH_TX_OBJ_START (PCH_RX_OBJ_END + 1)
++#define PCH_TX_OBJ_END (PCH_RX_OBJ_NUM + PCH_TX_OBJ_NUM)
+
+ #define PCH_FIFO_THRESH 16
+
++/* TxRqst2 show status of MsgObjNo.17~32 */
++#define PCH_TREQ2_TX_MASK (((1 << PCH_TX_OBJ_NUM) - 1) <<\
++ (PCH_RX_OBJ_END - 16))
++
++enum pch_ifreg {
++ PCH_RX_IFREG,
++ PCH_TX_IFREG,
++};
++
++enum pch_can_err {
++ PCH_STUF_ERR = 1,
++ PCH_FORM_ERR,
++ PCH_ACK_ERR,
++ PCH_BIT1_ERR,
++ PCH_BIT0_ERR,
++ PCH_CRC_ERR,
(1645 more lines skipped)
++++++ linux-2.6.37-rv-add-timbi2s.patch
--- linux-2.6.37-rv-add-timbi2s.patch
+++ linux-2.6.37-rv-add-timbi2s.patch
@@ -811,11 +811,11 @@
+MODULE_AUTHOR("Mocean Laboratories <info at mocean-labs.com>");
+MODULE_LICENSE("GPL v2");
diff -Naur a/sound/drivers//Kconfig b/sound/drivers//Kconfig
---- a/sound/drivers//Kconfig 2011-04-21 20:37:06.000000000 +0200
-+++ b/sound/drivers//Kconfig 2011-04-21 20:39:43.000000000 +0200
-@@ -217,6 +217,19 @@
- This driver is for OKI SEMICONDUCTOR's ML7213 IOH I2S driver.
- ML7213 is companion chip for Intel Atom E6xx series.
+--- a/sound/drivers/Kconfig 2011-04-21 20:37:06.000000000 +0200
++++ b/sound/drivers/Kconfig 2011-04-21 20:39:43.000000000 +0200
+@@ -256,6 +256,19 @@
+ To compile this driver as a module, choose M here: the module
+ will be called ioh_i2s_dma.
+config SND_TIMBERDALE_I2S
+ tristate "The timberdale FPGA I2S driver"
@@ -834,8 +834,8 @@
int "Default time-out for AC97 power-save mode"
depends on SND_AC97_POWER_SAVE
diff -Naur a/sound/drivers//Makefile b/sound/drivers//Makefile
---- a/sound/drivers//Makefile 2011-04-21 20:37:06.000000000 +0200
-+++ b/sound/drivers//Makefile 2011-04-21 20:40:17.000000000 +0200
+--- a/sound/drivers/Makefile 2011-04-21 20:37:06.000000000 +0200
++++ b/sound/drivers/Makefile 2011-04-21 20:40:17.000000000 +0200
@@ -12,6 +12,7 @@
snd-virmidi-objs := virmidi.o
snd-ml403-ac97cr-objs := ml403-ac97cr.o pcm-indirect2.o
@@ -844,10 +844,11 @@
# Toplevel Module Dependency
obj-$(CONFIG_SND_DUMMY) += snd-dummy.o
-@@ -22,5 +23,6 @@
+@@ -23,6 +24,7 @@
obj-$(CONFIG_SND_MTS64) += snd-mts64.o
obj-$(CONFIG_SND_PORTMAN2X4) += snd-portman2x4.o
obj-$(CONFIG_SND_ML403_AC97CR) += snd-ml403-ac97cr.o
-+obj-$(CONFIG_SND_TIMBERDALE_I2S) += snd-timbi2s.o
-
++obj-$(CONFIG_SND_TIMBERDALE_I2S) += snd-timbi2s.o
obj-$(CONFIG_SND) += opl3/ opl4/ mpu401/ vx/ pcsp/
+ obj-$(CONFIG_ML7213_I2S) += ioh_i2s.o
+ obj-$(CONFIG_ML7213_I2S_DMA) += ioh_i2s_dma.o
++++++ series
--- series
+++ series
@@ -35,16 +35,25 @@
linux-2.6.37-ml7213-0001-phub.patch
linux-2.6.37-ml7213-0002-spi.patch
linux-2.6.37-ml7213-0003-gpio.patch
-linux-2.6.37-ml7213-0004-i2s.patch
-linux-2.6.37-ml7213-0005-mlb.patch
-linux-2.6.37-ml7213-0006-snd.patch
-linux-2.6.37-ml7213-0007-video_in.patch
+linux-2.6.37-ml7213-0004-i2s_snd.patch
+linux-2.6.37-ml7213-0005-aec.patch
+linux-2.6.37-ml7213-0006-video_in.patch
+linux-2.6.37-ml7213-0007-mlb.patch
+linux-2.6.37-ml7213-0008-snd_aec.patch
+linux-2.6.37-ml7213-0009-crypt.patch
linux-2.6.37-ml7213-eg20t-0001-i2c.patch
linux-2.6.37-ml7213-eg20t-0002-usbdev.patch
linux-2.6.37-ml7213-eg20t-0003-uart.patch
linux-2.6.37-ml7213-eg20t-0004-dma.patch
linux-2.6.37-ml7213-eg20t-0005-gbe.patch
-linux-2.6.37-ml7213-eg20t-0006-uart.patch
+linux-2.6.37-ml7213-eg20t-0006-can.patch
+
+linux-2.6.37-ml7213-eg20t-hotfix-0001-pch_uart-Fix-PCH-UART-clock-rate.patch
+
+#
+# End of EG20T(Topcliff) and ML7213 IOH Patches
+#
+#####################################################################
#####################################################################
@@ -58,98 +67,7 @@
linux-2.6.37-timberdale-enable-devices.patch
linux-2.6.37-timb-radio-pickup-dsp.patch
#
-# End of EMGD Patches
-#
-#####################################################################
-
-
-# Hot fix of EG20T and ML7213
-#linux-2.6.37-ml7213-eg20t-hotfix-0001-spi_topcliff_pch-20110701-Replaced-upstreamed-version.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0002-snd-ml7213-20110701-1of2-Add-Wind-River-for-copyright.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0003-snd-ml7213-20110701-2of2-Add-I2C-Control.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0004-pch_dma-20110701-1of3-Fix-video-channel-issue.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0005-pch_dma-20110701-2of3-Fix-DMA-channl-setting-issue-forI2S.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0006-pch_dma-20110701-3of3-Fix-spin_lock-usage-issue.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0007-ioh_i2s-20110701-Fix-register-setting-issue.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0008-i2c-eg20t-20110701-Fix-unnecessary-error-message-issue.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0009-ioh_video_in-20110629-delete-invalid-definition-PCI_DEVICE_ID.patch
-#linux-2.6.37-ml7213-eg20t-hotfix-0010-i2c-eg20t-20110629-Fix-the-issue-combined-access.patch
-
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0001-i2c-eg20t-Support-I2C-combined-mode.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0002-i2c-eg20t-Replace-inappropriate-error-message-to-deb.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0003-ioh_video_in-Delete-unsupported-device-ID.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0004-ioh_video_in-Modify-pci-bus-number-dynamically-to-ge.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0005-pch_phub-Save-FUNCSEL-register-in-PM-for-ML7213-IOH.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0006-pch_gpio-add-X86-Kconfig.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0007-gpio-add-MODULE_DEVICE_TABLE.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0008-pch_gbe-modify-for-checkpatch.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0009-GbE-Fixed-the-issue-of-collision-detection.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0010-GbE-Fixed-the-issue-of-checksum-judgment.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0011-spi_topcliff_pch-Updates-upstreamed-version.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0012-spi_topcliff_pch-Modify-pci-bus-number-dynamically-t.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0013-spi_topcliff_pch-supports-a-spi-mode-setup-and-bit-o.patch
-# linux-2.6.37-ml7213-eg20t-hotfix-20110802-0014-8250_pci-add-ENODEV-code-for-Intel-EG20T-PCH.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0015-pch_uart-MSI-support.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0016-pch_uart-add-console-support.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0017-pch_uart-add-poll-mode.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0018-pch_uart-Modify-pci-bus-number-dynamically-to-get-DM.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0019-pch_dma-Fix-video-channel-issue.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0020-pch_dma-fix-DMA-issue-ch8-ch11.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0021-pch_dma-update-spin_lock-usage-for-Alex-comments.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0022-pch_dma-Fix-CTL-register-access-issue.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0023-ioh_i2s-modify-infinite-loop-on-interrupt.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0024-pch_gpio-Delete-invalid-restore-code-in-suspend.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0025-pch_gpio-add-spinlock-in-suspend-resume-processing.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0026-pch_gpio-Save-register-value-in-suspend.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110802-0027-pch_udc-unlock-on-allocation-failure.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110804-0001-soundcard-modify-copyrithg-add-Wind-River.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110804-0002-snd-ml7213-Add-I2C-Control.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110804-0003-snd-ml7213-ioh-checkpatch.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110804-0004-i2s-snd-Update-Kconfig.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110804-0005-sndcard-added-clock-stop.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110824-0001-support-for-soundcard-monaural-and-i2s-reg-config.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110902-0001-pch_gbe-fixed-the-issue-which-receives-an-unnecessar.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110902-0002-pch_gbe-added-the-process-of-FIFO-over-run-error.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110909-0001-spi_topcliff_pch-add-tx-memory-clear-after-complete-.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110909-0002-spi_topcliff_pch-Fix-SSN-Control-issue.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110909-0003-spi_topcliff_pch-Fix-CPU-read-complete-condition-iss.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110909-0004-spi_topcliff_pch-Add-recovery-processing-in-case-FIF.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110909-0005-spi_topcliff_pch-Fix-overrun-issue.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110909-0006-spi_topcliff_pch-Fix-issue-for-transmitting-over-4KB.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110909-0007-i2c-eg20t-modified-the-setting-of-transfer-rate.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110914-0001-spi_topcliff_pch-Fix-calculation-missing-for-Tx.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110914-0002-spi_topcliff_pch-add-recovery-processing-in-case-wai.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110921-0001-i2c-eg20t-Fix-bus-idle-waiting-issue.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110921-0002-i2c-eg20t-Modify-returned-value-s32-to-long.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110921-0003-i2c-eg20t-delete-10bit-access-processing.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110921-0004-i2c-eg20t-Separate-error-processing.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110921-0005-i2c-eg20t-add-stop-sequence-in-case-wait-event-timeo.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110921-0006-i2c-eg20t-Fix-flag-setting-issue.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110921-0007-i2c-eg20t-Add-initialize-processing-in-case-i2c-erro.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110927-0001-pch_gbe-Fixed-the-issue-on-which-PC-was-frozen-when-.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110927-0002-pch_gbe-Fixed-the-issue-on-which-a-network-freezes.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110930-0001-snd-all-I2S-channel-operations-and-add-parameter-API.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110930-0002-i2c-eg20t-Fix-bus-idle-waiting-issue.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110930-0003-i2c-eg20t-Fix-NACK-processing-issue.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110930-0004-Import-from-linux-next-2a479d2d6b9c54c076e85fb86f4f4.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110930-0005-pch_can-fix-800k-comms-issue.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110930-0006-pch_can-fix-rmmod-issue.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110930-0007-pch_can-fix-module-reload-issue-with-MSI.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20110930-0008-pch_can-fix-tseg1-tseg2-setting-issue.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20111013-0001-i2s-Bug-correction.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20111013-0002-pch_dma-Fix-suspend-issue.patch
-# linux-2.6.37-ml7213-eg20t-hotfix-20111013-0003-8250_pci-Import-from-upstreamed-version.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20111013-0004-ioh_i2s-Support-Power-Management.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20111013-0005-pch_dma-Reduce-wasting-memory.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20111013-0006-i2c-eg20t-try-to-add-10-bit-access.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20111013-0007-i2c-eg20t-NACK-message-to-dbg-level.-checkpatch-issu.patch
-linux-2.6.37-ml7213-eg20t-hotfix-20111013-0008-i2c-eg20t-Modify-for-checkpatch-error.patch
-
-linux-2.6.37-ml7213-eg20t-hotfix-0001-pch_uart-Fix-PCH-UART-clock-rate.patch
-
-# End of Hot fix
-
-# End of EG20T and ML7213 Patches
+# End of Russellville Patches
#
#####################################################################
++++++ deleted files:
--- linux-2.6.37-ml7213-0004-i2s.patch
--- linux-2.6.37-ml7213-0006-snd.patch
--- linux-2.6.37-ml7213-0007-video_in.patch
--- linux-2.6.37-ml7213-0008-ioh_video_in-20110629-delete-invalid-definition-PCI_DEVICE_ID.patch
--- linux-2.6.37-ml7213-eg20t-0006-uart.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-0001-spi_topcliff_pch-20110701-Replaced-upstreamed-version.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-0002-snd-ml7213-20110701-1of2-Add-Wind-River-for-copyright.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-0003-snd-ml7213-20110701-2of2-Add-I2C-Control.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-0004-pch_dma-20110701-1of3-Fix-video-channel-issue.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-0005-pch_dma-20110701-2of3-Fix-DMA-channl-setting-issue-forI2S.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-0006-pch_dma-20110701-3of3-Fix-spin_lock-usage-issue.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-0007-ioh_i2s-20110701-Fix-register-setting-issue.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-0008-i2c-eg20t-20110701-Fix-unnecessary-error-message-issue.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-0009-ioh_video_in-20110629-delete-invalid-definition-PCI_DEVICE_ID.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-0010-i2c-eg20t-20110629-Fix-the-issue-combined-access.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0001-i2c-eg20t-Support-I2C-combined-mode.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0002-i2c-eg20t-Replace-inappropriate-error-message-to-deb.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0003-ioh_video_in-Delete-unsupported-device-ID.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0004-ioh_video_in-Modify-pci-bus-number-dynamically-to-ge.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0005-pch_phub-Save-FUNCSEL-register-in-PM-for-ML7213-IOH.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0006-pch_gpio-add-X86-Kconfig.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0007-gpio-add-MODULE_DEVICE_TABLE.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0008-pch_gbe-modify-for-checkpatch.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0009-GbE-Fixed-the-issue-of-collision-detection.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0010-GbE-Fixed-the-issue-of-checksum-judgment.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0011-spi_topcliff_pch-Updates-upstreamed-version.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0012-spi_topcliff_pch-Modify-pci-bus-number-dynamically-t.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0013-spi_topcliff_pch-supports-a-spi-mode-setup-and-bit-o.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0014-8250_pci-add-ENODEV-code-for-Intel-EG20T-PCH.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0015-pch_uart-MSI-support.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0016-pch_uart-add-console-support.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0017-pch_uart-add-poll-mode.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0018-pch_uart-Modify-pci-bus-number-dynamically-to-get-DM.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0019-pch_dma-Fix-video-channel-issue.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0020-pch_dma-fix-DMA-issue-ch8-ch11.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0021-pch_dma-update-spin_lock-usage-for-Alex-comments.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0022-pch_dma-Fix-CTL-register-access-issue.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0023-ioh_i2s-modify-infinite-loop-on-interrupt.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0024-pch_gpio-Delete-invalid-restore-code-in-suspend.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0025-pch_gpio-add-spinlock-in-suspend-resume-processing.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0026-pch_gpio-Save-register-value-in-suspend.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110802-0027-pch_udc-unlock-on-allocation-failure.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110804-0001-soundcard-modify-copyrithg-add-Wind-River.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110804-0002-snd-ml7213-Add-I2C-Control.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110804-0003-snd-ml7213-ioh-checkpatch.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110804-0004-i2s-snd-Update-Kconfig.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110804-0005-sndcard-added-clock-stop.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110824-0001-support-for-soundcard-monaural-and-i2s-reg-config.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110902-0001-pch_gbe-fixed-the-issue-which-receives-an-unnecessar.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110902-0002-pch_gbe-added-the-process-of-FIFO-over-run-error.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110909-0001-spi_topcliff_pch-add-tx-memory-clear-after-complete-.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110909-0002-spi_topcliff_pch-Fix-SSN-Control-issue.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110909-0003-spi_topcliff_pch-Fix-CPU-read-complete-condition-iss.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110909-0004-spi_topcliff_pch-Add-recovery-processing-in-case-FIF.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110909-0005-spi_topcliff_pch-Fix-overrun-issue.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110909-0006-spi_topcliff_pch-Fix-issue-for-transmitting-over-4KB.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110909-0007-i2c-eg20t-modified-the-setting-of-transfer-rate.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110914-0001-spi_topcliff_pch-Fix-calculation-missing-for-Tx.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110914-0002-spi_topcliff_pch-add-recovery-processing-in-case-wai.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110921-0001-i2c-eg20t-Fix-bus-idle-waiting-issue.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110921-0002-i2c-eg20t-Modify-returned-value-s32-to-long.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110921-0003-i2c-eg20t-delete-10bit-access-processing.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110921-0004-i2c-eg20t-Separate-error-processing.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110921-0005-i2c-eg20t-add-stop-sequence-in-case-wait-event-timeo.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110921-0006-i2c-eg20t-Fix-flag-setting-issue.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110921-0007-i2c-eg20t-Add-initialize-processing-in-case-i2c-erro.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110927-0001-pch_gbe-Fixed-the-issue-on-which-PC-was-frozen-when-.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110927-0002-pch_gbe-Fixed-the-issue-on-which-a-network-freezes.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110930-0001-snd-all-I2S-channel-operations-and-add-parameter-API.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110930-0002-i2c-eg20t-Fix-bus-idle-waiting-issue.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110930-0003-i2c-eg20t-Fix-NACK-processing-issue.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110930-0004-Import-from-linux-next-2a479d2d6b9c54c076e85fb86f4f4.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110930-0005-pch_can-fix-800k-comms-issue.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110930-0006-pch_can-fix-rmmod-issue.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110930-0007-pch_can-fix-module-reload-issue-with-MSI.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20110930-0008-pch_can-fix-tseg1-tseg2-setting-issue.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20111013-0001-i2s-Bug-correction.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20111013-0002-pch_dma-Fix-suspend-issue.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20111013-0003-8250_pci-Import-from-upstreamed-version.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20111013-0004-ioh_i2s-Support-Power-Management.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20111013-0005-pch_dma-Reduce-wasting-memory.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20111013-0006-i2c-eg20t-try-to-add-10-bit-access.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20111013-0007-i2c-eg20t-NACK-message-to-dbg-level.-checkpatch-issu.patch
--- linux-2.6.37-ml7213-eg20t-hotfix-20111013-0008-i2c-eg20t-Modify-for-checkpatch-error.patch
More information about the MeeGo-commits
mailing list