|
149 | 149 |
|
150 | 150 | /* |
151 | 151 | * Register offsets within the respective GEM's address space: |
152 | | - * NWCTRL = gem.net_ctrl Network Control register |
153 | | - * NWCFG = gem.net_cfg Network Configuration register |
154 | | - * NWSR = gem.net_status Network Status register |
155 | | - * DMACR = gem.dma_cfg DMA Control register |
156 | | - * TXSR = gem.tx_status TX Status register |
157 | | - * RXQBASE = gem.rx_qbar RXQ base address register |
158 | | - * TXQBASE = gem.tx_qbar TXQ base address register |
159 | | - * RXSR = gem.rx_status RX Status register |
160 | | - * ISR = gem.intr_status Interrupt status register |
161 | | - * IER = gem.intr_en Interrupt enable register |
162 | | - * IDR = gem.intr_dis Interrupt disable register |
163 | | - * IMR = gem.intr_mask Interrupt mask register |
164 | | - * PHYMNTNC = gem.phy_maint PHY maintenance register |
165 | | - * LADDR1L = gem.spec_addr1_bot Specific address 1 bottom register |
166 | | - * LADDR1H = gem.spec_addr1_top Specific address 1 top register |
167 | | - * LADDR2L = gem.spec_addr2_bot Specific address 2 bottom register |
168 | | - * LADDR2H = gem.spec_addr2_top Specific address 2 top register |
169 | | - * LADDR3L = gem.spec_addr3_bot Specific address 3 bottom register |
170 | | - * LADDR3H = gem.spec_addr3_top Specific address 3 top register |
171 | | - * LADDR4L = gem.spec_addr4_bot Specific address 4 bottom register |
172 | | - * LADDR4H = gem.spec_addr4_top Specific address 4 top register |
| 152 | + * NWCTRL = gem.net_ctrl Network Control register |
| 153 | + * NWCFG = gem.net_cfg Network Configuration register |
| 154 | + * NWSR = gem.net_status Network Status register |
| 155 | + * DMACR = gem.dma_cfg DMA Control register |
| 156 | + * TXSR = gem.tx_status TX Status register |
| 157 | + * RXQBASE = gem.rx_qbar RXQ base address register |
| 158 | + * TXQBASE = gem.tx_qbar TXQ base address register |
| 159 | + * RXSR = gem.rx_status RX Status register |
| 160 | + * ISR = gem.intr_status Interrupt status register |
| 161 | + * IER = gem.intr_en Interrupt enable register |
| 162 | + * IDR = gem.intr_dis Interrupt disable register |
| 163 | + * IMR = gem.intr_mask Interrupt mask register |
| 164 | + * PHYMNTNC = gem.phy_maint PHY maintenance register |
| 165 | + * LADDR1L = gem.spec_addr1_bot Specific address 1 bottom register |
| 166 | + * LADDR1H = gem.spec_addr1_top Specific address 1 top register |
| 167 | + * LADDR2L = gem.spec_addr2_bot Specific address 2 bottom register |
| 168 | + * LADDR2H = gem.spec_addr2_top Specific address 2 top register |
| 169 | + * LADDR3L = gem.spec_addr3_bot Specific address 3 bottom register |
| 170 | + * LADDR3H = gem.spec_addr3_top Specific address 3 top register |
| 171 | + * LADDR4L = gem.spec_addr4_bot Specific address 4 bottom register |
| 172 | + * LADDR4H = gem.spec_addr4_top Specific address 4 top register |
| 173 | + * DESIGN_CFG5 = gem.design_cfg5 Design Configuration 5 register |
173 | 174 | */ |
174 | 175 | #define ETH_XLNX_GEM_NWCTRL_OFFSET 0x00000000 |
175 | 176 | #define ETH_XLNX_GEM_NWCFG_OFFSET 0x00000004 |
|
192 | 193 | #define ETH_XLNX_GEM_LADDR3H_OFFSET 0x0000009C |
193 | 194 | #define ETH_XLNX_GEM_LADDR4L_OFFSET 0x000000A0 |
194 | 195 | #define ETH_XLNX_GEM_LADDR4H_OFFSET 0x000000A4 |
| 196 | +#define ETH_XLNX_GEM_DESIGN_CFG5_OFFSET 0x00000290 |
195 | 197 |
|
196 | 198 | /* |
197 | 199 | * Masks for clearing registers during initialization: |
|
403 | 405 | #define ETH_XLNX_GEM_PHY_MAINT_REGISTER_ID_SHIFT 18 |
404 | 406 | #define ETH_XLNX_GEM_PHY_MAINT_DATA_MASK 0x0000FFFF |
405 | 407 |
|
| 408 | +/* |
| 409 | + * gem.design_cfg5: |
| 410 | + * [11 .. 10] Data bus width of the current target SoC |
| 411 | + * (mask identical with ETH_XLNX_GEM_NWCFG_DBUSW_MASK) |
| 412 | + */ |
| 413 | +#define ETH_XLNX_GEM_DESIGN_CFG5_DBUSW_SHIFT 10 |
| 414 | + |
406 | 415 | /* Device initialization macro */ |
407 | 416 | #define ETH_XLNX_GEM_NET_DEV_INIT(port) \ |
408 | 417 | ETH_NET_DEVICE_DT_INST_DEFINE(port,\ |
@@ -431,8 +440,6 @@ static const struct eth_xlnx_gem_dev_cfg eth_xlnx_gem##port##_dev_cfg = {\ |
431 | 440 | .phy_poll_interval = DT_INST_PROP(port, phy_poll_interval),\ |
432 | 441 | .defer_rxp_to_queue = !DT_INST_PROP(port, handle_rx_in_isr),\ |
433 | 442 | .defer_txd_to_queue = DT_INST_PROP(port, handle_tx_in_workq),\ |
434 | | - .amba_dbus_width = (enum eth_xlnx_amba_dbus_width)\ |
435 | | - (DT_INST_PROP(port, amba_ahb_dbus_width)),\ |
436 | 443 | .ahb_burst_length = (enum eth_xlnx_ahb_burst_length)\ |
437 | 444 | (DT_INST_PROP(port, amba_ahb_burst_length)),\ |
438 | 445 | .hw_rx_buffer_size = (enum eth_xlnx_hwrx_buffer_size)\ |
@@ -557,20 +564,6 @@ enum eth_xlnx_link_speed { |
557 | 564 | LINK_1GBIT |
558 | 565 | }; |
559 | 566 |
|
560 | | -/** |
561 | | - * @brief AMBA AHB data bus width configuration enumeration type. |
562 | | - * |
563 | | - * Enumeration type containing the supported width options for the |
564 | | - * AMBA AHB data bus. This is a configuration item in the controller's |
565 | | - * net_cfg register. |
566 | | - */ |
567 | | -enum eth_xlnx_amba_dbus_width { |
568 | | - /* The values of this enum are consecutively numbered */ |
569 | | - AMBA_AHB_DBUS_WIDTH_32BIT = 0, |
570 | | - AMBA_AHB_DBUS_WIDTH_64BIT, |
571 | | - AMBA_AHB_DBUS_WIDTH_128BIT |
572 | | -}; |
573 | | - |
574 | 567 | /** |
575 | 568 | * @brief MDC clock divider configuration enumeration type. |
576 | 569 | * |
@@ -696,7 +689,6 @@ struct eth_xlnx_gem_dev_cfg { |
696 | 689 | uint8_t defer_rxp_to_queue; |
697 | 690 | uint8_t defer_txd_to_queue; |
698 | 691 |
|
699 | | - enum eth_xlnx_amba_dbus_width amba_dbus_width; |
700 | 692 | enum eth_xlnx_ahb_burst_length ahb_burst_length; |
701 | 693 | enum eth_xlnx_hwrx_buffer_size hw_rx_buffer_size; |
702 | 694 | uint8_t hw_rx_buffer_offset; |
|
0 commit comments