mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-22 02:20:40 +00: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:
parent
de2970e929
commit
383019e9d2
1 changed files with 2 additions and 1 deletions
|
@ -199,7 +199,8 @@ static int imx_ocotp_write(void *context, unsigned int offset, void *val,
|
|||
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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue