summaryrefslogtreecommitdiff
path: root/board/dhelectronics/dh_stm32mp1/board.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2021-05-28 14:11:06 -0400
committerTom Rini <trini@konsulko.com>2021-05-28 14:11:06 -0400
commitffd810487ec2ff6095edf3f3d058d7ed6eb85ff3 (patch)
treedc6cdd1f626e682840b22699ddc9b3ce0d0f319c /board/dhelectronics/dh_stm32mp1/board.c
parentd862ddb8d783202dcab3601cdbc3775509a70597 (diff)
parent7bda7cee2dfc824eccc6a76ea531fc90b4f7923f (diff)
Merge tag 'u-boot-stm32-20210528' of https://source.denx.de/u-boot/custodians/u-boot-stm
- DFU: MTD: fix for lock support - reset: stm32: fix bank bank and offset computation - enable UNZIP config in several stm32mp defconfig
Diffstat (limited to 'board/dhelectronics/dh_stm32mp1/board.c')
-rw-r--r--board/dhelectronics/dh_stm32mp1/board.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/board/dhelectronics/dh_stm32mp1/board.c b/board/dhelectronics/dh_stm32mp1/board.c
index 49b12c4c042..ac1af718d4a 100644
--- a/board/dhelectronics/dh_stm32mp1/board.c
+++ b/board/dhelectronics/dh_stm32mp1/board.c
@@ -86,6 +86,8 @@ DECLARE_GLOBAL_DATA_PTR;
#define KS_CCR_EEPROM BIT(9)
#define KS_BE0 BIT(12)
#define KS_BE1 BIT(13)
+#define KS_CIDER 0xC0
+#define CIDER_ID 0x8870
int setup_mac_address(void)
{
@@ -123,11 +125,18 @@ int setup_mac_address(void)
* is present. If EEPROM is present, it must contain valid
* MAC address.
*/
- u32 reg, ccr;
+ u32 reg, cider, ccr;
reg = fdt_get_base_address(gd->fdt_blob, off);
if (!reg)
goto out_set_ethaddr;
+ writew(KS_BE0 | KS_BE1 | KS_CIDER, reg + 2);
+ cider = readw(reg);
+ if ((cider & 0xfff0) != CIDER_ID) {
+ skip_eth1 = true;
+ goto out_set_ethaddr;
+ }
+
writew(KS_BE0 | KS_BE1 | KS_CCR, reg + 2);
ccr = readw(reg);
if (ccr & KS_CCR_EEPROM) {