Thread (1 message) 1 message, 1 author, 2010-08-03

[PATCH 1/3] [ARM] pxa: Hookup MAX7312 thats connected to I2C.

DORMANTno replies

From: Eric Miao <hidden>
Date: 2010-08-03 11:21:01

On Tue, Aug 3, 2010 at 11:37 PM, Sachin Sanap [off-list ref] wrote:
quoted hunk
Signed-off-by: Sachin Sanap <redacted>
---
?arch/arm/mach-mmp/aspenite.c | ? 31 +++++++++++++++++++++++++++++--
?1 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-mmp/aspenite.c b/arch/arm/mach-mmp/aspenite.c
index 244655d..d19c26c 100644
--- a/arch/arm/mach-mmp/aspenite.c
+++ b/arch/arm/mach-mmp/aspenite.c
@@ -23,9 +23,12 @@
?#include <mach/mfp-pxa168.h>
?#include <mach/pxa168.h>
?#include <mach/gpio.h>
+#include <linux/i2c/pca953x.h>

?#include "common.h"

+#define GPIO_EXT1(x) ? (128 + 16 + (x))
+
?static unsigned long common_pin_config[] __initdata = {
? ? ? ?/* Data Flash Interface */
? ? ? ?GPIO0_DFI_D15,
@@ -66,6 +69,11 @@ static unsigned long common_pin_config[] __initdata = {
? ? ? ?GPIO115_I2S_BCLK,
? ? ? ?GPIO116_I2S_RXD,
? ? ? ?GPIO117_I2S_TXD,
+
+ ? ? ? /* i2c bus */
+ ? ? ? GPIO105_CI2C_SDA,
+ ? ? ? GPIO106_CI2C_SCL,
+
?};

?static struct smc91x_platdata smc91x_info = {
@@ -130,17 +138,36 @@ static struct pxa3xx_nand_platform_data aspenite_nand_info = {
? ? ? ?.nr_parts ? ? ? = ARRAY_SIZE(aspenite_nand_partitions),
?};

-static struct i2c_board_info aspenite_i2c_info[] __initdata = {
+#if defined(CONFIG_GPIO_PCA953X)
+static struct pca953x_platform_data max7312_data[] = {
+ ? ? ? [0] = {
+ ? ? ? ? ? ? ? .gpio_base ? ? ?= GPIO_EXT1(0),
+ ? ? ? },
+};
+#endif
+
+static struct i2c_board_info aspenite_pwri2c_info[] __initdata = {
? ? ? ?{ I2C_BOARD_INFO("wm8753", 0x1b), },
?};

+static struct i2c_board_info aspenite_i2c_info[] __initdata = {
+#if defined(CONFIG_GPIO_PCA953X)
correct form will be

#if defined(CONFIG_GPIO_PCA953X) || defined(CONFIG_GPIO_PCA953X_MODULE)

yet I doubt that's adding too much benefit except for saving
several bytes here. So I'd rather we don't introduce the #ifdef
here.

Otherwise looks good to me.
+ ? ? ? {
+ ? ? ? ? ? ? ? I2C_BOARD_INFO("max7312", 0x20),
+ ? ? ? ? ? ? ? .irq = IRQ_GPIO(120),
+ ? ? ? ? ? ? ? .platform_data ?= &max7312_data[0],
+ ? ? ? },
+#endif
+};
+
?static void __init common_init(void)
?{
? ? ? ?mfp_config(ARRAY_AND_SIZE(common_pin_config));

? ? ? ?/* on-chip devices */
? ? ? ?pxa168_add_uart(1);
- ? ? ? pxa168_add_twsi(1, NULL, ARRAY_AND_SIZE(aspenite_i2c_info));
+ ? ? ? pxa168_add_twsi(0, NULL, ARRAY_AND_SIZE(aspenite_i2c_info));
+ ? ? ? pxa168_add_twsi(1, NULL, ARRAY_AND_SIZE(aspenite_pwri2c_info));
? ? ? ?pxa168_add_ssp(1);
? ? ? ?pxa168_add_nand(&aspenite_nand_info);

--
1.6.2.5
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help