diff options
author | Marek Szyprowski <m.szyprowski@samsung.com> | 2010-10-04 03:39:22 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2010-10-20 18:54:58 -0400 |
commit | 528ef1b5f3998cd3199926526b4c188d52e4ba7c (patch) | |
tree | 6ea47a1e43d9acf83e418c3747dfecb8e43811ca /arch/arm/mach-s5pv210 | |
parent | 8415d5c41564a9b7c802f26d5a4795ddb823d6ed (diff) |
ARM: S5PV210: Add si470x radio device to the GONI board
Add required platform definitions for si470x radio device on Samsung
Goni board.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
[kgene.kim@samsung.com: minor title fixes]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-s5pv210')
-rw-r--r-- | arch/arm/mach-s5pv210/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-s5pv210/mach-goni.c | 30 |
2 files changed, 32 insertions, 0 deletions
diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig index 640b590dc365..634844693cdb 100644 --- a/arch/arm/mach-s5pv210/Kconfig +++ b/arch/arm/mach-s5pv210/Kconfig | |||
@@ -81,10 +81,12 @@ config MACH_GONI | |||
81 | select S3C_DEV_HSMMC | 81 | select S3C_DEV_HSMMC |
82 | select S3C_DEV_HSMMC1 | 82 | select S3C_DEV_HSMMC1 |
83 | select S3C_DEV_HSMMC2 | 83 | select S3C_DEV_HSMMC2 |
84 | select S3C_DEV_I2C1 | ||
84 | select S3C_DEV_USB_HSOTG | 85 | select S3C_DEV_USB_HSOTG |
85 | select S5P_DEV_ONENAND | 86 | select S5P_DEV_ONENAND |
86 | select SAMSUNG_DEV_KEYPAD | 87 | select SAMSUNG_DEV_KEYPAD |
87 | select S5PV210_SETUP_FB_24BPP | 88 | select S5PV210_SETUP_FB_24BPP |
89 | select S5PV210_SETUP_I2C1 | ||
88 | select S5PV210_SETUP_KEYPAD | 90 | select S5PV210_SETUP_KEYPAD |
89 | select S5PV210_SETUP_SDHCI | 91 | select S5PV210_SETUP_SDHCI |
90 | help | 92 | help |
diff --git a/arch/arm/mach-s5pv210/mach-goni.c b/arch/arm/mach-s5pv210/mach-goni.c index 435b68f07086..f1fe024144eb 100644 --- a/arch/arm/mach-s5pv210/mach-goni.c +++ b/arch/arm/mach-s5pv210/mach-goni.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <plat/devs.h> | 39 | #include <plat/devs.h> |
40 | #include <plat/cpu.h> | 40 | #include <plat/cpu.h> |
41 | #include <plat/fb.h> | 41 | #include <plat/fb.h> |
42 | #include <plat/iic.h> | ||
42 | #include <plat/keypad.h> | 43 | #include <plat/keypad.h> |
43 | #include <plat/sdhci.h> | 44 | #include <plat/sdhci.h> |
44 | #include <plat/clock.h> | 45 | #include <plat/clock.h> |
@@ -197,6 +198,27 @@ static struct samsung_keypad_platdata keypad_data __initdata = { | |||
197 | .cols = 3, | 198 | .cols = 3, |
198 | }; | 199 | }; |
199 | 200 | ||
201 | /* Radio */ | ||
202 | static struct i2c_board_info i2c1_devs[] __initdata = { | ||
203 | { | ||
204 | I2C_BOARD_INFO("si470x", 0x10), | ||
205 | }, | ||
206 | }; | ||
207 | |||
208 | static void __init goni_radio_init(void) | ||
209 | { | ||
210 | int gpio; | ||
211 | |||
212 | gpio = S5PV210_GPJ2(4); /* XMSMDATA_4 */ | ||
213 | gpio_request(gpio, "FM_INT"); | ||
214 | s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(0xf)); | ||
215 | i2c1_devs[0].irq = gpio_to_irq(gpio); | ||
216 | |||
217 | gpio = S5PV210_GPJ2(5); /* XMSMDATA_5 */ | ||
218 | gpio_request(gpio, "FM_RST"); | ||
219 | gpio_direction_output(gpio, 1); | ||
220 | } | ||
221 | |||
200 | /* MAX8998 regulators */ | 222 | /* MAX8998 regulators */ |
201 | #if defined(CONFIG_REGULATOR_MAX8998) || defined(CONFIG_REGULATOR_MAX8998_MODULE) | 223 | #if defined(CONFIG_REGULATOR_MAX8998) || defined(CONFIG_REGULATOR_MAX8998_MODULE) |
202 | 224 | ||
@@ -587,6 +609,7 @@ static struct platform_device *goni_devices[] __initdata = { | |||
587 | &s3c_device_hsmmc2, | 609 | &s3c_device_hsmmc2, |
588 | &s3c_device_usb_hsotg, | 610 | &s3c_device_usb_hsotg, |
589 | &samsung_device_keypad, | 611 | &samsung_device_keypad, |
612 | &s3c_device_i2c1, | ||
590 | }; | 613 | }; |
591 | 614 | ||
592 | static void __init goni_map_io(void) | 615 | static void __init goni_map_io(void) |
@@ -598,6 +621,13 @@ static void __init goni_map_io(void) | |||
598 | 621 | ||
599 | static void __init goni_machine_init(void) | 622 | static void __init goni_machine_init(void) |
600 | { | 623 | { |
624 | /* Radio: call before I2C 1 registeration */ | ||
625 | goni_radio_init(); | ||
626 | |||
627 | /* I2C1 */ | ||
628 | s3c_i2c1_set_platdata(NULL); | ||
629 | i2c_register_board_info(1, i2c1_devs, ARRAY_SIZE(i2c1_devs)); | ||
630 | |||
601 | /* PMIC */ | 631 | /* PMIC */ |
602 | goni_pmic_init(); | 632 | goni_pmic_init(); |
603 | i2c_register_board_info(AP_I2C_GPIO_PMIC_BUS_4, i2c_gpio_pmic_devs, | 633 | i2c_register_board_info(AP_I2C_GPIO_PMIC_BUS_4, i2c_gpio_pmic_devs, |