Commit 6907e809 authored by Heiko Stuebner's avatar Heiko Stuebner Committed by Greg Kroah-Hartman
Browse files

nvmem: rockchip-otp: Move read-offset into variant-data



The RK3588 has an offset into the OTP area where the readable area begins
and automatically adds this to the start address.
Other variants are very much similar to rk3588, just with a different
offset, so move that value into variant-data.

To match the size in bytes, store this value also in bytes and not in
number of blocks.

Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
Tested-by: default avatarNicolas Frattaroli <nicolas.frattaroli@collabora.com>
Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20250411112251.68002-2-srinivas.kandagatla@linaro.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 0af2f6be
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -59,7 +59,6 @@
#define RK3588_OTPC_AUTO_EN		0x08
#define RK3588_OTPC_INT_ST		0x84
#define RK3588_OTPC_DOUT0		0x20
#define RK3588_NO_SECURE_OFFSET		0x300
#define RK3588_NBYTES			4
#define RK3588_BURST_NUM		1
#define RK3588_BURST_SHIFT		8
@@ -69,6 +68,7 @@

struct rockchip_data {
	int size;
	int read_offset;
	const char * const *clks;
	int num_clks;
	nvmem_reg_read_t reg_read;
@@ -196,7 +196,7 @@ static int rk3588_otp_read(void *context, unsigned int offset,
	addr_start = round_down(offset, RK3588_NBYTES) / RK3588_NBYTES;
	addr_end = round_up(offset + bytes, RK3588_NBYTES) / RK3588_NBYTES;
	addr_len = addr_end - addr_start;
	addr_start += RK3588_NO_SECURE_OFFSET;
	addr_start += otp->data->read_offset / RK3588_NBYTES;

	buf = kzalloc(array_size(addr_len, RK3588_NBYTES), GFP_KERNEL);
	if (!buf)
@@ -280,6 +280,7 @@ static const char * const rk3588_otp_clocks[] = {

static const struct rockchip_data rk3588_data = {
	.size = 0x400,
	.read_offset = 0xc00,
	.clks = rk3588_otp_clocks,
	.num_clks = ARRAY_SIZE(rk3588_otp_clocks),
	.reg_read = rk3588_otp_read,