diff options
| author | Evan Lojewski <github@meklort.com> | 2019-07-13 18:41:07 -0600 |
|---|---|---|
| committer | Evan Lojewski <github@meklort.com> | 2019-07-13 18:41:07 -0600 |
| commit | fb28a33268eee8c69e6362b9cb27f0f255bd002e (patch) | |
| tree | d83a6ef3f843a926dd598dbb8509dc0492a01c5b /utils/bcmregtool/main.cpp | |
| parent | 243d1c47c4ac23b3e86780ffd1600a4370111fe7 (diff) | |
| download | bcm5719-ortega-fb28a33268eee8c69e6362b9cb27f0f255bd002e.tar.gz bcm5719-ortega-fb28a33268eee8c69e6362b9cb27f0f255bd002e.zip | |
Add printing of MII registers.
Diffstat (limited to 'utils/bcmregtool/main.cpp')
| -rw-r--r-- | utils/bcmregtool/main.cpp | 89 |
1 files changed, 85 insertions, 4 deletions
diff --git a/utils/bcmregtool/main.cpp b/utils/bcmregtool/main.cpp index baf2cea..6d89722 100644 --- a/utils/bcmregtool/main.cpp +++ b/utils/bcmregtool/main.cpp @@ -522,10 +522,78 @@ int main(int argc, char const *argv[]) uint8_t phy = MII_getPhy(); printf("MII Phy: %d\n", phy); - printf("MII Status: 0x%04X\n", MII_readRegister(phy, (mii_reg_t)REG_MII_STATUS)); printf("MII PHY ID[high]: 0x%04X\n", MII_readRegister(phy, (mii_reg_t)REG_MII_PHY_ID_HIGH)); printf("MII PHY ID[low]: 0x%04X\n", MII_readRegister(phy, (mii_reg_t)REG_MII_PHY_ID_LOW)); + + RegMIIControl_t control; + control.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_CONTROL); + control.print(); + + RegMIIStatus_t status; + status.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_STATUS); + status.print(); + + RegMIIAutonegotiationAdvertisement_t auto_adv; + auto_adv.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_AUTONEGOTIATION_ADVERTISEMENT); + auto_adv.print(); + + RegMIIAutonegotiationLinkPartnerAbilityBasePage_t auto_lpabp; + auto_lpabp.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_AUTONEGOTIATION_LINK_PARTNER_ABILITY_BASE_PAGE); + auto_lpabp.print(); + + RegMIIAutonegotiationExpansion_t auto_exp; + auto_exp.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_AUTONEGOTIATION_EXPANSION); + auto_exp.print(); + + RegMII1000baseTControl_t gig_baset; + gig_baset.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_1000BASE_T_CONTROL); + gig_baset.print(); + + RegMII1000baseTStatus_t gig_baset_stat; + gig_baset_stat.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_1000BASE_T_STATUS); + gig_baset_stat.print(); + + RegMIIIeeeExtendedStatus_t ieee_ext_status; + ieee_ext_status.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_IEEE_EXTENDED_STATUS); + ieee_ext_status.print(); + + RegMIIPhyExtendedControl_t phy_ext_control; + phy_ext_control.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_PHY_EXTENDED_CONTROL); + phy_ext_control.print(); + + RegMIIPhyExtendedStatus_t phy_ext_status; + phy_ext_status.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_PHY_EXTENDED_STATUS); + phy_ext_status.print(); + + RegMIIReceiveErrorCounter_t rx_err; + rx_err.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_RECEIVE_ERROR_COUNTER); + rx_err.print(); + + RegMIIFalseCarrierSenseCounter_t fcsc; + fcsc.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_FALSE_CARRIER_SENSE_COUNTER); + fcsc.print(); + + RegMIILocalRemoteReceiverNotOkCounter_t rx_nok; + rx_nok.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_LOCAL_REMOTE_RECEIVER_NOT_OK_COUNTER); + rx_nok.print(); + + RegMIIAuxiliaryControl_t aux_control; + aux_control.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_AUXILIARY_CONTROL); + aux_control.print(); + + RegMIIAuxiliaryStatusSummary_t aux_status; + aux_status.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_AUXILIARY_STATUS_SUMMARY); + aux_status.print(); + + RegMIIInterruptStatus_t irq_status; + irq_status.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_INTERRUPT_STATUS); + irq_status.print(); + + RegMIIInterruptMask_t irq_mask; + irq_mask.r16 = MII_readRegister(phy, (mii_reg_t)REG_MII_INTERRUPT_MASK); + irq_mask.print(); + exit(0); } @@ -685,20 +753,33 @@ int main(int argc, char const *argv[]) printf("APE RCPU PCI Vendor/Device ID: 0x%08X\n", (uint32_t)SHM.RcpuPciVendorDeviceId.r32); printf("APE RCPU PCI Subsystem ID: 0x%08X\n", (uint32_t)SHM.RcpuPciSubsystemId.r32); - APE_PERI.RmuControl.print(); - APE_PERI.ArbControl.print(); DEVICE.PerfectMatch1High.print(); DEVICE.PerfectMatch1Low.print(); printf("\n======= Port 0 =======\n"); APE.TxToNetPoolModeStatus0.print(); - APE.RxPoolModeStatus0.print(); + APE.TxToNetBufferAllocator0.print(); + APE.TxToNetBufferAllocator0.print(); + APE.TxToNetBufferRing0.print(); + DEVICE.EmacMode.print(); + // DEVICE.ReceiveMacMode.bits.APEPromiscuousMode = 1; + // DEVICE.ReceiveMacMode.bits.PromiscuousMode = 1; + DEVICE.ReceiveMacMode.print(); SHM_CHANNEL0.NcsiChannelCtrlstatRx.print(); SHM_CHANNEL0.NcsiChannelCtrlstatAllTx.print(); + APE_PERI.BmcToNcSourceMacHigh.print(); + APE_PERI.BmcToNcSourceMacMatch0High.print(); + APE_PERI.RmuControl.print(); + APE_PERI.ArbControl.print(); APE_PERI.BmcToNcRxStatus.print(); + APE_PERI.BmcToNcRxControl.print(); + + APE.RxbufoffsetFunc0.print(); + APE.RxPoolRetire0.print(); + APE.RxPoolModeStatus0.print(); exit(0); } |

