From nobody Mon Feb 9 10:11:32 2026 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 99B5C2F2606 for ; Wed, 12 Nov 2025 08:29:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762936158; cv=none; b=S8uZb0vpm3FW3p6ycjf1baLGR2n4pafw9f1z9ZMHeGFtrUtckot3Wn9sutuT3ouVrFRlUvBX1KMoZi076k3nBHJYk3RSKcgH/iu7w0mNpYg2VWYdRvMrlq5Qx0bTxIURjUYS28VBt9oIVA19t/8dVywXiB0XJzswh0mB+nNS0Xc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762936158; c=relaxed/simple; bh=dEcSRRQtvE4xP0095DiinVR5fFEjss1bE4Kb607L5bU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pLoZtA0dgmeRMF56jWC2k72Z+FjU8hyMOABM3O+O03no3WfekxKdpPt4DeIe9Rny/G70N/hAkSIi+AykR4YLYeU4yO2wc4VDzUZYXkvHhqoRZ4iGfqLPJspT2oIhAX9FgxaLRVrTvs3moZHDcO+ShPwbQ6pz4D6tgi/TxaGq9Js= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=UCnqASjD; arc=none smtp.client-ip=209.85.221.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="UCnqASjD" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-42b312a086eso346614f8f.2 for ; Wed, 12 Nov 2025 00:29:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1762936155; x=1763540955; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=JtogQFcSHlN8gkfKXvyp9GsEsbrpcQ/U+ViAyh1NORc=; b=UCnqASjDhudrSXX61bOwzWzYt8j9RKmc5pwdUoPXDcC2WVoy9wtdNoxI1i6SlV0opu t77fcK4yGqR3deYRj/zzTm65oka/BTLPB7JiioJwsDHwIiKV1L0cRpfDIpfST2ybRKEJ furXOP8QvjG5VofJomX+4EnWp+3pnxQBuvg4yTRDF0UE4GrymChZ6DlRg8YzLH+4Wn1i fFYNES2v9ULyV/jqbknXzDiaoRHQIjeOoqyYPy9yQERm1DOYpW6riYfZZ4NDFD0kveE/ P+P6xxWP9T0Jm7saVljrwTe8b+Do6MPj8aCoA3RPCD1nO9gCqn92CU8pfpEyyZ2iA5fT zccg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762936155; x=1763540955; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=JtogQFcSHlN8gkfKXvyp9GsEsbrpcQ/U+ViAyh1NORc=; b=Gd6LmGCK3SnJ3KgtqtHdVEZ9EOLR+dffVzeqvkrih4fXbCqg8t/cnCFpULM5uN7sRp Ads4KC8Ur0kct0xbw1sw1XzTQ79rpEss1OWusYAuozQrFl3rlwh7juYTA3MbBMXReTAQ iZZ5RC317nAUs3lVG60GlLtyBAlnfrqkxkVk71nvFRewpnBcINzuSuMR5HJg9azuNE5l yrCxbn25a9MqtexNzNaBx6t/4NxQyOA4XPRwpES8FjpZTdP07QzN3XMzAMZwfPPKxFBO O90JyhiIa97fI10KXCRVAC/LgnSvNb1mnbP1EoF2pvxW3+md117CeT5S6mp3oTgEaBN7 nfkg== X-Forwarded-Encrypted: i=1; AJvYcCVGR6pkpc/JgXxt0chFYF2HVyN/hRYl0AUfTie0FTh9MO0FBBhK2aMtTzqbh0iC6GN5TKZsD+HxVy8GGSg=@vger.kernel.org X-Gm-Message-State: AOJu0YzybQcepPQtyt08W56gQMdiVDl5qdxcQ1EhWJaqDubJxe+BUTdy sSZyYyJ8dBhu9PwhuowGbK31urry9k+ztINCWqXr5SJgjPE7XgA8lnHOON7ukRGNpDc= X-Gm-Gg: ASbGncs1FPeaK3keU1xyvXOu/Wf/520t/8OVKBqxjisIvy8gCl3V6VXSuazL9T3asGP W3UFGIWL7uWkM4X4hZvidgpzUiFBD0ZlBAUmnQrJ4Ixa6cmrdm25rkfcIeVlMreTJf1O2kDCJKq VOvBstTHetViaJF9JyIPI4q2XKp0vOYq9Tsqx7uJIOXYUf7l81BC+8dlB/Epdn0T6KIkWt3Y5Jf ARBCGQf9YAfjh2bKTFfZy0NsAEyJ5UfAqlEVqbNTToBPAJTM1ahuCKOXZ98EjbstwrBWbBh9KG9 dFt53pQ7oBAQsM3jCVajku97Jeg18abo2NKwJj2ZfA6jmnd24iR79fRnLzbpdAyR5p54KBONBsq 0exNRHNeKxWtJ2iqQimsFIiMSauN+gRWElcfRWgGU4jdDJJtbXCOYInTR8e0nGbdbY04D9cywYY tFdYeG2SPl4hWdVeeYJzwMMUQtdwWmMvsVkqFObchQLupDGlr61u9MWnJQ X-Google-Smtp-Source: AGHT+IEU4FFylzRDbDiqTl5SDdc681V6U/fIzfBAB7L0TgSU5N2M6VMTglal8026StadrPU/haIBUA== X-Received: by 2002:a05:6000:2888:b0:429:cc1c:c2e with SMTP id ffacd0b85a97d-42b4bb90b6bmr1430374f8f.1.1762936154894; Wed, 12 Nov 2025 00:29:14 -0800 (PST) Received: from ta2.c.googlers.com (17.83.155.104.bc.googleusercontent.com. [104.155.83.17]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42ac677ab75sm31571428f8f.35.2025.11.12.00.29.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 00:29:14 -0800 (PST) From: Tudor Ambarus Date: Wed, 12 Nov 2025 08:29:05 +0000 Subject: [PATCH v2 1/5] dt-bindings: nvmem: add google,gs101-otp Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251112-gs101-otp-v2-1-bff2eb020c95@linaro.org> References: <20251112-gs101-otp-v2-0-bff2eb020c95@linaro.org> In-Reply-To: <20251112-gs101-otp-v2-0-bff2eb020c95@linaro.org> To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Krzysztof Kozlowski , Alim Akhtar , Peter Griffin , =?utf-8?q?Andr=C3=A9_Draszik?= Cc: semen.protsenko@linaro.org, willmcvicker@google.com, kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Tudor Ambarus X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1762936153; l=1979; i=tudor.ambarus@linaro.org; s=20241212; h=from:subject:message-id; bh=dEcSRRQtvE4xP0095DiinVR5fFEjss1bE4Kb607L5bU=; b=OOX0r/TY8rkVTDOz28jm+bgdNooRzs/EvPWQacDtL9RIRn5yJEOAYEXSxltqVpFD4s7fZonIU jteQzbYy5l0BJ5yhYs/b58SW4kymeDF8K5hTUQLkv3HwXTDar9OlFds X-Developer-Key: i=tudor.ambarus@linaro.org; a=ed25519; pk=uQzE0NXo3dIjeowMTOPCpIiPHEz12IA/MbyzrZVh9WI= Add binding for the OTP controller found on Google GS101. Signed-off-by: Tudor Ambarus Reviewed-by: Andr=C3=A9 Draszik Reviewed-by: Krzysztof Kozlowski --- .../bindings/nvmem/google,gs101-otp.yaml | 56 ++++++++++++++++++= ++++ 1 file changed, 56 insertions(+) diff --git a/Documentation/devicetree/bindings/nvmem/google,gs101-otp.yaml = b/Documentation/devicetree/bindings/nvmem/google,gs101-otp.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ea87216761dbab9a7a5cecd87a5= 53a6a2a1783f7 --- /dev/null +++ b/Documentation/devicetree/bindings/nvmem/google,gs101-otp.yaml @@ -0,0 +1,56 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/nvmem/google,gs101-otp.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Google GS101 OTP Controller + +maintainers: + - Tudor Ambarus + +description: | + OTP controller drives a NVMEM memory where system or user specific data + can be stored. The OTP controller register space if of interest as well + because it contains dedicated registers where it stores the Product ID + and the Chip ID (apart other things like TMU or ASV info). + +allOf: + - $ref: nvmem.yaml# + +properties: + compatible: + items: + - const: google,gs101-otp + + clocks: + maxItems: 1 + + interrupts: + maxItems: 1 + + reg: + maxItems: 1 + + power-domains: + maxItems: 1 + +required: + - compatible + - reg + - clocks + - interrupts + +unevaluatedProperties: false + +examples: + - | + #include + #include + + efuse@10000000 { + compatible =3D "google,gs101-otp"; + reg =3D <0x10000000 0xf084>; + clocks =3D <&cmu_misc CLK_GOUT_MISC_OTP_CON_TOP_PCLK>; + interrupts =3D ; + }; --=20 2.51.2.1041.gc1ab5b90ca-goog From nobody Mon Feb 9 10:11:32 2026 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6F5812F28FF for ; Wed, 12 Nov 2025 08:29:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762936159; cv=none; b=NeJm14jYsZZDNYn2kJJrACvaim7vT28NvWJLeBin2Zwl7Byp91RDfISTHHo0R3tKExLyf47WaPXJV4okPX5D7EmGRvkfJIjWMJgphqhum8mHxLQ77kq3OfIl90Hcyxy4SAxmTJPiFO/k+nxpkSv2J+pMZegB/PpCM1o3VC3Kdmg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762936159; c=relaxed/simple; bh=Li+VDDl2o0wwPBNrOIHV0RaUwWBjWYyE/9cxRiwy8Sw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NJsexwmC/MrZQT9HNyLR7tPXqzyrZ5Voyy/Dp0+Ar+ChO5Iw6P1tfaro44aPZ4zbkCy0l9dK8R9gicmclbd6PPifkqrKnNwbb9N41TRMM5NtvjsD9ogocprqrjsB72Y0eE40GGK+Q2XmxmgKRo1f5m2TsCDMvfQ44Q0CfRa9YrY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=B+xey5XN; arc=none smtp.client-ip=209.85.221.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="B+xey5XN" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-42b39d51dcfso223873f8f.2 for ; Wed, 12 Nov 2025 00:29:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1762936156; x=1763540956; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=rt+jeQ1XRUj/xqkVOPKXqYs256K/htyDigTFKcqMrBg=; b=B+xey5XNwyCZleBmIIIQDwueZUOsvpEG/IXO52MABR40ZP8Ev5MgPPzjwzOQEft8b4 /It0eLxaZmT8IqkLKVJzlSWFT6A5ZPnipsRcnzkXVztUJR6ddrT2FcKeqC5tg2HLUGtF PWmdrCBqb+V77uJdBez7YrunFU8JYF2b9oLgAkTJ53WEGvBGA/wjbj0eDuHJIH6hLO+I wLhoohsf4BRajooSL6n7eZvOOUdHBIkYH0AJHqGKd+brRGQcrT7yN1zLotkvhvTp4yHa lgB4OE+x+FSh6fql3ZIB75ixrTCujjv2qHys1Hcr5gBQ3/9CC7f5cnfJNuCIONSJSFp+ OC6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762936156; x=1763540956; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=rt+jeQ1XRUj/xqkVOPKXqYs256K/htyDigTFKcqMrBg=; b=JLvnG6qJMQQVRaKfD/82gIG5OqDqXgBspu/rXK5t8n+kIdq+YwQPwssQ9cVcD+QE0t l6+KIa3Y/l+Lg2MCHh56VVZUv9DDANiPKOtcDGLogveoGqR/hzK6nBbmRb20wHRtBWcd KxI693oH9XoxpopMHlj4JVP8XMKGj9AXEYIhTbHrvpL83kYUXtUvMlgUoLMEOaq37+8m I1jGhDJdCN6tWg3rJxVgn2f7w3KaOo7Ap1xtpg4YgoQ59bn1iqmajRPqKY34zKLcmTDp P56fI0MiG4wvCcqw3jmtd6UiK1QTBCPhYnH3r5JRzk6eeINlcx4q21E9lkvtXQYOA3B8 VodA== X-Forwarded-Encrypted: i=1; AJvYcCXVjs1LzqcxCRLIXvOY45TUH6xVZ7+5LcM5xB2UoTqp41E9F0CVyhGRftJLWcglPLO9vJi+32nu/ZPqbAw=@vger.kernel.org X-Gm-Message-State: AOJu0YzffR/i9yyFGdwqLkeVT+TGdBXeZPK08zNXlrCNxlN8v6dTgDFv VJoPz5vVdzenOkWXInQTiyWiVHlssKXtdEG0PC0l9z+Xoz3eXdB2ic7w+qQeVc6qvB8= X-Gm-Gg: ASbGnctLFUs3TtZG4x6TuHqxHa1kKUnysQpKRocM+E+F2wf+NZZTJnqfNtL9uTH5WKJ DS2qy8J/vgJyHs5uHhOzs71LhUFYd9reVMwQ7ykZ1uJQOvAoaBOT+OtWgYclwEySOi0jTeRKCsM 92SxD7T2weK5oTyXP8fZKJPsf0EsyJmKKULjRdfsjUCUVXjZZum4P0iaPYPJVMTz8vpdjtHckBM foWLb+CIKfYJeL3mbJ7E1/d3BAZWy0TboCYf28Bxcu0s/9VYVQaRmuvP3a4XCo/Olu0W5vGliSb WJNY7fLjB/AMar3wgSpD4iVjdIlZnVfwY0JcbzI9b3xkU+FX94pOMDMOatq5jlwD5y7zDURK5kC PaceSqTIvfQ5f5eswbOJ8fz4SUW57jkb5iA0QV53K48ECoAZtRuG8XTBAKmPiP8pMSg5/M2hyaZ 9hiK7N9JOPkf+a24XpEzEyyTDeqHwVENVwHuvWsW+Kg7OmAoEEX4NJFcBb X-Google-Smtp-Source: AGHT+IHGHnSfrrzELDfd7YF+hF/OHj22idkKXVhcMLjXsrVeGVwFD7eZctJMNZ+Ugf0VFaQBvE7Wwg== X-Received: by 2002:a05:6000:2301:b0:429:d4e1:cbb5 with SMTP id ffacd0b85a97d-42b4bb8f0cemr1432783f8f.8.1762936155583; Wed, 12 Nov 2025 00:29:15 -0800 (PST) Received: from ta2.c.googlers.com (17.83.155.104.bc.googleusercontent.com. [104.155.83.17]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42ac677ab75sm31571428f8f.35.2025.11.12.00.29.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 00:29:15 -0800 (PST) From: Tudor Ambarus Date: Wed, 12 Nov 2025 08:29:06 +0000 Subject: [PATCH v2 2/5] nvmem: add Samsung Exynos OTP support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251112-gs101-otp-v2-2-bff2eb020c95@linaro.org> References: <20251112-gs101-otp-v2-0-bff2eb020c95@linaro.org> In-Reply-To: <20251112-gs101-otp-v2-0-bff2eb020c95@linaro.org> To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Krzysztof Kozlowski , Alim Akhtar , Peter Griffin , =?utf-8?q?Andr=C3=A9_Draszik?= Cc: semen.protsenko@linaro.org, willmcvicker@google.com, kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Tudor Ambarus X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1762936153; l=6857; i=tudor.ambarus@linaro.org; s=20241212; h=from:subject:message-id; bh=Li+VDDl2o0wwPBNrOIHV0RaUwWBjWYyE/9cxRiwy8Sw=; b=Ddba4WgE/pF9+yKfDxWBoS8iGMOCyRE6dcilKwkcgA/7aCGbrve9EJXLFHar0NWFf+ToGMfUP PiVbkgEiOVWBDLzdJYaXCyKetvYMfFzb1KkwBBesLc04vpaaAYAS61Y X-Developer-Key: i=tudor.ambarus@linaro.org; a=ed25519; pk=uQzE0NXo3dIjeowMTOPCpIiPHEz12IA/MbyzrZVh9WI= Add initial support for the Samsung Exynos OTP controller. Read the product and chip IDs from the OTP controller registers space and register the SoC info to the SoC interface. The driver can be extended to empower the controller become nvmem provider. This is not in the scope of this patch because it seems the OTP memory space is not yet used by any consumer, even downstream. Signed-off-by: Tudor Ambarus --- drivers/nvmem/Kconfig | 10 +++ drivers/nvmem/Makefile | 2 + drivers/nvmem/exynos-otp.c | 160 +++++++++++++++++++++++++++++++++++++++++= ++++ 3 files changed, 172 insertions(+) diff --git a/drivers/nvmem/Kconfig b/drivers/nvmem/Kconfig index e0d88d3199c11a3b71cc274b2114e9554ac486fc..aa8c14d4624b820a3685cdf14f2= f32521a82db4a 100644 --- a/drivers/nvmem/Kconfig +++ b/drivers/nvmem/Kconfig @@ -84,6 +84,16 @@ config NVMEM_BRCM_NVRAM This driver provides support for Broadcom's NVRAM that can be accessed using I/O mapping. =20 +config NVMEM_EXYNOS_OTP + tristate "Samsung Exynos OTP support" + depends on ARCH_EXYNOS || COMPILE_TEST + help + This driver provides support for the OTP controller found on some + Samsung Exynos SoCs. + + This driver can also be built as a module. If so, the module + will be called nvmem-exynos-otp. + config NVMEM_IMX_IIM tristate "i.MX IC Identification Module support" depends on ARCH_MXC || COMPILE_TEST diff --git a/drivers/nvmem/Makefile b/drivers/nvmem/Makefile index 70a4464dcb1e25cf9116280a32f4a0f4f9941a75..920a536fc359a5a7d8f3aabba6a= 712e85c277ee7 100644 --- a/drivers/nvmem/Makefile +++ b/drivers/nvmem/Makefile @@ -20,6 +20,8 @@ obj-$(CONFIG_NVMEM_BCM_OCOTP) +=3D nvmem-bcm-ocotp.o nvmem-bcm-ocotp-y :=3D bcm-ocotp.o obj-$(CONFIG_NVMEM_BRCM_NVRAM) +=3D nvmem_brcm_nvram.o nvmem_brcm_nvram-y :=3D brcm_nvram.o +obj-$(CONFIG_NVMEM_EXYNOS_OTP) +=3D nvmem-exynos-otp.o +nvmem-exynos-otp-y :=3D exynos-otp.o obj-$(CONFIG_NVMEM_IMX_IIM) +=3D nvmem-imx-iim.o nvmem-imx-iim-y :=3D imx-iim.o obj-$(CONFIG_NVMEM_IMX_OCOTP) +=3D nvmem-imx-ocotp.o diff --git a/drivers/nvmem/exynos-otp.c b/drivers/nvmem/exynos-otp.c new file mode 100644 index 0000000000000000000000000000000000000000..5acdc6ef1f8e07ffb6d465b1606= 59732f4ef5a22 --- /dev/null +++ b/drivers/nvmem/exynos-otp.c @@ -0,0 +1,160 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright 2025 Linaro Ltd. + * + * Samsung Exynos OTP driver. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define EXYNOS_OTP_PRODUCT_ID 0 +#define EXYNOS_OTP_PRODUCT_ID_MASK GENMASK(31, 12) +#define EXYNOS_OTP_PRODUCT_ID_MAIN_REV GENMASK(3, 0) + +#define EXYNOS_OTP_CHIPID(i) (0x4 + (i) * 4) +#define EXYNOS_OTP_CHIPID3_SUB_REV GENMASK(19, 16) + +#define EXYNOS_OTP_PRODUCT_ID_MAIN_REV_SHIFT 4 + +struct exynos_otp { + struct clk *pclk; + struct device *dev; + struct regmap *regmap; +}; + +static const struct exynos_otp_soc_id { + const char *name; + u32 id; +} eotp_soc_ids[] =3D { + { "GS101", 0x9845 }, +}; + +static const char *exynos_otp_xlate_soc_name(u32 id) +{ + int i; + + for (i =3D 0; i < ARRAY_SIZE(eotp_soc_ids); i++) + if (id =3D=3D eotp_soc_ids[i].id) + return eotp_soc_ids[i].name; + return NULL; +} + +static void exynos_otp_unregister_soc(void *data) +{ + soc_device_unregister(data); +} + +static int exynos_otp_soc_device_register(struct exynos_otp *eotp) +{ + struct soc_device_attribute *soc_dev_attr; + struct regmap *regmap =3D eotp->regmap; + struct device *dev =3D eotp->dev; + struct soc_device *soc_dev; + u32 val, main_rev, sub_rev; + u32 product_id, revision; + int ret; + + soc_dev_attr =3D devm_kzalloc(dev, sizeof(*soc_dev_attr), GFP_KERNEL); + if (!soc_dev_attr) + return -ENOMEM; + + ret =3D regmap_read(regmap, EXYNOS_OTP_PRODUCT_ID, &val); + if (ret) + return dev_err_probe(dev, ret, "failed to read product id\n"); + + product_id =3D FIELD_GET(EXYNOS_OTP_PRODUCT_ID_MASK, val); + main_rev =3D FIELD_GET(EXYNOS_OTP_PRODUCT_ID_MAIN_REV, val); + + ret =3D regmap_read(regmap, EXYNOS_OTP_CHIPID(3), &val); + if (ret) + return dev_err_probe(dev, ret, "failed to read chip id\n"); + + sub_rev =3D FIELD_GET(EXYNOS_OTP_CHIPID3_SUB_REV, val); + revision =3D main_rev << EXYNOS_OTP_PRODUCT_ID_MAIN_REV_SHIFT | sub_rev; + + soc_dev_attr->family =3D "Samsung Exynos"; + soc_dev_attr->soc_id =3D exynos_otp_xlate_soc_name(product_id); + if (!soc_dev_attr->soc_id) + return dev_err_probe(dev, -ENODEV, "failed to translate chip id to name\= n"); + + soc_dev_attr->revision =3D devm_kasprintf(dev, GFP_KERNEL, "%x", + revision); + if (!soc_dev_attr->revision) + return -ENOMEM; + + soc_dev =3D soc_device_register(soc_dev_attr); + if (IS_ERR(soc_dev)) + return dev_err_probe(dev, PTR_ERR(soc_dev), + "failed to register to the SoC interface\n"); + + ret =3D devm_add_action_or_reset(dev, exynos_otp_unregister_soc, soc_dev); + if (ret) + return dev_err_probe(dev, ret, "failed to add devm action\n"); + + return 0; +} + +static int exynos_otp_probe(struct platform_device *pdev) +{ + struct device *dev =3D &pdev->dev; + struct exynos_otp *eotp; + struct resource *res; + void __iomem *base; + + eotp =3D devm_kzalloc(dev, sizeof(*eotp), GFP_KERNEL); + if (!eotp) + return -ENOMEM; + + base =3D devm_platform_get_and_ioremap_resource(pdev, 0, &res); + if (IS_ERR(base)) + return PTR_ERR(base); + + const struct regmap_config reg_config =3D { + .reg_bits =3D 32, + .reg_stride =3D 4, + .val_bits =3D 32, + .use_relaxed_mmio =3D true, + .max_register =3D (resource_size(res) - reg_config.reg_stride), + }; + + eotp->regmap =3D devm_regmap_init_mmio(dev, base, ®_config); + if (IS_ERR(eotp->regmap)) + return PTR_ERR(eotp->regmap); + + eotp->pclk =3D devm_clk_get_enabled(dev, NULL); + if (IS_ERR(eotp->pclk)) + return dev_err_probe(dev, PTR_ERR(eotp->pclk), "failed to get clock\n"); + + eotp->dev =3D dev; + + return exynos_otp_soc_device_register(eotp); +} + +static const struct of_device_id exynos_otp_dt_ids[] =3D { + { .compatible =3D "google,gs101-otp" }, + {}, +}; +MODULE_DEVICE_TABLE(of, exynos_otp_dt_ids); + +static struct platform_driver exynos_otp_driver =3D { + .probe =3D exynos_otp_probe, + .driver =3D { + .name =3D "exynos-otp", + .of_match_table =3D exynos_otp_dt_ids, + }, +}; +module_platform_driver(exynos_otp_driver); + +MODULE_AUTHOR("Tudor Ambarus "); +MODULE_DESCRIPTION("Samsung Exynos OTP driver"); +MODULE_LICENSE("GPL"); --=20 2.51.2.1041.gc1ab5b90ca-goog From nobody Mon Feb 9 10:11:32 2026 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 03EFC2F3C32 for ; Wed, 12 Nov 2025 08:29:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762936159; cv=none; b=KuGn4IiqSgIhLv4413DmYYAIc83HiVeGWP2zJVVxEdzu5fs91co9fkZ25Ocfq9JO2Kr/bQ8G2XyGKZolnHvMiiOOe8Zaunh5jdFZnP3O5tH3MkUqnBbEWU+xaABqW1gmK0IqavWGBsYD1nebyr2EK1ls/EcdeQlAq0+/pcMXidM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762936159; c=relaxed/simple; bh=/pSl/oshIgGZZ5UojmE7NZi7LX3/HS9nWv/b7bm1yIQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GkY6GNubckO2USQLK5oA2X0DmkFQlFnyjoCmqJ86KJ+FZFALNMYr7bpz1OHqlScxgSrUEBCszJxWv8SWGmnEi5Ts2/65sBHh8xMCWX03lC0vQ2/pDZD9dPeOofmd+/I0cdAi21I8hB5x8Z8Jnt31d6ZFnKYGJmaVFrIeS+OxTZY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=J/e9vXeZ; arc=none smtp.client-ip=209.85.128.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="J/e9vXeZ" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-47112edf9f7so2808215e9.0 for ; Wed, 12 Nov 2025 00:29:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1762936156; x=1763540956; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ZHjf7jIZnxtsxZp2emdUV+gnCb68DhjnRQYjjOEpq+E=; b=J/e9vXeZU694C7QeQSr0T427StWNm174XH9SeeS/noRWZeYwE5kN3r78yfmLfCxvmA vFHkZBMl6t+3rTS6OTvkm4TQKGHXCX1nkRfV37QBhsimS/lVgmn2n2zAsROOHq+2keQ8 XuiqzoCJe63mcDQVeiOpAmqlKlOMCF8oIfuA5Iddm2KbHFjFseHKn1q/sKpPkzeri/3d 1rlPszF4frNwTsBlkLzn+2KWkyYKvCpUIz0tOJ9ycjWN5Srh2BF3l6GRTNAe8qIYzZnr xU/3kyAw5zF+8nd0OfVHR+lNzc8zmdVeJb4xOLyUIjrYOWYntcyLTt9IPUDhwGtfOQ33 gXrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762936156; x=1763540956; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ZHjf7jIZnxtsxZp2emdUV+gnCb68DhjnRQYjjOEpq+E=; b=Ekgwd9G7m+3+tWCK2Tl1PkAy317CDCELlX/s7J04LBusC3WudHBLdkvSzYAHC/chTy ypjXFxMq1ozPgrpX+3u8nTUzvJpJrrQyd9cKND6VSllETrRwbKkvY2dsi/v1eoFhLe2o FCg4kqoX6OSi0OcccWgTlzhRe5JMqqjMLvpS3D1o1QsxluqOSMIj9U+fN48TISsoLRQQ av1aPRpFRwCeuHX159+vraLuYyoLf1v6zge8nsICP0d3p2vbTlVSSaYzekz3HbtQDlSq /ERw0j9tkWD+/+vLORA+LvjCfLNjwDENH4H5CvyaPn2o/5NUkjge9GYyf4Vvn7ARBKkL NduQ== X-Forwarded-Encrypted: i=1; AJvYcCUq6NVQ6hszdFAHw+1LiiiyoOyPBm1NMJeKqGg5JtkFdUIIz41LXzKxFKfw5tjEBsL98d6GAWG/wkIgoX8=@vger.kernel.org X-Gm-Message-State: AOJu0YzwtLCBiQ2cg4R0IrVpGwsjcKRWnjgf+stdop919tMtwyHmCPwW Jx7TZu30vmGcczotbudjaRY30c3vgszHVcDoaafxYEURiTUvEtL7dZ1i2Ji9ZOiWl20= X-Gm-Gg: ASbGnct9UAB0qur1vWR0vO5KeUJJM4iPbQbT80o5hPKbsvJiR3Dm1uXOPqsWylMrvL5 gqDOMNHXJ8QDgJomU9VvHYCKs5SvIJonM+J8n/LukGUePok+owiZiF2clcqbbfQgM/o12wvEYlD WV4QC7N3ec2RZz+CTtWPSw6Z2+62c4MCMz6kXMEjsdB0QwUTzEAGFzAdo6voF3ZrjrfFKsLVp7X oCyw3xCJ9oR3Kv7E2FHn1L7NlN8eFiJ3mvTm9plyRnV3Vb/SraaIR3c7+uKgNliYUNwmAK8AyN4 aO0UhmPH+UYEHAd2hPlEPZ4KSX9k2/Dui6PL5oij1UUhsRLn0Od3wEMaFSevNytgDEZ9VTPF9F5 pp7BS8Ko3VGfMe176cX2cJN4DXRSXQgV7Ic9xYVP74o4VDUsqDw5MQWse3KwQG3V44+Okxmvx3/ 4cmVGCKwRNH3RNO39KHSv1fySoF9AtwFqnGsWRams4AxkjNBGfmNZr3KXcOJ+wqxAfbJ4= X-Google-Smtp-Source: AGHT+IHMFuV13oHLomlsN36IUFndxfrhBYzdbMd7xr9GK3XGTbsPAlzk7x/twn8UPGjcB0CfYJpACQ== X-Received: by 2002:a05:600c:c493:b0:475:dd9a:f786 with SMTP id 5b1f17b1804b1-477870be153mr16131355e9.40.1762936156234; Wed, 12 Nov 2025 00:29:16 -0800 (PST) Received: from ta2.c.googlers.com (17.83.155.104.bc.googleusercontent.com. [104.155.83.17]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42ac677ab75sm31571428f8f.35.2025.11.12.00.29.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 00:29:15 -0800 (PST) From: Tudor Ambarus Date: Wed, 12 Nov 2025 08:29:07 +0000 Subject: [PATCH v2 3/5] arm64: dts: exynos: gs101: add OTP node Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251112-gs101-otp-v2-3-bff2eb020c95@linaro.org> References: <20251112-gs101-otp-v2-0-bff2eb020c95@linaro.org> In-Reply-To: <20251112-gs101-otp-v2-0-bff2eb020c95@linaro.org> To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Krzysztof Kozlowski , Alim Akhtar , Peter Griffin , =?utf-8?q?Andr=C3=A9_Draszik?= Cc: semen.protsenko@linaro.org, willmcvicker@google.com, kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Tudor Ambarus X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1762936153; l=965; i=tudor.ambarus@linaro.org; s=20241212; h=from:subject:message-id; bh=/pSl/oshIgGZZ5UojmE7NZi7LX3/HS9nWv/b7bm1yIQ=; b=R1Z+JLiXPWLMgVafAqh+YxTkJcvlF+ccSnLeqflAeZ3Ttx/LZtnpqjWgaPkjDW7swQcPDVzoX +LgNAN/4E3WDOaOJv39p6v/i5tN2Ua4VMj7GcXteu9NW5JKmTxD3K2f X-Developer-Key: i=tudor.ambarus@linaro.org; a=ed25519; pk=uQzE0NXo3dIjeowMTOPCpIiPHEz12IA/MbyzrZVh9WI= Add the OTP controller node. Signed-off-by: Tudor Ambarus --- arch/arm64/boot/dts/exynos/google/gs101.dtsi | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot= /dts/exynos/google/gs101.dtsi index d06d1d05f36408137a8acd98e43d48ea7d4f4292..4be983d4e291b3afe3530fbea01= 63f70c1a74671 100644 --- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi +++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi @@ -571,6 +571,13 @@ soc: soc@0 { #size-cells =3D <1>; ranges =3D <0x0 0x0 0x0 0x40000000>; =20 + efuse@10000000 { + compatible =3D "google,gs101-otp"; + reg =3D <0x10000000 0xf084>; + clocks =3D <&cmu_misc CLK_GOUT_MISC_OTP_CON_TOP_PCLK>; + interrupts =3D ; + }; + cmu_misc: clock-controller@10010000 { compatible =3D "google,gs101-cmu-misc"; reg =3D <0x10010000 0x10000>; --=20 2.51.2.1041.gc1ab5b90ca-goog From nobody Mon Feb 9 10:11:32 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 97B5F2F5467 for ; Wed, 12 Nov 2025 08:29:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762936160; cv=none; b=AyKXY+g0DAenxMf1FOGm60faS6/LnLLmMHXrlKerjHpTBqpxEd3Fu4VBcu1SiBukR0ARAh2gsKCQuFU9PZPVfOYu59pLhE3zB1AnS3Q9++M6EmPvce5regJ+TxtawGDqBt0cstj7EqwUluAjUad6JrDstgPmL13bC48Ve861sbw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762936160; c=relaxed/simple; bh=Y9wJNseX6YvW31AdnsD3g0WQa/woWSS4h+36pzpwGoo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XwrZlpuB5Ha+wVzWMfQ+0gFDukBrdJg43wZCyD6MMyz2NozHKOMBnJ65EOupCGrs/C0VGxpCYlwHEzTZu092DZh47dAGaRBhFWN2Q4/x5rYu52WV+v92nsV+4bq2Xr6iLg9QL7pZF2FTHE29duqgS4ywZpT1anUtseB0z4fyk8E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=IW47H+uc; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="IW47H+uc" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4775ae77516so5562975e9.1 for ; Wed, 12 Nov 2025 00:29:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1762936157; x=1763540957; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+OFp+IPnKRa3v3OPLVGWcy+GrbtTT1voW5UO4BoVK5w=; b=IW47H+ucpDb3lheQPUYZmLeHQQI27P41LBIURZeI2+YJWkpjPtslCPmUcfV8nfIvON /AI1rohhZcIvR81FMrYSHqF+j1FIJ6/dlT8lIzHlT3qtSYiY+cKF6VoI/5p38q99BdR7 Bc84utXZsaO5LSJMgc+Nmy9sma0bS7qUoz39xTzRtSA4pSZ7wIOM0CNhFxRzCGwXh4ac hN26lz+atEDjR50nPf9HEFiZPrZww6Yph2g9PVuQgqRAssJtPVaSIOtdy46IFeYKhsit yXu2UFdo5PEnRb/7xiAE1KxJryrkiy7wzazFo4RhB+wLfmCQ4BChIxkaA/0qzMyoS8XF bamg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762936157; x=1763540957; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=+OFp+IPnKRa3v3OPLVGWcy+GrbtTT1voW5UO4BoVK5w=; b=PS7q2lHP282LJdTgTSxAVq/nffliHv+5pLpzkgOxDHT5k7YID2g4K0z+lA130KeBUV tfQ2Ini6FKbY9n2C0BnkzNwC265PwtPn3M2dLPtCRzzGRJhRncfIDKhwrJV/jX87gkC7 n1ztMYh+UKxgmWV+AzPu+weXEf8vyB0ZdnJ08QqJ4tkwA5ZXH2RzwiBCIZEhfYWJHvV2 x4Sfd9mI+FARIx8KcUulwcLsJmTRvoK12DTQVD5hboBjOUr25rROt7fnIw/lEdg1iH2/ QbUoXC+qJaGyKWkdVxMrfKc2qCD4lBRd9z/Yx894ob2CwPdj9r1b0BlOw41cbbvEaw9Z h9uw== X-Forwarded-Encrypted: i=1; AJvYcCUq3iddlbPJu/4EmvP/wwFk6ANAzHJrMdi97qn+lg8i85iU1Hv7FNrsPpUijRxxYQE9tJy3MDcsXEQpzYY=@vger.kernel.org X-Gm-Message-State: AOJu0YwlMdmUILiny3z8iKQr3afaQgINT2tHHz4uP/2TqZub/D8tK8WJ cxfhrLQeCsyJsZWraUUIwXtUCvLnhE2bTkt+pSp699JmuMOHUBC84lNEawlyJRIxjEI= X-Gm-Gg: ASbGncukDPG3Qdl7mKYwahLvfVYXqebj0ZCQJedDPuMGaqDSpHNgYTqfvFHsYvR80/R QPZMC+NJ4RfpjouIo3qozNk6tgneowoaSiay9qe8f+geKiRfkKAqldAENpqOJVwAkXGx0yHbvck qOM/m/CihlHFtwaFe1Y4KLYTbMxiG9x78P6OXPxgfNSE+fMszEVCkROvX4lY6I/JkS5hCCu6tay TTqmGTJOpMumBJKTh1CosJop3c42x/lBbVU8qQ3ieavecwneg4QHvWTlFugfxGWXnxbBSrcYm1a t5zpY69UBc+CleVL3afWzAFtZWaidoH4LzKb6hDPbxBHCHfVrYc/FT1303gH+Gqnaogf2Oq5osd CuzreNWyyif25/NhSPQ6UrdQV5ySS1o0R/YZeE1S+/tynUJBZy6ov7nR6liyrS08z26cepLd32y f2q/yhevDFPa+62ao2i3YnNsqVrLssdwCOXmDUx45+l4B0pF+UlUJQ0/+X X-Google-Smtp-Source: AGHT+IHlpapEj7ymskzF3Fjgqueu2gUV8vx50CAtQ/YTQGVKieu5QIoV5IAB8BvhUU3H0SWPp7ULVA== X-Received: by 2002:a05:600c:1d0a:b0:477:fcb:2267 with SMTP id 5b1f17b1804b1-47787045055mr20227885e9.8.1762936156868; Wed, 12 Nov 2025 00:29:16 -0800 (PST) Received: from ta2.c.googlers.com (17.83.155.104.bc.googleusercontent.com. [104.155.83.17]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42ac677ab75sm31571428f8f.35.2025.11.12.00.29.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 00:29:16 -0800 (PST) From: Tudor Ambarus Date: Wed, 12 Nov 2025 08:29:08 +0000 Subject: [PATCH v2 4/5] arm64: defconfig: enable Samsung Exynos OTP controller Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251112-gs101-otp-v2-4-bff2eb020c95@linaro.org> References: <20251112-gs101-otp-v2-0-bff2eb020c95@linaro.org> In-Reply-To: <20251112-gs101-otp-v2-0-bff2eb020c95@linaro.org> To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Krzysztof Kozlowski , Alim Akhtar , Peter Griffin , =?utf-8?q?Andr=C3=A9_Draszik?= Cc: semen.protsenko@linaro.org, willmcvicker@google.com, kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Tudor Ambarus X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1762936153; l=1050; i=tudor.ambarus@linaro.org; s=20241212; h=from:subject:message-id; bh=Y9wJNseX6YvW31AdnsD3g0WQa/woWSS4h+36pzpwGoo=; b=Z6fGWT6SoRfFw0zQdHsVBlO/Qbu1DkGHl4MU1QSzryZwNo9dsZbeiZgmfpnXbo2SEuMtYgsTG gs+W0LRj75xBnRKyv7cv0ou/7oI7kGsxjbMNCoT1WLvkuXJfdVlP/85 X-Developer-Key: i=tudor.ambarus@linaro.org; a=ed25519; pk=uQzE0NXo3dIjeowMTOPCpIiPHEz12IA/MbyzrZVh9WI= Enable the exynos-otp nvmem driver. The driver reads the product and chip IDs from the OTP register space and register the SoC info to the SoC interface. The driver can be extended to empower the controller become nvmem provider. The fuse block stores various system information (TMU, ASV, etc.) which can be accessed by client drivers. Signed-off-by: Tudor Ambarus --- arch/arm64/configs/defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index 646097e94efe7f1a18fb59d5b6dfc6268be91383..6433e3c0f88b892ce6f2ee190f8= 66a6ab4889771 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -1682,6 +1682,7 @@ CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU=3Dm CONFIG_NVIDIA_CORESIGHT_PMU_ARCH_SYSTEM_PMU=3Dm CONFIG_MESON_DDR_PMU=3Dm CONFIG_NVMEM_LAYOUT_SL28_VPD=3Dm +CONFIG_NVMEM_EXYNOS_OTP=3Dm CONFIG_NVMEM_IMX_OCOTP=3Dy CONFIG_NVMEM_IMX_OCOTP_ELE=3Dm CONFIG_NVMEM_IMX_OCOTP_SCU=3Dy --=20 2.51.2.1041.gc1ab5b90ca-goog From nobody Mon Feb 9 10:11:32 2026 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 24CEA2F5A11 for ; Wed, 12 Nov 2025 08:29:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762936161; cv=none; b=ucuDWoU3NvU7WPYoolZUSqLjc2pz7nWZ25LrrWJbcJSclPnkUPeluXxG9rNJ7uENyGscj55SI2K0y8lBxsLptVh4MLexwJHVAUbbnVK1F8jlcbHiuv+OTqQUtXrvli0WcEZZiprRW8mJXAtpyab4AUFIGWoiCs6Xg6WsPVtudLU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762936161; c=relaxed/simple; bh=7rM6ipANT27ulRQJdHPgB/KMFu8QO3gc2s7q+k9b64Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=eXhVblahNl+QFLgEmU81OQ9lynRdqoozxWfFNyaIX0+cQ2vSk8eMD5b+eNS9M8on06Hqy/QIY2DmMGl+bdS+AGZp3OW9GxEK5YRw/7DhzHFHIK64dGY9hDnoFBCnkW0S+P7yjS4GyWCB3ZTLjHXcjbcTvXpbeGSjNYbammJPi64= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=cqDX+qAt; arc=none smtp.client-ip=209.85.221.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="cqDX+qAt" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-42b3108f41fso288850f8f.3 for ; Wed, 12 Nov 2025 00:29:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1762936157; x=1763540957; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=nLVC1yr/nkYxv5RM5OgIDp9oj0yRWmQJunkOHBdVjz8=; b=cqDX+qAtWNVu+9S0QQy84Cud+eXfAfxMj2gQUL0h2onk+GdGfyLkyLBk2aXhl4woG6 88J5wpawkTzcGhJkHby0Lmc3wgFHzdgjdRFCpMl6B9sNBPa61ZpdTvA4JyKQKmGHQCCp ZCq84l0GK743TIzlISUgu6SzCBZZNtBq9xxlgIiwBBytF0z3+sPDX1aZH7RF9/pVmumS BQobX8SJNpgcxpRLpnV2WU6NcVt4k+oxdXzk4BVpFHDeTGuGG1eeJNpZmTME9efQnyms NCdVT94gj5WgwuQDgmklTI5XQt6Ax1AgBAjwTKfubTOkP76gEYyra145ygTrf4+uvGzn 4/xA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762936157; x=1763540957; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=nLVC1yr/nkYxv5RM5OgIDp9oj0yRWmQJunkOHBdVjz8=; b=dkxJfFWrdxpDcF92kdR5rtwRO2axA1kK2UwsgxRGFBaiH5xtdKPgX+QGS4aSsXunUw 2DOI9muH4zZiqNEBlblGeyx+mpTQpXkxY/6XL81nkHn20PYKfdD+uBuI9+Aq0yrYtAnl nTr+nK3eF3fQvD3xK5+Evlh+IOmZ+tMETEoUwIrVO20R7sV/sj+4qLyBP1YYfT8lz9WZ DO3FOj5eYmiAXGd5kIXB8fapBZfZi+56TcikxKrkHfny2PJ6pdL7muVp78sN+HAN2IMe cFc9o1QxBkmMIP7+QZQAKmROwgPFAMGSYrf3lGi2G90cs947dQKgDAHMLJNmH96Xo8LF Qypw== X-Forwarded-Encrypted: i=1; AJvYcCXbHwZSOxy4dq2lpz08oItE6pGmFGDhuoiOqQpDfG5COqG36OoJx/P3WZbmPW2h5VBJ6e+btvgXOwh25JQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yz1XW5CDUWSdprgfDbo3Xy4/oGXrnai5llYtA3BKMVVlqk/V+N5 SKhR8V9++Si8dunp8NboIuOVSaZ1O0xb8ERRR024iEadeUXIBwbbf7kK1dakEdr+J7g= X-Gm-Gg: ASbGnctxzkP5cWbh2zFi40uAEdNTtbuQwEBL1N9tcy/RY1+9WgogVrhoPN23of3MyMp 09WLq62SP8BPYqdA7B4+U2RT8zhbAPO9oo2MQiL5whLQv0lRWYdv/jP/gaLwVkwN4smI3zzsI8V iBikkdkCY+wn5b14fu4x5buUKnZueDBX4kEzYrSGq2RVNtCLjF3iYEghluHRq9LfhzExzorJane w4Fx+TUqRH1cbuJBBpecjtqTV/uGIkgzfY21F36CJLqjbUu5DYXCQwlN14jJ0Bej4S3WxZ7n6TP Fyy/TQ0zn2xZEDbjwt9h9Wa4TKT5g8Mk/niC2C8z6Hp0LMY03HVAy/trVZo2Xlq9vlNXr4a69Ak 4rg5+0lKWY3VCgagVZUxdqtpaGifzR6aKMxwUa4AL2UsO1I54wPL6KLssRBZWDAsJwW73wdUmP5 UBy1sV6Lu0RpQYeeiY4C88A/Ympa1IcWnM/WvCRQO2ONXR47L62Zi2C2Oy3rCAbrOd4g4= X-Google-Smtp-Source: AGHT+IHFW/GKxKCw0ILsA/SJT72Uei+QJ38/wrMr3u+rGJwwJXDKwY/90elYIzeiZ134HBFWWuCaMw== X-Received: by 2002:a05:6000:40db:b0:42b:3c8d:1932 with SMTP id ffacd0b85a97d-42b4bba5627mr1678878f8f.23.1762936157486; Wed, 12 Nov 2025 00:29:17 -0800 (PST) Received: from ta2.c.googlers.com (17.83.155.104.bc.googleusercontent.com. [104.155.83.17]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42ac677ab75sm31571428f8f.35.2025.11.12.00.29.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 00:29:17 -0800 (PST) From: Tudor Ambarus Date: Wed, 12 Nov 2025 08:29:09 +0000 Subject: [PATCH v2 5/5] MAINTAINERS: add entry for the Samsung Exynos OTP controller driver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251112-gs101-otp-v2-5-bff2eb020c95@linaro.org> References: <20251112-gs101-otp-v2-0-bff2eb020c95@linaro.org> In-Reply-To: <20251112-gs101-otp-v2-0-bff2eb020c95@linaro.org> To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Krzysztof Kozlowski , Alim Akhtar , Peter Griffin , =?utf-8?q?Andr=C3=A9_Draszik?= Cc: semen.protsenko@linaro.org, willmcvicker@google.com, kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Tudor Ambarus X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1762936153; l=980; i=tudor.ambarus@linaro.org; s=20241212; h=from:subject:message-id; bh=7rM6ipANT27ulRQJdHPgB/KMFu8QO3gc2s7q+k9b64Y=; b=Lurn43cxRReGlo/BJV58dAB7nj1wlW2HtMqDlBqeLRMi1dZmQeHSO44u6JwfT0f2fBaR1GlW3 aM4MGm3X4kVDqVIjmlIkpfG2dt6YhPsVYTKuB/TqOfTIpnjc+5/W5gh X-Developer-Key: i=tudor.ambarus@linaro.org; a=ed25519; pk=uQzE0NXo3dIjeowMTOPCpIiPHEz12IA/MbyzrZVh9WI= Add an entry for the Samsung Exynos OTP controller driver. Signed-off-by: Tudor Ambarus --- MAINTAINERS | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index ab00eca640e02d40dd80949986d6cd6216ee6194..813a098475ab7d5371c811020ea= 022f63d1acb35 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -22775,6 +22775,14 @@ F: Documentation/devicetree/bindings/mailbox/googl= e,gs101-mbox.yaml F: drivers/mailbox/exynos-mailbox.c F: include/linux/mailbox/exynos-message.h =20 +SAMSUNG EXYNOS OTP DRIVER +M: Tudor Ambarus +L: linux-kernel@vger.kernel.org +L: linux-samsung-soc@vger.kernel.org +S: Supported +F: Documentation/devicetree/bindings/nvmem/google,gs101-otp.yaml +F: drivers/nvmem/exynos-otp.c + SAMSUNG EXYNOS PSEUDO RANDOM NUMBER GENERATOR (RNG) DRIVER M: Krzysztof Kozlowski L: linux-crypto@vger.kernel.org --=20 2.51.2.1041.gc1ab5b90ca-goog