aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc/smu.h
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2006-01-06 19:30:44 -0500
committerPaul Mackerras <paulus@samba.org>2006-01-08 23:47:16 -0500
commit730745a5c45093982112ddc94cee6a9973455641 (patch)
tree1c36bd96c28d08e2b5d839ba3f4e37588aad2328 /include/asm-powerpc/smu.h
parent002ec58eb57bac2380f0ed5a4e88121b4bdb32ec (diff)
[PATCH] 1/5 powerpc: Rework PowerMac i2c part 1
This is the first part of a rework of the PowerMac i2c code. It completely reworks the "low_i2c" layer. It is now more flexible, supports KeyWest, SMU and PMU i2c busses, and provides functions to match device nodes to i2c busses and adapters. This patch also extends & fix some bugs in the SMU driver related to i2c support and removes the clock spreading hacks from the pmac feature code rather than adapting them to the new API since they'll be replaced by the platform function code completely in patch 3/5 Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-powerpc/smu.h')
-rw-r--r--include/asm-powerpc/smu.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/include/asm-powerpc/smu.h b/include/asm-powerpc/smu.h
index 7fae3ce9a8c1..134c2b5be0f2 100644
--- a/include/asm-powerpc/smu.h
+++ b/include/asm-powerpc/smu.h
@@ -358,6 +358,9 @@ extern unsigned long smu_cmdbuf_abs;
358 * Kenrel asynchronous i2c interface 358 * Kenrel asynchronous i2c interface
359 */ 359 */
360 360
361#define SMU_I2C_READ_MAX 0x1d
362#define SMU_I2C_WRITE_MAX 0x15
363
361/* SMU i2c header, exactly matches i2c header on wire */ 364/* SMU i2c header, exactly matches i2c header on wire */
362struct smu_i2c_param 365struct smu_i2c_param
363{ 366{
@@ -368,12 +371,9 @@ struct smu_i2c_param
368 u8 subaddr[3]; /* subaddress */ 371 u8 subaddr[3]; /* subaddress */
369 u8 caddr; /* combined address, filled by SMU driver */ 372 u8 caddr; /* combined address, filled by SMU driver */
370 u8 datalen; /* length of transfer */ 373 u8 datalen; /* length of transfer */
371 u8 data[7]; /* data */ 374 u8 data[SMU_I2C_READ_MAX]; /* data */
372}; 375};
373 376
374#define SMU_I2C_READ_MAX 0x0d
375#define SMU_I2C_WRITE_MAX 0x05
376
377struct smu_i2c_cmd 377struct smu_i2c_cmd
378{ 378{
379 /* public */ 379 /* public */
@@ -387,7 +387,7 @@ struct smu_i2c_cmd
387 int read; 387 int read;
388 int stage; 388 int stage;
389 int retries; 389 int retries;
390 u8 pdata[0x10]; 390 u8 pdata[32];
391 struct list_head link; 391 struct list_head link;
392}; 392};
393 393
@@ -519,7 +519,7 @@ struct smu_sdbp_cpupiddata {
519 * if not found. The data format is described below 519 * if not found. The data format is described below
520 */ 520 */
521extern struct smu_sdbp_header *smu_get_sdb_partition(int id, 521extern struct smu_sdbp_header *smu_get_sdb_partition(int id,
522 unsigned int *size); 522 unsigned int *size);
523 523
524#endif /* __KERNEL__ */ 524#endif /* __KERNEL__ */
525 525