diff options
author | Stefan Agner <stefan.agner@toradex.com> | 2018-01-04 11:07:59 +0100 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2018-03-08 14:52:16 +0100 |
commit | b407d00f8f4fc613223c30931bfa263a3db91bcb (patch) | |
tree | b6e4adc332fb53c9793352fc5634d3b05e564c6a /drivers | |
parent | d38c0bfd4d79012b4dfbf1342a4fa7c9fb07964f (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>
Diffstat (limited to 'drivers')
-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; |