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 32FC624677D; Tue, 29 Apr 2025 23:50:14 +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=1745970615; cv=none; b=aeN4svG9uT3OSwgk2dge1uNQ5Immf9n/2NmrHjZdkCTgTqfZjUGyp4f9itKqATf1mIsFkqU4Un3fEH9Ud8E2t2RJKICNlotuVJn627nsWkKKXqdiNiFDQeK66opCx3F8SQUu3ORhLlxa10EwwSOUXwijHOHxK23z3RhUwRuNFLg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745970615; c=relaxed/simple; bh=voo/0fCvIhLMHf88zqX/e7QC57lFb1Bp8RSTAegByJY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=rtuxt5et9IKQGC5sWwnd5i9IkIbbY9Bi/DlPZ1zhrTH/OFmYmpt+HpTx8uLGabVwCQc5oTBEXNHDWfoEYnIOl4ioepzyJW1NwBuXAex+HtYVdHa8udCRdBscMqYz2NJDuqoADEZDBPQPir6dfPyyLgFLCCvbyVqnWrL4RgYXVUw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BzSHYDnr; 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="BzSHYDnr" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 90B43C4CEEB; Tue, 29 Apr 2025 23:50:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1745970614; bh=voo/0fCvIhLMHf88zqX/e7QC57lFb1Bp8RSTAegByJY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BzSHYDnrF2AAYlAYWydjFhivRnIVbJRoaUltFzIfZHf5dR/Rt0l5Pc6DjAHInc+q9 ymu6tPs7hWGiVzcmRyJ70cRr7odagX6WJoAldCqz9iVzbvMZX60nCLT2zCi1UuzdiC QltXHC3nZ5Q+W/1+Dy+gq8bY80dBdWHeklX3aZ6GtVGqWofiIx9BpQrgExMEDsUHDK NKvYm5alKdKs4KnrI0PXft+6AKMyjjejkEgeXDLugcawPb3I3qf9yghdxGpcP6w5F9 EogBBqhY1UZvCedxhwLsuYGdxQqqm5wtqLY2n/SiHNe3O3DdnHowhWAfQ9XkfFzqWL iBqje6cQmIJJQ== 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.14 03/39] nvmem: rockchip-otp: Move read-offset into variant-data Date: Tue, 29 Apr 2025 19:49:30 -0400 Message-Id: <20250429235006.536648-3-sashal@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250429235006.536648-1-sashal@kernel.org> References: <20250429235006.536648-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.14.4 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