2013-08-08 M0I2CWriteBYTE100kFun => DRV_I2C_M0_WRITE_BYTE_100K M0I2CWriteBYTE400kFun => DRV_I2C_M0_WRITE_BYTE_400K M0I2CWriteWORD100kFun => DRV_I2C_M0_WRITE_WORD_100K M0I2CWriteWORD400kFun => DRV_I2C_M0_WRITE_WORD_400K M0I2CWriteDWORD100kFun => DRV_I2C_M0_WRITE_DWORD_100K M0I2CWriteDWORD400kFun => DRV_I2C_M0_WRITE_DWORD_400K M0I2CReadBYTE100kFun => DRV_I2C_M0_READ_BYTE_100K M0I2CReadBYTE400kFun => DRV_I2C_M0_READ_BYTE_400K M0I2CReadWORD100kFun => DRV_I2C_M0_READ_WORD_100K M0I2CReadWORD400kFun => DRV_I2C_M0_READ_WORD_400K M0I2CReadDWORD100kFun => DRV_I2C_M0_READ_DWORD_100K M0I2CReadDWORD400kFun => DRV_I2C_M0_READ_DWORD_400K M1I2CWriteBYTE100kFun => DRV_I2C_M1_WRITE_BYTE_100K M1I2CWriteBYTE400kFun => DRV_I2C_M1_WRITE_BYTE_400K M1I2CWriteWORD100kFun => DRV_I2C_M1_WRITE_WORD_100K M1I2CWriteWORD400kFun => DRV_I2C_M1_WRITE_WORD_400K M1I2CWriteDWORD100kFun => DRV_I2C_M1_WRITE_DWORD_100K M1I2CWriteDWORD400kFun => DRV_I2C_M1_WRITE_DWORD_400K M1I2CReadBYTE100kFun => DRV_I2C_M1_READ_BYTE_100K M1I2CReadBYTE400kFun => DRV_I2C_M1_READ_BYTE_400K M1I2CReadWORD100kFun => DRV_I2C_M1_READ_WORD_100K M1I2CReadWORD400kFun => DRV_I2C_M1_READ_WORD_400K M1I2CReadDWORD100kFun => DRV_I2C_M1_READ_DWORD_100K M1I2CReadDWORD400kFun => DRV_I2C_M1_READ_DWORD_400K I2CReadFun => DRV_I2C_ReadFun I2CWriteFun => DRV_I2C_WriteFun M0I2CBasicReadFun => DRV_I2C_M0BasicReadFun M1I2CBasicReadFun => DRV_I2C_M1BasicReadFun M0I2CBasicWriteFun => DRV_I2C_M0BasicWriteFun M1I2CBasicWriteFun => DRV_I2C_M1BasicWriteFun QueueCmdFun => DRV_I2C_QueueCmdFun RunCmdFun => DRV_I2C_RunCmdFun 2013-08-05 remove "SIS" string sis316.c -> drv_i2c_main.c sis316.h -> drv_i2c_main.h gpioi2c.c -> drv_i2c_gpioi2c.c gpioi2c.h -> drv_i2c_gpioi2c.h 2013-08-05 change kernal function to new function name 1. sis_kmalloc() replace by drv_kmalloc() 2. sis_kfree() replace by drv_kfree() header: KERNEL/linux-2.6.35.9/include/ folder KERNEL/linux-2.6.35.9/arch/mips/include/asm/dma-mapping.h sis_kmalloc => drv_kmalloc sis_kfree => drv_kfree sis_free_pages => drv_free_pages __sis_get_free_pages => drv_get_free_pages sis_driver_reserved_mem_table => drv_driver_reserved_mem_table sis_vfree => drv_vfree sis_vmalloc => drv_malloc sis_dma_pool_create => drv_dma_pool_create sis_dma_pool_destroy => drv_dma_pool_destroy sis_dma_pool_alloc => drv_dma_pool_alloc sis_dma_pool_free => drv_dma_pool_free sis_dma_alloc_coherent => drv_dma_alloc_coherent sis_dma_free_coherent => drv_dma_free_coherent SiS_driver_set_source => drv_reserved_mem_set_config SiS_driver_get_reserve_mem => drv_reserved_mem_get SiS_driver_get_reserve_mem_addr => drv_reserved_mem_get_addr SiS_driver_get_reserve_mem_size => drv_reserved_mem_get_size 2011-08-18 jimmy search key "08/18/2012" 1. Support external HDMI switch for SiS 330 and use GPIO 21 and 22 for Aux i2c read/write. 2011-07-27 jimmy search key "07/27/2011" 1. Realtop project won't change gpio pins 21 and 22 for hdmi switch. We use 20 and 22 for final board. SiS-365 formal version =============================== [2011-08-07 lwhite] 1. Add register_chrdev_region & unregister_chrdev_region [2011-06-17 lwhite] 1. Enable the second I2C master [2011-06-14 lwhite] 1. Add MX_CONTROL0_ADDR_INT_DISABLE (0xbe070000:29) [2011-05-12 lwhite] 1. add two export functions "DRV_I2C_QueueCmdFun" & "DRV_I2C_RunCmdFun" 2. set MX_CONTROL0_BUSY_WAIT_EN on I2cInit [2011-05-04 Troy] 1. Canceling timer function. [2011-05-03 Troy] 1. Adding timer function. [2011-02-22 lwhite] 1. modify codes for Suspend function (add flag "bSuspend") [2011-01-20 lwhite] 1. I use the register 0xbe070054 (tBUF) to replace sw delay [2011-01-14 lwhite] 1. Add 20us delay for every R/W command for hardware workaround [2011-01-10 cdlin] search key "01/10/2011" 1.The GPIO of i2c for HDMI switch is changed from GPIO 24/25 to GPIO 21/22. [2010-12-27 lwhite] 1. Add I2CSuspend & I2CResume for FASTBOOT [2010-09-15 lwhite] 1. Add the header file for porting driver to Kernel-2.6.35 (for drv_kmalloc & drv_vfree) [2010-08-17 lwhite] 1. To avoid error number of interrupt, I modified the M0_CONTROL0 value when clearing interrupt signal (non-base address READ/WRITE) in MasterI2cInterruptFun 2. Reduce the delay time (10ms->100us) when bus busy happening [2010-06-07 lwhite] 1. Add gpioi2c.c & gpioi2c.h for software gpio i2c 2. Add GPIOI2cMutex in I2C_DEV strcture for read&write function of gpio i2c [2010-06-02 lwhite] 1. Modify the counter of I2CBusBusy 2. Add I2C speed selection (200K and 300K) [2010-05-27 lwhite] 1. Modify the handling process when the counter of I2CBusBusy over than 10000 [2009-04-01 lwhite] 1. Modify I2C speed(MX_CONTROL0_SCL_100K haved changed to 0x00000030, MX_CONTROL0_SCL_400K haved changed to 0x0000000B) [2009-02-23 lwhite] 1. Add "I2C Bus Busy" timeout (if RegValue counter bigger than 10000) [2009-02-13 lwhite] 1. Add wmb() before fire command in read/write function [2008-11-19 lwhite] 1. Removed the related codes of timer [2008-10-22 lwhite] 1. Removed the "#ifndef RELEASE_VER" in I2cIoctlFun() [2008-09-24 Hayes] 1. Temporarily for HDMI switch CAT6353.[2008-09-04 Hayes] 1. Lengthen the timeout. 2. Enable IOCTL only in debug mode.[2008-08-11 Hayes] 1. Fix the timeout is too short to work normally.[2008-08-06 Hayes] 1. Replace the memory allocation function with new one. 2. Add timeout function for master0 read/write.[2008-07-10 Hayes] 1. Remove hardware reset of I2C. Bootrom would finish it. 2. Add timeout for basic function.[2008-05-26 Hayes] 1. Remove I2C_SOFTWARE_MODE_GPIO.[2007-12-25 Hayes] 1. Fix the issue that i2c process fail when reading more than one byte data. 2. Add some code for debugging.[2007-10-30 Hayes] 1. Fix that the timer counter of software I2C overflows resulting in the unexpected waiting.[2007-09-29 Hayes] 1. Add some feature to prevent the issue of I2C 400K.[2007-09-20 Hayes] 1. Improve the speed for software mode I2C.[2007-09-14 Hayes] 1. Close the message for release version.[2007-08-22 Hayes] 1. Fix the wrong definition causing I2C function fail.[2007-08-21 Hayes] 1. Support the queue of I2C writing. 2. Support the software mode for two and four bytes.[2007-08-15 Hayes] 1. Add Status parameter for software i2c function. 2. Replace the definiton of i2c mode by using SIS_I2C_MODE. 3. Remove all the old software i2c function.[2007-08-14 Hayes] 1. Add the software mode for I2C. 2. Add flag FORCE_SOFTWARE_MODE_MASTER to switch I2C to software mode.[2007-07-20 Hayes] 1. Add new ioctl IOC_I2C_MASTER_WRITE and IOC_I2C_MASTER_READ.