summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-08-16 10:20:17 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-08-16 10:20:16 -0700
commit02a6f0f1c28c9bb714e8a8d0256f9efbd41589f5 (patch)
treeda06c19be88c68f1179a085698e7be93c1167957 /drivers
parent559e927d1802fd5c186199e3ee5dd44dadfdced3 (diff)
parent994e3d829521052413bcf7448d0e89f7504f1da1 (diff)
Merge "ARM: dts: msm: Add SMP2P entries for MSMFALCON"
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpio/gpio-msm-smp2p-test.c10
-rw-r--r--drivers/soc/qcom/smp2p.c6
-rw-r--r--drivers/soc/qcom/smp2p_private_api.h4
-rw-r--r--drivers/soc/qcom/smp2p_sleepstate.c3
-rw-r--r--drivers/soc/qcom/smp2p_spinlock_test.c14
5 files changed, 32 insertions, 5 deletions
diff --git a/drivers/gpio/gpio-msm-smp2p-test.c b/drivers/gpio/gpio-msm-smp2p-test.c
index 067735b3026f..5907513b43c0 100644
--- a/drivers/gpio/gpio-msm-smp2p-test.c
+++ b/drivers/gpio/gpio-msm-smp2p-test.c
@@ -1,6 +1,6 @@
/* drivers/gpio/gpio-msm-smp2p-test.c
*
- * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -95,6 +95,10 @@ static int smp2p_gpio_test_probe(struct platform_device *pdev)
gpio_info_ptr = &gpio_info[SMP2P_WIRELESS_PROC].in;
} else if (strcmp("qcom,smp2pgpio_test_smp2p_4_out", node->name) == 0) {
gpio_info_ptr = &gpio_info[SMP2P_WIRELESS_PROC].out;
+ } else if (strcmp("qcom,smp2pgpio_test_smp2p_5_in", node->name) == 0) {
+ gpio_info_ptr = &gpio_info[SMP2P_CDSP_PROC].in;
+ } else if (strcmp("qcom,smp2pgpio_test_smp2p_5_out", node->name) == 0) {
+ gpio_info_ptr = &gpio_info[SMP2P_CDSP_PROC].out;
} else if (strcmp("qcom,smp2pgpio_test_smp2p_7_in", node->name) == 0) {
gpio_info_ptr = &gpio_info[SMP2P_TZ_PROC].in;
} else if (strcmp("qcom,smp2pgpio_test_smp2p_7_out", node->name) == 0) {
@@ -148,6 +152,10 @@ static struct of_device_id msm_smp2p_match_table[] = {
{.compatible = "qcom,smp2pgpio_test_smp2p_4_out", },
{.compatible = "qcom,smp2pgpio_test_smp2p_4_in", },
+ /* CDSP */
+ {.compatible = "qcom,smp2pgpio_test_smp2p_5_out", },
+ {.compatible = "qcom,smp2pgpio_test_smp2p_5_in", },
+
/* TZ */
{.compatible = "qcom,smp2pgpio_test_smp2p_7_out", },
{.compatible = "qcom,smp2pgpio_test_smp2p_7_in", },
diff --git a/drivers/soc/qcom/smp2p.c b/drivers/soc/qcom/smp2p.c
index fc5688b4bc8c..d85046875d7a 100644
--- a/drivers/soc/qcom/smp2p.c
+++ b/drivers/soc/qcom/smp2p.c
@@ -1,6 +1,6 @@
/* drivers/soc/qcom/smp2p.c
*
- * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -214,6 +214,7 @@ static struct smp2p_interrupt_config smp2p_int_cfgs[SMP2P_NUM_PROCS] = {
[SMP2P_AUDIO_PROC].name = "lpass",
[SMP2P_SENSOR_PROC].name = "dsps",
[SMP2P_WIRELESS_PROC].name = "wcnss",
+ [SMP2P_CDSP_PROC].name = "cdsp",
[SMP2P_TZ_PROC].name = "tz",
[SMP2P_REMOTE_MOCK_PROC].name = "mock",
};
@@ -333,6 +334,9 @@ static int smp2p_get_smem_item_id(int write_pid, int read_pid)
case SMP2P_WIRELESS_PROC:
ret = SMEM_SMP2P_WIRLESS_BASE + read_pid;
break;
+ case SMP2P_CDSP_PROC:
+ ret = SMEM_SMP2P_CDSP_BASE + read_pid;
+ break;
case SMP2P_POWER_PROC:
ret = SMEM_SMP2P_POWER_BASE + read_pid;
break;
diff --git a/drivers/soc/qcom/smp2p_private_api.h b/drivers/soc/qcom/smp2p_private_api.h
index 4223a2e1bc90..5bff32f8c06a 100644
--- a/drivers/soc/qcom/smp2p_private_api.h
+++ b/drivers/soc/qcom/smp2p_private_api.h
@@ -1,6 +1,6 @@
/* drivers/soc/qcom/smp2p_private_api.h
*
- * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -31,7 +31,7 @@ enum {
SMP2P_AUDIO_PROC = 2,
SMP2P_SENSOR_PROC = 3,
SMP2P_WIRELESS_PROC = 4,
- SMP2P_RESERVED_PROC_2 = 5,
+ SMP2P_CDSP_PROC = 5,
SMP2P_POWER_PROC = 6,
SMP2P_TZ_PROC = 7,
/* add new processors here */
diff --git a/drivers/soc/qcom/smp2p_sleepstate.c b/drivers/soc/qcom/smp2p_sleepstate.c
index dfebd201eeb0..04b043fbd8ec 100644
--- a/drivers/soc/qcom/smp2p_sleepstate.c
+++ b/drivers/soc/qcom/smp2p_sleepstate.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -74,6 +74,7 @@ static int smp2p_sleepstate_probe(struct platform_device *pdev)
static struct of_device_id msm_smp2p_slst_match_table[] = {
{.compatible = "qcom,smp2pgpio_sleepstate_3_out"},
+ {.compatible = "qcom,smp2pgpio-sleepstate-out"},
{},
};
diff --git a/drivers/soc/qcom/smp2p_spinlock_test.c b/drivers/soc/qcom/smp2p_spinlock_test.c
index d188bf0702c5..74aac52b5285 100644
--- a/drivers/soc/qcom/smp2p_spinlock_test.c
+++ b/drivers/soc/qcom/smp2p_spinlock_test.c
@@ -373,6 +373,11 @@ static void smp2p_ut_remote_spinlock_wcnss(struct seq_file *s)
smp2p_ut_remote_spinlock_pid(s, SMP2P_WIRELESS_PROC, false);
}
+static void smp2p_ut_remote_spinlock_cdsp(struct seq_file *s)
+{
+ smp2p_ut_remote_spinlock_pid(s, SMP2P_CDSP_PROC, false);
+}
+
static void smp2p_ut_remote_spinlock_tz(struct seq_file *s)
{
smp2p_ut_remote_spinlock_pid(s, SMP2P_TZ_PROC, false);
@@ -752,6 +757,11 @@ static void smp2p_ut_remote_spinlock_track_wcnss(struct seq_file *s)
smp2p_ut_remote_spinlock_track(s, SMP2P_WIRELESS_PROC);
}
+static void smp2p_ut_remote_spinlock_track_cdsp(struct seq_file *s)
+{
+ smp2p_ut_remote_spinlock_track(s, SMP2P_CDSP_PROC);
+}
+
static void smp2p_ut_remote_spinlock_track_tz(struct seq_file *s)
{
smp2p_ut_remote_spinlock_track(s, SMP2P_TZ_PROC);
@@ -782,6 +792,8 @@ static int __init smp2p_debugfs_init(void)
smp2p_ut_remote_spinlock_dsps);
smp2p_debug_create("ut_remote_spinlock_wcnss",
smp2p_ut_remote_spinlock_wcnss);
+ smp2p_debug_create("ut_remote_spinlock_cdsp",
+ smp2p_ut_remote_spinlock_cdsp);
smp2p_debug_create("ut_remote_spinlock_tz",
smp2p_ut_remote_spinlock_tz);
smp2p_debug_create("ut_remote_spinlock_rpm",
@@ -798,6 +810,8 @@ static int __init smp2p_debugfs_init(void)
&smp2p_ut_remote_spinlock_track_dsps);
smp2p_debug_create("ut_remote_spinlock_track_wcnss",
&smp2p_ut_remote_spinlock_track_wcnss);
+ smp2p_debug_create("ut_remote_spinlock_track_cdsp",
+ &smp2p_ut_remote_spinlock_track_cdsp);
smp2p_debug_create("ut_remote_spinlock_track_tz",
&smp2p_ut_remote_spinlock_track_tz);
return 0;