On 09.10.21 19:33, Marek Behún wrote:
From: Marek Behún <[email protected]>

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 <[email protected]>

Reviewed-by: Stefan Roese <[email protected]>

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

--
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: [email protected]

Reply via email to