aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s5pv210
diff options
context:
space:
mode:
authorMarek Szyprowski <m.szyprowski@samsung.com>2010-10-04 03:39:22 -0400
committerKukjin Kim <kgene.kim@samsung.com>2010-10-20 18:54:58 -0400
commit528ef1b5f3998cd3199926526b4c188d52e4ba7c (patch)
tree6ea47a1e43d9acf83e418c3747dfecb8e43811ca /arch/arm/mach-s5pv210
parent8415d5c41564a9b7c802f26d5a4795ddb823d6ed (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/Kconfig2
-rw-r--r--arch/arm/mach-s5pv210/mach-goni.c30
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 */
202static struct i2c_board_info i2c1_devs[] __initdata = {
203 {
204 I2C_BOARD_INFO("si470x", 0x10),
205 },
206};
207
208static 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
592static void __init goni_map_io(void) 615static void __init goni_map_io(void)
@@ -598,6 +621,13 @@ static void __init goni_map_io(void)
598 621
599static void __init goni_machine_init(void) 622static 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,