diff options
| author | Evan Lojewski <github@meklort.com> | 2020-11-27 19:36:58 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-27 19:36:58 -0700 |
| commit | aafb2f96cb72257ae23f7d839969d675f75570a9 (patch) | |
| tree | cb4a88b696ac57c7bc7f4dd5fffd16aed203eff4 /utils/bcmflash/main.cpp | |
| parent | e748bb2049be7151efa2369a3bc0c50d13e4aa82 (diff) | |
| download | bcm5719-ortega-aafb2f96cb72257ae23f7d839969d675f75570a9.tar.gz bcm5719-ortega-aafb2f96cb72257ae23f7d839969d675f75570a9.zip | |
bcmflash: Print additional information about the firmware configuration. (#182)
Diffstat (limited to 'utils/bcmflash/main.cpp')
| -rw-r--r-- | utils/bcmflash/main.cpp | 63 |
1 files changed, 50 insertions, 13 deletions
diff --git a/utils/bcmflash/main.cpp b/utils/bcmflash/main.cpp index 3910697..1a48e9b 100644 --- a/utils/bcmflash/main.cpp +++ b/utils/bcmflash/main.cpp @@ -53,6 +53,7 @@ #include <OptionParser.h> #include <bcm5719-endian.h> #include <bcm5719_DEVICE.h> +#include <bcm5719_GEN.h> #include <bcm5719_eeprom.h> #include <stdbool.h> #include <stdint.h> @@ -282,6 +283,10 @@ bool set_mac(uint32_t dest[2], const char *mac_str) void dump_info(NVRAMInfo_t *info, NVRAMInfo2_t *info2) { + RegGENGenCfgHw_t hw; + RegGENGenCfgHw2_t hw2; + RegGENGenCfgFeature_t feature; + printf("\n=== Info ===\n"); printf("Firmware Revision: 0x%04X\n", be16toh(info->firmwareRevision)); @@ -302,7 +307,15 @@ void dump_info(NVRAMInfo_t *info, NVRAMInfo2_t *info2) printf("Function 2G Subsystem ID 0x%04X\n", be16toh(info2->pciSubsystemF2GPHY)); printf("Function 3G Subsystem ID 0x%04X\n", be16toh(info2->pciSubsystemF3GPHY)); - printf("Shared Cfg: 0x%08X\n", be32toh(info->cfgShared)); + printf("Shared Cfg: 0x%08X", be32toh(info->cfgShared)); + RegGENGenCfgShared_t shared; + shared.r32 = be32toh(info->cfgShared); + shared.print(); + + printf("Cfg5: 0x%08X", be32toh(info2->cfg5)); + RegGENGenCfg5_t cfg5; + cfg5.r32 = be32toh(info2->cfg5); + cfg5.print(); printf("Power Dissipated: 0x%02X 0x%02X 0x%02X 0x%02X\n", info->powerDissipatedD3, info->powerDissipatedD2, info->powerDissipatedD1, info->powerDissipatedD0); @@ -344,30 +357,54 @@ void dump_info(NVRAMInfo_t *info, NVRAMInfo2_t *info2) printf("\n=== Port 0 ===\n"); printf("Subsystem ID: 0x%04X\n", be16toh(info2->pciSubsystemF0GPHY)); printf("MAC: 0x%04X%08X\n", be32toh(info->macAddr0[0]), be32toh(info->macAddr0[1])); - printf("Feature: 0x%08X\n", be32toh(info->func0CfgFeature)); - printf("Cfg: 0x%08X\n", be32toh(info->func0CfgHW)); - printf("Cfg2: 0x%08X\n", be32toh(info2->func0CfgHW2)); + printf("Feature: 0x%08X", be32toh(info->func0CfgFeature)); + feature.r32 = be32toh(info->func0CfgFeature); + feature.print(); + printf("Cfg: 0x%08X", be32toh(info->func0CfgHW)); + hw.r32 = be32toh(info->func0CfgHW); + hw.print(); + printf("Cfg2: 0x%08X", be32toh(info2->func0CfgHW2)); + hw2.r32 = be32toh(info2->func0CfgHW2); + hw2.print(); printf("\n=== Port 1 ===\n"); printf("Subsystem ID: 0x%04X\n", be16toh(info2->pciSubsystemF1GPHY)); printf("MAC: 0x%04X%08X\n", be32toh(info->macAddr1[0]), be32toh(info->macAddr1[1])); - printf("Feature: 0x%08X\n", be32toh(info->func1CfgFeature)); - printf("Cfg: 0x%08X\n", be32toh(info->func1CfgHW)); - printf("Cfg2: 0x%08X\n", be32toh(info2->func1CfgHW2)); + printf("Feature: 0x%08X", be32toh(info->func1CfgFeature)); + feature.r32 = be32toh(info->func1CfgFeature); + feature.print(); + printf("Cfg: 0x%08X", be32toh(info->func1CfgHW)); + hw.r32 = be32toh(info->func1CfgHW); + hw.print(); + printf("Cfg2: 0x%08X", be32toh(info2->func1CfgHW2)); + hw2.r32 = be32toh(info2->func1CfgHW2); + hw2.print(); printf("\n=== Port 2 ===\n"); printf("Subsystem ID: 0x%04X\n", be16toh(info2->pciSubsystemF2GPHY)); printf("MAC: 0x%04X%08X\n", be32toh(info2->macAddr2[0]), be32toh(info2->macAddr2[1])); - printf("Feature: 0x%08X\n", be32toh(info2->func2CfgFeature)); - printf("Cfg: 0x%08X\n", be32toh(info2->func2CfgHW)); - printf("Cfg2: 0x%08X\n", be32toh(info2->func2CfgHW2)); + printf("Feature: 0x%08X", be32toh(info2->func2CfgFeature)); + feature.r32 = be32toh(info2->func2CfgFeature); + feature.print(); + printf("Cfg: 0x%08X", be32toh(info2->func2CfgHW)); + hw.r32 = be32toh(info2->func2CfgHW); + hw.print(); + printf("Cfg2: 0x%08X", be32toh(info2->func2CfgHW2)); + hw2.r32 = be32toh(info2->func2CfgHW2); + hw2.print(); printf("\n=== Port 3 ===\n"); printf("Subsystem ID: 0x%04X\n", be16toh(info2->pciSubsystemF3GPHY)); printf("MAC: 0x%04X%08X\n", be32toh(info2->macAddr3[0]), be32toh(info2->macAddr3[1])); - printf("Feature: 0x%08X\n", be32toh(info2->func3CfgFeature)); - printf("Cfg: 0x%08X\n", be32toh(info2->func3CfgHW)); - printf("Cfg2: 0x%08X\n", be32toh(info2->func3CfgHW2)); + printf("Feature: 0x%08X", be32toh(info2->func3CfgFeature)); + feature.r32 = be32toh(info2->func3CfgFeature); + feature.print(); + printf("Cfg: 0x%08X", be32toh(info2->func3CfgHW)); + hw.r32 = be32toh(info2->func3CfgHW); + hw.print(); + printf("Cfg2: 0x%08X", be32toh(info2->func3CfgHW2)); + hw2.r32 = be32toh(info2->func3CfgHW2); + hw2.print(); printf("\n=== SMBus ===\n"); printf("Device Address: 0x%02X\n", info->SMBusAddr); |

