[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