From: Alexandru Gagniuc <mr.nuke.me@gmail.com>
To: u-boot@lists.denx.de, uboot-stm32@st-md-mailman.stormreply.com,
patrick.delaunay@foss.st.com
Cc: Alexandru Gagniuc <mr.nuke.me@gmail.com>,
patrice.chotard@foss.st.com, etienne.carriere@linaro.org
Subject: [PATCH v2 07/11] arm: stm32mp: Factor out reading MAC address from OTP
Date: Tue, 7 Sep 2021 18:59:29 -0500 [thread overview]
Message-ID: <20210907235933.2798330-8-mr.nuke.me@gmail.com> (raw)
In-Reply-To: <20210907235933.2798330-1-mr.nuke.me@gmail.com>
Move the reading the OTP into a separate function. This is
required for a subsequent change which sets the MAC in SPL.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
---
arch/arm/mach-stm32mp/cpu.c | 37 +++++++++++++++++++++++--------------
1 file changed, 23 insertions(+), 14 deletions(-)
diff --git a/arch/arm/mach-stm32mp/cpu.c b/arch/arm/mach-stm32mp/cpu.c
index eb79f3ffd2..8727de513c 100644
--- a/arch/arm/mach-stm32mp/cpu.c
+++ b/arch/arm/mach-stm32mp/cpu.c
@@ -593,6 +593,28 @@ static void setup_boot_mode(void)
clrsetbits_le32(TAMP_BOOT_CONTEXT, TAMP_BOOT_FORCED_MASK, BOOT_NORMAL);
}
+static int stm32_read_otp_mac(uint8_t enetaddr[ARP_HLEN])
+{
+ struct udevice *dev;
+ int ret, i;
+ u32 otp[2];
+
+ ret = uclass_get_device_by_driver(UCLASS_MISC,
+ DM_DRIVER_GET(stm32mp_bsec),
+ &dev);
+ if (ret)
+ return ret;
+
+ ret = misc_read(dev, STM32_BSEC_SHADOW(BSEC_OTP_MAC), otp, sizeof(otp));
+ if (ret < 0)
+ return ret;
+
+ for (i = 0; i < ARP_HLEN; i++)
+ enetaddr[i] = ((uint8_t *)&otp)[i];
+
+ return 0;
+}
+
/*
* If there is no MAC address in the environment, then it will be initialized
* (silently) from the value in the OTP.
@@ -601,29 +623,16 @@ __weak int setup_mac_address(void)
{
#if defined(CONFIG_NET)
int ret;
- int i;
- u32 otp[2];
uchar enetaddr[6];
- struct udevice *dev;
/* MAC already in environment */
if (eth_env_get_enetaddr("ethaddr", enetaddr))
return 0;
- ret = uclass_get_device_by_driver(UCLASS_MISC,
- DM_DRIVER_GET(stm32mp_bsec),
- &dev);
- if (ret)
- return ret;
-
- ret = misc_read(dev, STM32_BSEC_SHADOW(BSEC_OTP_MAC),
- otp, sizeof(otp));
+ ret = stm32_read_otp_mac(enetaddr);
if (ret < 0)
return ret;
- for (i = 0; i < 6; i++)
- enetaddr[i] = ((uint8_t *)&otp)[i];
-
if (!is_valid_ethaddr(enetaddr)) {
log_err("invalid MAC address in OTP %pM\n", enetaddr);
return -EINVAL;
--
2.31.1
next prev parent reply other threads:[~2021-09-08 0:00 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-07 23:59 [PATCH v2 00/11] stm32mp1: Support falcon mode with OP-TEE payloads Alexandru Gagniuc
2021-09-07 23:59 ` [PATCH v2 01/11] spl: Move SYS_MMCSD_RAW_MODE_KERNEL_SECTOR to Kconfig Alexandru Gagniuc
2021-10-04 13:26 ` [Uboot-stm32] " Patrick DELAUNAY
2021-09-07 23:59 ` [PATCH v2 02/11] stm32mp1: Add support for baudrates higher than 115200 Alexandru Gagniuc
2021-09-07 23:59 ` [PATCH v2 03/11] stm32mp1: Add support for falcon mode boot from SD card Alexandru Gagniuc
2021-10-04 14:57 ` [Uboot-stm32] " Patrick DELAUNAY
2021-10-07 19:09 ` Alex G.
2021-09-07 23:59 ` [PATCH v2 04/11] board: stm32mp1: Implement board_fit_config_name_match() for SPL Alexandru Gagniuc
2021-09-07 23:59 ` [PATCH v2 05/11] fdt_support: Implement fdt_ethernet_set_macaddr() Alexandru Gagniuc
2021-09-07 23:59 ` [PATCH v2 06/11] arm: stm32mp: bsec: Update OTP shadow registers in SPL Alexandru Gagniuc
2021-09-07 23:59 ` Alexandru Gagniuc [this message]
2021-09-07 23:59 ` [PATCH v2 08/11] stm32mp1: spl: Configure MAC address when booting OP-TEE Alexandru Gagniuc
2021-09-07 23:59 ` [PATCH v2 09/11] lib: Makefile: Make optee library available in SPL Alexandru Gagniuc
2021-09-07 23:59 ` [PATCH v2 10/11] ARM: dts: stm32mp: Add OP-TEE "/firmware" node to SPL dtb Alexandru Gagniuc
2021-09-07 23:59 ` [PATCH v2 11/11] stm32mp1: spl: Copy optee nodes to target FDT for OP-TEE payloads Alexandru Gagniuc
2021-10-04 15:04 ` [PATCH v2 00/11] stm32mp1: Support falcon mode with " Patrick DELAUNAY
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210907235933.2798330-8-mr.nuke.me@gmail.com \
--to=mr.nuke.me@gmail.com \
--cc=etienne.carriere@linaro.org \
--cc=patrice.chotard@foss.st.com \
--cc=patrick.delaunay@foss.st.com \
--cc=u-boot@lists.denx.de \
--cc=uboot-stm32@st-md-mailman.stormreply.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox