summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Agner <stefan.agner@toradex.com>2018-01-04 11:07:59 +0100
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2018-12-09 23:11:21 +0100
commit1992c10866f3d18b841affd9beb23f4b08f49e1d (patch)
treea9f146700d4903efef813896ca7938840cf0e4e5
parenta9cb84485b3aba3e43e8e0c7e0d8725bb20e98ba (diff)
ARM: imx7d: clk: make sure OCOTP clock is always on
Some device make use of the OCOTP via syscon. While the OCOTP node specifies a clock, in newer kernels the access via syscon does not enable the clock! During the main boot phase this is not usually a problem since the clock is initially on. However, after unused clocks get disabled, any access leads to a freeze. This has been observed when the i.MX Thermal driver probe has been deferred: The driver tried to read the calibration data from OCOTP via syscon and caused a system freeze. In upstream Linux this has recently been resolved using the NVMEM framework, see: Commit ae6215576d6b ("thermal: imx: Add support for reading OCOTP through nvmem") Commit a6c856e9a8cd ("ARM: dts: imx6sx: Use nvmem-cells for tempmon") Use a simpler work around by just adding the clock to the list of clocks which should kept on. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
-rw-r--r--drivers/clk/imx/clk-imx7d.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/clk/imx/clk-imx7d.c b/drivers/clk/imx/clk-imx7d.c
index 593229494763..a44f31e1c1f6 100644
--- a/drivers/clk/imx/clk-imx7d.c
+++ b/drivers/clk/imx/clk-imx7d.c
@@ -393,7 +393,7 @@ static int const clks_init_on[] __initconst = {
IMX7D_DRAM_PHYM_ROOT_CLK, IMX7D_DRAM_ROOT_CLK,
IMX7D_DRAM_PHYM_ALT_ROOT_CLK, IMX7D_DRAM_ALT_ROOT_CLK,
IMX7D_AHB_CHANNEL_ROOT_CLK, IMX7D_IPG_ROOT_CLK,
- IMX7D_PLL_SYS_MAIN_240M_CLK,
+ IMX7D_PLL_SYS_MAIN_240M_CLK, IMX7D_OCOTP_CLK,
};
static struct clk_onecell_data clk_data;