summaryrefslogtreecommitdiffstats
path: root/drivers/clk/davinci
diff options
context:
space:
mode:
authorBartosz Golaszewski <bgolaszewski@baylibre.com>2018-03-30 17:28:51 +0200
committerStephen Boyd <sboyd@kernel.org>2018-04-06 13:37:19 -0700
commit5ced1923128470bda20d454cc6b07a8aa2f2e64d (patch)
treef6ea32eb65316c71d16d5bd3d7ecd74f8065d6b8 /drivers/clk/davinci
parentac8e5cc73736fe1ec6c7f3674ee71f7c99c42ae0 (diff)
downloadlinux-5ced1923128470bda20d454cc6b07a8aa2f2e64d.tar.bz2
clk: davinci: add a reset lookup table for psc0
In order to be able to use the reset framework in legacy boot mode as well, add the reset lookup table to the psc driver for da850 variant. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Reviewed-by: David Lechner <david@lechnology.com> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Diffstat (limited to 'drivers/clk/davinci')
-rw-r--r--drivers/clk/davinci/psc-da850.c7
-rw-r--r--drivers/clk/davinci/psc.c1
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/clk/davinci/psc-da850.c b/drivers/clk/davinci/psc-da850.c
index ccc7eb17bf3a..d196dcbed560 100644
--- a/drivers/clk/davinci/psc-da850.c
+++ b/drivers/clk/davinci/psc-da850.c
@@ -6,6 +6,7 @@
*/
#include <linux/clk-provider.h>
+#include <linux/reset-controller.h>
#include <linux/clk.h>
#include <linux/clkdev.h>
#include <linux/init.h>
@@ -66,8 +67,14 @@ LPSC_CLKDEV3(ecap_clkdev, "fck", "ecap.0",
"fck", "ecap.1",
"fck", "ecap.2");
+static struct reset_control_lookup da850_psc0_reset_lookup_table[] = {
+ RESET_LOOKUP("da850-psc0", 15, "davinci-rproc.0", NULL),
+};
+
static int da850_psc0_init(struct device *dev, void __iomem *base)
{
+ reset_controller_add_lookup(da850_psc0_reset_lookup_table,
+ ARRAY_SIZE(da850_psc0_reset_lookup_table));
return davinci_psc_register_clocks(dev, da850_psc0_info, 16, base);
}
diff --git a/drivers/clk/davinci/psc.c b/drivers/clk/davinci/psc.c
index ff6f4a038e04..ce170e600f09 100644
--- a/drivers/clk/davinci/psc.c
+++ b/drivers/clk/davinci/psc.c
@@ -425,6 +425,7 @@ __davinci_psc_register_clocks(struct device *dev,
psc->rcdev.ops = &davinci_psc_reset_ops;
psc->rcdev.owner = THIS_MODULE;
+ psc->rcdev.dev = dev;
psc->rcdev.of_node = dev->of_node;
psc->rcdev.of_reset_n_cells = 1;
psc->rcdev.of_xlate = davinci_psc_reset_of_xlate;