diff mbox series

[U-Boot,2/4] km/boards: add MAC address offset as argument to ivm_populate_env

Message ID 20191125162416.9120-2-holger.brunck@ch.abb.com
State Accepted
Commit fd7c400962dd905611d5d3453a02fd4707da10fb
Delegated to: Tom Rini
Headers show
Series [U-Boot,1/4] km/boards: fix typo for MAC address offset config option | expand

Commit Message

Holger Brunck Nov. 25, 2019, 4:24 p.m. UTC
For upcoming SECU board we have different MAC address offsets depending
on which functional unit we are running. In this case we need to pass
this value to the ivm_populate_env function instead of using the hard
coded config option there.

Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
CC: Stefan Roese <sr@denx.de>
CC: Valentin Longchamp <valentin.longchamp@ch.abb.com>
CC: Marek Vasut <marex@denx.de>
---
 board/keymile/common/common.h   |  2 +-
 board/keymile/common/ivm.c      | 12 ++++++------
 board/keymile/km83xx/km83xx.c   |  3 ++-
 board/keymile/km_arm/km_arm.c   |  3 ++-
 board/keymile/kmp204x/kmp204x.c |  3 ++-
 5 files changed, 13 insertions(+), 10 deletions(-)

Comments

Stefan Roese Nov. 26, 2019, 1:21 p.m. UTC | #1
On 25.11.19 17:24, Holger Brunck wrote:
> For upcoming SECU board we have different MAC address offsets depending
> on which functional unit we are running. In this case we need to pass
> this value to the ivm_populate_env function instead of using the hard
> coded config option there.
> 
> Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
> CC: Stefan Roese <sr@denx.de>
> CC: Valentin Longchamp <valentin.longchamp@ch.abb.com>
> CC: Marek Vasut <marex@denx.de>

Reviewed-by: Stefan Roese <sr@denx.de>

Thanks,
Stefan

> ---
>   board/keymile/common/common.h   |  2 +-
>   board/keymile/common/ivm.c      | 12 ++++++------
>   board/keymile/km83xx/km83xx.c   |  3 ++-
>   board/keymile/km_arm/km_arm.c   |  3 ++-
>   board/keymile/kmp204x/kmp204x.c |  3 ++-
>   5 files changed, 13 insertions(+), 10 deletions(-)
> 
> diff --git a/board/keymile/common/common.h b/board/keymile/common/common.h
> index 42b760dc6e..8251de4db8 100644
> --- a/board/keymile/common/common.h
> +++ b/board/keymile/common/common.h
> @@ -121,7 +121,7 @@ struct bfticu_iomap {
>   };
>   
>   int ethernet_present(void);
> -int ivm_read_eeprom(unsigned char *buf, int len);
> +int ivm_read_eeprom(unsigned char *buf, int len, int mac_address_offset);
>   int ivm_analyze_eeprom(unsigned char *buf, int len);
>   
>   int trigger_fpga_config(void);
> diff --git a/board/keymile/common/ivm.c b/board/keymile/common/ivm.c
> index 429e9c7914..fee7f03c8c 100644
> --- a/board/keymile/common/ivm.c
> +++ b/board/keymile/common/ivm.c
> @@ -297,7 +297,7 @@ int ivm_analyze_eeprom(unsigned char *buf, int len)
>   	return 0;
>   }
>   
> -static int ivm_populate_env(unsigned char *buf, int len)
> +static int ivm_populate_env(unsigned char *buf, int len, int mac_address_offset)
>   {
>   	unsigned char	*page2;
>   	unsigned char	valbuf[MAC_STR_SZ];
> @@ -309,23 +309,23 @@ static int ivm_populate_env(unsigned char *buf, int len)
>   
>   #ifndef CONFIG_KMTEGR1
>   	/* if an offset is defined, add it */
> -	process_mac(valbuf, page2, CONFIG_PIGGY_MAC_ADDRESS_OFFSET, true);
> +	process_mac(valbuf, page2, mac_address_offset, true);
>   	env_set((char *)"ethaddr", (char *)valbuf);
>   #else
>   /* KMTEGR1 has a special setup. eth0 has no connection to the outside and
>    * gets an locally administred MAC address, eth1 is the debug interface and
>    * gets the official MAC address from the IVM
>    */
> -	process_mac(valbuf, page2, CONFIG_PIGGY_MAC_ADDRESS_OFFSET, false);
> +	process_mac(valbuf, page2, mac_address_offset, false);
>   	env_set((char *)"ethaddr", (char *)valbuf);
> -	process_mac(valbuf, page2, CONFIG_PIGGY_MAC_ADDRESS_OFFSET, true);
> +	process_mac(valbuf, page2, mac_address_offset, true);
>   	env_set((char *)"eth1addr", (char *)valbuf);
>   #endif
>   
>   	return 0;
>   }
>   
> -int ivm_read_eeprom(unsigned char *buf, int len)
> +int ivm_read_eeprom(unsigned char *buf, int len, int mac_address_offset)
>   {
>   	int ret;
>   
> @@ -339,5 +339,5 @@ int ivm_read_eeprom(unsigned char *buf, int len)
>   		return -2;
>   	}
>   
> -	return ivm_populate_env(buf, len);
> +	return ivm_populate_env(buf, len, mac_address_offset);
>   }
> diff --git a/board/keymile/km83xx/km83xx.c b/board/keymile/km83xx/km83xx.c
> index 8846b64f7d..59347a3990 100644
> --- a/board/keymile/km83xx/km83xx.c
> +++ b/board/keymile/km83xx/km83xx.c
> @@ -185,7 +185,8 @@ int board_early_init_r(void)
>   
>   int misc_init_r(void)
>   {
> -	ivm_read_eeprom(ivm_content, CONFIG_SYS_IVM_EEPROM_MAX_LEN);
> +	ivm_read_eeprom(ivm_content, CONFIG_SYS_IVM_EEPROM_MAX_LEN,
> +			CONFIG_PIGGY_MAC_ADDRESS_OFFSET);
>   	return 0;
>   }
>   
> diff --git a/board/keymile/km_arm/km_arm.c b/board/keymile/km_arm/km_arm.c
> index 922cc621f7..2724d8bd48 100644
> --- a/board/keymile/km_arm/km_arm.c
> +++ b/board/keymile/km_arm/km_arm.c
> @@ -231,7 +231,8 @@ int misc_init_r(void)
>   	}
>   #endif
>   
> -	ivm_read_eeprom(ivm_content, CONFIG_SYS_IVM_EEPROM_MAX_LEN);
> +	ivm_read_eeprom(ivm_content, CONFIG_SYS_IVM_EEPROM_MAX_LEN,
> +			CONFIG_PIGGY_MAC_ADDRESS_OFFSET);
>   
>   	initialize_unit_leds();
>   	set_km_env();
> diff --git a/board/keymile/kmp204x/kmp204x.c b/board/keymile/kmp204x/kmp204x.c
> index 4d1e38aa3a..e7c321c326 100644
> --- a/board/keymile/kmp204x/kmp204x.c
> +++ b/board/keymile/kmp204x/kmp204x.c
> @@ -195,7 +195,8 @@ int misc_init_r(void)
>   		}
>   	}
>   
> -	ivm_read_eeprom(ivm_content, CONFIG_SYS_IVM_EEPROM_MAX_LEN);
> +	ivm_read_eeprom(ivm_content, CONFIG_SYS_IVM_EEPROM_MAX_LEN,
> +			CONFIG_PIGGY_MAC_ADDRESS_OFFSET);
>   	return 0;
>   }
>   
> 

Viele Grüße,
Stefan
Tom Rini Jan. 10, 2020, 9:49 p.m. UTC | #2
On Mon, Nov 25, 2019 at 05:24:14PM +0100, Holger Brunck wrote:

> For upcoming SECU board we have different MAC address offsets depending
> on which functional unit we are running. In this case we need to pass
> this value to the ivm_populate_env function instead of using the hard
> coded config option there.
> 
> Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
> CC: Stefan Roese <sr@denx.de>
> CC: Valentin Longchamp <valentin.longchamp@ch.abb.com>
> CC: Marek Vasut <marex@denx.de>
> Reviewed-by: Stefan Roese <sr@denx.de>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/board/keymile/common/common.h b/board/keymile/common/common.h
index 42b760dc6e..8251de4db8 100644
--- a/board/keymile/common/common.h
+++ b/board/keymile/common/common.h
@@ -121,7 +121,7 @@  struct bfticu_iomap {
 };
 
 int ethernet_present(void);
-int ivm_read_eeprom(unsigned char *buf, int len);
+int ivm_read_eeprom(unsigned char *buf, int len, int mac_address_offset);
 int ivm_analyze_eeprom(unsigned char *buf, int len);
 
 int trigger_fpga_config(void);
diff --git a/board/keymile/common/ivm.c b/board/keymile/common/ivm.c
index 429e9c7914..fee7f03c8c 100644
--- a/board/keymile/common/ivm.c
+++ b/board/keymile/common/ivm.c
@@ -297,7 +297,7 @@  int ivm_analyze_eeprom(unsigned char *buf, int len)
 	return 0;
 }
 
-static int ivm_populate_env(unsigned char *buf, int len)
+static int ivm_populate_env(unsigned char *buf, int len, int mac_address_offset)
 {
 	unsigned char	*page2;
 	unsigned char	valbuf[MAC_STR_SZ];
@@ -309,23 +309,23 @@  static int ivm_populate_env(unsigned char *buf, int len)
 
 #ifndef CONFIG_KMTEGR1
 	/* if an offset is defined, add it */
-	process_mac(valbuf, page2, CONFIG_PIGGY_MAC_ADDRESS_OFFSET, true);
+	process_mac(valbuf, page2, mac_address_offset, true);
 	env_set((char *)"ethaddr", (char *)valbuf);
 #else
 /* KMTEGR1 has a special setup. eth0 has no connection to the outside and
  * gets an locally administred MAC address, eth1 is the debug interface and
  * gets the official MAC address from the IVM
  */
-	process_mac(valbuf, page2, CONFIG_PIGGY_MAC_ADDRESS_OFFSET, false);
+	process_mac(valbuf, page2, mac_address_offset, false);
 	env_set((char *)"ethaddr", (char *)valbuf);
-	process_mac(valbuf, page2, CONFIG_PIGGY_MAC_ADDRESS_OFFSET, true);
+	process_mac(valbuf, page2, mac_address_offset, true);
 	env_set((char *)"eth1addr", (char *)valbuf);
 #endif
 
 	return 0;
 }
 
-int ivm_read_eeprom(unsigned char *buf, int len)
+int ivm_read_eeprom(unsigned char *buf, int len, int mac_address_offset)
 {
 	int ret;
 
@@ -339,5 +339,5 @@  int ivm_read_eeprom(unsigned char *buf, int len)
 		return -2;
 	}
 
-	return ivm_populate_env(buf, len);
+	return ivm_populate_env(buf, len, mac_address_offset);
 }
diff --git a/board/keymile/km83xx/km83xx.c b/board/keymile/km83xx/km83xx.c
index 8846b64f7d..59347a3990 100644
--- a/board/keymile/km83xx/km83xx.c
+++ b/board/keymile/km83xx/km83xx.c
@@ -185,7 +185,8 @@  int board_early_init_r(void)
 
 int misc_init_r(void)
 {
-	ivm_read_eeprom(ivm_content, CONFIG_SYS_IVM_EEPROM_MAX_LEN);
+	ivm_read_eeprom(ivm_content, CONFIG_SYS_IVM_EEPROM_MAX_LEN,
+			CONFIG_PIGGY_MAC_ADDRESS_OFFSET);
 	return 0;
 }
 
diff --git a/board/keymile/km_arm/km_arm.c b/board/keymile/km_arm/km_arm.c
index 922cc621f7..2724d8bd48 100644
--- a/board/keymile/km_arm/km_arm.c
+++ b/board/keymile/km_arm/km_arm.c
@@ -231,7 +231,8 @@  int misc_init_r(void)
 	}
 #endif
 
-	ivm_read_eeprom(ivm_content, CONFIG_SYS_IVM_EEPROM_MAX_LEN);
+	ivm_read_eeprom(ivm_content, CONFIG_SYS_IVM_EEPROM_MAX_LEN,
+			CONFIG_PIGGY_MAC_ADDRESS_OFFSET);
 
 	initialize_unit_leds();
 	set_km_env();
diff --git a/board/keymile/kmp204x/kmp204x.c b/board/keymile/kmp204x/kmp204x.c
index 4d1e38aa3a..e7c321c326 100644
--- a/board/keymile/kmp204x/kmp204x.c
+++ b/board/keymile/kmp204x/kmp204x.c
@@ -195,7 +195,8 @@  int misc_init_r(void)
 		}
 	}
 
-	ivm_read_eeprom(ivm_content, CONFIG_SYS_IVM_EEPROM_MAX_LEN);
+	ivm_read_eeprom(ivm_content, CONFIG_SYS_IVM_EEPROM_MAX_LEN,
+			CONFIG_PIGGY_MAC_ADDRESS_OFFSET);
 	return 0;
 }