From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F312C28BE3C; Tue, 29 Apr 2025 23:51:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745970691; cv=none; b=qdzAVxcJ1kvYi1QHM4Vwol4vxL7QbOSkkkouTBVCY3zxVB/vByZrf2QkBrhBY/21EmhfsMTn43guzhG4eh5h/gn3J7ae1hKLblaoqacYxwi+R209HTjNTW2Dyjxj8Fld/e9fO0guuj79o0r6uow42O5QmCqdUiJ1Ogq0ifsn/J8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745970691; c=relaxed/simple; bh=voo/0fCvIhLMHf88zqX/e7QC57lFb1Bp8RSTAegByJY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=LB+F7mqv6MqK7xsPA1WrLVAy+QDvJzHXWB98ezrON4NUOa95OY0VkZVHJyXfUTKwCCKpFrcAZy+UFOq45vtLq2pKYpi1jkW51J7KQfn28Iw8oTEi8Z+18UxaFbRkM2jSwyPEQpxM9HAshmtUZZmR+7OWRbNGJQM0Q52BOsHLhFM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=n3k1MQ1B; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="n3k1MQ1B" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9EFCFC4CEEB; Tue, 29 Apr 2025 23:51:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1745970690; bh=voo/0fCvIhLMHf88zqX/e7QC57lFb1Bp8RSTAegByJY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=n3k1MQ1BWQYtjcnI5XK89AzPEShVAw2IMSL2f9PRdksC0IPH9GF+0sA6CCnJ6RSsI YdyItK7WGxwG7NddKsqk9Yo1MuXf10RHCWqp/GnSQZPr0rQBzSh3c02Hs6CBO8s5ki 8Uz/oVwDAFVvPx7Ca9y+rmfCt4LIU8xZUyXsM+LW3xvKaQzAi3DiuntWJvmOCG1C6H P8FXIbcsfT3gvAwQZoMp9qPHqm+G91kh2vdZ3F32dK0+mMJGZIqb547faG8EP1V1EM izHHFIHQ69BUh5Fuu+ezTnJ2Hsn+wOQdhorvA9mqdgK+c7q+l2MPzbLGmQl/NPPxxA pfXz5H74r+1YQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Heiko Stuebner , Nicolas Frattaroli , Srinivas Kandagatla , Greg Kroah-Hartman , Sasha Levin , srini@kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org Subject: [PATCH AUTOSEL 6.12 03/37] nvmem: rockchip-otp: Move read-offset into variant-data Date: Tue, 29 Apr 2025 19:50:48 -0400 Message-Id: <20250429235122.537321-3-sashal@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250429235122.537321-1-sashal@kernel.org> References: <20250429235122.537321-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.12.25 Content-Transfer-Encoding: 8bit From: Heiko Stuebner [ Upstream commit 6907e8093b3070d877ee607e5ceede60cfd08bde ] 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: Heiko Stuebner Tested-by: Nicolas Frattaroli Signed-off-by: Srinivas Kandagatla Link: https://lore.kernel.org/r/20250411112251.68002-2-srinivas.kandagatla@linaro.org Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin --- drivers/nvmem/rockchip-otp.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/nvmem/rockchip-otp.c b/drivers/nvmem/rockchip-otp.c index ebc3f0b24166b..3edfbfc2d7220 100644 --- a/drivers/nvmem/rockchip-otp.c +++ b/drivers/nvmem/rockchip-otp.c @@ -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, -- 2.39.5