ARM: EXYNOS: Enable Bluetooth on ORIGEN
This patch enables Bluetooth support on ORIGEN board. Signed-off-by: Sangwook Lee <sangwook.lee@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
This commit is contained in:
parent
2cd11b09a3
commit
62d30f86f1
1 changed files with 34 additions and 0 deletions
|
@ -20,6 +20,7 @@
|
|||
#include <linux/regulator/machine.h>
|
||||
#include <linux/mfd/max8997.h>
|
||||
#include <linux/lcd.h>
|
||||
#include <linux/rfkill-gpio.h>
|
||||
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/hardware/gic.h>
|
||||
|
@ -235,6 +236,7 @@ static struct regulator_init_data __initdata max8997_ldo9_data = {
|
|||
.min_uV = 2800000,
|
||||
.max_uV = 2800000,
|
||||
.apply_uV = 1,
|
||||
.always_on = 1,
|
||||
.valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
||||
.state_mem = {
|
||||
.disabled = 1,
|
||||
|
@ -278,6 +280,7 @@ static struct regulator_init_data __initdata max8997_ldo14_data = {
|
|||
.min_uV = 1800000,
|
||||
.max_uV = 1800000,
|
||||
.apply_uV = 1,
|
||||
.always_on = 1,
|
||||
.valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
||||
.state_mem = {
|
||||
.disabled = 1,
|
||||
|
@ -293,6 +296,7 @@ static struct regulator_init_data __initdata max8997_ldo17_data = {
|
|||
.min_uV = 3300000,
|
||||
.max_uV = 3300000,
|
||||
.apply_uV = 1,
|
||||
.always_on = 1,
|
||||
.valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
||||
.state_mem = {
|
||||
.disabled = 1,
|
||||
|
@ -602,6 +606,23 @@ static struct s3c_fb_platdata origen_lcd_pdata __initdata = {
|
|||
.setup_gpio = exynos4_fimd0_gpio_setup_24bpp,
|
||||
};
|
||||
|
||||
/* Bluetooth rfkill gpio platform data */
|
||||
struct rfkill_gpio_platform_data origen_bt_pdata = {
|
||||
.reset_gpio = EXYNOS4_GPX2(2),
|
||||
.shutdown_gpio = -1,
|
||||
.type = RFKILL_TYPE_BLUETOOTH,
|
||||
.name = "origen-bt",
|
||||
};
|
||||
|
||||
/* Bluetooth Platform device */
|
||||
static struct platform_device origen_device_bluetooth = {
|
||||
.name = "rfkill_gpio",
|
||||
.id = -1,
|
||||
.dev = {
|
||||
.platform_data = &origen_bt_pdata,
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device *origen_devices[] __initdata = {
|
||||
&s3c_device_hsmmc2,
|
||||
&s3c_device_hsmmc0,
|
||||
|
@ -630,6 +651,7 @@ static struct platform_device *origen_devices[] __initdata = {
|
|||
&exynos4_device_pd[PD_MFC],
|
||||
&origen_device_gpiokeys,
|
||||
&origen_lcd_hv070wsa,
|
||||
&origen_device_bluetooth,
|
||||
};
|
||||
|
||||
/* LCD Backlight data */
|
||||
|
@ -643,6 +665,16 @@ static struct platform_pwm_backlight_data origen_bl_data = {
|
|||
.pwm_period_ns = 1000,
|
||||
};
|
||||
|
||||
static void __init origen_bt_setup(void)
|
||||
{
|
||||
gpio_request(EXYNOS4_GPA0(0), "GPIO BT_UART");
|
||||
/* 4 UART Pins configuration */
|
||||
s3c_gpio_cfgrange_nopull(EXYNOS4_GPA0(0), 4, S3C_GPIO_SFN(2));
|
||||
/* Setup BT Reset, this gpio will be requesed by rfkill-gpio */
|
||||
s3c_gpio_cfgpin(EXYNOS4_GPX2(2), S3C_GPIO_OUTPUT);
|
||||
s3c_gpio_setpull(EXYNOS4_GPX2(2), S3C_GPIO_PULL_NONE);
|
||||
}
|
||||
|
||||
static void s5p_tv_setup(void)
|
||||
{
|
||||
/* Direct HPD to HDMI chip */
|
||||
|
@ -703,6 +735,8 @@ static void __init origen_machine_init(void)
|
|||
s5p_device_mfc.dev.parent = &exynos4_device_pd[PD_MFC].dev;
|
||||
|
||||
samsung_bl_set(&origen_bl_gpio_info, &origen_bl_data);
|
||||
|
||||
origen_bt_setup();
|
||||
}
|
||||
|
||||
MACHINE_START(ORIGEN, "ORIGEN")
|
||||
|
|
Loading…
Reference in a new issue