diff options
author | Evan Lojewski <github@meklort.com> | 2020-11-27 21:33:32 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-27 21:33:32 -0700 |
commit | a028c7834b501b3fdbd4f69e30d57b946e673bf4 (patch) | |
tree | 678d8675a637f8edc08388f605224fe8f97af9c1 | |
parent | 7559c1622d9e298ff2444a0a6c8222da1f33a1cd (diff) | |
download | bcm5719-ortega-a028c7834b501b3fdbd4f69e30d57b946e673bf4.tar.gz bcm5719-ortega-a028c7834b501b3fdbd4f69e30d57b946e673bf4.zip |
ipxact: Update GEN cfg headers. (#184)
-rw-r--r-- | include/bcm5719_GEN.h | 134 | ||||
-rw-r--r-- | ipxact/bcm5719.xml | 81 | ||||
-rw-r--r-- | simulator/bcm5719_GEN.cpp | 2 | ||||
-rw-r--r-- | simulator/bcm5719_GEN_sim.cpp | 2 |
4 files changed, 183 insertions, 36 deletions
diff --git a/include/bcm5719_GEN.h b/include/bcm5719_GEN.h index 9fd2b9f..8fc9d01 100644 --- a/include/bcm5719_GEN.h +++ b/include/bcm5719_GEN.h @@ -182,22 +182,50 @@ typedef register_container RegGENGenDataSig_t { } RegGENGenDataSig_t; #define REG_GEN_GEN_CFG ((volatile BCM5719_GEN_H_uint32_t*)0xb58) /* TODO. */ -#define GEN_GEN_CFG_PHY_TYPE__GPHY_SHIFT 4u -#define GEN_GEN_CFG_PHY_TYPE__GPHY_MASK 0x10u -#define GET_GEN_GEN_CFG_PHY_TYPE__GPHY(__reg__) (((__reg__) & 0x10) >> 4u) -#define SET_GEN_GEN_CFG_PHY_TYPE__GPHY(__val__) (((__val__) << 4u) & 0x10u) -#define GEN_GEN_CFG_PHY_TYPE__SERDES_SHIFT 5u -#define GEN_GEN_CFG_PHY_TYPE__SERDES_MASK 0x20u -#define GET_GEN_GEN_CFG_PHY_TYPE__SERDES(__reg__) (((__reg__) & 0x20) >> 5u) -#define SET_GEN_GEN_CFG_PHY_TYPE__SERDES(__val__) (((__val__) << 5u) & 0x20u) +#define GEN_GEN_CFG_LED_MODE_SHIFT 2u +#define GEN_GEN_CFG_LED_MODE_MASK 0xcu +#define GET_GEN_GEN_CFG_LED_MODE(__reg__) (((__reg__) & 0xc) >> 2u) +#define SET_GEN_GEN_CFG_LED_MODE(__val__) (((__val__) << 2u) & 0xcu) +#define GEN_GEN_CFG_LED_MODE_MAC 0x0u +#define GEN_GEN_CFG_LED_MODE_PHY_1 0x1u +#define GEN_GEN_CFG_LED_MODE_PHY_2 0x2u + +#define GEN_GEN_CFG_PHY_TYPE_SHIFT 4u +#define GEN_GEN_CFG_PHY_TYPE_MASK 0x30u +#define GET_GEN_GEN_CFG_PHY_TYPE(__reg__) (((__reg__) & 0x30) >> 4u) +#define SET_GEN_GEN_CFG_PHY_TYPE(__val__) (((__val__) << 4u) & 0x30u) +#define GEN_GEN_CFG_PHY_TYPE_UNKNOWN 0x0u +#define GEN_GEN_CFG_PHY_TYPE_COPPER 0x1u +#define GEN_GEN_CFG_PHY_TYPE_FIBER 0x2u + #define GEN_GEN_CFG_WOL_ENABLE_SHIFT 6u #define GEN_GEN_CFG_WOL_ENABLE_MASK 0x40u #define GET_GEN_GEN_CFG_WOL_ENABLE(__reg__) (((__reg__) & 0x40) >> 6u) #define SET_GEN_GEN_CFG_WOL_ENABLE(__val__) (((__val__) << 6u) & 0x40u) -#define GEN_GEN_CFG_TODO_SHIFT 7u -#define GEN_GEN_CFG_TODO_MASK 0xffffff80u -#define GET_GEN_GEN_CFG_TODO(__reg__) (((__reg__) & 0xffffff80) >> 7u) -#define SET_GEN_GEN_CFG_TODO(__val__) (((__val__) << 7u) & 0xffffff80u) +#define GEN_GEN_CFG_ASF_ENABLE_SHIFT 7u +#define GEN_GEN_CFG_ASF_ENABLE_MASK 0x80u +#define GET_GEN_GEN_CFG_ASF_ENABLE(__reg__) (((__reg__) & 0x80) >> 7u) +#define SET_GEN_GEN_CFG_ASF_ENABLE(__val__) (((__val__) << 7u) & 0x80u) +#define GEN_GEN_CFG_EEPROM_WP_SHIFT 8u +#define GEN_GEN_CFG_EEPROM_WP_MASK 0x100u +#define GET_GEN_GEN_CFG_EEPROM_WP(__reg__) (((__reg__) & 0x100) >> 8u) +#define SET_GEN_GEN_CFG_EEPROM_WP(__val__) (((__val__) << 8u) & 0x100u) +#define GEN_GEN_CFG_MINI_PCI_SHIFT 12u +#define GEN_GEN_CFG_MINI_PCI_MASK 0x1000u +#define GET_GEN_GEN_CFG_MINI_PCI(__reg__) (((__reg__) & 0x1000) >> 12u) +#define SET_GEN_GEN_CFG_MINI_PCI(__val__) (((__val__) << 12u) & 0x1000u) +#define GEN_GEN_CFG_FIBER_WOL_SHIFT 14u +#define GEN_GEN_CFG_FIBER_WOL_MASK 0x4000u +#define GET_GEN_GEN_CFG_FIBER_WOL(__reg__) (((__reg__) & 0x4000) >> 14u) +#define SET_GEN_GEN_CFG_FIBER_WOL(__val__) (((__val__) << 14u) & 0x4000u) +#define GEN_GEN_CFG_NO_GPIO2_SHIFT 20u +#define GEN_GEN_CFG_NO_GPIO2_MASK 0x100000u +#define GET_GEN_GEN_CFG_NO_GPIO2(__reg__) (((__reg__) & 0x100000) >> 20u) +#define SET_GEN_GEN_CFG_NO_GPIO2(__val__) (((__val__) << 20u) & 0x100000u) +#define GEN_GEN_CFG_APE_ENABLE_SHIFT 21u +#define GEN_GEN_CFG_APE_ENABLE_MASK 0x200000u +#define GET_GEN_GEN_CFG_APE_ENABLE(__reg__) (((__reg__) & 0x200000) >> 21u) +#define SET_GEN_GEN_CFG_APE_ENABLE(__val__) (((__val__) << 21u) & 0x200000u) /** @brief Register definition for @ref GEN_t.GenCfg. */ typedef register_container RegGENGenCfg_t { @@ -207,26 +235,62 @@ typedef register_container RegGENGenCfg_t { BITFIELD_BEGIN(BCM5719_GEN_H_uint32_t, bits) #if defined(__LITTLE_ENDIAN__) /** @brief Padding */ - BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, reserved_3_0, 0, 4) + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, reserved_1_0, 0, 2) /** @brief */ - BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, PHYType_GPHY, 4, 1) + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, LEDMode, 2, 2) /** @brief */ - BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, PHYType_SERDES, 5, 1) + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, PHYType, 4, 2) /** @brief */ BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, WOLEnable, 6, 1) /** @brief */ - BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, TODO, 7, 25) + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, ASFEnable, 7, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, EEPROMWP, 8, 1) + /** @brief Padding */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, reserved_11_9, 9, 3) + /** @brief */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, MiniPCI, 12, 1) + /** @brief Padding */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, reserved_13_13, 13, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, FiberWOL, 14, 1) + /** @brief Padding */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, reserved_19_15, 15, 5) + /** @brief */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, NoGPIO2, 20, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, APEEnable, 21, 1) + /** @brief Padding */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, reserved_31_22, 22, 10) #elif defined(__BIG_ENDIAN__) + /** @brief Padding */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, reserved_31_22, 22, 10) + /** @brief */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, APEEnable, 21, 1) /** @brief */ - BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, TODO, 7, 25) + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, NoGPIO2, 20, 1) + /** @brief Padding */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, reserved_19_15, 15, 5) + /** @brief */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, FiberWOL, 14, 1) + /** @brief Padding */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, reserved_13_13, 13, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, MiniPCI, 12, 1) + /** @brief Padding */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, reserved_11_9, 9, 3) + /** @brief */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, EEPROMWP, 8, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, ASFEnable, 7, 1) /** @brief */ BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, WOLEnable, 6, 1) /** @brief */ - BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, PHYType_SERDES, 5, 1) + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, PHYType, 4, 2) /** @brief */ - BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, PHYType_GPHY, 4, 1) + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, LEDMode, 2, 2) /** @brief Padding */ - BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, reserved_3_0, 0, 4) + BITFIELD_MEMBER(BCM5719_GEN_H_uint32_t, reserved_1_0, 0, 2) #else #error Unknown Endian #endif @@ -242,14 +306,32 @@ typedef register_container RegGENGenCfg_t { { /** @brief constructor for @ref GEN_t.GenCfg. */ r32.setName("GenCfg"); - bits.PHYType_GPHY.setBaseRegister(&r32); - bits.PHYType_GPHY.setName("PHYType_GPHY"); - bits.PHYType_SERDES.setBaseRegister(&r32); - bits.PHYType_SERDES.setName("PHYType_SERDES"); + bits.LEDMode.setBaseRegister(&r32); + bits.LEDMode.setName("LEDMode"); + bits.LEDMode.addEnum("MAC", 0x0); + bits.LEDMode.addEnum("PHY 1", 0x1); + bits.LEDMode.addEnum("PHY 2", 0x2); + + bits.PHYType.setBaseRegister(&r32); + bits.PHYType.setName("PHYType"); + bits.PHYType.addEnum("Unknown", 0x0); + bits.PHYType.addEnum("Copper", 0x1); + bits.PHYType.addEnum("Fiber", 0x2); + bits.WOLEnable.setBaseRegister(&r32); bits.WOLEnable.setName("WOLEnable"); - bits.TODO.setBaseRegister(&r32); - bits.TODO.setName("TODO"); + bits.ASFEnable.setBaseRegister(&r32); + bits.ASFEnable.setName("ASFEnable"); + bits.EEPROMWP.setBaseRegister(&r32); + bits.EEPROMWP.setName("EEPROMWP"); + bits.MiniPCI.setBaseRegister(&r32); + bits.MiniPCI.setName("MiniPCI"); + bits.FiberWOL.setBaseRegister(&r32); + bits.FiberWOL.setName("FiberWOL"); + bits.NoGPIO2.setBaseRegister(&r32); + bits.NoGPIO2.setName("NoGPIO2"); + bits.APEEnable.setBaseRegister(&r32); + bits.APEEnable.setName("APEEnable"); } RegGENGenCfg_t& operator=(const RegGENGenCfg_t& other) { diff --git a/ipxact/bcm5719.xml b/ipxact/bcm5719.xml index 5eb09b6..5cb2b1c 100644 --- a/ipxact/bcm5719.xml +++ b/ipxact/bcm5719.xml @@ -75,18 +75,48 @@ <ipxact:size>32</ipxact:size> <ipxact:volatile>true</ipxact:volatile> <ipxact:field> - <ipxact:name>PHY Type: GPHY</ipxact:name> + <ipxact:name>LED Mode</ipxact:name> <ipxact:description></ipxact:description> - <ipxact:bitOffset>4</ipxact:bitOffset> - <ipxact:bitWidth>1</ipxact:bitWidth> + <ipxact:bitOffset>2</ipxact:bitOffset> + <ipxact:bitWidth>2</ipxact:bitWidth> <ipxact:access>read-write</ipxact:access> + <ipxact:enumeratedValues> + <!-- LINK: enumeratedValue: see 6.11.10, Enumeration values --> + <ipxact:enumeratedValue> + <ipxact:name>MAC</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:enumeratedValue> + <ipxact:enumeratedValue> + <ipxact:name>PHY 1</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:enumeratedValue> + <ipxact:enumeratedValue> + <ipxact:name>PHY 2</ipxact:name> + <ipxact:value>2</ipxact:value> + </ipxact:enumeratedValue> + </ipxact:enumeratedValues> </ipxact:field> <ipxact:field> - <ipxact:name>PHY Type: SERDES</ipxact:name> + <ipxact:name>PHY Type</ipxact:name> <ipxact:description></ipxact:description> - <ipxact:bitOffset>5</ipxact:bitOffset> - <ipxact:bitWidth>1</ipxact:bitWidth> + <ipxact:bitOffset>4</ipxact:bitOffset> + <ipxact:bitWidth>2</ipxact:bitWidth> <ipxact:access>read-write</ipxact:access> + <ipxact:enumeratedValues> + <!-- LINK: enumeratedValue: see 6.11.10, Enumeration values --> + <ipxact:enumeratedValue> + <ipxact:name>Unknown</ipxact:name> + <ipxact:value>0</ipxact:value> + </ipxact:enumeratedValue> + <ipxact:enumeratedValue> + <ipxact:name>Copper</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:enumeratedValue> + <ipxact:enumeratedValue> + <ipxact:name>Fiber</ipxact:name> + <ipxact:value>2</ipxact:value> + </ipxact:enumeratedValue> + </ipxact:enumeratedValues> </ipxact:field> <ipxact:field> <ipxact:name>WOL Enable</ipxact:name> @@ -96,10 +126,45 @@ <ipxact:access>read-write</ipxact:access> </ipxact:field> <ipxact:field> - <ipxact:name>TODO</ipxact:name> + <ipxact:name>ASF Enable</ipxact:name> <ipxact:description></ipxact:description> <ipxact:bitOffset>7</ipxact:bitOffset> - <ipxact:bitWidth>25</ipxact:bitWidth> + <ipxact:bitWidth>1</ipxact:bitWidth> + <ipxact:access>read-write</ipxact:access> + </ipxact:field> + <ipxact:field> + <ipxact:name>EEPROM WP</ipxact:name> + <ipxact:description></ipxact:description> + <ipxact:bitOffset>8</ipxact:bitOffset> + <ipxact:bitWidth>1</ipxact:bitWidth> + <ipxact:access>read-write</ipxact:access> + </ipxact:field> + <ipxact:field> + <ipxact:name>Mini PCI</ipxact:name> + <ipxact:description></ipxact:description> + <ipxact:bitOffset>12</ipxact:bitOffset> + <ipxact:bitWidth>1</ipxact:bitWidth> + <ipxact:access>read-write</ipxact:access> + </ipxact:field> + <ipxact:field> + <ipxact:name>Fiber WOL</ipxact:name> + <ipxact:description></ipxact:description> + <ipxact:bitOffset>14</ipxact:bitOffset> + <ipxact:bitWidth>1</ipxact:bitWidth> + <ipxact:access>read-write</ipxact:access> + </ipxact:field> + <ipxact:field> + <ipxact:name>No GPIO2</ipxact:name> + <ipxact:description></ipxact:description> + <ipxact:bitOffset>20</ipxact:bitOffset> + <ipxact:bitWidth>1</ipxact:bitWidth> + <ipxact:access>read-write</ipxact:access> + </ipxact:field> + <ipxact:field> + <ipxact:name>APE Enable</ipxact:name> + <ipxact:description></ipxact:description> + <ipxact:bitOffset>21</ipxact:bitOffset> + <ipxact:bitWidth>1</ipxact:bitWidth> <ipxact:access>read-write</ipxact:access> </ipxact:field> </ipxact:register> diff --git a/simulator/bcm5719_GEN.cpp b/simulator/bcm5719_GEN.cpp index e1df6af..ad657bd 100644 --- a/simulator/bcm5719_GEN.cpp +++ b/simulator/bcm5719_GEN.cpp @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2018, Evan Lojewski +/// @copyright Copyright (c) 2020, Evan Lojewski /// @cond /// /// All rights reserved. diff --git a/simulator/bcm5719_GEN_sim.cpp b/simulator/bcm5719_GEN_sim.cpp index d3fb0d1..7ebc1d2 100644 --- a/simulator/bcm5719_GEN_sim.cpp +++ b/simulator/bcm5719_GEN_sim.cpp @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2018, Evan Lojewski +/// @copyright Copyright (c) 2020, Evan Lojewski /// @cond /// /// All rights reserved. |