diff mbox series

[u-boot-marvell,06/12] arm: mvebu: turris_mox: Use show_board_info()

Message ID 20211009173346.7859-7-kabel@kernel.org
State Accepted
Commit d3159c6b18115cb395ec3c8eb539d9471d2bf862
Delegated to: Stefan Roese
Headers show
Series Small Turris MOX and Omnia changes | expand

Commit Message

Marek Behún Oct. 9, 2021, 5:33 p.m. UTC
From: Marek Behún <marek.behun@nic.cz>

We are printing board information in last_stage_init(), but U-Boot has
dedicated function, show_board_info(), for this.

Move code which prints board information (board version, serial number,
module topology, ...) to show_board_info().

Signed-off-by: Marek Behún <marek.behun@nic.cz>
---
 board/CZ.NIC/turris_mox/turris_mox.c | 67 ++++++++++++++--------------
 1 file changed, 33 insertions(+), 34 deletions(-)

Comments

Stefan Roese Oct. 21, 2021, 5:32 a.m. UTC | #1
On 09.10.21 19:33, Marek Behún wrote:
> From: Marek Behún <marek.behun@nic.cz>
> 
> We are printing board information in last_stage_init(), but U-Boot has
> dedicated function, show_board_info(), for this.
> 
> Move code which prints board information (board version, serial number,
> module topology, ...) to show_board_info().
> 
> Signed-off-by: Marek Behún <marek.behun@nic.cz>

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

Thanks,
Stefan

> ---
>   board/CZ.NIC/turris_mox/turris_mox.c | 67 ++++++++++++++--------------
>   1 file changed, 33 insertions(+), 34 deletions(-)
> 
> diff --git a/board/CZ.NIC/turris_mox/turris_mox.c b/board/CZ.NIC/turris_mox/turris_mox.c
> index 428cd23a19..ff0ed28045 100644
> --- a/board/CZ.NIC/turris_mox/turris_mox.c
> +++ b/board/CZ.NIC/turris_mox/turris_mox.c
> @@ -485,44 +485,34 @@ static void handle_reset_button(void)
>   	}
>   }
>   
> -static void mox_print_info(void)
> +int show_board_info(void)
>   {
> -	int ret, board_version, ram_size;
> -	u64 serial_number;
> +	int i, ret, board_version, ram_size, is_sd;
>   	const char *pub_key;
> +	const u8 *topology;
> +	u64 serial_number;
> +
> +	printf("Model: CZ.NIC Turris Mox Board\n");
>   
>   	ret = mbox_sp_get_board_info(&serial_number, NULL, NULL, &board_version,
>   				     &ram_size);
> -	if (ret < 0)
> -		return;
> -
> -	printf("Turris Mox:\n");
> -	printf("  Board version: %i\n", board_version);
> -	printf("  RAM size: %i MiB\n", ram_size);
> -	printf("  Serial Number: %016llX\n", serial_number);
> +	if (ret < 0) {
> +		printf("  Cannot read board info: %i\n", ret);
> +	} else {
> +		printf("  Board version: %i\n", board_version);
> +		printf("  RAM size: %i MiB\n", ram_size);
> +		printf("  Serial Number: %016llX\n", serial_number);
> +	}
>   
>   	pub_key = mox_sp_get_ecdsa_public_key();
>   	if (pub_key)
>   		printf("  ECDSA Public Key: %s\n", pub_key);
>   	else
> -		printf("Cannot read ECDSA Public Key\n");
> -}
> -
> -int last_stage_init(void)
> -{
> -	int ret, i;
> -	const u8 *topology;
> -	int is_sd;
> -	struct mii_dev *bus;
> -	struct gpio_desc reset_gpio = {};
> -
> -	mox_print_info();
> +		printf("  Cannot read ECDSA Public Key\n");
>   
>   	ret = mox_get_topology(&topology, &module_count, &is_sd);
> -	if (ret) {
> +	if (ret)
>   		printf("Cannot read module topology!\n");
> -		return 0;
> -	}
>   
>   	printf("  SD/eMMC version: %s\n", is_sd ? "SD" : "eMMC");
>   
> @@ -554,8 +544,7 @@ int last_stage_init(void)
>   		}
>   	}
>   
> -	/* now check if modules are connected in supported mode */
> -
> +	/* check if modules are connected in supported mode */
>   	for (i = 0; i < module_count; ++i) {
>   		switch (topology[i]) {
>   		case MOX_MODULE_SFP:
> @@ -616,8 +605,17 @@ int last_stage_init(void)
>   		}
>   	}
>   
> -	/* now configure modules */
> +	if (module_count)
> +		printf("\n");
> +
> +	return 0;
> +}
> +
> +int last_stage_init(void)
> +{
> +	struct gpio_desc reset_gpio = {};
>   
> +	/* configure modules */
>   	if (get_reset_gpio(&reset_gpio) < 0)
>   		return 0;
>   
> @@ -633,16 +631,19 @@ int last_stage_init(void)
>   		mdelay(50);
>   	}
>   
> +	/*
> +	 * check if the addresses are set by reading Scratch & Misc register
> +	 * 0x70 of Peridot (and potentially Topaz) modules
> +	 */
>   	if (peridot || topaz) {
> -		/*
> -		 * now check if the addresses are set by reading Scratch & Misc
> -		 * register 0x70 of Peridot (and potentially Topaz) modules
> -		 */
> +		struct mii_dev *bus;
>   
>   		bus = miiphy_get_dev_by_name("neta@30000");
>   		if (!bus) {
>   			printf("Cannot get MDIO bus device!\n");
>   		} else {
> +			int i;
> +
>   			for (i = 0; i < peridot; ++i)
>   				check_switch_address(bus, 0x10 + i);
>   
> @@ -653,8 +654,6 @@ int last_stage_init(void)
>   		}
>   	}
>   
> -	printf("\n");
> -
>   	handle_reset_button();
>   
>   	return 0;
> 


Viele Grüße,
Stefan
diff mbox series

Patch

diff --git a/board/CZ.NIC/turris_mox/turris_mox.c b/board/CZ.NIC/turris_mox/turris_mox.c
index 428cd23a19..ff0ed28045 100644
--- a/board/CZ.NIC/turris_mox/turris_mox.c
+++ b/board/CZ.NIC/turris_mox/turris_mox.c
@@ -485,44 +485,34 @@  static void handle_reset_button(void)
 	}
 }
 
-static void mox_print_info(void)
+int show_board_info(void)
 {
-	int ret, board_version, ram_size;
-	u64 serial_number;
+	int i, ret, board_version, ram_size, is_sd;
 	const char *pub_key;
+	const u8 *topology;
+	u64 serial_number;
+
+	printf("Model: CZ.NIC Turris Mox Board\n");
 
 	ret = mbox_sp_get_board_info(&serial_number, NULL, NULL, &board_version,
 				     &ram_size);
-	if (ret < 0)
-		return;
-
-	printf("Turris Mox:\n");
-	printf("  Board version: %i\n", board_version);
-	printf("  RAM size: %i MiB\n", ram_size);
-	printf("  Serial Number: %016llX\n", serial_number);
+	if (ret < 0) {
+		printf("  Cannot read board info: %i\n", ret);
+	} else {
+		printf("  Board version: %i\n", board_version);
+		printf("  RAM size: %i MiB\n", ram_size);
+		printf("  Serial Number: %016llX\n", serial_number);
+	}
 
 	pub_key = mox_sp_get_ecdsa_public_key();
 	if (pub_key)
 		printf("  ECDSA Public Key: %s\n", pub_key);
 	else
-		printf("Cannot read ECDSA Public Key\n");
-}
-
-int last_stage_init(void)
-{
-	int ret, i;
-	const u8 *topology;
-	int is_sd;
-	struct mii_dev *bus;
-	struct gpio_desc reset_gpio = {};
-
-	mox_print_info();
+		printf("  Cannot read ECDSA Public Key\n");
 
 	ret = mox_get_topology(&topology, &module_count, &is_sd);
-	if (ret) {
+	if (ret)
 		printf("Cannot read module topology!\n");
-		return 0;
-	}
 
 	printf("  SD/eMMC version: %s\n", is_sd ? "SD" : "eMMC");
 
@@ -554,8 +544,7 @@  int last_stage_init(void)
 		}
 	}
 
-	/* now check if modules are connected in supported mode */
-
+	/* check if modules are connected in supported mode */
 	for (i = 0; i < module_count; ++i) {
 		switch (topology[i]) {
 		case MOX_MODULE_SFP:
@@ -616,8 +605,17 @@  int last_stage_init(void)
 		}
 	}
 
-	/* now configure modules */
+	if (module_count)
+		printf("\n");
+
+	return 0;
+}
+
+int last_stage_init(void)
+{
+	struct gpio_desc reset_gpio = {};
 
+	/* configure modules */
 	if (get_reset_gpio(&reset_gpio) < 0)
 		return 0;
 
@@ -633,16 +631,19 @@  int last_stage_init(void)
 		mdelay(50);
 	}
 
+	/*
+	 * check if the addresses are set by reading Scratch & Misc register
+	 * 0x70 of Peridot (and potentially Topaz) modules
+	 */
 	if (peridot || topaz) {
-		/*
-		 * now check if the addresses are set by reading Scratch & Misc
-		 * register 0x70 of Peridot (and potentially Topaz) modules
-		 */
+		struct mii_dev *bus;
 
 		bus = miiphy_get_dev_by_name("neta@30000");
 		if (!bus) {
 			printf("Cannot get MDIO bus device!\n");
 		} else {
+			int i;
+
 			for (i = 0; i < peridot; ++i)
 				check_switch_address(bus, 0x10 + i);
 
@@ -653,8 +654,6 @@  int last_stage_init(void)
 		}
 	}
 
-	printf("\n");
-
 	handle_reset_button();
 
 	return 0;