==================================================
Patch files for MeeGo v1.2 for IVI
Intel EG20T PCH
LAPIS Semiconductor ML7213 IOH
Updated on Nov-21-2011
==================================================
===============================================================================
Table of contents
===============================================================================
1. Introduction
2. Contents of compression file
3. Detail
4. License
===============================================================================
1. Introduction
===============================================================================
This README explains the contents of the patch for kernel/IOH shown below.
<Supported Kernel Versions>
- MeeGo v1.2 for In-Vehicle
(rpm package: kernel-adaptation-intel-automotive-2.6.37.6-10.5.src.rpm)
<Supported IOH>
- Intel EG20T PCH
- LAPIS Semiconductor ML7213 IOH
===============================================================================
2. Contents of compression file
===============================================================================
-------------------------------------------
20110802.tar.bz2
-------------------------------------------
0001-i2c-eg20t-Support-I2C-combined-mode.patch
0002-i2c-eg20t-Replace-inappropriate-error-message-to-deb.patch
0003-ioh_video_in-Delete-unsupported-device-ID.patch
0004-ioh_video_in-Modify-pci-bus-number-dynamically-to-ge.patch
0005-pch_phub-Save-FUNCSEL-register-in-PM-for-ML7213-IOH.patch
0006-pch_gpio-add-X86-Kconfig.patch
0007-gpio-add-MODULE_DEVICE_TABLE.patch
0008-pch_gbe-modify-for-checkpatch.patch
0009-GbE-Fixed-the-issue-of-collision-detection.patch
0010-GbE-Fixed-the-issue-of-checksum-judgment.patch
0011-spi_topcliff_pch-Updates-upstreamed-version.patch
0012-spi_topcliff_pch-Modify-pci-bus-number-dynamically-t.patch
0013-spi_topcliff_pch-supports-a-spi-mode-setup-and-bit-o.patch
0014-8250_pci-add-ENODEV-code-for-Intel-EG20T-PCH.patch
0015-pch_uart-MSI-support.patch
0016-pch_uart-add-console-support.patch
0017-pch_uart-add-poll-mode.patch
0018-pch_uart-Modify-pci-bus-number-dynamically-to-get-DM.patch
0019-pch_dma-Fix-video-channel-issue.patch
0020-pch_dma-fix-DMA-issue-ch8-ch11.patch
0021-pch_dma-update-spin_lock-usage-for-Alex-comments.patch
0022-pch_dma-Fix-CTL-register-access-issue.patch
0023-ioh_i2s-modify-infinite-loop-on-interrupt.patch
0024-pch_gpio-Delete-invalid-restore-code-in-suspend.patch
0025-pch_gpio-add-spinlock-in-suspend-resume-processing.patch
0026-pch_gpio-Save-register-value-in-suspend.patch
0027-pch_udc-unlock-on-allocation-failure.patch
-------------------------------------------
20110804.tar.bz2
-------------------------------------------
0001-soundcard-modify-copyrithg-add-Wind-River.patch
0002-snd-ml7213-Add-I2C-Control.patch
0003-snd-ml7213-ioh-checkpatch.patch
0004-i2s-snd-Update-Kconfig.patch
0005-sndcard-added-clock-stop.patch
-------------------------------------------
20110824.tar.bz2
-------------------------------------------
0001-support-for-soundcard-monaural-and-i2s-reg-config.patch
-------------------------------------------
20110902.tar.bz2
-------------------------------------------
0001-pch_gbe-fixed-the-issue-which-receives-an-unnecessar.patch
0002-pch_gbe-added-the-process-of-FIFO-over-run-error.patch
-------------------------------------------
20110909.tar.bz2
-------------------------------------------
0001-spi_topcliff_pch-add-tx-memory-clear-after-complete-.patch
0002-spi_topcliff_pch-Fix-SSN-Control-issue.patch
0003-spi_topcliff_pch-Fix-CPU-read-complete-condition-iss.patch
0004-spi_topcliff_pch-Add-recovery-processing-in-case-FIF.patch
0005-spi_topcliff_pch-Fix-overrun-issue.patch
0006-spi_topcliff_pch-Fix-issue-for-transmitting-over-4KB.patch
0007-i2c-eg20t-modified-the-setting-of-transfer-rate.patch
-------------------------------------------
20110914.tar.bz2
-------------------------------------------
0001-spi_topcliff_pch-Fix-calculation-missing-for-Tx.patch
0002-spi_topcliff_pch-add-recovery-processing-in-case-wai.patch
-------------------------------------------
20110921.tar.bz2
-------------------------------------------
0001-i2c-eg20t-Fix-bus-idle-waiting-issue.patch
0002-i2c-eg20t-Modify-returned-value-s32-to-long.patch
0003-i2c-eg20t-delete-10bit-access-processing.patch
0004-i2c-eg20t-Separate-error-processing.patch
0005-i2c-eg20t-add-stop-sequence-in-case-wait-event-timeo.patch
0006-i2c-eg20t-Fix-flag-setting-issue.patch
0007-i2c-eg20t-Add-initialize-processing-in-case-i2c-erro.patch
-------------------------------------------
20110927.tar.bz2
-------------------------------------------
0001-pch_gbe-Fixed-the-issue-on-which-PC-was-frozen-when-.patch
0002-pch_gbe-Fixed-the-issue-on-which-a-network-freezes.patch
-------------------------------------------
20110930.tar.bz2
-------------------------------------------
0001-snd-all-I2S-channel-operations-and-add-parameter-API.patch
0002-i2c-eg20t-Fix-bus-idle-waiting-issue.patch
0003-i2c-eg20t-Fix-NACK-processing-issue.patch
0004-Import-from-linux-next-2a479d2d6b9c54c076e85fb86f4f4.patch
0005-pch_can-fix-800k-comms-issue.patch
0006-pch_can-fix-rmmod-issue.patch
0007-pch_can-fix-module-reload-issue-with-MSI.patch
0008-pch_can-fix-tseg1-tseg2-setting-issue.patch
-------------------------------------------
20111121.tar.bz2
-------------------------------------------
0001-pch_phub-Improve-ADE-Address-Decode-Enable-control.patch
0002-pch_uart-Fix-hw-flow-control-issue.patch
0003-pch_uart-Fix-DMA-resource-leak-issue.patch
===============================================================================
3. DETAIL
===============================================================================
-------------------------------------------
20110802.tar.bz2
-------------------------------------------
0001-i2c-eg20t-Support-I2C-combined-mode.patch
i2c-eg20t: Support I2C-combined mode
0002-i2c-eg20t-Replace-inappropriate-error-message-to-deb.patch
i2c-eg20t: Replace inappropriate error message to debug message
No-Ack status is not error but normal pattern.
Thus, this patch replaces the error message to debug message.
0003-ioh_video_in-Delete-unsupported-device-ID.patch
ioh_video_in: Delete unsupported device ID
ML7223(MP) is not supported in MeeGo1.2.
0004-ioh_video_in-Modify-pci-bus-number-dynamically-to-ge.patch
ioh_video_in: Modify pci-bus number dynamically to get DMA
Currently, for getting PCH-DMA's device information,
set a bus-number as fixed "2".
However, the bus number is not always "2".
This patch modifies that video driver gets the bus number from
parameter of pci-probe function.
0005-pch_phub-Save-FUNCSEL-register-in-PM-for-ML7213-IOH.patch
pch_phub: Save FUNCSEL register in PM for ML7213 IOH
Only ML7213 has this register.
Currently,this driver doesn't care register "FUNCSEL" in suspend/resume.
This patch saves/restores FUNCSEL register only when the device is
ML7213.
0006-pch_gpio-add-X86-Kconfig.patch
pch_gpio: add X86 (Kconfig)
0007-gpio-add-MODULE_DEVICE_TABLE.patch
gpio: add MODULE_DEVICE_TABLE
The device table is required to load modules based on modaliases.
After adding MODULE_DEVICE_TABLE, below entries will be added to
modules.pcimap:
pch_gpio
0x00008086 0x00008803 0xffffffff 0xffffffff 0x00000000 0x00000000 0x0
ml_ioh_gpio
0x000010db 0x0000802e 0xffffffff 0xffffffff 0x00000000 0x00000000 0x0
0008-pch_gbe-modify-for-checkpatch.patch
pch_gbe: modify for checkpatch
0009-GbE-Fixed-the-issue-of-collision-detection.patch
GbE: Fixed the issue of collision detection
0010-GbE-Fixed-the-issue-of-checksum-judgment.patch
GbE: Fixed the issue of checksum judgment
0011-spi_topcliff_pch-Updates-upstreamed-version.patch
spi_topcliff_pch: Updates upstreamed version
Update this driver accepted by upstream
0012-spi_topcliff_pch-Modify-pci-bus-number-dynamically-t.patch
spi_topcliff_pch: Modify pci-bus number dynamically to get DMA device
info Currently, for getting PCH-DMA's device information,
set a bus-number as fixed "2".
However, the bus number is not always "2".
This patch modifies that spi_topcliff_pch driver gets the bus number
from parameter of pci-probe function.
0013-spi_topcliff_pch-supports-a-spi-mode-setup-and-bit-o.patch
spi_topcliff_pch: supports a spi mode setup and bit order setup
by IO control.
This patch supports a spi mode setup and bit order setup by IO control.
spi mode: mode 0 to mode 3
bit order: LSB first, MSB first
0014-8250_pci-add-ENODEV-code-for-Intel-EG20T-PCH.patch
8250_pci: add -ENODEV code for Intel EG20T PCH
Intel EG20T PCH has UART device which is compatible with 8250.
Currently, with general configuration, the PCH UART driver is not loaded
but 8250 standard driver is loaded.
Therefore, in case of using PCH UART driver, need to disable 8250 pci
function. However, this procedure is not best solution.
This patch, in 8250_pci, if the device is the PCH or the family IOH,
'-ENODEV' is returned.
As a result, disabling 8250-pci processing becomes unnecessary.
0015-pch_uart-MSI-support.patch
pch_uart: MSI-support
0016-pch_uart-add-console-support.patch
pch_uart: add console support
0017-pch_uart-add-poll-mode.patch
pch_uart: add poll mode
0018-pch_uart-Modify-pci-bus-number-dynamically-to-get-DM.patch
pch_uart: Modify pci-bus number dynamically to get DMA device info
Currently, for getting PCH-DMA's device information,
set a bus-number as fixed "2".
However, the bus number is not always "2".
This patch modifies that pch_uart driver gets the bus number from
parameter of pci-probe function.
0019-pch_dma-Fix-video-channel-issue.patch
pch_dma: Fix-video-channel-issue
Currently, even channel is set as Tx and is set as Rx.
However, DMA channel for video doesn't obey this rule.
This patch fix the issue
0020-pch_dma-fix-DMA-issue-ch8-ch11.patch
pch_dma: fix DMA issue(ch8-ch11)
Currently, status register(STS2) for I2S is not processed.
This patch fixes this issue.
0021-pch_dma-update-spin_lock-usage-for-Alex-comments.patch
pch_dma: update spin_lock usage for Alex comments
Enabling CONFIG_TRACE_IRQFLAGS ans CONFIG_PROVE_LOCKING,
kernel error messages occurs.
This patch fixes the issue.
0022-pch_dma-Fix-CTL-register-access-issue.patch
pch_dma: Fix CTL register access issue
Currently, Mode-Control register is accessed by read-modify-write.
According to DMA hardware specifications datasheet, prohibits this
method. Because this register resets to 0 by DMA HW after DMA transfer
completes. Thus, current read-modify-write processing can cause
unexpected behavior.
The datasheet says in case of writing Mode-Control register, set the
value for only target channel, the others must set '11b'.
e.g. Set DMA0=01b DMA11=10b
CTL0=33333331h
CTL2=00002333h
NOTE:
CTL0 includes DMA0~7 Mode-Control register.
CTL2 includes DMA8~11 Mode-Control register.
This patch modifies the issue.
0023-ioh_i2s-modify-infinite-loop-on-interrupt.patch
ioh_i2s: modify infinite loop on interrupt
Currently, dead-lock is occurred.
Because enabling-interrupt process is not correct.
This patch fixes the issue.
0024-pch_gpio-Delete-invalid-restore-code-in-suspend.patch
pch_gpio: Delete invalid "restore" code in suspend()
0025-pch_gpio-add-spinlock-in-suspend-resume-processing.patch
pch_gpio: add spinlock in suspend/resume processing
0026-pch_gpio-Save-register-value-in-suspend.patch
pch_gpio: Save register value in suspend()
Currently, when suspend is occurred, register im0/1 and gpio_use_sel are
not saved.
This patch modifies so that register im0/1 and gpio_use_sel are saved.
0027-pch_udc-unlock-on-allocation-failure.patch
pch_udc: unlock-on-allocation-failure
Currently, in case memory allocation fails, spin-lock is not unlocked.
This patch fixes the issue.
-------------------------------------------
20110804.tar.bz2
-------------------------------------------
0001-soundcard-modify-copyrithg-add-Wind-River.patch
soundcard: modify copyrithg (add Wind River)
0002-snd-ml7213-Add-I2C-Control.patch
soundcard: I2C control was added for the audio codec controlled by an
I2C interface.
The added I2C control is ML26124 Audio Codec exclusive use.
0003-snd-ml7213-ioh-checkpatch.patch
soundcard: modify for checkpatch warning
0004-i2s-snd-Update-Kconfig.patch
Kconfig/soundcard: modify Kconfig explanation correctly.
0005-sndcard-added-clock-stop.patch
soundcard: The SoundCard driver before applying this patch was always
supplied
BCLK and LRCLK to the audio codec regardless of operation and a stop
of soundcard.
By applying this patch, supply of BCLK and LRCLK to the audio codec
by I2S hardware is stopped between sound card stops.
-------------------------------------------
20110824.tar.bz2
-------------------------------------------
0001-support-for-soundcard-monaural-and-i2s-reg-config.patch
soundcard: Playback and recording of a monaural sound are attained
by adding this patch.
i2s driver: The i2s driver before applying this patch supported
the digital audio interface(DAI)
which connects a codec with I2S hardware only at the I2S format.
By applying this patch, the format of DAI can be changed.
The main difference is the followings.
Before applying this patch
Support Samplyng frequency (Fs): 16kHz, 32kHz, 48kHz
Support BCLK : 32*Fs only
Support format : i2s format only
LRCLK and BCLK : Master only
By applying this patch
Support Samplyng frequency (Fs): 8kHz, 11.025kHz, 16kHz, 22.05kHz,
32kHz, 44.1kHz, 48kHz
Support BCLK : 8*Fs, 16*Fs, 32*Fs, 64*Fs
Support format : i2s format and tel codec format
LRCLK and BCLK : Master and Slave
-------------------------------------------
20110902.tar.bz2
-------------------------------------------
0001-pch_gbe-fixed-the-issue-which-receives-an-unnecessar.patch
pch_gbe: fixed the issue which receives an unnecessary packet.
This patch fixed the issue which receives an unnecessary packet before
link.
When using PHY of GMII, an unnecessary packet is received,
And it becomes impossible to receive a packet after link up.
0002-pch_gbe-added-the-process-of-FIFO-over-run-error.patch
pch_gbe: added the process of FIFO over run error
This patch added the processing which should be done to hardware,
when a FIFO over run error occurred.
-------------------------------------------
20110909.tar.bz2
-------------------------------------------
0001-spi_topcliff_pch-add-tx-memory-clear-after-complete-.patch
spi-topcliff-pch: add tx-memory clear after complete transmitting
Currently, in case of reading date from SPI flash,
command is sent twice.
The cause is that tx-memory clear processing is missing .
This patch adds the tx-momory clear processing.
0002-spi_topcliff_pch-Fix-SSN-Control-issue.patch
spi-topcliff-pch: Fix SSN Control issue
During processing 1 command/data series,
SSN should keep LOW.
However, currently, SSN becomes HIGH.
This patch fixes the issue.
0003-spi_topcliff_pch-Fix-CPU-read-complete-condition-iss.patch
spi-topcliff-pch: Fix CPU read complete condition issue
We found Rx data sometimes drops.(with non-DMA transfer mode)
The cause is read complete condition is not true.
This patch fixes the issue.
0004-spi_topcliff_pch-Add-recovery-processing-in-case-FIF.patch
spi-topcliff-pch: Add recovery processing in case FIFO overrun error
occurs
Add recovery processing in case FIFO overrun error occurs
with DMA transfer mode.
0005-spi_topcliff_pch-Fix-overrun-issue.patch
spi-topcliff-pch: Fix overrun issue
We found that adding load, Rx data sometimes drops.
(with DMA transfer mode)
The cause is that before starting Rx-DMA processing, Tx-DMA processing
starts. This causes FIFO overrun occurs.
This patch fixes the issue by modifying FIFO tx-threshold and DMA
descriptor size like below.
| Current --> This patch
-----------------------------------------------------------
Rx-descriptor| [1~12][12]...[12] --> [12]...[12][1~12][12]
Rx-threshold | Not modified
Tx-descriptor| [1~12][12]...[12] --> [16][12]...[12][1~12]
Tx-threshold | 12Byte --> 2Byte
("[*]" means "*byte")
0006-spi_topcliff_pch-Fix-issue-for-transmitting-over-4KB.patch
Currently, when this SPI driver receives transmit request over 4KBytes,
System is locked.
The cause is that this driver doesn't expect the rerquest.
This patch fixed the issue.
0007-i2c-eg20t-modified-the-setting-of-transfer-rate.patch
i2c-eg20t: modified the setting of transfer rate.
This patch modified the setting value of
I2C Bus Transfer Rate Setting Counter regisrer.
-------------------------------------------
20110914.tar.bz2
-------------------------------------------
0001-spi_topcliff_pch-Fix-calculation-missing-for-Tx.patch
spi_topcliff_pch: Fix calculation missing for Tx
1st TX-DMA descripter size is set as 16Byte.
So, this condition must be used "16" not "12".
0002-spi_topcliff_pch-add-recovery-processing-in-case-wai.patch
spi_topcliff_pch: add recovery processing in case wait-event timeout
-------------------------------------------
20110921.tar.bz2
-------------------------------------------
0001-i2c-eg20t-Fix-bus-idle-waiting-issue.patch
Currently, when checking whether bus is idle or not,
if timeout occurs,
this function always returns success(zero).
This patch fixes the issue.
0002-i2c-eg20t-Modify-returned-value-s32-to-long.patch
Type of wait_event_timeout is long not s32.
This patch replaces s32 with long.
Additionally, delete negative processing(ret < 0).
0003-i2c-eg20t-delete-10bit-access-processing.patch
Linux I2C core doesn't support 10bit access formally.
Additionally, we can't test with 10bit mode.
This patch deletes the 10bit access processing.
0004-i2c-eg20t-Separate-error-processing.patch
Error processing for NACK or wait-event must be precessed separately.
So divide wait-event error processing into NACK-receiving and timeout.
Add arbitration lost processing.
0005-i2c-eg20t-add-stop-sequence-in-case-wait-event-timeo.patch
add stop sequence in case wait-event timeout in write processing.
(read processing already had it)
0006-i2c-eg20t-Fix-flag-setting-issue.patch
Currently, in case occurring abnormal event,
internal flag variable(=pch_event_flag) is not reset.
This patch fixes the issue.
0007-i2c-eg20t-Add-initialize-processing-in-case-i2c-erro.patch
In case disconnecting physical connection,
need to initialize i2c device for retry access.
This patch adds initialize process in case bus-idle fails and Lost
arbitration.
-------------------------------------------
20110927.tar.bz2
-------------------------------------------
0001-pch_gbe-Fixed-the-issue-on-which-PC-was-frozen-when-.patch
pch_gbe: Fixed the issue on which PC was frozen when link was downed.
When a link was downed during network use,
there is an issue on which PC freezes.
This patch fixed this issue.
0002-pch_gbe-Fixed-the-issue-on-which-a-network-freezes.patch
pch_gbe: Fixed the issue on which a network freezes
The pch_gbe driver has an issue which a network stops,
when receiving traffic is high.
In the case, The link down and up are necessary to return a network.
This patch fixed this issue.
-------------------------------------------
20110930.tar.bz2
-------------------------------------------
0001-snd-all-I2S-channel-operations-and-add-parameter-API.patch
i2s/soundcard: all I2S channel operations and add parameter API
I2S Multi-channel support
Data format dynamic setting support
0002-i2c-eg20t-Fix-bus-idle-waiting-issue.patch
i2c-eg20t: Fix bus-idle waiting issue
0003-i2c-eg20t-Fix-NACK-processing-issue.patch
i2c-eg20t: Fix waiting NACK processing issue
0004-Import-from-linux-next-2a479d2d6b9c54c076e85fb86f4f4.patch
0005-pch_can-fix-800k-comms-issue.patch
0006-pch_can-fix-rmmod-issue.patch
0007-pch_can-fix-module-reload-issue-with-MSI.patch
0008-pch_can-fix-tseg1-tseg2-setting-issue.patch
pch_can: Import from upstreamed version
-------------------------------------------
20111121.tar.bz2
-------------------------------------------
0001-pch_phub-Improve-ADE-Address-Decode-Enable-control.patch
pch_phub: Improve ADE(Address Decode Enable) control
Currently, external ROM access is enabled/disabled in probe()/remove().
So, when a buggy software access unanticipated memory area,
in case of enabling this ADE bit,
external ROM memory area can be broken.
This patch enables the ADE bit only accessing external ROM area.
0002-pch_uart-Fix-hw-flow-control-issue.patch
pch_uart: Fix hw-flow control issue
Using hardware flow control,
currently, register of the control-bit(AFE) is not set.
This patch fixes the issue.
0003-pch_uart-Fix-DMA-resource-leak-issue.patch
pch_uart: Fix DMA resource leak issue
Changing UART mode PIO->DMA->PIO->DMA like below, pch_uart driver can't get
DMA channel resource.
setserial /dev/ttyPCH0 ^low_latency
setserial /dev/ttyPCH0 low_latency
===============================================================================
4. License
===============================================================================
Copyright (C) 2011 LAPIS Semiconductor Co., Ltd.
This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License,
version 2, as published by the Free Software Foundation.
This program is distributed in the hope 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.