mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 12:57:06 +09:00
nvmem: imx-ocotp: Ensure WAIT bits are preserved when setting timing
[ Upstream commit0493c4792b] The i.MX6 and i.MX8 both have a bit-field spanning bits 27:22 called the WAIT field. The WAIT field according to the documentation for both parts "specifies time interval between auto read and write access in one time program. It is given in number of ipg_clk periods." This patch ensures that the relevant field is read and written back to the timing register. Fixes:0642bac7da("nvmem: imx-ocotp: add write support") Signed-off-by: Bryan O'Donoghue <pure.logic@nexus-software.ie> Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
fe9968a6a7
commit
bb3da5e735
@@ -189,7 +189,8 @@ static void imx_ocotp_set_imx6_timing(struct ocotp_priv *priv)
|
||||
strobe_prog = clk_rate / (1000000000 / 10000) + 2 * (DEF_RELAX + 1) - 1;
|
||||
strobe_read = clk_rate / (1000000000 / 40) + 2 * (DEF_RELAX + 1) - 1;
|
||||
|
||||
timing = strobe_prog & 0x00000FFF;
|
||||
timing = readl(priv->base + IMX_OCOTP_ADDR_TIMING) & 0x0FC00000;
|
||||
timing |= strobe_prog & 0x00000FFF;
|
||||
timing |= (relax << 12) & 0x0000F000;
|
||||
timing |= (strobe_read << 16) & 0x003F0000;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user