summaryrefslogtreecommitdiffstats
path: root/drivers/clk
diff options
context:
space:
mode:
authorStefan Wahren <wahrenst@gmx.net>2019-08-18 12:23:44 -0400
committerStephen Boyd <sboyd@kernel.org>2019-09-17 12:55:31 -0400
commit5c5ba218c6dc1e469b2796345935b8b758162b66 (patch)
treeae5862b5432b4ed06595f8ceb7580159556fbc29 /drivers/clk
parent42de9ad400afadd41ee027b5feef234a2d2918b9 (diff)
clk: bcm2835: Mark PLLD_PER as CRITICAL
The VPU firmware assume that the PLLD_PER isn't modified by the ARM core. Otherwise this could cause firmware lookups. So mark the clock as critical to avoid this. Signed-off-by: Stefan Wahren <wahrenst@gmx.net> Reviewed-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/clk')
-rw-r--r--drivers/clk/bcm/clk-bcm2835.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c
index fdf672a7219e..802e488fd3c3 100644
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
@@ -1776,6 +1776,11 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
1776 .hold_mask = CM_PLLD_HOLDCORE, 1776 .hold_mask = CM_PLLD_HOLDCORE,
1777 .fixed_divider = 1, 1777 .fixed_divider = 1,
1778 .flags = CLK_SET_RATE_PARENT), 1778 .flags = CLK_SET_RATE_PARENT),
1779 /*
1780 * VPU firmware assumes that PLLD_PER isn't disabled by the ARM core.
1781 * Otherwise this could cause firmware lookups. That's why we mark
1782 * it as critical.
1783 */
1779 [BCM2835_PLLD_PER] = REGISTER_PLL_DIV( 1784 [BCM2835_PLLD_PER] = REGISTER_PLL_DIV(
1780 SOC_ALL, 1785 SOC_ALL,
1781 .name = "plld_per", 1786 .name = "plld_per",
@@ -1785,7 +1790,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
1785 .load_mask = CM_PLLD_LOADPER, 1790 .load_mask = CM_PLLD_LOADPER,
1786 .hold_mask = CM_PLLD_HOLDPER, 1791 .hold_mask = CM_PLLD_HOLDPER,
1787 .fixed_divider = 1, 1792 .fixed_divider = 1,
1788 .flags = CLK_SET_RATE_PARENT), 1793 .flags = CLK_IS_CRITICAL | CLK_SET_RATE_PARENT),
1789 [BCM2835_PLLD_DSI0] = REGISTER_PLL_DIV( 1794 [BCM2835_PLLD_DSI0] = REGISTER_PLL_DIV(
1790 SOC_ALL, 1795 SOC_ALL,
1791 .name = "plld_dsi0", 1796 .name = "plld_dsi0",