From nobody Wed Jun 17 02:52:25 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 513BC43D50D for ; Tue, 28 Apr 2026 14:23:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386198; cv=none; b=Vb8w9AXWOWBCnALhXCM8bdc9tyLNa0nHHB3bV8b560BAYZ4oGcBjDDRQu3iuPRYHRH1FTibzQFWlUNA0CbYrp97JNL3JvT2Um9QpF31skJnIIjpF7baCStgN8zre2pBNerqTnNP0i2X8jcjT3Ong9LMj7ANPS2jGgBbLlWA5VmM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386198; c=relaxed/simple; bh=HbSuGEQLc59Sraj4LOcdwW5GSnwxN+lPZ5bkvzKitxI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dZEEUKx7F1l3WXuGi+K7uXFrc5gEWSYwHq8TJZotImMOcU9oNUEzk+AhgeIpO0e+zuVqsUNyt5ldnmepdis1vfFNIE+tLACdKKLMD+OiLAkgrvgrNxqyLe7OWUkVKVLJ0i85IccelUYIW4hV8GY1Ei78rp/Hj2GbEem/OZH4aeY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=b9/Glt7C; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=YpZBUvZ9; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="b9/Glt7C"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="YpZBUvZ9" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63S995BX662935 for ; Tue, 28 Apr 2026 14:23:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 2wf6P+dIy3swdOfFQ6eaG3P+EchYwJG+lt6mzyhgaNE=; b=b9/Glt7CpnTksk6T JGcQezNXo9AYJwE+b5mnK5BrfZG7lJBvUp/8nVtf1RGaGlCsbmGdR6JreCi0WCxo vRt4PILMYInu1zP/3mtX5lO2ousrHul6pzCPMiO2njRYYFUP6dJn1wUKUOQrr3+5 aq0lEqW0hhN5k2tjlcmBkLPJmVJfQeXMN7EM8uz9+Eyl8pqV56LPqmHFPoOvYv5S tJRwF0UNC0phdM+4Cu8Nrt2EfD9lFLmLCXQ4ktIgZycxL0RlP/tn0jMjhE4JZlUS uVhHNa94P9G+ICy1K6vWHqD7qZnCOd7Oeowdi2oUXSXwybgLW9mQ0ueNBUHeZrN9 aSE4fg== Received: from mail-vk1-f200.google.com (mail-vk1-f200.google.com [209.85.221.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dtc5n4bn8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 28 Apr 2026 14:23:14 +0000 (GMT) Received: by mail-vk1-f200.google.com with SMTP id 71dfb90a1353d-56f67ce97a7so7524303e0c.3 for ; Tue, 28 Apr 2026 07:23:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777386193; x=1777990993; 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=2wf6P+dIy3swdOfFQ6eaG3P+EchYwJG+lt6mzyhgaNE=; b=YpZBUvZ9cxizlqEsW0Jimm4pXwc7NExsyh0AK8+jh+SEPVdmgK7B6FvjFdyZY5lfuz H5usgo9lHyVjUtFRk5suGHJ1y5N7q/M2gC+7dehwSzGDAUvNHPgJLBf6Qs7WCtxyj6sm jqP8MccmbOcgxD3NoAnzSV3QsT2fUJPnkSnI1ea836DxnoMpQerS9ACRWSdbCZIWRxUg qUl5sfU0p9y/cueeL3KLtmK9sPJgMG72j+ke/ZwO3ez1sopUQwX4FvpEe4uRIf+DS8yC mk7SUFoTSLZ/6ZdbaHz7mf9go++S9t08uaeLp+ykqJcrG8pDXFqSy1odJFqZX6NkGtKI XPmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777386193; x=1777990993; 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=2wf6P+dIy3swdOfFQ6eaG3P+EchYwJG+lt6mzyhgaNE=; b=GTw4FPHIOPL86hdTdi+jaY6GdLs+sd95G0S5+7c2yaS8ChUlG0tHpnHcqsRJad84VW kGL0zUejy7zjSwvIa2rMu0YryP1/5w/8MkeViTsKwlrD+KLFle+3Q8ut+PRs4I+IzZRX aLW1LL+vxbqNENJBmGmj6oSOPGSgrM7WiKrgVspXNckso5THyYR63m/kNRQO3LdK4yzT Acj5qqDo7bV8krtGvLnlChQ0bsi8bQ0ttrO3S85kRqztU7HhtHq520es6Bh4EwXhFz4f bFyjJq2VZ3Mt/WGDWxMhtq9xWyF66fkQ3A2vg7FeigcylaicI7UvxwADtJjFDaOdo3Ym lTuw== X-Forwarded-Encrypted: i=1; AFNElJ9yFS1SttsCYvaAw3oYrlWqMQaC2vcqJmKRakRjFgH12Nvp/uE66QX+eyNuPfk8u5TxtvvPAvHwEEED8l0=@vger.kernel.org X-Gm-Message-State: AOJu0YxV0TbNQu802D54odb2VipszLDPETwhmToX5kiCIk9A1bOB0SeA aULgfwu+HfD42C5dEu8nim2D0a2tj5kn8G8/0L+sRNK6j4CLe39flKjOK3Zf4F7weW0Pz31SbSM XAWneYEIC4HAF4ne82y70tYDSQlLC2vdWfA5kkAb8c+VQOTHLBfGTHjSDMv5DsINq5Po= X-Gm-Gg: AeBDieuV2qYxGZp8gTv92+bsGIn/eXnJVcSW19abpgl1a3HNXjhpzcKJLr1G2PlFhjS US5Ruxcaaipavw0HxHVwcr54JVrbnbX2fuUyDzU/BG8KMjvLGp8C5PrCuNHmz7kGZCskVl6yaRl Cn2069j6eEH/9u35K8s6P3DCcyAk1LYXapJUdqWLztRN/pO+qw538qVPCCb47QNaieB0faUMNNB dSikzRecs2UUBDFDf/TEZ4jVzoT/RV4hb95P9vCH4vu4jZI7zOj6P3qq4cC3XZw9GwaF+1XT4vd brC2UU/H/wt39is1PGIpwLinI8jwzgIdCMw6iS4+pC5HnSEditNJslNQtGKELu/mbRETRo5qteS i+7N0BFR5G2d3HsQLnRzVsUDFqctosHeu0oN2QlmTT3qoetpByvs9/jSnCFEiGmFwqh0jCcaEMo b6E4KjVRoOcDY4alxdwn4IXn0bLcE= X-Received: by 2002:a05:6122:490b:b0:56f:694e:1f10 with SMTP id 71dfb90a1353d-573a55825a5mr1339744e0c.5.1777386193423; Tue, 28 Apr 2026 07:23:13 -0700 (PDT) X-Received: by 2002:a05:6122:490b:b0:56f:694e:1f10 with SMTP id 71dfb90a1353d-573a55825a5mr1339667e0c.5.1777386192845; Tue, 28 Apr 2026 07:23:12 -0700 (PDT) Received: from QCOM-eG0v1AUPpu.na.qualcomm.com ([2a01:e0a:830:450:653f:4d28:6a78:a6ca]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bb80ba9b8c8sm107072666b.48.2026.04.28.07.23.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 07:23:12 -0700 (PDT) From: Loic Poulain Date: Tue, 28 Apr 2026 16:23:06 +0200 Subject: [PATCH 1/9] dt-bindings: mmc: Document support for nvmem-layout 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: <20260428-block-as-nvmem-v1-1-6ad23e75190a@oss.qualcomm.com> References: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> In-Reply-To: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> To: Ulf Hansson , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Jens Axboe , Johannes Berg , Jeff Johnson , Bartosz Golaszewski , Marcel Holtmann , Luiz Augusto von Dentz , Balakrishna Godavarthi , Rocky Liao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-block@vger.kernel.org, linux-wireless@vger.kernel.org, ath10k@lists.infradead.org, linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org, daniel@makrotopia.org, Loic Poulain X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDEzNiBTYWx0ZWRfX+0axIE3Ao/ai zbYfyfG+mwmeTQDb8dR57rEJray76I5BnvI/y3eev3yQccT2Kxfu2N1vaDVKTvOT6/wUcPe8CRB 2qzB0lIiX0x5iGsAvB+urdgtfzda3HQ9ngYCOiG++KS5UH8PV7MQpaAe1jk0ctgA3IXTSpif3rA STA7l7+ayaMsTnC2JLBNm3csFqFvw075Or/XUDlXeGxkEJUG76jO5AZK/kv9mpyfxuVainNlNEY gRsp+9xcoVz7sobEnCJB5t7XcHHN9o9gUqDCsILgZwb3UI09mOURv92mzbCV8j1GTNaAD7YNPDp /uXDphO3d1DCXaEs/kcUXWGxpVBlAPd5HCvAqZae6gZWz0nmar9xT8HZ2O/0FJtYpKB47ZYlyj8 a5bTZtbDmJEL9LRHVzuU4SzhzDoeZnjs2Q9FwQn02PRzfTSe1YQv8i02kjpwVa9ARIAmR2Odf8U jzjsv3v3wodcfVBTA+w== X-Proofpoint-GUID: -gL7RlRfTCzduMUOx-uAdSeqTRONNqdU X-Proofpoint-ORIG-GUID: -gL7RlRfTCzduMUOx-uAdSeqTRONNqdU X-Authority-Analysis: v=2.4 cv=ZMfnX37b c=1 sm=1 tr=0 ts=69f0c2d2 cx=c_pps a=wuOIiItHwq1biOnFUQQHKA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=hFPe-bIbDLvfECHHD4sA:9 a=QEXdDO2ut3YA:10 a=XD7yVLdPMpWraOa8Un9W:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-28_04,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 suspectscore=0 malwarescore=0 adultscore=0 impostorscore=0 spamscore=0 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604280136 Add support for an nvmem-layout subnode under an eMMC hardware partition. This allows the partition to be exposed as an NVMEM provider and its internal layout to be described. For example, an eMMC boot partition can be used to store device-specific information such as a WiFi MAC address. Signed-off-by: Loic Poulain --- Documentation/devicetree/bindings/mmc/mmc-card.yaml | 20 +++++++++++++++++= +++ 1 file changed, 20 insertions(+) diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.yaml b/Document= ation/devicetree/bindings/mmc/mmc-card.yaml index a61d6c96df759102f9c1fbfd548b026a77921cae..e01fc82ab8520a31196475b18ac= b5e839e1bf71f 100644 --- a/Documentation/devicetree/bindings/mmc/mmc-card.yaml +++ b/Documentation/devicetree/bindings/mmc/mmc-card.yaml @@ -40,6 +40,9 @@ patternProperties: contains: const: fixed-partitions =20 + nvmem-layout: + $ref: /schemas/nvmem/layouts/nvmem-layout.yaml + required: - compatible - reg @@ -86,6 +89,23 @@ examples: read-only; }; }; + + partitions-boot2 { + nvmem-layout { + compatible =3D "fixed-layout"; + + #address-cells =3D <1>; + #size-cells =3D <1>; + + mac-addr@4400 { + reg =3D <0x4400 0x6>; + }; + + bd-addr@5400 { + reg =3D <0x5400 0x6>; + }; + }; + }; }; }; =20 --=20 2.34.1 From nobody Wed Jun 17 02:52:25 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 DA30C44CAC6 for ; Tue, 28 Apr 2026 14:23:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386200; cv=none; b=Eps2lL61QJZWAyksj7JI/9PR4bi7u2/18pL6uMPnlBXzWSwqGkcDg0BowcRTN+9VGag8/QMyputWzFsgsr0RLy6THGggUC4hpproK1c80CdqpTQ0R4cm36cLon7MvZQDeDqOikPbOSNs5+vNMT3taerLSo1KC3HZT7Isklzcq00= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386200; c=relaxed/simple; bh=dzIl8YppqJhB6Od+T2zCGC/CJ+cKszHfDpLPF2geGtk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PioeJEPhbtrU2qwRBl4XsJWo2UnFNc8RFp16nign7J5DIwYSmWgFGGc6ETAanHXoqhAqVCumhLnw0mhlGl2eo41EflqfJ48p+GprdkNB5vwxafL4Aloyp2JNJ+cipaJCUlLImFqqiniuvYLx0PQXejuHjZiSd6SVCGv07S9UreE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=WW78sBvI; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=VfEeCoYe; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="WW78sBvI"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="VfEeCoYe" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63SAcgjk2112607 for ; Tue, 28 Apr 2026 14:23:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= yCqCzlz4VIr+zRAIjiPoA3dsT7YZuy9FJGQk0vmxxKY=; b=WW78sBvIUBy1eVFU njJYuxlMhWipbbcVudjhYGGP+XiDYinoeKFVUBhnPDAEGLfcScUrldggbPiLQx4w yRGYnTpOVRigSrjJgWenphU9HcLPtD80UsQ0NPNBxJCNY+Y2nRA0oaebXe1yf2ET XnvV+zwf2g5DC3bcqTe4l+IIwbQ6DCiXA1shrVwUbs6Je2t1uHc0Urky9gWUYWuV TWmdr6s7Zws1UD2ea8CbD5W5+zyyqfWV/QYthqt5G2CR7BfPyZYhNd+ZBIO8Mmek Ci+ElfzTMJxdzLH8mj+xDSTUQDkGLtZwg4YwdNwabusIJW1pSgyugppW5hNzLx5u Ey/iMw== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dtdmbm0gd-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 28 Apr 2026 14:23:17 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-50e5a336b44so153509921cf.0 for ; Tue, 28 Apr 2026 07:23:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777386196; x=1777990996; 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=yCqCzlz4VIr+zRAIjiPoA3dsT7YZuy9FJGQk0vmxxKY=; b=VfEeCoYemwkTM59YTf0RVou51QvqCcBtqzIklZk7eUfFk/u/P1sJaeKwZ4ID0BT5aG RSwxEQReUAdmnQYKwKrhsCAb44buIOCLX2sSggIvrRASgtkc8LqLVR43JbzcwAyeMF8F 4XN9Su5y+RAc1sgudX1dTFpfvN4RrOhnLIVatpRnC8oXYW2F/miRyXpffCqluLU2f3uy Y/IurEEyTmGO0psUeAAhAaQzdQbxK7YdsprsS+Q1P4VWbBOpjOSeGV/Ka98DIflKk6fJ JjM1WHzd/evBduwmKHf62e0wyZmaIBpbjd90oDShmEiBcTd3GYmWcI9FDk45kYYK6bek jOFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777386196; x=1777990996; 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=yCqCzlz4VIr+zRAIjiPoA3dsT7YZuy9FJGQk0vmxxKY=; b=fLcTANexgCDI1DKHsiXx4jciaq1WDzDuRsYmqWCfTNghlElwwKADLpTL9CBUkQhekE vFT174utgmt1hNtXrUTETssdUkeupuKdEwTDmHUb+O0Fd8hj4L80MPXheockUq9pVFAG qb2lggkuKlvLgrGcB6Jzaknd3/KX7kN5fCvFbf7puTR/WEXwvuthBhoj34VFom3t77Up TsWYXlv/JDotGddY637XZxHkfyDAXTfl/iSnjPCsDeLjs9hx9m2AP2INKmXFI2Zc06Le 5Ja9gh+BXQl2B88IVGc2hueW2Znbe7B3XUjyLayiXc+u5PTCz2cIEmjRgngYwyGL/fvy RurQ== X-Forwarded-Encrypted: i=1; AFNElJ9izKpOki/tye14i2Es08CXqkpjcK7Sdtb6lp+aKppcF/alppIomlAyI0ehcTrhm3Aibge5wRgb4ej+tvw=@vger.kernel.org X-Gm-Message-State: AOJu0YzTTqZFFCL0vEedKBcfKZcnKD4hLjRDotL23B/8bnPFyP2G2M0w vFEQdwMTUP2UhXjuNxdztQ8E9voYejFpor2+fb79tAHmwZcIyNNq3OaSD13zVCUwGl8AD5oJdSU pRGgLl+rK2ztsxnZMyzgkA9643xDkiw/OeRQObIAhv2KY4WuZZXtb0sm6PDSpDLquJlk= X-Gm-Gg: AeBDietwmKvcyC3i4tgU87UR2qWIiW7DS6pISfKjfVVSAoMyWxPM36w294oO/wsEh3a CK6+slloDqgz/cxMj4Q6O+f4ljrlpeRfQhdAEPrh5dPRHbFjuRlWSwzz44qLUdqBtHc0vh1NzJQ OZ8Lvucq1C3mR4WoNu6LhWuVK7C5euakAfy9wETCpXSgGfmYtv2ionyQ6cZ0/VaQ41z7FV0Ap77 C5kMXZQNsqqLWa76D7bxFkjyrXOev/7H2yYHd4N6PP/3QuLveeSmSLtLEZCkOPCJV4LTBK/NdJx dv/Pcx7f+2mcBHpUcb7m8Tg0XvpE9XSXfP0HaM6qjMkafmIRx4VBim4njcJogDBcrrwjGOgmzoW /diU2Hth93ff27tG9tyTqpS2jR1iPhaSxCwaQm9h6qR2XgxsU8oFZYfMsUT6yyFqjIDzkvyyA/A zyocsxbv2WjbSsjIJLE4XtluNzSgU= X-Received: by 2002:ac8:5750:0:b0:509:5c6f:c0e with SMTP id d75a77b69052e-5100da85790mr39310911cf.37.1777386195893; Tue, 28 Apr 2026 07:23:15 -0700 (PDT) X-Received: by 2002:ac8:5750:0:b0:509:5c6f:c0e with SMTP id d75a77b69052e-5100da85790mr39309901cf.37.1777386195170; Tue, 28 Apr 2026 07:23:15 -0700 (PDT) Received: from QCOM-eG0v1AUPpu.na.qualcomm.com ([2a01:e0a:830:450:653f:4d28:6a78:a6ca]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bb80ba9b8c8sm107072666b.48.2026.04.28.07.23.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 07:23:14 -0700 (PDT) From: Loic Poulain Date: Tue, 28 Apr 2026 16:23:07 +0200 Subject: [PATCH 2/9] arm64: dts: qcom: arduino-imola: Describe boot1 NVMEM layout 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: <20260428-block-as-nvmem-v1-2-6ad23e75190a@oss.qualcomm.com> References: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> In-Reply-To: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> To: Ulf Hansson , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Jens Axboe , Johannes Berg , Jeff Johnson , Bartosz Golaszewski , Marcel Holtmann , Luiz Augusto von Dentz , Balakrishna Godavarthi , Rocky Liao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-block@vger.kernel.org, linux-wireless@vger.kernel.org, ath10k@lists.infradead.org, linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org, daniel@makrotopia.org, Loic Poulain X-Mailer: b4 0.14.2 X-Proofpoint-GUID: ZeutttRBCl53v-5F3ZKYSnbBKaK9cYPm X-Authority-Analysis: v=2.4 cv=PcrPQChd c=1 sm=1 tr=0 ts=69f0c2d5 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=gjCkitBQ8UzLeNF7HDgA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-ORIG-GUID: ZeutttRBCl53v-5F3ZKYSnbBKaK9cYPm X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDEzNiBTYWx0ZWRfX5BFB2FEHsKPO 74sMU7TXUgdYcbvDWFIdUMrqBDqGE2ajyZWSu9un/8iu//29UajTN0qM4DEQwtK9CGIiGhjdN03 N7KF47OI5E6k3I6q1Fab4nOgH9fD0Uea8J6FXU2ZM9ya76d4lkj6x3VFyT8T7tMIrk76Jlru5zr H/rJ8sZahyLdapXEc8P2Y1gyG2Yj8K4+mygEWjAV5SNqJpovbkouyJRqssCqrYJxqSanqBxurFs iketMi6kAF65dbPa7X5VjGvxPJIfoc545daYL7NueXmiuD55vBV5rLieC0JN4eN0fDbgVGpu5/m QsGsugqU9ukm59iXmrEn5jt34Oz2bhSOFi8svoDxNkymyqYCM7ichxFEZ4S7rEXV9/886ksLAOz LMC1ou7wb/QP1A1lTxC118bXucXMwbyswUIrqNQRuHhatsrfpmMk+iXVTY2R57olsLJsD2lt3Ip JVAUcJtDnivaL+2Cllg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-28_04,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 lowpriorityscore=0 suspectscore=0 clxscore=1015 malwarescore=0 adultscore=0 priorityscore=1501 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604280136 On Arduino Uno-Q, the eMMC boot1 partition is factory provisioned with device-specific information such as the WiFi MAC address and the Bluetooth BD address. This partition can serve as an alternative to additional non-volatile memory, such as a dedicated EEPROM. The eMMC boot partitions are typically good candidates, as they are realively small, read-only by default (and can be enforced as hardware read-only), and are not affected by board reflashing procedures, which generally target the eMMC user or GP partitions. Describe the corresponding nvmem-layout for the WiFi and Bluetooth addresses. Signed-off-by: Loic Poulain --- arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts | 24 ++++++++++++++++++= ++++ 1 file changed, 24 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts b/arch/arm6= 4/boot/dts/qcom/qrb2210-arduino-imola.dts index bf088fa9807f040f0c8f405f9111b01790b09377..dc85cf94f71cac8666cab30ccf3= 7cc2d2f8fd941 100644 --- a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts +++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts @@ -409,7 +409,31 @@ &sdhc_1 { no-sdio; no-sd; =20 + #address-cells =3D <1>; + #size-cells =3D <0>; + status =3D "okay"; + + card@0 { + compatible =3D "mmc-card"; + reg =3D <0>; + + partitions-boot1 { + nvmem-layout { + compatible =3D "fixed-layout"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + wifi_mac_addr: mac-addr@4400 { + reg =3D <0x4400 0x6>; + }; + + bd_addr: bd-addr@5400 { + reg =3D <0x5400 0x6>; + }; + }; + }; + }; }; =20 &spi5 { --=20 2.34.1 From nobody Wed Jun 17 02:52:25 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 2846644D013 for ; Tue, 28 Apr 2026 14:23:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386202; cv=none; b=jK+cfw25VHXNLZdIWUchcelPwhR40kcVyg6jo4haiG4noqih59tDb2Sk1pNTePbcpCbBoVd8kiPXUpCy3TuuwuOMG5fe0BQl9zCn+vxAewLQx2v59qgvsj2Elnih7Ipf+GrOjaUMFEJn0mgrXhB3bNl0MpFa0eePZSAZtggSK5o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386202; c=relaxed/simple; bh=lN5UQLAw786XNpBVzweElxIfw6eaZ0HrStvnhyBZ5No=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sbYptAtSKZjnC0nLJbBB2/PbwsoFED7Jer/NY6eR0LErpVKfuPEg02X+M6dskoGjXVhENWhcJpwvxEENTc0l7Pn15SC5E7US4GhVL4eap0D5JrB3V89gZ4alRGt2HwAvUx7jzSL3pKYr3kjY9GFE4YVAKMykaanovO5Et2QAJbk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=b1SqOvwx; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OYaaE5vp; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="b1SqOvwx"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OYaaE5vp" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63SDcM5a3968528 for ; Tue, 28 Apr 2026 14:23:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Wfgrsp3+OXcemYYLvo9SkPw2QHC3Nuf+HBxk2NFolPw=; b=b1SqOvwxePq20lsa leNNsisiDEHCvr4Yyygj/28n9cMo3mjjjiOsw0r/GuEHg2L2RDbdhrI1a92eKHJ6 4+r2Fw/O47qGZy33jZ7WwA/3VF8gto6MSn3uyP6ScvCZ2FlhfuJnccjToE8EyLaT M8q+KP9+kjv80xsdnMVQC4d3X1Wuq8BkDY5r04Z7ruIAgCuLGlgbK73cWq/h5ak9 nEg/ezjKhI3XbUZ1zzcD9t//Ejsqb/0LAkCtv8mBe43lNY2McRws/gSWIzcoyEJl X87uFQV2bBH8gdevOHCKddTRDLBk6WcJSQ63vny4PJhCrCKmfs5efc0B7HXASypL wkQjBQ== Received: from mail-vk1-f200.google.com (mail-vk1-f200.google.com [209.85.221.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dtry0hgqw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 28 Apr 2026 14:23:18 +0000 (GMT) Received: by mail-vk1-f200.google.com with SMTP id 71dfb90a1353d-56d849e9277so20833998e0c.1 for ; Tue, 28 Apr 2026 07:23:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777386198; x=1777990998; 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=Wfgrsp3+OXcemYYLvo9SkPw2QHC3Nuf+HBxk2NFolPw=; b=OYaaE5vp7MTygn8cm3pitZh9codPJXaWIgBt3BIMatax83bVoGnuNUb8dO6ApV1Jl3 vp5UoP8KY6klfCHKxTQpdU9lws0xOXAhC0YON+08pBn6QqYu0GOcF2gRgiV3UPLI5vOn tL1r5rHTWY7RhHAcDyZBH0Il14FyqOaUfbaAR6KZiI9+c9FdFlO6rMQMf97sn02lugLN Eb6v0RPrtZegKdKwuvM1E1nqTbWABHzZvvF8gXw77wFbopFR4KqHysrA0GzDr5Moucnk SOYvf6fFHAuUgVfYQnDwpU6fP7fu6B0cWWnnVc9MB5DipwtXbaKbgdOcps034dInIZed /G8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777386198; x=1777990998; 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=Wfgrsp3+OXcemYYLvo9SkPw2QHC3Nuf+HBxk2NFolPw=; b=SggRbL3kdqWy69mNKH9lnfHcwi/9AgrlliRNPcMZiSAg8APNjfaxV3XffBz63yuPKL uvW0aDX+2lr8I7JKURsc55XSo9ixgU9/1xF/0iC0QzJpSXa12M6WT2mievEKHx56GCSl 1C5BJU0Q3IaZoecik4LFmadSB94/wjPYz0HMR7XZoBUI7tkJAyGXaQYVHcBpKzMbQnIy /msgEUEKE7mqTvN5emVNY3mZazkpekx12I1sVZ7yiIZgXHtFKmtMhEP9XKgL1JXHoKQq Bww4bnQ9+mBY7aDQvbypsDV/0jiLe1wipqhimXGZyYClqiWmGmiq/kM74ZrWs5VYOyD0 Ml4Q== X-Forwarded-Encrypted: i=1; AFNElJ8ALoltrdBZYvjtPLiqAYp59qGWbLHt/5/EIe60UBgMk+SuxHONhZgamzgrMDdKyU6o1uqAzVYjR8kAzJY=@vger.kernel.org X-Gm-Message-State: AOJu0Yy8cPoe0CJZJBa3+ZltSEYd3UQBVWS0teZa7L/Oa04HuNWfiD7F 3fhmfAlaeMQ8pzGRui+XWoQz0B5KjI9tspQ5aJtfU6SNWh4mp9UcRJ5MC508YqRGvI8xzMpGPmc FlluoGh9YZX4yvJQIbEyH5iH34rV52QRaYz+OKwmTmJFB+v/fHNgTaekudiXFe8flVU8= X-Gm-Gg: AeBDiet3CZ/Ean5u6M8EJzBrjUXT+Pa3umMD5Pu/tx1wcubf8mL1aqvp/QVRdFpDMoZ IdoBzeSTcZjExe+YKe+7NFUht4xa3KDSw/f1DZUnTu+AS3D+HHaPZGEno8jGSxDmLJL/CZjkkcX rHp1IIYgVBRwj7BmEP3WIkcTWILMAM2YN7P4Y505KOi4y3c85A/5WJAvVc/cQ/dShiRQWzBqRBX xNthnvj2u6Tj6bjdR0DPRJj84hlObePXnAbZXn0QXheqAjg6RKw9MhMv5+ZdacJvGawh+Rv22pV Jn8T5z7XyGwWevyyxWDpzyK7Y9rEnc70c25HZU0YY7pFuPiRLNjgxE0S3BZZXyyvVLznjIyf5e+ UZlNKCsIXOHCjDwL7SVmLcA1t782eONv52HrxAHBk6Hd01W699vlWMNWpS3X9zQpTv+g9iqPdUt FRLncvG3WOgSHDe2t8UeWuRhfYfH4= X-Received: by 2002:a05:6122:4201:b0:56c:860b:c34e with SMTP id 71dfb90a1353d-573a55b83fcmr1685513e0c.8.1777386198177; Tue, 28 Apr 2026 07:23:18 -0700 (PDT) X-Received: by 2002:a05:6122:4201:b0:56c:860b:c34e with SMTP id 71dfb90a1353d-573a55b83fcmr1685459e0c.8.1777386197727; Tue, 28 Apr 2026 07:23:17 -0700 (PDT) Received: from QCOM-eG0v1AUPpu.na.qualcomm.com ([2a01:e0a:830:450:653f:4d28:6a78:a6ca]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bb80ba9b8c8sm107072666b.48.2026.04.28.07.23.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 07:23:16 -0700 (PDT) From: Loic Poulain Date: Tue, 28 Apr 2026 16:23:08 +0200 Subject: [PATCH 3/9] block: implement NVMEM provider 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: <20260428-block-as-nvmem-v1-3-6ad23e75190a@oss.qualcomm.com> References: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> In-Reply-To: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> To: Ulf Hansson , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Jens Axboe , Johannes Berg , Jeff Johnson , Bartosz Golaszewski , Marcel Holtmann , Luiz Augusto von Dentz , Balakrishna Godavarthi , Rocky Liao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-block@vger.kernel.org, linux-wireless@vger.kernel.org, ath10k@lists.infradead.org, linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org, daniel@makrotopia.org, Loic Poulain X-Mailer: b4 0.14.2 X-Authority-Analysis: v=2.4 cv=KuJ9H2WN c=1 sm=1 tr=0 ts=69f0c2d6 cx=c_pps a=wuOIiItHwq1biOnFUQQHKA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=VT4XjZGOAAAA:8 a=EUspDBNiAAAA:8 a=0xOXAJtWE3glxeOP_3AA:9 a=QEXdDO2ut3YA:10 a=XD7yVLdPMpWraOa8Un9W:22 a=6CpsfURP9XNmmWg3j1mJ:22 X-Proofpoint-GUID: fHXs4DNaIwnYA9aj3V7IJXH8rK146Rfs X-Proofpoint-ORIG-GUID: fHXs4DNaIwnYA9aj3V7IJXH8rK146Rfs X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDEzNiBTYWx0ZWRfX5uIQKjZqZUfu /Sg7Dce1E17abY4vhcYJvp1F80wgjbCj0H6D+t5bVFcsEu+ACT+d8EXNwBrpxmZO5Oyyy+t3ayZ Nvvo7r0DlFojInms5A1YCDtqyA+JQlzgPLjdiCCxW118ajErVCEHUnGJyNlmXQzUWmZDu/PvwJE 4CYtGg7FPy20Kt7tFHU/g1TazD7YiAleF7nkDXl2XaQ1zFoybtQqYqUbSEugSowKXpIgAugyIP9 2m9/qlOST/Vrp8UQkQ7GnkSsvKwZNEfuRhbZnGlVtSCGIME+jRExg4jy7lUZNkfq/yJwM79st3y nFhWI8WFA8q08O15kScvr5WZJGr7aCcr6G8LOi5NWEK5Ktv1yrXAP207HXGNAu4LEXHqTCH/Mre dFhiTcRkSY+WRuOmJt/oQptzjxY8Nd8sARHoKGIpn64ZgBqMytazw8TtYyfV2ZCNZIvWWtu6uLE FkmmO0DIi5AjMngXQ4Q== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-28_04,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 suspectscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 phishscore=0 bulkscore=0 malwarescore=0 impostorscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604280136 From: Daniel Golle On embedded devices using an eMMC it is common that one or more partitions on the eMMC are used to store MAC addresses and Wi-Fi calibration EEPROM data. Allow referencing the partition in device tree for the kernel and Wi-Fi drivers accessing it via the NVMEM layer. Signed-off-by: Daniel Golle Signed-off-by: Loic Poulain --- block/Kconfig | 9 +++ block/Makefile | 1 + block/blk-nvmem.c | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++= ++++ 3 files changed, 174 insertions(+) diff --git a/block/Kconfig b/block/Kconfig index 15027963472d7b40e27b9097a5993c457b5b3054..0b33747e16dc33473683706f75c= 92bdf8b648f7c 100644 --- a/block/Kconfig +++ b/block/Kconfig @@ -209,6 +209,15 @@ config BLK_INLINE_ENCRYPTION_FALLBACK by falling back to the kernel crypto API when inline encryption hardware is not present. =20 +config BLK_NVMEM + bool "Block device NVMEM provider" + depends on OF + depends on NVMEM + help + Allow block devices (or partitions) to act as NVMEM providers, + typically used with eMMC to store MAC addresses or Wi-Fi + calibration data on embedded devices. + source "block/partitions/Kconfig" =20 config BLK_PM diff --git a/block/Makefile b/block/Makefile index 7dce2e44276c4274c11a0a61121c83d9c43d6e0c..d7ac389e71902bc091a8800ea26= 6190a43b3e63d 100644 --- a/block/Makefile +++ b/block/Makefile @@ -36,3 +36,4 @@ obj-$(CONFIG_BLK_INLINE_ENCRYPTION) +=3D blk-crypto.o blk= -crypto-profile.o \ blk-crypto-sysfs.o obj-$(CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK) +=3D blk-crypto-fallback.o obj-$(CONFIG_BLOCK_HOLDER_DEPRECATED) +=3D holder.o +obj-$(CONFIG_BLK_NVMEM) +=3D blk-nvmem.o diff --git a/block/blk-nvmem.c b/block/blk-nvmem.c new file mode 100644 index 0000000000000000000000000000000000000000..01b67c638a6dfd1393043024b6a= 7f3ebb947a57c --- /dev/null +++ b/block/blk-nvmem.c @@ -0,0 +1,164 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * block device NVMEM provider + * + * Copyright (c) 2024 Daniel Golle + * + * Useful on devices using a partition on an eMMC for MAC addresses or + * Wi-Fi calibration EEPROM data. + */ + +#include "blk.h" +#include +#include +#include +#include + +/* List of all NVMEM devices */ +static LIST_HEAD(nvmem_devices); +static DEFINE_MUTEX(devices_mutex); + +struct blk_nvmem { + struct nvmem_device *nvmem; + struct device *dev; + struct list_head list; +}; + +static int blk_nvmem_reg_read(void *priv, unsigned int from, + void *val, size_t bytes) +{ + blk_mode_t mode =3D BLK_OPEN_READ | BLK_OPEN_RESTRICT_WRITES; + unsigned long offs =3D from & ~PAGE_MASK, to_read; + pgoff_t f_index =3D from >> PAGE_SHIFT; + struct blk_nvmem *bnv =3D priv; + size_t bytes_left =3D bytes; + struct file *bdev_file; + struct folio *folio; + void *p; + int ret =3D 0; + + bdev_file =3D bdev_file_open_by_dev(bnv->dev->devt, mode, priv, NULL); + if (!bdev_file) + return -ENODEV; + + if (IS_ERR(bdev_file)) + return PTR_ERR(bdev_file); + + while (bytes_left) { + folio =3D read_mapping_folio(bdev_file->f_mapping, f_index++, NULL); + if (IS_ERR(folio)) { + ret =3D PTR_ERR(folio); + goto err_release_bdev; + } + to_read =3D min_t(unsigned long, bytes_left, PAGE_SIZE - offs); + p =3D folio_address(folio) + offset_in_folio(folio, offs); + memcpy(val, p, to_read); + offs =3D 0; + bytes_left -=3D to_read; + val +=3D to_read; + folio_put(folio); + } + +err_release_bdev: + fput(bdev_file); + + return ret; +} + +static int blk_nvmem_register(struct device *dev) +{ + struct device_node *np =3D dev_of_node(dev); + struct block_device *bdev =3D dev_to_bdev(dev); + struct nvmem_config config =3D {}; + struct blk_nvmem *bnv; + + /* skip devices which do not have a device tree node */ + if (!np) + return 0; + + /* skip devices without an nvmem layout defined */ + if (!of_get_child_by_name(np, "nvmem-layout")) + return 0; + + /* + * skip block device too large to be represented as NVMEM devices + * which are using an 'int' as address + */ + if (bdev_nr_bytes(bdev) > INT_MAX) + return -EFBIG; + + bnv =3D kzalloc_obj(*bnv); + if (!bnv) + return -ENOMEM; + + config.id =3D NVMEM_DEVID_NONE; + config.dev =3D &bdev->bd_device; + config.name =3D dev_name(&bdev->bd_device); + config.owner =3D THIS_MODULE; + config.priv =3D bnv; + config.reg_read =3D blk_nvmem_reg_read; + config.size =3D bdev_nr_bytes(bdev); + config.word_size =3D 1; + config.stride =3D 1; + config.read_only =3D true; + config.root_only =3D true; + config.ignore_wp =3D true; + config.of_node =3D to_of_node(dev->fwnode); + + bnv->dev =3D &bdev->bd_device; + bnv->nvmem =3D nvmem_register(&config); + if (IS_ERR(bnv->nvmem)) { + dev_err_probe(&bdev->bd_device, PTR_ERR(bnv->nvmem), + "Failed to register NVMEM device\n"); + + kfree(bnv); + return PTR_ERR(bnv->nvmem); + } + + mutex_lock(&devices_mutex); + list_add_tail(&bnv->list, &nvmem_devices); + mutex_unlock(&devices_mutex); + + return 0; +} + +static void blk_nvmem_unregister(struct device *dev) +{ + struct blk_nvmem *bnv_c, *bnv =3D NULL; + + mutex_lock(&devices_mutex); + list_for_each_entry(bnv_c, &nvmem_devices, list) { + if (bnv_c->dev =3D=3D dev) { + bnv =3D bnv_c; + break; + } + } + + if (!bnv) { + mutex_unlock(&devices_mutex); + return; + } + + list_del(&bnv->list); + mutex_unlock(&devices_mutex); + nvmem_unregister(bnv->nvmem); + kfree(bnv); +} + +static struct class_interface blk_nvmem_bus_interface __refdata =3D { + .class =3D &block_class, + .add_dev =3D &blk_nvmem_register, + .remove_dev =3D &blk_nvmem_unregister, +}; + +static int __init blk_nvmem_init(void) +{ + int ret; + + ret =3D class_interface_register(&blk_nvmem_bus_interface); + if (ret) + return ret; + + return 0; +} +device_initcall(blk_nvmem_init); --=20 2.34.1 From nobody Wed Jun 17 02:52:25 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 919B54508E9 for ; Tue, 28 Apr 2026 14:23:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386207; cv=none; b=s/j8DSAjWKNyB2Zagi7aCP4nQOIFIDaFd/mdoTWoIs6pZGcz7MaNj+3veamk3fkxrj9PyAeuWZmsQQWxfBFK1kDk2S3MBdaALDs9ZhKKx5mFsonjoJpirMSrAJJtj0olre7ZE/ijMXuwDWuylEy8UrduzqK+lxgddXjA3TR23p0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386207; c=relaxed/simple; bh=cAnljmIAnY0RgmqbpHx3i/y6lGT992IHdJ79dMHjCc0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VDMq0bz0bTTAYGjAcQ2LKNjs07v9sW8Qox6BY71dHbhbPnd8Nd68qACod9dvQOF8+OUukTKNQjZ0HAB8ekqrkZYJrhnVy8KefPSfiMu4asp0/6+hvaRBSkm0yTLua2QRF9AUYaPzjrNJ0n18E8KY61H5D9eMffVZV9vbddWE3PE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=pV6jaFMt; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AnTC8ue9; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="pV6jaFMt"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AnTC8ue9" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63SAO2Ru1329580 for ; Tue, 28 Apr 2026 14:23:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 0EtjVuK8tfVE6lW6LjScpaxrDNQ+sqkyAA5l5tfy/xI=; b=pV6jaFMtwD5NMekP nZgGZJa9bXjPxtiaCr3uI+//DV6UjSWPh0Ypf0f3UhJ+BlPYQ4HFT0U5Quh/yDYr V/aKdxN5iEj9NS95plMyA8u1V2vutmcvrpa7BL2JKvTXhw7ARLp9Sm0X7Pe94vJR U3SAm4VnBGjaBrBuPp9P/phSMyJS/yrNsJqcKGHH2BVOyBc1mdHkMG+Y3jCJJKmi I+LGPClg/nEkiiTtCBcacVkYHsOG0zuLfH07Q3u3OB5BaC406zg2RxOEZ1uam+ta siRy78avZU1ZRgTIOGLWuaPy+Yfu9ffQ3Ec131pVTWxFPLP9IPqwsyCIRBiPqUeT 92h/FQ== Received: from mail-vk1-f199.google.com (mail-vk1-f199.google.com [209.85.221.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dtnhaja1b-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 28 Apr 2026 14:23:23 +0000 (GMT) Received: by mail-vk1-f199.google.com with SMTP id 71dfb90a1353d-56ef11518d3so20082215e0c.3 for ; Tue, 28 Apr 2026 07:23:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777386203; x=1777991003; 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=0EtjVuK8tfVE6lW6LjScpaxrDNQ+sqkyAA5l5tfy/xI=; b=AnTC8ue9hT0r6hTBiEKhc4aQnaHQqa106TIND4E5d4v0ZlJFzDX/AUsgSnRTDd289T m1fDS3OKBvkRIDlkYSE8O/4OaptigXVkemqvFh3HQBftLFh3+vTkMr057LDEOpDNyCGz ahdOw4DhV+BoX2OZf6w+TVf1nK8hJ8TG1gKTRQ+yQB4697/ShXBycBXz6vJy3oAvjRmO Vb9KDA4+//nGL8FD+72ePty2IJwIe8tVGNb3TFC49/WlJRdrw3aD/G/QogMgc33ZEtbc ZoBClIZRdKB74mN2TxeoGKJ8BQcFzBWeFLuCyytzdiovjAHdIe2a/i21h/0Ppzs8G08j KB7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777386203; x=1777991003; 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=0EtjVuK8tfVE6lW6LjScpaxrDNQ+sqkyAA5l5tfy/xI=; b=QBaPbwLUFQzi8ZfYbPyel1IEuoQfspWh+yFvVxxT462VlUjEBUXmGN5+YTc9K3VuwG EHqD+3zw7J03r420iIfjRiFb7Dr3UcZ+zmFrpyP61FB0fTvLIw6SBdrckzpzQnNvbC6X l4L1wmq/2VOiduvoRVP6TgXygF5CUyZ+Q4rpY4dZQkbJsCXl+s35vJmvg9mVv1KlmnKb 1WRW2vSpqGwDgPEKFRlMXzUqdiELPfOGZcpEYRH0qrV5EQJiG4D8iD8nj+CN6IYgjZ4a V821fHNX0THJd0F8mAPKyA5CxF+iPwD0/q1VyinTStsQ4hpt33LumzXFVDAtU8Sc9v5J 7j+A== X-Forwarded-Encrypted: i=1; AFNElJ880zrY5uGgnkh1Favzhy1K+fE5QulgM69xf7NaHp43jgKmABMP+jaRwv4tZJHJm91bG/aPJyGRE24OJCI=@vger.kernel.org X-Gm-Message-State: AOJu0YxmVIH0uvVZFI5E2oe29RsMbAacHV+U7fveRjIS8hnBm/53JQtT lMNctdiCHj3oVWjLKs5GOPhlsfY0sfdKgHANGlrASnsM7JsfAE9hr2S4k2MwQvYKIoFSTMgWxOH A9Yk6Gd92t8hpAj8Hmd3b04PDtx+K7hxIKej5KV4x68rNu9LT5rMUDQFXxuTpzaB68zE= X-Gm-Gg: AeBDievzD9b1X/oRhl4GW2PWV2maVTmYLDjKE6yVjjtjK5VCnkQ/uvDlZtOcNNccoBF n9Gsl/japjo+L/sHg1O5kjYIlabqGbJB/McCC4Z0VCRhT6sEKxlv2KWHqhaxNzTXunLzolLV0o4 KwirB4XywKLul89N06+bB9e7eYtZPW4EgsKTx3mAn9leJY/eDq9/jnCuovfxw8dhlnS4R/rQuNC XQlVPsz1EKmINXxEK9i3HGvI7ZvtpwjD9CqleIPqRIQ+bVe8xpBAt0BeePhxYcSDaT4/cBuFuay +nuUXihZXwf4+Q55BrnJEX0XMjydgQX77g4BvgRd6yxXo5ObDETcWhRTf1CWaPWXSNDZs6ORGHZ rQmItjeCiRKZNcSDxvQGrPWIx+ZR4s36s9WpbA2wC+cOieudsNgVw+c5jb+lqVXigMMQJ8GADxp Sb5UVnevpXK74zzne7wwuZ0bY9AVY= X-Received: by 2002:a05:6122:3781:b0:56b:5893:d042 with SMTP id 71dfb90a1353d-573a56a12ecmr1637602e0c.12.1777386202796; Tue, 28 Apr 2026 07:23:22 -0700 (PDT) X-Received: by 2002:a05:6122:3781:b0:56b:5893:d042 with SMTP id 71dfb90a1353d-573a56a12ecmr1637518e0c.12.1777386202261; Tue, 28 Apr 2026 07:23:22 -0700 (PDT) Received: from QCOM-eG0v1AUPpu.na.qualcomm.com ([2a01:e0a:830:450:653f:4d28:6a78:a6ca]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bb80ba9b8c8sm107072666b.48.2026.04.28.07.23.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 07:23:20 -0700 (PDT) From: Loic Poulain Date: Tue, 28 Apr 2026 16:23:09 +0200 Subject: [PATCH 4/9] dt-bindings: net: wireless: qcom,ath10k: Add NVMEM MAC address cell 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: <20260428-block-as-nvmem-v1-4-6ad23e75190a@oss.qualcomm.com> References: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> In-Reply-To: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> To: Ulf Hansson , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Jens Axboe , Johannes Berg , Jeff Johnson , Bartosz Golaszewski , Marcel Holtmann , Luiz Augusto von Dentz , Balakrishna Godavarthi , Rocky Liao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-block@vger.kernel.org, linux-wireless@vger.kernel.org, ath10k@lists.infradead.org, linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org, daniel@makrotopia.org, Loic Poulain X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDEzNiBTYWx0ZWRfX6qTlSBwvO0rG 9Fhrtvqxh33bwD37L5pL+0LO2/O9PGJu8pjFkzm2jMApmPux/DMJH0s0yiIAwqm7BYI/P3FDTrN QUhm1kpBp7UOlkwmfcLBTNd3QJL2nkr6ILA08ycSfLKGNTOPGciDURXIhV3nlbVhBU4ucHOT9RE HmGvYr5RDGHjmEpHN9MsGgk3onyPmJNXUPxV/wQdckg7hJYtNmzfXEkldLioZj37SM1wRxPl0jn L9Th2t4u4hj5MmhSKi+Pauo1cXZEXJMM+zukBKfwxTdiTKh1sdudnUo6jp6KSphF5n2P25auDfL kulmQHY2sBHP9OT+RqxphzcwHnTxpk+okBZLY3vz5AI75MnuyoyNZU6EDXXrOKWxvpupKZArUil 2yMdpj4S8RCXC9HueXmSHb5xJvaJt7tq+cTA/EJCoRmQsjxKrpNeca45trfs0ipo38YYaruFSIi Tyw2dHO5L5SUiXL9zTA== X-Authority-Analysis: v=2.4 cv=JoDBas4C c=1 sm=1 tr=0 ts=69f0c2db cx=c_pps a=+D9SDfe9YZWTjADjLiQY5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=M8sXMW5dAYDte-7YvdsA:9 a=QEXdDO2ut3YA:10 a=vmgOmaN-Xu0dpDh8OwbV:22 X-Proofpoint-GUID: wwZIc1XEm_cn0y5UQKy50awMsYoZsCF8 X-Proofpoint-ORIG-GUID: wwZIc1XEm_cn0y5UQKy50awMsYoZsCF8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-28_04,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 clxscore=1015 adultscore=0 phishscore=0 malwarescore=0 suspectscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604280136 Add support for an NVMEM cell provider with the standard "mac-address" cell name. This allows the ath10k device to retrieve its MAC address from non-volatile storage such as an EEPROM or an eMMC partition. Signed-off-by: Loic Poulain --- .../devicetree/bindings/net/wireless/qcom,ath10k.yaml | 10 ++++++= ++++ 1 file changed, 10 insertions(+) diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yam= l b/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml index c21d66c7cd558ab792524be9afec8b79272d1c87..7155d8b15cc145c3a7d703db0c9= c3e056a54c07e 100644 --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml @@ -92,6 +92,16 @@ properties: =20 ieee80211-freq-limit: true =20 + nvmem-cells: + maxItems: 1 + description: + Nvmem data cell that contains a 6 byte MAC address with the most + significant byte first (big-endian). + + nvmem-cell-names: + items: + - const: mac-address + qcom,calibration-data: $ref: /schemas/types.yaml#/definitions/uint8-array description: --=20 2.34.1 From nobody Wed Jun 17 02:52:25 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 DF7134534A4 for ; Tue, 28 Apr 2026 14:23:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386211; cv=none; b=lHmPUgV6XnCztN6vMNzX2eelIrJKQ50JfrL3n0ycDrDLjuUkLJmQZ3/AkyJImshDzrzYuouKJGjqKZQD9b1mjKhG/g2cMjkBZEH9ukXEceqUzKVuotzAxZMXHqgblEihMnDaqEWaKMvTUt45BRKetOXhq0Am+mcRIzl7SYd8lrc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386211; c=relaxed/simple; bh=iY/VfJm1uaSOqwTnG+ysQb3Ah4zUvNYZa5ApjLpBAeo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hEqbS+RDglsd1rR/Ou/+OfVq1jeRJRXyM7S1bADOawboOD8QDbIKpp3KX/YABIqLNVWfsEuWmNWpwQVQllVcCpACUi0Bnlrn2xZ7DZabbsMgblZbSCygSW1UwGWg2sjhaEh5G6gPsaSeKx9Qu+FGqNzrR831QxC7w4gnS+TpyZc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=pBY9ODjK; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RBAMh3nr; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="pBY9ODjK"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RBAMh3nr" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63SACSS52929026 for ; Tue, 28 Apr 2026 14:23:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= S6j1qnAdZyoQGgOKRaS8VSM6ZBf82wgE0IlMn6k4pLM=; b=pBY9ODjKd57VJ7fQ 8wU/+JYQXlY52h6b7nn6uMPFeERqAXOixtsF5OYvZ74ld3CJoOYU2kPGd7y7VQ+M jJNjX9Trr3O9rvHejYSwkFdrhuAIVUTI3/HKqJE6irsxU/2muTFYon2sJLuQufuB xzXXwihPXe4EqPnW/R940HTBX97jdm8/0Gz0up51kSOncR3Lk1BOOq/iR5mY0/PG 4GWrSof4ZxgaFXS0UGC3ZBKpMKz0NW+ARMW51icCCqtzdqdPJzB1Wn9iRtqzh9mU 8Flb8meUeZH6O2LQWgvl5uJJ0OXiPrjj4tNzmwJHJlT5Rx8CVCsXv7c8/vTQD3LK p+pGsA== Received: from mail-vk1-f200.google.com (mail-vk1-f200.google.com [209.85.221.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dttxh8ws4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 28 Apr 2026 14:23:25 +0000 (GMT) Received: by mail-vk1-f200.google.com with SMTP id 71dfb90a1353d-56f6c90b142so18108546e0c.0 for ; Tue, 28 Apr 2026 07:23:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777386205; x=1777991005; 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=S6j1qnAdZyoQGgOKRaS8VSM6ZBf82wgE0IlMn6k4pLM=; b=RBAMh3nrSai8dP3NQGVkoo04mZ+mDslcKH3eOkfwqzA8RPTMDQMagmrZRDjvhVpTGN GNA+rm1h5X/f8K9opiTJL5WgtaqejGW+/3143OsmAUk5s6F0GsP2N5QcaLSobQgTD05o JOW49CauDMCgSli8trsnXu5GIyEUunFWWpzFWIqB3Uz6pISDFigohzX6nTDlaJvTGkrS A6BGT5S3AyX4OeuofqsifhmXd/cqru2PNqovo9m42G1OkkFOkKD4irTURcDzs6u1wX54 kFXsjiD+/McG1+4hGf/7AdCHN1Hz4+F+jF28Le6qPMEgfVBgBWaxZ7u67d40GbPjgfmv eEeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777386205; x=1777991005; 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=S6j1qnAdZyoQGgOKRaS8VSM6ZBf82wgE0IlMn6k4pLM=; b=mjPygq5RaRuksBbqXFlJEuxYOfsbAoT4I1Irf4BisYn38wbvvXvjxGyqISI9UgAIgP Qz67lFMm0hDBfpRhzY2P3nPqmheAK0VpdhN6lngnwtX7t+IddEtP95d6wDbHs4222xcm mzW5jSYXogJtkwRDC+pbHNvqWj5QWjnWNZqw2invgXl3iBgBbBJDrFXvEJmRODOXAEhy eVmSe1+AEcxkfrSBKOZU6LEhB5TENa2w66K4ygDGBslYTBvAnMAxT8u+95KHUlwWeO0V eT+i+0vcWrHVZmtfRfycMGlhT4jO9LtVecgBul/88ydv+y8NTm0QoJ7eBArNd1S3R+Y6 rxsA== X-Forwarded-Encrypted: i=1; AFNElJ9hccMRvdnpryk72DPDdCL3lxZlsJ2rgdLiMxVh95ezJ8kKcC1CU8VchHhS+pteqm+gKjm808C8Co18WII=@vger.kernel.org X-Gm-Message-State: AOJu0Yw+gI8fGQoAanwl60ozqwWOv6PkX13fiKb5C+PXm4I4OFAwAPKZ nEeF4r2PAef28Jot4GhTvdFxlb2T6F3i1Qu+xzqyiZsWnTFX4z9TOpKl4MEnZKgP2cT/6GxPQ4W OfvaM0Do5i7Erye6mSwjJd/Iuiy5W1yEc/ny5xIzKE/1EzH83gwaeEEosGbn6G83NKBI= X-Gm-Gg: AeBDieuNHoTw7CdLP4oudqHl5M7YtG1DhMOa8j5n+xHz3ZX1Rok9GRutXyEZpaJQRYe GSpd08wRQlRPx7FwHki/3VT+8ErJ8b+gXPkfeSxxc6chLDn+fI2Y5RZ2RFQJyAEimEzpK3T+h96 ahcffzIZJmWE4IzbqrTSmZSsP5IxispQA8eQ8pw8YV2m+f5JkDx4sGE/TXv4rcaIgthsTefMHBR lU+odt3V6Pd4QyaQtqFQ//aKXNpZIAJRfwpPzerxqg0T8MSAGdN+o62Hsi1sVUE31Tul8S0Igrq EaOgonG17f37EF8HctNaUDvLkcT33bMVHo2T0OOPnhs5yscikuRKY5/sjiCgGKzAWZdQmYv9DKj QSRmFTrdoDvCnZp8Uo/Z8YE398FQzD2FxumQXzshWhqRMUhkhd2vsoBip0AjDqx9sU19e/l+jQa J9sv+CFIksdPRkV8lV+ZSgR1Yy2PI= X-Received: by 2002:a05:6122:1d4c:b0:56f:8f5:b135 with SMTP id 71dfb90a1353d-573a56fd202mr1557364e0c.14.1777386204972; Tue, 28 Apr 2026 07:23:24 -0700 (PDT) X-Received: by 2002:a05:6122:1d4c:b0:56f:8f5:b135 with SMTP id 71dfb90a1353d-573a56fd202mr1557313e0c.14.1777386204513; Tue, 28 Apr 2026 07:23:24 -0700 (PDT) Received: from QCOM-eG0v1AUPpu.na.qualcomm.com ([2a01:e0a:830:450:653f:4d28:6a78:a6ca]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bb80ba9b8c8sm107072666b.48.2026.04.28.07.23.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 07:23:23 -0700 (PDT) From: Loic Poulain Date: Tue, 28 Apr 2026 16:23:10 +0200 Subject: [PATCH 5/9] arm64: dts: qcom: arduino-imola: Get WiFi MAC from NVMEM 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: <20260428-block-as-nvmem-v1-5-6ad23e75190a@oss.qualcomm.com> References: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> In-Reply-To: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> To: Ulf Hansson , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Jens Axboe , Johannes Berg , Jeff Johnson , Bartosz Golaszewski , Marcel Holtmann , Luiz Augusto von Dentz , Balakrishna Godavarthi , Rocky Liao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-block@vger.kernel.org, linux-wireless@vger.kernel.org, ath10k@lists.infradead.org, linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org, daniel@makrotopia.org, Loic Poulain X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDEzNiBTYWx0ZWRfX5ZUvWk++cqvq T3+Hz+IBODwxcsRgJQKdq40+utQjX9ZLbqW4ENGGSvhnkV/f8HoN4D4A1hwcx9gJZSNqvPzYCiR mAVUwZzxX2a9d954PQlzBTWCixBGyBR1NvroXQXr9Mvm8fJRhcySJzxLN4svawdhb/s9KD4d9Yr PMXIwQKfGkCM+yTLnrbeg+OisuuzIhoWm5K5nzucywjT5CKqoQhMVLltUPFz4kaeO5wZ1c1pnff rLyxBM1Tk0U124VB9WdqhtM2Dm6lSrUsiwW1OWKSVEXfDEjAEUmwEMiXHxbD/0s0TVXTveOaLSO LrUFWTTDLSUp6Uf0xjRjx3uzBwYimCn5caaVC1UtrszNUgObJ+p5Fp7YXiAfBAYHq0cytpNiGJi AiWjwF6vlrah8APfJ+TDCYbywzWKhGPECmUgjjIYri1pOCorj0OSDogSS/m73pYgwddnYJtHk+r C6K2A1zxbRTozUyf0tA== X-Authority-Analysis: v=2.4 cv=Uu5T8ewB c=1 sm=1 tr=0 ts=69f0c2dd cx=c_pps a=wuOIiItHwq1biOnFUQQHKA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=w5cLSrw8bnM9wMX07V0A:9 a=QEXdDO2ut3YA:10 a=XD7yVLdPMpWraOa8Un9W:22 X-Proofpoint-ORIG-GUID: mBvNznuHGq58xMV_sf60_YF1IOga5kK9 X-Proofpoint-GUID: mBvNznuHGq58xMV_sf60_YF1IOga5kK9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-28_04,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 phishscore=0 adultscore=0 clxscore=1015 suspectscore=0 impostorscore=0 bulkscore=0 priorityscore=1501 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604280136 On Arduino Uno-Q, the WiFi MAC address is stored in the eMMC boot1 partition. Point to the appropriate NVMEM cell to retrieve it. Signed-off-by: Loic Poulain Reviewed-by: Konrad Dybcio --- arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts b/arch/arm6= 4/boot/dts/qcom/qrb2210-arduino-imola.dts index dc85cf94f71cac8666cab30ccf37cc2d2f8fd941..35a30cd6f47d6d2e018f6841a05= fe929fec15738 100644 --- a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts +++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts @@ -581,6 +581,9 @@ &wifi { qcom,ath10k-calibration-variant =3D "ArduinoImola"; firmware-name =3D "qcm2290"; =20 + nvmem-cells =3D <&wifi_mac_addr>; + nvmem-cell-names =3D "mac-address"; + status =3D "okay"; }; =20 --=20 2.34.1 From nobody Wed Jun 17 02:52:25 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 7449045349F for ; Tue, 28 Apr 2026 14:23:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386216; cv=none; b=cusQoohSK86zNI2HB8ETfviGkDcpHg01C5oFeDuto3iiyglgeOuhgxYnd29+ABRSIuSIo0dbZ0RbQcrboLLcJfKzcOnCp0PI7yyLq3BF0FHJ6D7t1KAVTnsQ4+ZtoPiG/SgkRnFk9dJJVod1lhvMM/s9IEI54HsW3b40/EkFsmE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386216; c=relaxed/simple; bh=8aNLvyuCs0cA/dQVyyMYQTpbdYd3gLaJzFwxfD7t/3M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tNkFQsWAv/mg79ikmYqOOZhFI0OpQq7bdrd+qz0Yy1yk8kWapq6c7Q/FU0f06LFMeSvlgCYgSe4+2IZyfMHUtAblqjN/Hj3NYOqeAkm+0jzlmJaosufsUUL8xvd41E32U2AMhR7RzLYguvmD9gP5kBBo4qNFQsjzpbMp9k4Iey0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=DtAn6knq; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=GC+8U6KD; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="DtAn6knq"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="GC+8U6KD" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63S8vmNC662820 for ; Tue, 28 Apr 2026 14:23:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Jm6l6UTLyr0NGskSQ/0c9LsflcrnDGa1NCLAOOsHjZM=; b=DtAn6knqeUmwx9Kt yl5DkawW+RQTgBprHQ4phVtcWPE7jBsnsjJgw/ee0YFczkz+EmS6GxaLa9qefrjy 285x9ymwBvfViyaLyksWqIX8SLt243kvbWvUMVwKepOIXt/q/qaJ9msPNOIZ6r1v tUjKo1nOMMERMOKRjwq7/qWcfvsbLG4Upaacz7THphct2lW2FasJqtwVaLUNj3v6 7k127p/VB1RiM0iltEkZUuyAKIAExZi2r7wUx48Nbv2PHdyeRxglifKabRP+lQif bnhT4R13shiAIqp2BYCpbPUNEvt7SFXSCSwyE7K2rxi3OJcPKm3bv/v3T13HXrIt JkSH4Q== Received: from mail-ot1-f69.google.com (mail-ot1-f69.google.com [209.85.210.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dtc5n4bq3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 28 Apr 2026 14:23:28 +0000 (GMT) Received: by mail-ot1-f69.google.com with SMTP id 46e09a7af769-7d496d080d8so13615051a34.0 for ; Tue, 28 Apr 2026 07:23:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777386208; x=1777991008; 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=Jm6l6UTLyr0NGskSQ/0c9LsflcrnDGa1NCLAOOsHjZM=; b=GC+8U6KD4nM76EfrYeBltUDr0Y+mCLYvOLu0ifWSH7QBCLAmjj8QWQRolVZxZvLE2l 9OB0753ly5oyPWol0bv3oOviK8HqtqGFe9dl0GYPNdYXd4NL1fhB2a5mvAXxMnFMEaJP 1A1Z5vKotebqI6bs2PzSWrxn1d/n/zX8xdyOTWWvzj0hzSTTh8tgBJagyLHPAlyISkSa kdy77s4JqH/H39agyBEMv/mI/lGrV7FBpZUWXzY/KztE6XKfcZL3GyzqyTORYPSWR8pf v8cyMJOv0YZPGuj51Rj+AIqp+MEMRhAsTgwDnH709fVCTj31qVKZs8NYqnDZ2YIErnpw pbYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777386208; x=1777991008; 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=Jm6l6UTLyr0NGskSQ/0c9LsflcrnDGa1NCLAOOsHjZM=; b=ePCjpqMEjPMx+QQjsnf7LzcXtMHJTddk0/O+y6me5g67eFIXosBDQy7iwswLycvdjR mDhvoPoY4VurE7ln9mTXFEV0OYO2b/PDtF1L6hceF6pfcjgmzVG2H3bKYd1GIlYZRhL3 5STShkXISmov3E+ug6pBJQaZAVfH43frCnnvbD8RZwWAwotITYxXZLGeKRn8tLUAU0Ne SzTPHqv1nQvIXscHAsZ/OC/lsFQtdC6umBZ8djZ9d5g36aU3KZUAfdmfeK4oEggbfg7S RJcO+8OEwSWEJCOvjLwd98TJHkxDTWE+J1A4rzwMZRC/z1WLFoWhuPmrBowMsEzHiF/H psxA== X-Forwarded-Encrypted: i=1; AFNElJ9CRjlLEezk4aWhcnN01OZ+350OWqzToR86ap+XBVSfsvFdc1EzAgtp11ARtfBbQ2xuO9HTGUMfRQ7pxQA=@vger.kernel.org X-Gm-Message-State: AOJu0Yxk5MORDV7PYbfQ1OaXJcYK7QKuDPOjfNoZdnL8vWR9e0NFO8CW 9zkO30ntrZ/VtBpiCkEQmgIWem6ZWSalvRJPzNKBVxeTVtx73r6cq3e0sv3ckcy7N4rbuHmbTaU szcA1uZKNMTq9WDiXx5OMNUV0HXBjAb7KpuG9mgqQn3GRkddw6c3WBSario/F0gCluKk= X-Gm-Gg: AeBDiesN3/QEhO/MA3/B3fIhEqBLz0MDw9xcC/keGTQ2LafsKQ0NZQ5OefliDCWxL/t 9PDmFpcrw1VYR1EPHYWMEpBw0jmDT5SShjAh1eHWqsVVsEtuxbLJnSmWZeeZM8RyQLSFoQXQls8 sh6iAdhmpQCnpAGbvA+qAcv4RigjS/33D8V2lIRezd/nwNVsbFiKYAUTKJ2zAKOIb82pyxXM2s6 KJL67y3ih86B62PlVo0Dv8WQeEUyYu1ya8WPCLSb/bfeF/H8wORKA9UDeDlgesYpEOgeHrwE0xP UrGaUvqvOe4qx11t8k/Alg4Qgm5orF6/2vPyJo/qdX8dPgwg4xzHtpWYnploWLyklgGdzHaKJ2q 3Jk20r5I9ADi6UswGEOejxXYwoUMX5O82C98f+lpOTufivNZosI9i3yfyuZ08chJ1zWRzdE+WHZ uv2oN2T+cg8j/vd8SPmOzDNtArX7s= X-Received: by 2002:a05:6820:2d0c:b0:694:a362:e3ba with SMTP id 006d021491bc7-6965cb93af6mr1550312eaf.48.1777386207644; Tue, 28 Apr 2026 07:23:27 -0700 (PDT) X-Received: by 2002:a05:6820:2d0c:b0:694:a362:e3ba with SMTP id 006d021491bc7-6965cb93af6mr1550261eaf.48.1777386206866; Tue, 28 Apr 2026 07:23:26 -0700 (PDT) Received: from QCOM-eG0v1AUPpu.na.qualcomm.com ([2a01:e0a:830:450:653f:4d28:6a78:a6ca]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bb80ba9b8c8sm107072666b.48.2026.04.28.07.23.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 07:23:26 -0700 (PDT) From: Loic Poulain Date: Tue, 28 Apr 2026 16:23:11 +0200 Subject: [PATCH 6/9] dt-bindings: bluetooth: qcom: Add NVMEM BD address cell 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: <20260428-block-as-nvmem-v1-6-6ad23e75190a@oss.qualcomm.com> References: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> In-Reply-To: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> To: Ulf Hansson , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Jens Axboe , Johannes Berg , Jeff Johnson , Bartosz Golaszewski , Marcel Holtmann , Luiz Augusto von Dentz , Balakrishna Godavarthi , Rocky Liao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-block@vger.kernel.org, linux-wireless@vger.kernel.org, ath10k@lists.infradead.org, linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org, daniel@makrotopia.org, Loic Poulain X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDEzNiBTYWx0ZWRfXzwH8bo0FBvPr woF+aZtuTSmZwuC5/g+3hKoEDaqPMd+Pd4ZAu1g6UIaIWsNbwjkmwmnxKqP6GJoTCprkiuJYPZR CJj5xA8hn+lBYxnrce1dmtMUltS5hk7tLNHFbe2LxXzAFVJpuYq4MLJSiYyn0usS6ZuwpQ08/x7 uG65lwxCjl0K2q5boRCeU1mmCQL3q1zAtDOZLgcwzatBnrP5dUg7nGT88AyqSLA39tGiG8qSgwX YH+ZBv2dnZhjgmZYlR+uPKL97DHoQqQtM0qC9My9WkmNeoMixm5+b8PfANVYU7vwByJMVCsNBAA ZpfHoQ+wIfH/xypw43gUoLQJ9kd/K1xlpS3asfjSJgYLJ5ZwiOpj8ltKpxMnGCqptNPaMPoVLWh V2BM3wGhGwQgTUOJJbwlMwlPzqsX3PjKOMWazU4ZSKJ1i8X2fj70mM/LvXXcG6jze/5cOGtgqat ut622qMB5Tn3lzxdGSg== X-Proofpoint-GUID: DZ0wIyvjpAkajhzPKE7Yd3vzkT2k1A6V X-Proofpoint-ORIG-GUID: DZ0wIyvjpAkajhzPKE7Yd3vzkT2k1A6V X-Authority-Analysis: v=2.4 cv=ZMfnX37b c=1 sm=1 tr=0 ts=69f0c2e0 cx=c_pps a=z9lCQkyTxNhZyzAvolXo/A==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=jFERsaRKWwo8c2z-USAA:9 a=QEXdDO2ut3YA:10 a=EyFUmsFV_t8cxB2kMr4A:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-28_04,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 suspectscore=0 malwarescore=0 adultscore=0 impostorscore=0 spamscore=0 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604280136 Add support for an NVMEM cell provider for "local-bd-address", allowing the Bluetooth stack to retrieve controller's BD address from non-volatile storage such as an EEPROM or an eMMC partition. Signed-off-by: Loic Poulain Reviewed-by: Rob Herring (Arm) --- .../bindings/net/bluetooth/qcom,bluetooth-common.yaml | 10 ++++++= ++++ 1 file changed, 10 insertions(+) diff --git a/Documentation/devicetree/bindings/net/bluetooth/qcom,bluetooth= -common.yaml b/Documentation/devicetree/bindings/net/bluetooth/qcom,bluetoo= th-common.yaml index c8e9c55c1afb4c8e05ba2dae41ce2db4194b4a0f..ecb3de65506f7f0f1fc1d0b9bbd= 316163b7c26e8 100644 --- a/Documentation/devicetree/bindings/net/bluetooth/qcom,bluetooth-common= .yaml +++ b/Documentation/devicetree/bindings/net/bluetooth/qcom,bluetooth-common= .yaml @@ -22,4 +22,14 @@ properties: description: boot firmware is incorrectly passing the address in big-endian order =20 + nvmem-cells: + maxItems: 1 + description: + Nvmem data cell that contains a 6 byte BD address with the most + significant byte first (big-endian). + + nvmem-cell-names: + items: + - const: local-bd-address + additionalProperties: true --=20 2.34.1 From nobody Wed Jun 17 02:52:25 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 006F6453498 for ; Tue, 28 Apr 2026 14:23:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386219; cv=none; b=ZLXkxXeQFB60SmQ3ZXuXysaQl2OEXoKcFB+imqyOGy1MvFOKvLSf/KFRw7bosB6l4iRqPpQPeSG/vy2lT/qwLzLQ6ezY3CkqNUAPQHS/5Y8Va0yG4Q1jJTff30I5m4+ex5V1YfaVLCL/+w5pQAWJtoQ1kmx2Ws0wdkj5jtZeVVU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386219; c=relaxed/simple; bh=JHOUVT0V1f6mw0N8o8TQITsurij+VJ8yGqDAQM2x4i0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QzVD4wKX0Wcf0A+B0QoWDaL5tHVFzLqX5SeserBtp8Sl65nhihBBTp+POajxvHybxDB5EHJd01P0LTht9Nmo8/GeG+XINN1qLTTMuhet3dqW+Wjm0Sz2QEa40pbktzAqnSEnYo4cnEnw2KLTsL3AdzC5sTUPIO9L9ou5wbev8+k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=EcpAQh6T; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=JGCxDVa7; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="EcpAQh6T"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="JGCxDVa7" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63SACPvh2928908 for ; Tue, 28 Apr 2026 14:23:31 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 2Q1pBVZE4xUj8/QalPHOJhwaMsZksGiJpCvGtPNlm6s=; b=EcpAQh6T9qPyWr8l yo7/iDh2mvD2DmoZ3LQIwNGfL8V4wJTtdC2zRUwwoXlwlRKw7tuOUg6KOifU/4CP UrnUdvNmG+IvkyXs+9OstpsQK6fmAMM9MszTdh+SBWw4GJhbcoH2O2H0sCXclvQ7 zoQQHAxmYz57Lr4TzeDb6+Jr7aXyC6L2tYn3tLfT/nfiK/O4c/WIlXw5WlgrjQBl /Hew6k6EWh6JBV4EyzP1TFMWHhfVzoCxdksYi8IHo4xF23hRwQ2L8nqYY0/RS+8H ksRpS6lFHVd3bJAYFxshm0dDtohw4J3Yyx1GzURiV5VtZ3cRULJSRIAlJ418s5Qh CVh6MA== Received: from mail-vk1-f199.google.com (mail-vk1-f199.google.com [209.85.221.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dttxh8wsw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 28 Apr 2026 14:23:31 +0000 (GMT) Received: by mail-vk1-f199.google.com with SMTP id 71dfb90a1353d-56eeaefec9bso11285138e0c.2 for ; Tue, 28 Apr 2026 07:23:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777386210; x=1777991010; 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=2Q1pBVZE4xUj8/QalPHOJhwaMsZksGiJpCvGtPNlm6s=; b=JGCxDVa7xDL3CmLidLCAsUs+l7bdiNDKSJ8Uch2sM7jiSyOzwEZTiqCws9hMyw0s2Z kZfe4Uo4vx06KZpEwvjUqSTCwy+DP7N2moOCB4WoMiVCUuIEZ0X/tCF97PCB45D2PN+h UbhI/eyeXoUd+i7og0r/++0EUyL9F9kErQFVPFjF0WgdQ7JGbFtf+GAwB7c7JhqlCTRN utUyfXcUvMDVjhKX7dEXoj0RdroXsf7H9jKlM36ekx25clmvdggnXLDGGMxPHJ2PuqyR xpjfSzw4WNX8WyPODAth4jESX/0G2TCCwhhEZtywoCnI9wBXsArqYeb+b64Qd2G5iTDH xIew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777386210; x=1777991010; 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=2Q1pBVZE4xUj8/QalPHOJhwaMsZksGiJpCvGtPNlm6s=; b=T90h7jBOsadT3H/c1ghiR+64I9DS3EKoJnKdoE738bfHBKE+icoPqbn9imJpZ+7Pck Ur2nGmhTlYe7I/4KEXJx54dLHf3+RQHR5exL5zM/XovSeeGI32eQ5ikpbuF5TCjiAli5 vft40tWnLp++G24WTIgBwift32hau/c0ffaKFeP4zyRqWmCQsmUk9r5Adspfy3j/fTvJ 0/XUvjT2qIZ36VIrKlnx26XnC/Js4QZ72XLsG+uPHaPoHkNyPJeP2j1i/TE/mMX0AcK0 gucWo5oVgz4B8+qrmw/Wb0r/1HnXKGwqHF46gqZXXlR/2xzrfU03NRs+MwUa0df5nT7u R6bA== X-Forwarded-Encrypted: i=1; AFNElJ+8SJfKHFzypC3qzDH/sYboCFvN8fZhWHdRUvtP7hoPhX8TKmHF+XUYVseRY1RGsB/QzmbwqMMZuFBcTYU=@vger.kernel.org X-Gm-Message-State: AOJu0YxGJ/DDoM1IZz1jRUjypxTYbXdpmU/E0GI/hLxygJUaMWubNLvT mVFb/rUKCdsTXY8nRbtc91KkuzUZWZHnCWnzCYkakKDEzw9nxlSt09JBKq4OPS5Axxlw/GCyVdV lgymyE9vDRxaVpJy5YdNM8QK4+6NzwBCDI8UmaLwFk4vm+s6bNx9/2458JmQ67aZJtyU= X-Gm-Gg: AeBDietS/ixNWADeAY1pp8m7dBlbQw+T7cZErBoky8IMNvCu7U3WvGDl/p45l7iKFjP 9DVxTXZsXgvuC19AaY/Mr5QlTmGFfkYuIWQSyBFblbQ2sciqBli/7QV4GwW6v35kPT72HZjxQxj azuB7jUqDAfTmLQAV7jIeukX8ldx9N8LRKWV8qM0TORkkme6EzVa/PBJxyM2x7H4pcvT1JRgMML 0KMFhUjvW85B3603vb8X6BL+SHKpJL1AfvY45rh1HkDXyP7FA4M2aOvb39IAqGxUKWrFwRvDI3Z M9V0BQC6ObgnBGjq+4IWmKug1dBqM4a1wveYbCiiB4hezvG3cXbo8uuam04GY5X6bbpfHv4n/ub OvK9N2r1XVwYbHGU80y/vTx0scxIzbUXOjHh3rlcvwfUJedLfmGIGQa+VpOh1IBUYXyjV6Z/myV tgL3eXNFCuvXmTIgZcGlcXjEn5JH0= X-Received: by 2002:a05:6122:83c3:b0:56e:f262:9113 with SMTP id 71dfb90a1353d-573a574bd4emr1580843e0c.14.1777386209824; Tue, 28 Apr 2026 07:23:29 -0700 (PDT) X-Received: by 2002:a05:6122:83c3:b0:56e:f262:9113 with SMTP id 71dfb90a1353d-573a574bd4emr1580768e0c.14.1777386209190; Tue, 28 Apr 2026 07:23:29 -0700 (PDT) Received: from QCOM-eG0v1AUPpu.na.qualcomm.com ([2a01:e0a:830:450:653f:4d28:6a78:a6ca]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bb80ba9b8c8sm107072666b.48.2026.04.28.07.23.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 07:23:28 -0700 (PDT) From: Loic Poulain Date: Tue, 28 Apr 2026 16:23:12 +0200 Subject: [PATCH 7/9] Bluetooth: hci_sync: Add NVMEM-backed BD address retrieval 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: <20260428-block-as-nvmem-v1-7-6ad23e75190a@oss.qualcomm.com> References: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> In-Reply-To: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> To: Ulf Hansson , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Jens Axboe , Johannes Berg , Jeff Johnson , Bartosz Golaszewski , Marcel Holtmann , Luiz Augusto von Dentz , Balakrishna Godavarthi , Rocky Liao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-block@vger.kernel.org, linux-wireless@vger.kernel.org, ath10k@lists.infradead.org, linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org, daniel@makrotopia.org, Loic Poulain X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDEzNiBTYWx0ZWRfXyfgNPNJfdCUF fekQRs6wO4r/ZLhVDRg+H9I3ZOoZu77TrvsOwUhkLwn2v/tQR7bg9SW++xvP7Bd74I4edvF+9fB 7L7HemzovYQGHJne3r9o1Jw9rHVnm9Z6DQQR9NrJYMRvdMdyiSixJHc14L6eD/9U+cV2wCOHqg3 rNEGSMWoaQcvnur7T6sG0UxYAIgT79nwwhTz9s0QGcM2r7gk825ODefQFr71bkT7VV+bkqh9Gcg I5bMdD/Cg1mZ9372VzTlM4XfP4X5qtA5OmBjujmn0nNirNWmjhRLC16rO8+d3kIcp8jB1d6xWxo WEcCorpiTBLbJI3yDtHRZkct5Z90OPYAreY5a6TFerT0FhYimx8+e3s5rk5xgAG8CDggAjC5ghf H3yfpyeQTn7YAonLbH+IfQmSG/bTdi76PmZ24o7mtH4/Txic3R3yufG/FIoXaL8QQ6LFrIzy5UN uAOCfEA9mIjVrNoKMOQ== X-Authority-Analysis: v=2.4 cv=Uu5T8ewB c=1 sm=1 tr=0 ts=69f0c2e3 cx=c_pps a=+D9SDfe9YZWTjADjLiQY5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=teJl78XSWlBvCPfQsyoA:9 a=QEXdDO2ut3YA:10 a=vmgOmaN-Xu0dpDh8OwbV:22 X-Proofpoint-ORIG-GUID: Es9ilc3SREhmippxUa6UbHEq2LwM94PW X-Proofpoint-GUID: Es9ilc3SREhmippxUa6UbHEq2LwM94PW X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-28_04,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 phishscore=0 adultscore=0 clxscore=1015 suspectscore=0 impostorscore=0 bulkscore=0 priorityscore=1501 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604280136 Some devices store the Bluetooth BD address in non-volatile memory, which can be accessed through the NVMEM framework. Similar to Ethernet or WiFi MAC addresses, add support for reading the BD address from a 'local-bd-address' NVMEM cell. As with the device-tree provided BD address, add a quirk to indicate whether a device or platform should attempt to read the address from NVMEM when no valid in-chip address is present. Also add a quirk to indicate if the address is stored in big-endian byte order. Signed-off-by: Loic Poulain --- include/net/bluetooth/hci.h | 18 +++++++++++++++ net/bluetooth/hci_sync.c | 56 +++++++++++++++++++++++++++++++++++++++++= +++- 2 files changed, 73 insertions(+), 1 deletion(-) diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h index 572b1c620c5d653a1fe10b26c1b0ba33e8f4968f..7686466d1109253b0d75edeb5f6= a99fb98ce4cc6 100644 --- a/include/net/bluetooth/hci.h +++ b/include/net/bluetooth/hci.h @@ -164,6 +164,24 @@ enum { */ HCI_QUIRK_BDADDR_PROPERTY_BROKEN, =20 + /* When this quirk is set, the public Bluetooth address + * initially reported by HCI Read BD Address command + * is considered invalid. The public BD Address can be + * retrieved via a 'local-bd-address' NVMEM cell. + * + * This quirk can be set before hci_register_dev is called or + * during the hdev->setup vendor callback. + */ + HCI_QUIRK_USE_BDADDR_NVMEM, + + /* When this quirk is set, the Bluetooth Device Address provided by + * the 'local-bd-address' NVMEM is stored in big-endian order. + * + * This quirk can be set before hci_register_dev is called or + * during the hdev->setup vendor callback. + */ + HCI_QUIRK_BDADDR_NVMEM_BE, + /* When this quirk is set, the duplicate filtering during * scanning is based on Bluetooth devices addresses. To allow * RSSI based updates, restart scanning if needed. diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c index fd3aacdea512a37c22b9a2be90c89ddca4b4d99f..f87cb6ae85c3a5754fe79f415ba= 05dd177f75fad 100644 --- a/net/bluetooth/hci_sync.c +++ b/net/bluetooth/hci_sync.c @@ -6,6 +6,7 @@ * Copyright 2023 NXP */ =20 +#include #include =20 #include @@ -3588,6 +3589,54 @@ int hci_powered_update_sync(struct hci_dev *hdev) return 0; } =20 +/** + * hci_dev_get_bd_addr_from_nvmem - Get the Bluetooth Device Address + * (BD_ADDR) for a HCI device from + * an NVMEM cell. + * @hdev: The HCI device + * + * Search for 'local-bd-address' NVMEM cell. + * + * All-zero BD addresses are rejected (unprovisioned). + */ +static int hci_dev_get_bd_addr_from_nvmem(struct hci_dev *hdev) +{ + struct device *dev =3D hdev->dev.parent; + struct nvmem_cell *cell; + const void *ba; + int err =3D 0; + size_t len; + + cell =3D nvmem_cell_get(dev, "local-bd-address"); + if (IS_ERR(cell)) + return PTR_ERR(cell); + + ba =3D nvmem_cell_read(cell, &len); + nvmem_cell_put(cell); + + if (IS_ERR(ba)) { + bt_dev_warn(hdev, "Error reading BD address from NVMEM (%ld)\n", + PTR_ERR(ba)); + err =3D PTR_ERR(ba); + goto done; + } + + if (len !=3D sizeof(bdaddr_t) || !bacmp(ba, BDADDR_ANY)) { + bt_dev_warn(hdev, "NVMEM BD address has incorrect format\n"); + err =3D -EINVAL; + goto done; + } + + if (hci_test_quirk(hdev, HCI_QUIRK_BDADDR_NVMEM_BE)) + baswap(&hdev->public_addr, (bdaddr_t *)ba); + else + bacpy(&hdev->public_addr, (bdaddr_t *)ba); + +done: + kfree(ba); + return err; +} + /** * hci_dev_get_bd_addr_from_property - Get the Bluetooth Device Address * (BD_ADDR) for a HCI device from @@ -5042,12 +5091,17 @@ static int hci_dev_setup_sync(struct hci_dev *hdev) * its setup callback. */ invalid_bdaddr =3D hci_test_quirk(hdev, HCI_QUIRK_INVALID_BDADDR) || - hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_PROPERTY); + hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_PROPERTY) || + hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_NVMEM); if (!ret) { if (hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_PROPERTY) && !bacmp(&hdev->public_addr, BDADDR_ANY)) hci_dev_get_bd_addr_from_property(hdev); =20 + if (hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_NVMEM) && + !bacmp(&hdev->public_addr, BDADDR_ANY)) + hci_dev_get_bd_addr_from_nvmem(hdev); + if (invalid_bdaddr && bacmp(&hdev->public_addr, BDADDR_ANY) && hdev->set_bdaddr) { ret =3D hdev->set_bdaddr(hdev, &hdev->public_addr); --=20 2.34.1 From nobody Wed Jun 17 02:52:25 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 E43EF3F7885 for ; Tue, 28 Apr 2026 14:23:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386221; cv=none; b=Obm6UXd7Q3lpeNgU0exzCnGXeSVU1z+VkALcoA7XSJ5MiSMQWzycdOomzuuZD/4d+zTyKrDyjR3W51RSTBs95Ljh2BDe15OMlPWtLcZJ+WgkDDZZeO7obh72U+WZ8mrCqOESLvvvVmwa4sJjlT0+ZxRr4I1ydD2TACsowcyrt3E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386221; c=relaxed/simple; bh=cLdgwybwmVheaxNq3A4ptASzy5fGo7sa3nM19lVmCQY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gSwkqI69M6V1l7JyJusC/ZPEx54RGrKXQCbHzG/HTWzHtcP5xGVrsobvF2Gjfau/1I9YiifH+n0je6iWY+zWBL1EVSJkETI3JoZVvwQZCW+jT0gXAyy5PrBj5yO6lw7u3lvYvBX+UTSUnnyr1UVYrIHipe5lTgklkPmrGaeIsHo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=PQ+wYtuQ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=LhHDpy2F; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="PQ+wYtuQ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="LhHDpy2F" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63SACO5U2928894 for ; Tue, 28 Apr 2026 14:23:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= oEdzPlvkzmsz9XRBy398mVsjWjXUxo2umSQ5Z50zP28=; b=PQ+wYtuQpw3oPdCo Gv/gVuNnwt/v0F9FkMF60jbuMEHY4L14JYQaQUOwHFH1G3xmd8JGROy1iaQc3qCf xacYJ5iFZhhEvfINckpnl7pe5XdKIR8RrXz7NmcKQkcfYMsZ8670/KE+i9433HVY I3uzks2RvFKVhlkSnnkcQhsQxSe6Dwpsp2xugO+/dXf+pDwjajCKcGCmOEUySDpy Q7yvsCalSlXcw5IhBPFHJd69TWdMafW4FPvkDPWc8Wd8Qr/L/Dxn3e4F1h1+zzVp 2Opc/mqH2z6oKmknDbAJV3AgLHGknJwt8JpiVaaMnqAYbOAWwooOJgnk7FlbifJU 5umC6g== Received: from mail-vk1-f198.google.com (mail-vk1-f198.google.com [209.85.221.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dttxh8wtd-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 28 Apr 2026 14:23:34 +0000 (GMT) Received: by mail-vk1-f198.google.com with SMTP id 71dfb90a1353d-56fb91588deso7089748e0c.0 for ; Tue, 28 Apr 2026 07:23:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777386214; x=1777991014; 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=oEdzPlvkzmsz9XRBy398mVsjWjXUxo2umSQ5Z50zP28=; b=LhHDpy2FuQ2EVTNj9IVg+FHhhLZ+dna3LeX3ss7np0ZqsSlWQpOKJvKcIH1pLE+adS sSpPD+qZS3iR52GlC31f2FmdWCkGZdPpp9OMcQ8HybBO6PYxToZGsV19UheX6AVIViF6 +PX8BGeFa/ZnPmnIV670ifvDcwbyhdIBdg+WLc9W+2iwwcQr/yRBwZX+D4OwkSowSgVt 9PRCdmmqDQcB02EAFi6ymeNDnGtPDSY7mTHppTpIT7IOldh5kNCvo6mgFlG6y7EBLNPg 0c4ZAUCn9Mg0bEpfIVca6fvohqmPjeXP/7ufh2REgHQDdJpv4pJpVGkfwANgORd9omVs wMDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777386214; x=1777991014; 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=oEdzPlvkzmsz9XRBy398mVsjWjXUxo2umSQ5Z50zP28=; b=BOXD9S9HOChXmz4H0tEI6QDNTQeMliXTnZIPzjbldx3yPaF04uDwa0Al8uksRLXJKn E/xJw0xmh4UqW0slMCoJ7ljpDheQjGcOvE04fsCfHtgMYvdvXJYStSw3zq/rfMt8oYgN M/UOg8Tu3Wremt4EXgZEfvScVMdCIWz7mDYw3xCvE8+igbmW7w9YhO4Dk7DWIwpTFKPc 4cV5RHSSiU+cP82H/TnGa/Xj4raCe/C80q85rCQrLD+KDR/XYOylx8qo+2o+Hnyak0J7 Zw6SLrq+NuJkwuo+fGl2qZNgAsZsANNxAbczhiNHnD6mOmOVGHG6SegeuWgFeido+Jj6 7h5w== X-Forwarded-Encrypted: i=1; AFNElJ+/42AOCEXg62QqepuiRu5Ek8SLoJK96EQ3HIjVbesBIM/HO/unNTLn3wfozUhN8V6fJUEuZ3gsIYtyTHc=@vger.kernel.org X-Gm-Message-State: AOJu0YxSrW0/dpoVIa5NvJ7Lto2QeFCxZlRUEAMr+yjkN3jqmyMRSh8k G3VD1ZIb8Vs782q5Vohb9TBmyZtxx37HQrnv7iQYVIz4wzdg8ivzBATQvfWICZ7KQKNJJjMbjr0 01B0VHwD/tR48On+dczqi5kJGt9hPSrJlaDDOjOL90y2d5b6XDr2tSXyBzYGYMzT4LIQ= X-Gm-Gg: AeBDietu5hoPEvI2hnLB0pG+/EEJ7epd1A336i4VP5vfo3s3myiFLWSnbfOTbR+z61O fpQkbp3gR43+Fl5U7jdf17BtvCOgWFikajaBL12jw3fTuMs8CRsGmwkQw1AuFyacMxty0pogNwo oBMdbXHAGWW6vWFm38Tagk2gJgyQcDWuIIuLS7bFokOvVacYvWih7uRZKvF5UuI+i5zwDzkOUbV QIKDOSDRudkpRgBsh7Gx1RBO4OTszUcs1n+no8U5DAlsg20c7uKgbXQnJqEBWQvJyuJSJn7yVnn J4wr302qshrfoTmiokAnrOwnI3Nq98E3Kwl5J5NekzNRBntLbU/tq2LWHVP6/Ba1gNFUuarpvEx E0rwoJeSaytoNrIouVDTNaZIXo9QaOuYu4X60RCEljYsMhDha/Uq1xApXPSZ4A7PuiomEi3jwe1 pAcw8o9C6dApFqG8ENElys3aar0Rg= X-Received: by 2002:a05:6122:4d04:b0:56d:b50d:3ee7 with SMTP id 71dfb90a1353d-573a55191e1mr1867582e0c.2.1777386212739; Tue, 28 Apr 2026 07:23:32 -0700 (PDT) X-Received: by 2002:a05:6122:4d04:b0:56d:b50d:3ee7 with SMTP id 71dfb90a1353d-573a55191e1mr1867307e0c.2.1777386211467; Tue, 28 Apr 2026 07:23:31 -0700 (PDT) Received: from QCOM-eG0v1AUPpu.na.qualcomm.com ([2a01:e0a:830:450:653f:4d28:6a78:a6ca]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bb80ba9b8c8sm107072666b.48.2026.04.28.07.23.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 07:23:30 -0700 (PDT) From: Loic Poulain Date: Tue, 28 Apr 2026 16:23:13 +0200 Subject: [PATCH 8/9] Bluetooth: qca: Set NVMEM BD address quirks when address is invalid 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: <20260428-block-as-nvmem-v1-8-6ad23e75190a@oss.qualcomm.com> References: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> In-Reply-To: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> To: Ulf Hansson , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Jens Axboe , Johannes Berg , Jeff Johnson , Bartosz Golaszewski , Marcel Holtmann , Luiz Augusto von Dentz , Balakrishna Godavarthi , Rocky Liao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-block@vger.kernel.org, linux-wireless@vger.kernel.org, ath10k@lists.infradead.org, linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org, daniel@makrotopia.org, Loic Poulain X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDEzNiBTYWx0ZWRfX9f5qNq9oASav nQeoQvgv1Vd2GciXD1FEyVcdcjnWdL7BMdN655akGPamp16qYLaDcR0znFc9A+QXE1Rc1AZdB1e CBRB8gRGuUOW9vxLxlRr/OMVZr62zhjBHwiofpzBuSkIwN+5eg3VEg5u0DN/ex1zowZkMJql6zO jH0BukrOcFhV14dv5tkWNZ/t80k22sVKAFN77l6tr7aQZc3rrs0LyBGJjRZt1yZMpP/Z10tHs0a qClABnFSCNsktbhhr1xLFyuB72BrOKgP5WQMaH9yTGO2uF5i3ZAJvnuxRi1gkgzUTf95bd+a35B /FnNDP9VuLnJuKwYhH2Z91bScYaH6orjE0799EfwusRFkFfGwpeZzHGp7Pe2Tr1kmeA3P3t2Xx4 gmOuPEJ+d/SENSQ2KU6O7UCXtvNf6qQWlqJq6YGcfQTGbrbxo9ZwHdno1yTU/Qfp/wUOGz7M2eh E8xJI9lUXscpDfl3vxw== X-Authority-Analysis: v=2.4 cv=Uu5T8ewB c=1 sm=1 tr=0 ts=69f0c2e6 cx=c_pps a=1Os3MKEOqt8YzSjcPV0cFA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=99fXo_IpyjsNTNVBUdkA:9 a=QEXdDO2ut3YA:10 a=hhpmQAJR8DioWGSBphRh:22 X-Proofpoint-ORIG-GUID: 9_g_1bo1RmB_ldZwkK4pXP4N_KaNM9IF X-Proofpoint-GUID: 9_g_1bo1RmB_ldZwkK4pXP4N_KaNM9IF X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-28_04,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 phishscore=0 adultscore=0 clxscore=1015 suspectscore=0 impostorscore=0 bulkscore=0 priorityscore=1501 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604280136 When the controller BD address is invalid (zero or default), set the NVMEM quirks to allow retrieving the address from a 'local-bd-address' NVMEM cell. The BD address is often stored alongside the WiFi MAC address in big-endian format, so also set the big-endian quirk. Signed-off-by: Loic Poulain --- drivers/bluetooth/btqca.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c index dda76365726f0bfe0e80e05fe04859fa4f0592e1..df33eacfd29fa680f393f902151= 50743e6001d5b 100644 --- a/drivers/bluetooth/btqca.c +++ b/drivers/bluetooth/btqca.c @@ -721,8 +721,11 @@ static int qca_check_bdaddr(struct hci_dev *hdev, cons= t struct qca_fw_config *co } =20 bda =3D (struct hci_rp_read_bd_addr *)skb->data; - if (!bacmp(&bda->bdaddr, &config->bdaddr)) + if (!bacmp(&bda->bdaddr, &config->bdaddr)) { hci_set_quirk(hdev, HCI_QUIRK_USE_BDADDR_PROPERTY); + hci_set_quirk(hdev, HCI_QUIRK_USE_BDADDR_NVMEM); + hci_set_quirk(hdev, HCI_QUIRK_BDADDR_NVMEM_BE); + } =20 kfree_skb(skb); =20 --=20 2.34.1 From nobody Wed Jun 17 02:52:25 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 2BA7B46AEC7 for ; Tue, 28 Apr 2026 14:23:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386222; cv=none; b=LLTr6HLoYJlhbXZ+miGngNWbtBg32TIYCR/7hc3wOtPgcwP8EHqIzSMLhVPEcbYQaSGEqyeVi1AN3OvX8fYFHv2tjeAh3MW14SDyG98fbiHEdoNKPSGA08fDNpFwbpiuwS+04lehZfhsjAlLbQQeyuE648mKNl5I9oKSmFhNqmk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777386222; c=relaxed/simple; bh=n11bfCJoefHvmThlP8x1PiTVeFVsEIhjZBpXIg5IZ38=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=q2mdny+YqyyB93asXwHg0DqT6mr/LkKzPVdl8/Tqax3qOg85GkQ0+vYAtbK5oz1NX1HKu29NZsYx8LU/1s4cmdDtQiusPJPUnr5Tf9BwW2zGyrX1w+m+MqWwZxJglcENR4+hezMddA8eql1yr00wSMRb72W16ExwWFRjoAWSmTI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=iPGoa7ID; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=W+YOnSvu; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="iPGoa7ID"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="W+YOnSvu" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63S9l3wm1329248 for ; Tue, 28 Apr 2026 14:23:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= w+OP4W0xAiPDjd5bYE2eMNSeXnhE/RBCJAZjyE4cLE8=; b=iPGoa7IDfNVUwgax iQmx3Hn13dlYxiKhW6NWQgJkVCcfVhWY3w1NXgiUS/AO4kbXtAzsbJqfdPE5LbOD aMaZdelub8/Unp8pb+HXCzEQBsR8xginxDxZ9BlF6F2PJ0wLwDzUrqo+sdtDjJgg 8FcBPFGCgBaJlXLIhj9Wis1DcxlQZz6GYLY/WXYtai2KxqkaTJ3x+/fi70R8b0wg 68KmHm/howOh5nqx9HVMUGO44qYYBxUDt6ASdrC9UxNoI8W+c8giWCAV02VWXESm vxIU4fZTShIm+pLIAwBfOkXCqylEyi+86em422/0qZen+6+ECfncdGkpPZGVtiQ0 f5FCwA== Received: from mail-vk1-f197.google.com (mail-vk1-f197.google.com [209.85.221.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dtnhaja2s-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 28 Apr 2026 14:23:34 +0000 (GMT) Received: by mail-vk1-f197.google.com with SMTP id 71dfb90a1353d-56d849e9277so20834390e0c.1 for ; Tue, 28 Apr 2026 07:23:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777386214; x=1777991014; 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=w+OP4W0xAiPDjd5bYE2eMNSeXnhE/RBCJAZjyE4cLE8=; b=W+YOnSvuSQQpqtDg7DbjYnpyTX1XJVYJf6A1bb+Ip4Lzf5TlttRBrXCT4cBfSlMzOh cqG8G2vRw7pI0cO5nxGwVAugaz7WvHhgx34NffLiauzyhVyyuq0Gs3/wFAWMFbNyeCvJ EwK+CAaAVer0/gZIm/mIR+MkRTmANRol8euvzcHeH+6GIGkuoKGVNqu/ULHxraIbgilW R+z4KLmgQM+9MrC7tnYGQ8P7txKvDzpsBg0m2gK7114Nc3Jf/qxwsbAZV2+tFICOmop3 Y130KMSTgBPrv4LAPeWeO74xW8AEcgiOTieW+bcmucWcNvxwWmtY7hZ3hfAfJf1wbGjc ZsIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777386214; x=1777991014; 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=w+OP4W0xAiPDjd5bYE2eMNSeXnhE/RBCJAZjyE4cLE8=; b=VxJPn2xUnxDoy/EeLV61yrC9b2RSYhE7CgNAHssQJasK1ZFUEtJZR4sLTlP/BRZMjX UZa6568cEHSSJMNbwWxxxi+KAJ5oP6EeY+/FYAZjAG/2U+XHzdBr0Lq9VgbULBipYuQi wQsU4/vHQbyhNpOlgGLvkqysL+EhhP8adKiYFawhtjW9nVUEjijZc//+zmZZWvOpPIUu UBD9g1dsOM5UEaW3qU14NmVOYrw4anwnevoUkgvuLvq0bhfNo5novwlRKoj6XeNseBp5 5gXuqWjoOnt8ksqBYAaVlZMGcEJ1fS1Snh34Byb/HSlY/Jz2tDGcKzEupxArm77hK4nt NXzA== X-Forwarded-Encrypted: i=1; AFNElJ/P5GdOQuzMlEgJod8wB/3j2hpvMkOxdr5mAqJvm75K1avCkxlBhwwS1OobjmIFABSZc8B6UHD6dI0khOo=@vger.kernel.org X-Gm-Message-State: AOJu0YxqIE3spQhOLRdRRy1aLJsYD70let8heX7DOJ/i3CZGKK+wYzpI 4+svIwXD8XxaR2eifMdMKZfAzTbKeoyM/IvjZ/NQ1oeUzyLoJfYhJKKevvnJjyos0BW7bPeXQ9r Ni+e8FzYw9zJrhc91wPpND2eRzo6jr1kVqWrDpv6NmApXPyVGcPW+ON2zP8Daj8t/mqY= X-Gm-Gg: AeBDiesg84VTYCGt67k8SWtN241Z6sE0mobLARdJ2CMwnO9iCi8ajnBZLeN9N4z7dox 9V0cr+GRjEdWMBGMczfYDD8GZS667jMyxqQbS3b+gN/e/bfAaHNwIElKBbxECW6IRgM6cgBmC0N 2YGeUylQVn3zvlSMzfJ42laFuoYYuUvHe8NUp4p5pblWvGkA5K9lZtUTflnpcuxUHpSFftp87sH um9ClS3jMsqMeIxErphu1Hgn6m8tm1Nc5HWdmC7nt7dO+sd5raRWQmCPI0QUZKY5SQXgvUqYp4x c8vz+JtRARwf3e72njibYOba9Vd1Dk6iJ48FI7mfHDbUt/rJO1qLh5F/aGa7dML9P+7X5/90uk0 83b09F21mZng1ZNzKNVflsQCBJNbRADQz2x32b7MC3lgGf/mz66x0rUCzowBBjkHOtNpdxD6CHS t1DXAYyuZKJaXGYjAyo1U+teb04IQ= X-Received: by 2002:a05:6122:4201:b0:56c:860b:c34e with SMTP id 71dfb90a1353d-573a55b83fcmr1687252e0c.8.1777386214211; Tue, 28 Apr 2026 07:23:34 -0700 (PDT) X-Received: by 2002:a05:6122:4201:b0:56c:860b:c34e with SMTP id 71dfb90a1353d-573a55b83fcmr1687200e0c.8.1777386213784; Tue, 28 Apr 2026 07:23:33 -0700 (PDT) Received: from QCOM-eG0v1AUPpu.na.qualcomm.com ([2a01:e0a:830:450:653f:4d28:6a78:a6ca]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bb80ba9b8c8sm107072666b.48.2026.04.28.07.23.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 07:23:33 -0700 (PDT) From: Loic Poulain Date: Tue, 28 Apr 2026 16:23:14 +0200 Subject: [PATCH 9/9] arm64: dts: qcom: arduino-imola: Get Bluetooth BD address from NVMEM 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: <20260428-block-as-nvmem-v1-9-6ad23e75190a@oss.qualcomm.com> References: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> In-Reply-To: <20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com> To: Ulf Hansson , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Jens Axboe , Johannes Berg , Jeff Johnson , Bartosz Golaszewski , Marcel Holtmann , Luiz Augusto von Dentz , Balakrishna Godavarthi , Rocky Liao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-block@vger.kernel.org, linux-wireless@vger.kernel.org, ath10k@lists.infradead.org, linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org, daniel@makrotopia.org, Loic Poulain X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDEzNiBTYWx0ZWRfX7Nh0sXc0MrU1 Icdkfx8iHKmcMkKgCnuAqyxKIPDjTdP/CKurFFDSYNLh1u1kMkUXsNtPGU0XRAavUZAGUSTX7k5 LgxNO1hT0HHMwuPxXEKX6Z9lDl6vXJtFvBl0aH1lsXzxnEzVSTEsCGJGitnhKaYo4jEm9WVwXx2 uv3zsBZpz3i65lBRv6Fo5jrTWW8NUKlGdA5XgFcegHKjYuc/x/uoUE6zjNUbGFFp0iBq64ukyob XFO/DVYrCHCJHmTBlhAqqCTDkDslnwRB/U9S9UP1TsIP1hTBe2q7ShI0cSGK1YuEZjDYf+ONIJq i/pTy7qXUMVYpUFlXxxPV0wcSMhjWHbL+wEg8dmu5uBpxbqsK7pd+YQMWQRIIFe98F+lxi0PW6I kWCnaJE8UKCUINYLR2mCEDn1u0k45jeymWOXwlHpsAto/TY6pjeIB7eHdvN1HdDuDsnNRZf79/F BBE/fT24fn7zrg9CFhQ== X-Authority-Analysis: v=2.4 cv=JoDBas4C c=1 sm=1 tr=0 ts=69f0c2e6 cx=c_pps a=JIY1xp/sjQ9K5JH4t62bdg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=w5cLSrw8bnM9wMX07V0A:9 a=QEXdDO2ut3YA:10 a=tNoRWFLymzeba-QzToBc:22 X-Proofpoint-GUID: AcK16wjI-9YewjAnD7VU2-T234t46nIy X-Proofpoint-ORIG-GUID: AcK16wjI-9YewjAnD7VU2-T234t46nIy X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-28_04,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 clxscore=1015 adultscore=0 phishscore=0 malwarescore=0 suspectscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604280136 On Arduino Uno-Q, the Bluetooth Device address is stored in the eMMC boot1 partition. Point to the appropriate NVMEM cell to retrieve it. Signed-off-by: Loic Poulain Reviewed-by: Konrad Dybcio --- arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts b/arch/arm6= 4/boot/dts/qcom/qrb2210-arduino-imola.dts index 35a30cd6f47d6d2e018f6841a05fe929fec15738..109fa76e05625461935e321e15d= bfe6c7d452e78 100644 --- a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts +++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts @@ -536,6 +536,9 @@ bluetooth { vddch0-supply =3D <&pm4125_l22>; enable-gpios =3D <&tlmm 87 GPIO_ACTIVE_HIGH>; max-speed =3D <3000000>; + + nvmem-cells =3D <&bd_addr>; + nvmem-cell-names =3D "local-bd-address"; }; }; =20 --=20 2.34.1