summaryrefslogtreecommitdiffstats
path: root/utils/bcmregtool/main.cpp
diff options
context:
space:
mode:
authorEvan Lojewski <github@meklort.com>2019-07-13 18:41:07 -0600
committerEvan Lojewski <github@meklort.com>2019-07-13 18:41:07 -0600
commitfb28a33268eee8c69e6362b9cb27f0f255bd002e (patch)
treed83a6ef3f843a926dd598dbb8509dc0492a01c5b /utils/bcmregtool/main.cpp
parent243d1c47c4ac23b3e86780ffd1600a4370111fe7 (diff)
downloadbcm5719-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.cpp89
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);
}
OpenPOWER on IntegriCloud