diff options
author | Stefan Agner <stefan.agner@toradex.com> | 2018-01-04 11:07:59 +0100 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2020-02-09 22:45:37 +0100 |
commit | e4b068137265b0f4296c47ccfa4b669c629d8dc7 (patch) | |
tree | a3b206d37395339f6607437eb480fdcbb17860c8 /drivers/clk | |
parent | 9e18b42507bccf9468a61b3bf84f9208b0193fb4 (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/clk')
-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 914d9a4ecff8..e94151d300c4 100644 --- a/drivers/clk/imx/clk-imx7d.c +++ b/drivers/clk/imx/clk-imx7d.c @@ -388,7 +388,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; |