CPM2 I2C (SDMA and Bit-Banger)
Subsystems (2)
PATCH 1/1 CPM2 I2C (SDMA and Bit-Banger)
This patch adds CPM2 I2C support, both in bit-bang and CPM SDMA modes.
Lightly tested, and should be easily ported to the MPC8xx's CPM.
Signature · 2 lines
Jason McMullan <[email protected]> TimeSys Corporation
#### Auto-generated patch ####
Date: Tue, 22 Mar 2005 15:23:27 -0500 Maintainer: Jason McMullan <[email protected]> Summary: CPM/CPM2 I2C driver for Freescale SoC devices Description: CPM/CPM2 I2C driver for Freescale SoC devices
Depends:
###############################
Index of changes:
drivers/i2c/algos/Kconfig | 4 drivers/i2c/algos/Makefile | 1 drivers/i2c/busses/Kconfig | 25 + drivers/i2c/busses/Makefile | 1 include/linux/i2c-id.h | 4 linux/drivers/i2c/algos/i2c-algo-cpm.c | 477 +++++++++++++++++++++++++++++++++ linux/drivers/i2c/busses/i2c-cpm.c | 215 ++++++++++++++ linux/include/linux/i2c-algo-cpm.h | 64 ++++ 8 files changed, 787 insertions(+), 4 deletions(-)
drivers/i2c/algos/Kconfig +4 -0
@@ -16,6 +16,10 @@ This support is also available as a module. If so, the module will be called i2c-algo-bit. +config I2C_ALGO_CPM + tristate "MPC (8xx and 8xxx) CPM I2C interface" + depends on (8xx || 85xx ) && I2C + config I2C_ALGOPCF tristate "I2C PCF 8584 interfaces" depends on I2C
drivers/i2c/algos/Makefile +1 -0
@@ -3,6 +3,7 @@ # obj-$(CONFIG_I2C_ALGOBIT) += i2c-algo-bit.o +obj-$(CONFIG_I2C_ALGO_CPM) += i2c-algo-cpm.o obj-$(CONFIG_I2C_ALGOPCF) += i2c-algo-pcf.o obj-$(CONFIG_I2C_ALGOPCA) += i2c-algo-pca.o obj-$(CONFIG_I2C_ALGOITE) += i2c-algo-ite.o
drivers/i2c/algos/i2c-algo-cpm.c new file +477 -0
477 lines not on this page · raw message
drivers/i2c/busses/Kconfig +21 -4
@@ -229,6 +229,21 @@ This driver can also be built as a module. If so, the module will be called i2c-mpc. +config I2C_CPM + tristate "Motorola MPC8xx and MPC85xx CPM I2C" + depends on (8xx || 85xx) && I2C + help + This supports the use of the I2C interface in the Motorola + MPC8xx and MPC85xx series embedded processors on the CPM + I2C macrocell. + +config I2C_CPM_BIT + bool "Bit-Bang only?" + depends on I2C_CPM + help + Only use the CPM parallel port bit-banging interface, not the + SDMA CPM device. + config I2C_NFORCE2 tristate "Nvidia Nforce2" depends on I2C && PCI && EXPERIMENTAL
@@ -317,10 +332,12 @@ This support is also available as a module. If so, the module will be called i2c-prosavage. -config I2C_RPXLITE - tristate "Embedded Planet RPX Lite/Classic support" - depends on (RPXLITE || RPXCLASSIC) && I2C - select I2C_ALGO8XX +# This appears to be broken... +# +#config I2C_RPXLITE +# tristate "Embedded Planet RPX Lite/Classic support" +# depends on (RPXLITE || RPXCLASSIC) && I2C +# select I2C_ALGO8XX config I2C_S3C2410 tristate "S3C2410 I2C Driver"
drivers/i2c/busses/Makefile +1 -0
@@ -8,6 +8,7 @@ obj-$(CONFIG_I2C_AMD756) += i2c-amd756.o obj-$(CONFIG_I2C_AMD756_S4882) += i2c-amd756-s4882.o obj-$(CONFIG_I2C_AMD8111) += i2c-amd8111.o +obj-$(CONFIG_I2C_CPM) += i2c-cpm.o obj-$(CONFIG_I2C_AU1550) += i2c-au1550.o obj-$(CONFIG_I2C_ELEKTOR) += i2c-elektor.o obj-$(CONFIG_I2C_HYDRA) += i2c-hydra.o
drivers/i2c/busses/i2c-cpm.c new file +215 -0
215 lines not on this page · raw message
include/linux/i2c-algo-cpm.h new file +64 -0
64 lines not on this page · raw message
include/linux/i2c-id.h +4 -0
@@ -201,6 +201,7 @@#define I2C_ALGO_SIBYTE 0x150000/* Broadcom SiByte SOCs */ #define I2C_ALGO_SGI 0x160000/* SGI algorithm */ #define I2C_ALGO_AU1550 0x170000/* Au1550 PSC algorithm */ +#define I2C_ALGO_CPM2 0x180000/* MPC8xxx and MPC8xx CPM I2C */ #define I2C_ALGO_EXP 0x800000/* experimental */
@@ -253,6 +254,9 @@/* --- ACPI Embedded controller algorithms */ #define I2C_HW_ACPI_EC 0x00 +/* --- Motorola MPC CPM2 I2C adapters -- */ +#define I2C_HW_CPM2 0x00 +/* --- MPC824x PowerPC adapters */ #define I2C_HW_MPC824X 0x00/* Motorola 8240 / 8245 */