1
linux/drivers/i2c/busses
Wolfgang Grandegger f2bd5efe72 i2c: i2c-mpc: make I2C bus speed configurable
This patch makes the I2C bus speed configurable by using the I2C node
property "clock-frequency". If the property is not defined, the old
fixed clock settings will be used for backward comptibility.

The generic I2C clock properties, especially the CPU-specific source
clock pre-scaler are defined via the OF match table:

  static const struct of_device_id mpc_i2c_of_match[] = {
	...
	{.compatible = "fsl,mpc8543-i2c",
	 .data = &(struct fsl_i2c_match_data) {
			.setclock = mpc_i2c_setclock_8xxx,
			.prescaler = 2,
		},
	},

The "data" field defines the relevant I2C setclock function and the
relevant pre-scaler for the I2C source clock frequency.

It uses arch-specific tables and functions to determine resonable
Freqency Divider Register (fdr) values for MPC83xx, MPC85xx, MPC86xx,
MPC5200 and MPC5200B.

The i2c->flags field and the corresponding FSL_I2C_DEV_* definitions
have been removed as they are obsolete.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-07 10:18:47 +01:00
..
i2c-acorn.c [ARM] acorn,ebsa110,footbridge,integrator,sa1100: Convert asm/io.h to linux/io.h 2009-03-25 10:21:35 +00:00
i2c-ali15x3.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-ali1535.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-ali1563.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-amd756-s4882.c i2c: Use snprintf to set adapter names 2009-01-07 14:29:18 +01:00
i2c-amd756.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-amd8111.c i2c: Timeouts reach -1 2009-02-24 19:19:48 +01:00
i2c-at91.c i2c: Use snprintf to set adapter names 2009-01-07 14:29:18 +01:00
i2c-au1550.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-bfin-twi.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-cpm.c i2c-cpm: Detect and report NAK right away instead of timing out 2008-12-16 20:17:09 +00:00
i2c-davinci.c i2c-davinci: Fix timeout handling 2009-03-28 21:34:43 +01:00
i2c-elektor.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-gpio.c
i2c-highlander.c i2c-highlander: Trivial endian casting fixes 2008-12-11 12:11:21 +01:00
i2c-hydra.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-i801.c i2c-i801: Instantiate FSC hardware montioring chips 2009-03-30 21:46:44 +02:00
i2c-ibm_iic.c i2c: Adapter timeout is in jiffies 2009-03-28 21:34:43 +01:00
i2c-ibm_iic.h
i2c-imx.c i2c: imx: Add missing request_mem_region in probe() 2009-04-07 10:18:33 +01:00
i2c-iop3xx.c i2c: Adapter timeout is in jiffies 2009-03-28 21:34:43 +01:00
i2c-iop3xx.h
i2c-isch.c
i2c-ixp2000.c i2c: Make sure i2c_algo_bit_data.timeout is HZ-independent 2009-02-24 19:19:49 +01:00
i2c-mpc.c i2c: i2c-mpc: make I2C bus speed configurable 2009-04-07 10:18:47 +01:00
i2c-mv64xxx.c i2c: Adapter timeout is in jiffies 2009-03-28 21:34:43 +01:00
i2c-nforce2-s4985.c
i2c-nforce2.c i2c-nforce2: Add support for MCP67, MCP73, MCP78S and MCP79 2009-03-28 21:34:41 +01:00
i2c-ocores.c
i2c-omap.c [ARM] omap: i2c: remove conditional ick clocks 2009-02-08 17:50:20 +00:00
i2c-parport-light.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-parport.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-parport.h
i2c-pasemi.c
i2c-pca-isa.c i2c-algo-pca: Use timeout for checking the state machine 2009-03-28 21:34:45 +01:00
i2c-pca-platform.c i2c-pca-platform: Use defaults if no platform_data given 2009-03-28 21:34:45 +01:00
i2c-piix4.c i2c-piix4: Add support for the Broadcom HT1100 chipset 2009-03-28 21:34:46 +01:00
i2c-pmcmsp.c i2c-pmcmsp: Fix endianness misannotation 2008-12-11 12:11:20 +01:00
i2c-pnx.c
i2c-powermac.c i2c: Add missing KERN_* constants to printks 2009-03-28 21:34:42 +01:00
i2c-pxa.c i2c: Add missing KERN_* constants to printks 2009-03-28 21:34:42 +01:00
i2c-s3c2410.c i2c: i2c-s3c2410: Initialise Samsung I2C controller early 2009-04-07 10:18:33 +01:00
i2c-sh7760.c i2c: Drop I2C_CLASS_ALL 2009-01-07 14:29:16 +01:00
i2c-sh_mobile.c i2c: Get rid of remaining bus_id access 2009-01-07 14:29:16 +01:00
i2c-sibyte.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-simtec.c
i2c-sis96x.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-sis630.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-sis5595.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-stub.c
i2c-taos-evm.c
i2c-tiny-usb.c
i2c-versatile.c [ARM] 5394/1: Add static bus numbering support to i2c-versatile 2009-02-19 11:30:22 +00:00
i2c-via.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-viapro.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-voodoo3.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
Kconfig i2c: iMX/MXC support 2009-04-07 10:18:32 +01:00
Makefile i2c: iMX/MXC support 2009-04-07 10:18:32 +01:00
scx200_acb.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
scx200_i2c.c i2c: Make sure i2c_algo_bit_data.timeout is HZ-independent 2009-02-24 19:19:49 +01:00