summaryrefslogtreecommitdiff
path: root/packages/linux/linux-rp-2.6.26/zaurus-i2c-init.patch
blob: e0db0746cd4ef67610402f2014fb0bb34518cad0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Typo in poodle chunk fixed: set_pxa_i2c_info->pxa_set_i2c_info.

From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: Richard Purdie <rpurdie@rpsys.net>
Date: Wed, 16 Jul 2008 23:19:36 +0100
Message-Id: <1216246776-4500-1-git-send-email-broonie@opensource.wolfsonmicro.com>
List-Id: ARM Linux kernel discussions
	<linux-arm-kernel.lists.arm.linux.org.uk>

Both spitz and poodle have audio codecs on their primary I2C bus so need
to call pxa_set_i2c_info() to set it up during init.  Tested on spitz by
Stanislav.

Reported-by: Stanislav Brabec <utx@penguin.cz>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 arch/arm/mach-pxa/corgi.c  |    2 ++
 arch/arm/mach-pxa/poodle.c |    2 ++
 arch/arm/mach-pxa/spitz.c  |    2 ++
 3 files changed, 6 insertions(+)

--- linux-2.6.26.orig/arch/arm/mach-pxa/corgi.c
+++ linux-2.6.26/arch/arm/mach-pxa/corgi.c
@@ -38,10 +38,11 @@
 #include <asm/arch/pxa-regs.h>
 #include <asm/arch/pxa2xx-gpio.h>
 #include <asm/arch/irda.h>
 #include <asm/arch/mmc.h>
 #include <asm/arch/udc.h>
+#include <asm/arch/i2c.h>
 #include <asm/arch/corgi.h>
 #include <asm/arch/sharpsl.h>
 
 #include <asm/mach/sharpsl_param.h>
 #include <asm/hardware/scoop.h>
@@ -529,10 +530,11 @@ static void __init corgi_init(void)
 	pxa_gpio_mode(CORGI_GPIO_HSYNC | GPIO_IN);
 
  	pxa_set_udc_info(&udc_info);
 	pxa_set_mci_info(&corgi_mci_platform_data);
 	pxa_set_ficp_info(&corgi_ficp_platform_data);
+	pxa_set_i2c_info(NULL);
 
 	platform_scoop_config = &corgi_pcmcia_config;
 
 	platform_add_devices(devices, ARRAY_SIZE(devices));
 }
--- linux-2.6.26.orig/arch/arm/mach-pxa/poodle.c
+++ linux-2.6.26/arch/arm/mach-pxa/poodle.c
@@ -33,10 +33,11 @@
 
 #include <asm/arch/pxa-regs.h>
 #include <asm/arch/pxa2xx-gpio.h>
 #include <asm/arch/mmc.h>
 #include <asm/arch/udc.h>
+#include <asm/arch/i2c.h>
 #include <asm/arch/irda.h>
 #include <asm/arch/poodle.h>
 #include <asm/arch/pxafb.h>
 #include <asm/arch/sharpsl.h>
 #include <asm/arch/ssp.h>
@@ -386,10 +387,11 @@ static void __init poodle_init(void)
 	pxa_gpio_mode(POODLE_GPIO_USB_PULLUP | GPIO_OUT);
 	pxa_gpio_mode(POODLE_GPIO_IR_ON | GPIO_OUT);
 	pxa_set_udc_info(&udc_info);
 	pxa_set_mci_info(&poodle_mci_platform_data);
 	pxa_set_ficp_info(&poodle_ficp_platform_data);
+	pxa_set_i2c_info(NULL);
 
 	platform_scoop_config = &poodle_pcmcia_config;
 
 	ret = platform_add_devices(devices, ARRAY_SIZE(devices));
 	if (ret) {
--- linux-2.6.26.orig/arch/arm/mach-pxa/spitz.c
+++ linux-2.6.26/arch/arm/mach-pxa/spitz.c
@@ -36,10 +36,11 @@
 #include <asm/mach/irq.h>
 
 #include <asm/arch/pxa-regs.h>
 #include <asm/arch/pxa2xx-regs.h>
 #include <asm/arch/pxa2xx-gpio.h>
+#include <asm/arch/i2c.h>
 #include <asm/arch/irda.h>
 #include <asm/arch/mmc.h>
 #include <asm/arch/ohci.h>
 #include <asm/arch/udc.h>
 #include <asm/arch/pxafb.h>
@@ -579,10 +580,11 @@ static void __init common_init(void)
 	pxa_set_mci_info(&spitz_mci_platform_data);
 	pxa_set_ohci_info(&spitz_ohci_platform_data);
 	pxa_set_ficp_info(&spitz_ficp_platform_data);
 	set_pxa_fb_parent(&spitzssp_device.dev);
 	set_pxa_fb_info(&spitz_pxafb_info);
+	pxa_set_i2c_info(NULL);
 }
 
 #if defined(CONFIG_MACH_SPITZ) || defined(CONFIG_MACH_BORZOI)
 static void spitz_bl_set_intensity(int intensity)
 {