diff options
author | Stefan Agner <stefan.agner@toradex.com> | 2018-01-04 11:07:59 +0100 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2018-12-09 23:11:21 +0100 |
commit | 1992c10866f3d18b841affd9beb23f4b08f49e1d (patch) | |
tree | a9f146700d4903efef813896ca7938840cf0e4e5 | |
parent | a9cb84485b3aba3e43e8e0c7e0d8725bb20e98ba (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.c | 2 |
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; |