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)
{
|