[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 26/45] Add GENET register structs. Part 4
From: |
Sergey Kambalin |
Subject: |
[PATCH v4 26/45] Add GENET register structs. Part 4 |
Date: |
Thu, 7 Dec 2023 20:31:26 -0600 |
Signed-off-by: Sergey Kambalin <sergey.kambalin@auriga.com>
---
include/hw/net/bcm2838_genet.h | 37 ++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/include/hw/net/bcm2838_genet.h b/include/hw/net/bcm2838_genet.h
index 1bd004785a..94c2f3ebca 100644
--- a/include/hw/net/bcm2838_genet.h
+++ b/include/hw/net/bcm2838_genet.h
@@ -25,6 +25,12 @@ OBJECT_DECLARE_SIMPLE_TYPE(BCM2838GenetState, BCM2838_GENET)
#define BCM2838_GENET_HFB_FILTER_CNT 48
#define BCM2838_GENET_HFB_FILTER_SIZE 128
+#define BCM2838_GENET_PHY_AUX_CTL_MISC 0x7
+#define BCM2838_GENET_PHY_AUX_CTL_REGS_SIZE 8
+
+#define BCM2838_GENET_PHY_EXP_SHD_BLOCKS_CNT 256
+#define BCM2838_GENET_PHY_EXP_SHD_REGS_CNT 256
+
typedef struct {
uint32_t rev_ctrl;
uint32_t port_ctrl;
@@ -273,6 +279,34 @@ typedef struct {
uint16_t rdb_data;
} BCM2838GenetPhyRegs;
+typedef struct {
+ uint16_t reserved_0_2[3];
+ uint16_t clk_ctl;
+ uint16_t scr2;
+ uint16_t scr3;
+ uint16_t reserved_6_9[4];
+ uint16_t apd;
+ uint16_t rgmii_mode;
+ uint16_t reserved_12;
+ uint16_t leds1;
+ uint16_t reserved_14_18[5];
+ uint16_t _100fx_ctrl;
+ uint16_t ssd;
+ uint16_t reserved_21_30[10];
+ uint16_t mode;
+} BCM2838GenetPhyShdRegs;
+
+typedef struct {
+ uint16_t auxctl;
+ uint16_t reserved_1_6[BCM2838_GENET_PHY_AUX_CTL_REGS_SIZE - 2];
+ uint16_t misc;
+} BCM2838GenetPhyAuxShdRegs;
+
+typedef struct {
+ uint16_t regs[BCM2838_GENET_PHY_EXP_SHD_BLOCKS_CNT]
+ [BCM2838_GENET_PHY_EXP_SHD_REGS_CNT];
+} BCM2838GenetPhyExpShdRegs;
+
struct BCM2838GenetState {
/*< private >*/
SysBusDevice parent_obj;
@@ -284,6 +318,9 @@ struct BCM2838GenetState {
BCM2838GenetRegs regs;
BCM2838GenetPhyRegs phy_regs;
+ BCM2838GenetPhyShdRegs phy_shd_regs;
+ BCM2838GenetPhyAuxShdRegs phy_aux_ctl_shd_regs;
+ BCM2838GenetPhyExpShdRegs phy_exp_shd_regs;
qemu_irq irq_default;
qemu_irq irq_prio;
--
2.34.1
- [PATCH v4 16/45] Enable BCM2838 PCIE, (continued)
- [PATCH v4 16/45] Enable BCM2838 PCIE, Sergey Kambalin, 2023/12/07
- [PATCH v4 17/45] Add RNG200 skeleton, Sergey Kambalin, 2023/12/07
- [PATCH v4 18/45] Add RNG200 RNG and RBG, Sergey Kambalin, 2023/12/07
- [PATCH v4 20/45] Implement BCM2838 thermal sensor, Sergey Kambalin, 2023/12/07
- [PATCH v4 21/45] Add clock_isp stub, Sergey Kambalin, 2023/12/07
- [PATCH v4 19/45] Get rid of RNG200 timer, Sergey Kambalin, 2023/12/07
- [PATCH v4 22/45] Add GENET stub, Sergey Kambalin, 2023/12/07
- [PATCH v4 24/45] Add GENET register structs. Part 2, Sergey Kambalin, 2023/12/07
- [PATCH v4 25/45] Add GENET register structs. Part 3, Sergey Kambalin, 2023/12/07
- [PATCH v4 23/45] Add GENET register structs. Part 1, Sergey Kambalin, 2023/12/07
- [PATCH v4 26/45] Add GENET register structs. Part 4,
Sergey Kambalin <=
- [PATCH v4 27/45] Add GENET register access macros, Sergey Kambalin, 2023/12/07
- [PATCH v4 29/45] Implement GENET MDIO, Sergey Kambalin, 2023/12/07
- [PATCH v4 28/45] Implement GENET register ops, Sergey Kambalin, 2023/12/07
- [PATCH v4 30/45] Implement GENET TX path, Sergey Kambalin, 2023/12/07
- [PATCH v4 31/45] Implement GENET RX path, Sergey Kambalin, 2023/12/07
- [PATCH v4 32/45] Enable BCM2838 GENET controller, Sergey Kambalin, 2023/12/07
- [PATCH v4 33/45] Connect RNG200, PCIE and GENET to GIC, Sergey Kambalin, 2023/12/07
- [PATCH v4 34/45] Add Rpi4b boot tests, Sergey Kambalin, 2023/12/07
- [PATCH v4 35/45] Add mailbox test stub, Sergey Kambalin, 2023/12/07
- [PATCH v4 37/45] Add mailbox tests tags. Part 1, Sergey Kambalin, 2023/12/07