aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c2440
diff options
context:
space:
mode:
authorVasily Khoruzhick <anarsoul@gmail.com>2010-09-07 10:32:26 -0400
committerBen Dooks <ben-linux@fluff.org>2010-09-26 19:26:45 -0400
commit2cc857ffec1e7540155c5ab90e622e5acc28d136 (patch)
treeb2eed0a3065e4f0763ea8ec4deaa19a09c84e8a1 /arch/arm/mach-s3c2440
parent9c1a47cf1e8978394399198b6b296c10f3a8dbfe (diff)
ARM: rx1950: Add UDA1380 to i2c devices list
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm/mach-s3c2440')
-rw-r--r--arch/arm/mach-s3c2440/mach-rx1950.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/arch/arm/mach-s3c2440/mach-rx1950.c b/arch/arm/mach-s3c2440/mach-rx1950.c
index adfbb3046c86..6d676a798226 100644
--- a/arch/arm/mach-s3c2440/mach-rx1950.c
+++ b/arch/arm/mach-s3c2440/mach-rx1950.c
@@ -30,6 +30,7 @@
30#include <linux/pwm.h> 30#include <linux/pwm.h>
31#include <linux/s3c_adc_battery.h> 31#include <linux/s3c_adc_battery.h>
32#include <linux/leds.h> 32#include <linux/leds.h>
33#include <linux/i2c.h>
33 34
34#include <linux/mtd/mtd.h> 35#include <linux/mtd/mtd.h>
35#include <linux/mtd/partitions.h> 36#include <linux/mtd/partitions.h>
@@ -58,6 +59,8 @@
58#include <plat/irq.h> 59#include <plat/irq.h>
59#include <plat/ts.h> 60#include <plat/ts.h>
60 61
62#include <sound/uda1380.h>
63
61#define LCD_PWM_PERIOD 192960 64#define LCD_PWM_PERIOD 192960
62#define LCD_PWM_DUTY 127353 65#define LCD_PWM_DUTY 127353
63 66
@@ -671,11 +674,17 @@ static struct platform_device rx1950_device_gpiokeys = {
671 .dev.platform_data = &rx1950_gpio_keys_data, 674 .dev.platform_data = &rx1950_gpio_keys_data,
672}; 675};
673 676
674static struct s3c2410_platform_i2c rx1950_i2c_data = { 677static struct uda1380_platform_data uda1380_info = {
675 .flags = 0, 678 .gpio_power = S3C2410_GPJ(0),
676 .slave_addr = 0x42, 679 .gpio_reset = S3C2410_GPD(0),
677 .frequency = 400 * 1000, 680 .dac_clk = UDA1380_DAC_CLK_SYSCLK,
678 .sda_delay = S3C2410_IICLC_SDA_DELAY5 | S3C2410_IICLC_FILTER_ON, 681};
682
683static struct i2c_board_info rx1950_i2c_devices[] = {
684 {
685 I2C_BOARD_INFO("uda1380", 0x1a),
686 .platform_data = &uda1380_info,
687 },
679}; 688};
680 689
681static struct platform_device *rx1950_devices[] __initdata = { 690static struct platform_device *rx1950_devices[] __initdata = {
@@ -683,6 +692,7 @@ static struct platform_device *rx1950_devices[] __initdata = {
683 &s3c_device_wdt, 692 &s3c_device_wdt,
684 &s3c_device_i2c0, 693 &s3c_device_i2c0,
685 &s3c_device_iis, 694 &s3c_device_iis,
695 &s3c_device_pcm,
686 &s3c_device_usbgadget, 696 &s3c_device_usbgadget,
687 &s3c_device_rtc, 697 &s3c_device_rtc,
688 &s3c_device_nand, 698 &s3c_device_nand,
@@ -731,7 +741,7 @@ static void __init rx1950_init_machine(void)
731 s3c24xx_udc_set_platdata(&rx1950_udc_cfg); 741 s3c24xx_udc_set_platdata(&rx1950_udc_cfg);
732 s3c24xx_ts_set_platdata(&rx1950_ts_cfg); 742 s3c24xx_ts_set_platdata(&rx1950_ts_cfg);
733 s3c24xx_mci_set_platdata(&rx1950_mmc_cfg); 743 s3c24xx_mci_set_platdata(&rx1950_mmc_cfg);
734 s3c_i2c0_set_platdata(&rx1950_i2c_data); 744 s3c_i2c0_set_platdata(NULL);
735 s3c_nand_set_platdata(&rx1950_nand_info); 745 s3c_nand_set_platdata(&rx1950_nand_info);
736 746
737 /* Turn off suspend on both USB ports, and switch the 747 /* Turn off suspend on both USB ports, and switch the
@@ -762,6 +772,9 @@ static void __init rx1950_init_machine(void)
762 WARN_ON(gpio_request(S3C2410_GPB(1), "LCD power")); 772 WARN_ON(gpio_request(S3C2410_GPB(1), "LCD power"));
763 773
764 platform_add_devices(rx1950_devices, ARRAY_SIZE(rx1950_devices)); 774 platform_add_devices(rx1950_devices, ARRAY_SIZE(rx1950_devices));
775
776 i2c_register_board_info(0, rx1950_i2c_devices,
777 ARRAY_SIZE(rx1950_i2c_devices));
765} 778}
766 779
767/* H1940 and RX3715 need to reserve this for suspend */ 780/* H1940 and RX3715 need to reserve this for suspend */