summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukasz Rymanowski <lukasz.rymanowski@tieto.com>2011-09-02 15:25:34 +0530
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:05:53 +0200
commite4da35140c42ec8606b7e4aa1b7b7bfd3aaebe11 (patch)
tree24e413a04c068f2b97331bf548548857b324e799
parentc82fe62fcb94b6d7c1844aad317bcb71f58b8152 (diff)
cg2900: Fix for not working BT on hrefp V71
GPIO 170 is no longer used by BT. Remove it from cg2900_uart_resources. ST-Ericsson Linux next: Not tested, ER282957 ST-Ericsson ID: 328481 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Icec5ecc284806553bac2bd41bf555b70d1abadb8 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30037 Reviewed-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com> Tested-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com>
-rw-r--r--drivers/staging/cg2900/board-mop500-cg2900.c31
1 files changed, 28 insertions, 3 deletions
diff --git a/drivers/staging/cg2900/board-mop500-cg2900.c b/drivers/staging/cg2900/board-mop500-cg2900.c
index cfef96f6472..7347d116a5b 100644
--- a/drivers/staging/cg2900/board-mop500-cg2900.c
+++ b/drivers/staging/cg2900/board-mop500-cg2900.c
@@ -85,7 +85,7 @@ static struct platform_device ux500_cg2900_test_device = {
},
};
-static struct resource cg2900_uart_resources[] = {
+static struct resource cg2900_uart_resources_pre_v60[] = {
{
.start = CG2900_GBF_ENA_RESET_GPIO,
.end = CG2900_GBF_ENA_RESET_GPIO,
@@ -112,6 +112,21 @@ static struct resource cg2900_uart_resources[] = {
},
};
+static struct resource cg2900_uart_resources[] = {
+ {
+ .start = CG2900_GBF_ENA_RESET_GPIO,
+ .end = CG2900_GBF_ENA_RESET_GPIO,
+ .flags = IORESOURCE_IO,
+ .name = "gbf_ena_reset",
+ },
+ {
+ .start = NOMADIK_GPIO_TO_IRQ(CG2900_BT_CTS_GPIO),
+ .end = NOMADIK_GPIO_TO_IRQ(CG2900_BT_CTS_GPIO),
+ .flags = IORESOURCE_IRQ,
+ .name = "cts_irq",
+ },
+};
+
static pin_cfg_t cg2900_uart_enabled[] = {
GPIO0_U0_CTSn | PIN_INPUT_PULLUP,
GPIO1_U0_RTSn | PIN_OUTPUT_HIGH,
@@ -143,8 +158,6 @@ static struct platform_device ux500_cg2900_uart_device = {
.platform_data = &cg2900_uart_platform_data,
.parent = &ux500_cg2900_device.dev,
},
- .num_resources = ARRAY_SIZE(cg2900_uart_resources),
- .resource = cg2900_uart_resources,
};
static bool mach_supported(void)
@@ -169,6 +182,18 @@ static int __init board_cg2900_init(void)
dcg2900_init_platdata(&cg2900_test_platform_data);
dcg2900_init_platdata(&cg2900_uart_platform_data);
+ if (machine_is_hrefv60()) {
+ ux500_cg2900_uart_device.num_resources =
+ ARRAY_SIZE(cg2900_uart_resources);
+ ux500_cg2900_uart_device.resource =
+ cg2900_uart_resources;
+ } else {
+ ux500_cg2900_uart_device.num_resources =
+ ARRAY_SIZE(cg2900_uart_resources_pre_v60);
+ ux500_cg2900_uart_device.resource =
+ cg2900_uart_resources_pre_v60;
+ }
+
err = platform_device_register(&ux500_cg2900_device);
if (err)
return err;