board: atmel: Set the ethernet mac address from eeprom
v4 cover board: atmel: Set the ethernet mac address from eeprom
Create board/$(VENDOR)/common folder to accommodate the common code for the boards from atmel. Now put the code to set the ethernet mac address here, using the function to set the ethernet mac address on sama5d2 and sama5d4 Xplained boards.
Changes in v4:
- Follow up the env function renaming.
- Rebase the latest commit(8b3cec7da) on uboot/master.
Changes in v3:
- remove CONFIG_SPL_I2C_SUPPORT=y from the default configuration files.
- rebase on [PATCH] misc: Makefile: Add condition on build i2c_eeprom.
https://lists.denx.de/pipermail/u-boot/2017-August/300783.html
Changes in v2:
- Add a new patch to create board/$(VENDOR)/common folder to accommodate the common code and put the code to set the ethernet mac address from eeprom here.
- Use the i2c_eeprom driver to read the mac address, instead of the dm i2c API directly.
Wenyou Yang (3):
board: atmel: Create board/$(VENDOR)/common folder
board: sama5d2_xplained: Replace code to set mac address
board: sama5d4_xplained: Set mac address from eeprom
arch/arm/dts/at91-sama5d2_xplained.dts | 5 +++ arch/arm/dts/at91-sama5d4_xplained.dts | 5 +++ arch/arm/mach-at91/include/mach/at91_common.h | 2 ++ board/atmel/common/Makefile | 11 ++++++ board/atmel/common/board.c | 12 +++++++ board/atmel/common/mac_eeprom.c | 36 +++++++++++++++++++ board/atmel/sama5d2_xplained/sama5d2_xplained.c | 46 +++---------------------- board/atmel/sama5d4_xplained/sama5d4_xplained.c | 12 +++++++ configs/sama5d2_xplained_mmc_defconfig | 1 + configs/sama5d2_xplained_spiflash_defconfig | 1 + configs/sama5d4_xplained_mmc_defconfig | 3 ++ configs/sama5d4_xplained_nandflash_defconfig | 3 ++ configs/sama5d4_xplained_spiflash_defconfig | 3 ++ include/configs/sama5d2_xplained.h | 4 --- include/configs/sama5d4_xplained.h | 2 ++ 15 files changed, 100 insertions(+), 46 deletions(-) create mode 100644 board/atmel/common/Makefile create mode 100644 board/atmel/common/board.c create mode 100644 board/atmel/common/mac_eeprom.c
Signature · 1 line
2.13.0
PATCH v4 1/3 board: atmel: Create board/$(VENDOR)/common folder
Create board/$(VENDOR)/common folder to accommodate the common code shared by other atmel boards, now put the code to set ethernet mac address from eeprom, which uses the i2c eeprom driver.
---
Changes in v4:
- Follow up the env function renaming.
Changes in v3: None
Changes in v2: None
arch/arm/mach-at91/include/mach/at91_common.h | 2 ++ board/atmel/common/Makefile | 11 ++++++++ board/atmel/common/board.c | 12 +++++++++ board/atmel/common/mac_eeprom.c | 36 +++++++++++++++++++++++++++ 4 files changed, 61 insertions(+) create mode 100644 board/atmel/common/Makefile create mode 100644 board/atmel/common/board.c create mode 100644 board/atmel/common/mac_eeprom.c
arch/arm/mach-at91/include/mach/at91_common.h +2 -0
@@ -36,4 +36,6 @@ void matrix_init(void);void redirect_int_from_saic_to_aic (void );void configure_2nd_sram_as_l2_cache (void ); +int at91_set_ethaddr (int offset); +#endif /* AT91_COMMON_H */
board/atmel/common/Makefile new file +11 -0
@@ -0,0 +1,11 @@ +# +# Copyright (C) 2017 Microchip +# Wenyou Yang <[email protected]> +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-y += board.o +ifndef CONFIG_SPL_BUILD +obj-$(CONFIG_I2C_EEPROM) += mac_eeprom.o +endif
board/atmel/common/board.c new file +12 -0
@@ -0,0 +1,12 @@ +/* +* Copyright (C) 2017 Microchip +* Wenyou Yang <[email protected]> +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#include <common.h> + +void dummy (void ) +{ +}
board/atmel/common/mac_eeprom.c new file +36 -0
@@ -0,0 +1,36 @@ +/* +* Copyright (C) 2017 Microchip +* Wenyou Yang <[email protected]> +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#include <common.h> +#include <dm.h> +#include <i2c_eeprom.h> +#include <netdev.h> + +int at91_set_ethaddr (int offset) +{ +const int ETH_ADDR_LEN =6 ; +unsigned char ethaddr[ETH_ADDR_LEN ]; +const char *ETHADDR_NAME ="ethaddr" ; +struct udevice *dev; +int ret; + +if (env_get (ETHADDR_NAME )) +return 0 ; + + ret =uclass_first_device_err (UCLASS_I2C_EEPROM , &dev); +if (ret) +return ret; + + ret =i2c_eeprom_read (dev, offset, ethaddr,6 ); +if (ret) +return ret; + +if (is_valid_ethaddr (ethaddr)) +eth_env_set_enetaddr (ETHADDR_NAME , ethaddr); + +return 0 ; +}
Signature · 1 line
2.13.0
PATCH v4 1/3 board: atmel: Create board/$(VENDOR)/common folder
Quoted 13 lines · Wenyou Yang
Create board/$(VENDOR)/common folder to accommodate the common code shared by other atmel boards, now put the code to set ethernet mac address from eeprom, which uses the i2c eeprom driver.
Signed-off-by Wenyou Yang <[email protected]>---
Changes in v4:
- Follow up the env function renaming.Changes in v3: None
Changes in v2: None
Quoted 8 lines
arch/arm/mach-at91/include/mach/at91_common.h | 2 ++ board/atmel/common/Makefile | 11 ++++++++ board/atmel/common/board.c | 12 +++++++++ board/atmel/common/mac_eeprom.c | 36 +++++++++++++++++++++++++++ 4 files changed, 61 insertions(+) create mode 100644 board/atmel/common/Makefile create mode 100644 board/atmel/common/board.c create mode 100644 board/atmel/common/mac_eeprom.c
PATCH v4 1/3 board: atmel: Create board/$(VENDOR)/common folder
In reply to Wenyou YangQuoted 6 lines · Wenyou Yang
Create board/$(VENDOR)/common folder to accommodate the common code shared by other atmel boards, now put the code to set ethernet mac address from eeprom, which uses the i2c eeprom driver.
Signed-off-by Wenyou Yang <[email protected]>Reviewed-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170912/09d9828b/attachment.sig>
PATCH v4 2/3 board: sama5d2_xplained: Replace code to set mac address
In reply to Wenyou YangReplace the code to set the ethernet mac address with the code from the common folder.
---
Changes in v4: None
Changes in v3: None
Changes in v2: None
arch/arm/dts/at91-sama5d2_xplained.dts | 5 +++ board/atmel/sama5d2_xplained/sama5d2_xplained.c | 46 +++---------------------- configs/sama5d2_xplained_mmc_defconfig | 1 + configs/sama5d2_xplained_spiflash_defconfig | 1 + include/configs/sama5d2_xplained.h | 4 --- 5 files changed, 11 insertions(+), 46 deletions(-)
arch/arm/dts/at91-sama5d2_xplained.dts +5 -0
@@ -102,6 +102,11 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c1_default>; status = "okay"; + + i2c_eeprom: i2c_eeprom at 5c { + compatible = "atmel,24mac402"; + reg = <0x5c>; + }; }; pioA: gpio at fc038000 {
board/atmel/sama5d2_xplained/sama5d2_xplained.c +4 -42
62 lines not on this page · raw message
configs/sama5d2_xplained_mmc_defconfig +1 -0
@@ -51,6 +51,7 @@ CONFIG_DM_GPIO=y CONFIG_ATMEL_PIO4=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_AT91=y +CONFIG_I2C_EEPROM=y CONFIG_DM_MMC=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_ATMEL=y
configs/sama5d2_xplained_spiflash_defconfig +1 -0
@@ -49,6 +49,7 @@ CONFIG_DM_GPIO=y CONFIG_ATMEL_PIO4=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_AT91=y +CONFIG_I2C_EEPROM=y CONFIG_DM_MMC=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_ATMEL=y
include/configs/sama5d2_xplained.h +0 -4
@@ -35,10 +35,6 @@#define CONFIG_SF_DEFAULT_SPEED 30000000#endif -/* I2C */ -#define AT24MAC_ADDR 0x5c -#define AT24MAC_REG 0x9a -/* LCD */ #ifdef CONFIG_LCD
Signature · 1 line
2.13.0
PATCH v4 2/3 board: sama5d2_xplained: Replace code to set mac address
Quoted 10 lines · Wenyou Yang
Replace the code to set the ethernet mac address with the code from the common folder.
Signed-off-by Wenyou Yang <[email protected]>---
Changes in v4: None
Changes in v3: None
Changes in v2: None
Quoted 6 lines
arch/arm/dts/at91-sama5d2_xplained.dts | 5 +++ board/atmel/sama5d2_xplained/sama5d2_xplained.c | 46 +++---------------------- configs/sama5d2_xplained_mmc_defconfig | 1 + configs/sama5d2_xplained_spiflash_defconfig | 1 + include/configs/sama5d2_xplained.h | 4 --- 5 files changed, 11 insertions(+), 46 deletions(-)
PATCH v4 2/3 board: sama5d2_xplained: Replace code to set mac address
In reply to Wenyou YangQuoted 5 lines · Wenyou Yang
Replace the code to set the ethernet mac address with the code from the common folder.
Signed-off-by Wenyou Yang <[email protected]>Reviewed-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170912/c39077f5/attachment.sig>
PATCH v4 3/3 board: sama5d4_xplained: Set mac address from eeprom
In reply to Wenyou YangAdd the code to set the ethernet mac address from eeprom by using the common code from the common folder.
---
Changes in v4:
- Rebase the latest commit(8b3cec7da) on uboot/master.
Changes in v3:
- remove CONFIG_SPL_I2C_SUPPORT=y from the default configuration files.
- rebase on [PATCH] misc: Makefile: Add condition on build i2c_eeprom.
https://lists.denx.de/pipermail/u-boot/2017-August/300783.html
Changes in v2:
- Add a new patch to create board/$(VENDOR)/common folder to accommodate the common code and put the code to set the ethernet mac address from eeprom here.
- Use the i2c_eeprom driver to read the mac address, instead of the dm i2c API directly.
arch/arm/dts/at91-sama5d4_xplained.dts | 5 +++++ board/atmel/sama5d4_xplained/sama5d4_xplained.c | 12 ++++++++++++ configs/sama5d4_xplained_mmc_defconfig | 3 +++ configs/sama5d4_xplained_nandflash_defconfig | 3 +++ configs/sama5d4_xplained_spiflash_defconfig | 3 +++ include/configs/sama5d4_xplained.h | 2 ++ 6 files changed, 28 insertions(+)
arch/arm/dts/at91-sama5d4_xplained.dts +5 -0
@@ -88,6 +88,11 @@ i2c0: i2c at f8014000 { status = "okay"; + + i2c_eeprom: i2c_eeprom at 5c { + compatible = "atmel,24mac402"; + reg = <0x5c>; + }; }; macb0: ethernet at f8020000 {
board/atmel/sama5d4_xplained/sama5d4_xplained.c +12 -0
@@ -192,6 +192,18 @@ int board_early_init_f(void) }#endif +#define AT24MAC_MAC_OFFSET 0x9a + +#ifdef CONFIG_MISC_INIT_R +int misc_init_r (void ) +{ +#ifdef CONFIG_I2C_EEPROM +at91_set_ethaddr (AT24MAC_MAC_OFFSET ); +#endif +return 0 ; +} +#endif +int board_init (void ) {/* adress of boot parameters */
configs/sama5d4_xplained_mmc_defconfig +3 -0
@@ -47,6 +47,9 @@ CONFIG_AT91_UTMI=y CONFIG_AT91_H32MX=y CONFIG_DM_GPIO=y CONFIG_AT91_GPIO=y +CONFIG_DM_I2C=y +CONFIG_SYS_I2C_AT91=y +CONFIG_I2C_EEPROM=y CONFIG_DM_MMC=y CONFIG_GENERIC_ATMEL_MCI=y CONFIG_DM_SPI_FLASH=y
configs/sama5d4_xplained_nandflash_defconfig +3 -0
@@ -44,6 +44,9 @@ CONFIG_AT91_UTMI=y CONFIG_AT91_H32MX=y CONFIG_DM_GPIO=y CONFIG_AT91_GPIO=y +CONFIG_DM_I2C=y +CONFIG_SYS_I2C_AT91=y +CONFIG_I2C_EEPROM=y CONFIG_DM_MMC=y CONFIG_GENERIC_ATMEL_MCI=y CONFIG_DM_SPI_FLASH=y
configs/sama5d4_xplained_spiflash_defconfig +3 -0
@@ -46,6 +46,9 @@ CONFIG_AT91_UTMI=y CONFIG_AT91_H32MX=y CONFIG_DM_GPIO=y CONFIG_AT91_GPIO=y +CONFIG_DM_I2C=y +CONFIG_SYS_I2C_AT91=y +CONFIG_I2C_EEPROM=y CONFIG_DM_MMC=y CONFIG_GENERIC_ATMEL_MCI=y CONFIG_DM_SPI_FLASH=y
include/configs/sama5d4_xplained.h +2 -0
@@ -12,6 +12,8 @@#include "at91-sama5_common.h" +#define CONFIG_MISC_INIT_R +/* SDRAM */ #define CONFIG_NR_DRAM_BANKS 1#define CONFIG_SYS_SDRAM_BASE ATMEL_BASE_DDRCS
Signature · 1 line
2.13.0
PATCH v4 3/3 board: sama5d4_xplained: Set mac address from eeprom
Quoted 21 lines · Wenyou Yang
Add the code to set the ethernet mac address from eeprom by using the common code from the common folder.
Signed-off-by Wenyou Yang <[email protected]>---
Changes in v4:
- Rebase the latest commit(8b3cec7da) on uboot/master.Changes in v3:
- removeCONFIG_SPL_I2C_SUPPORT=yfrom the default configuration files.
- rebase on [PATCH] misc:Makefile: Add condition on buildi2c_eeprom.https://lists.denx.de/pipermail/u-boot/2017-August/300783.htmlChanges in v2:
- Add a new patch to create board/$(VENDOR)/common folder to accommodate the common code and put the code to set the ethernet mac address from eeprom here.
- Use thei2c_eepromdriver to read the mac address, instead of the dm i2c API directly.
Quoted 6 lines
arch/arm/dts/at91-sama5d4_xplained.dts | 5 +++++ board/atmel/sama5d4_xplained/sama5d4_xplained.c | 12 ++++++++++++ configs/sama5d4_xplained_mmc_defconfig | 3 +++ configs/sama5d4_xplained_nandflash_defconfig | 3 +++ configs/sama5d4_xplained_spiflash_defconfig | 3 +++ include/configs/sama5d4_xplained.h | 2 ++
PATCH v4 3/3 board: sama5d4_xplained: Set mac address from eeprom
In reply to Wenyou YangQuoted 5 lines · Wenyou Yang
Add the code to set the ethernet mac address from eeprom by using the common code from the common folder.
Signed-off-by Wenyou Yang <[email protected]>Reviewed-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170912/51b1bc0b/attachment.sig>