Hi Yanhong, On Wed, 29 Mar 2023 at 23:29, Yanhong Wang <yanhong.w...@starfivetech.com> wrote: > > The StarFive ETHQOS hardware has its own clock and reset,so add a > corresponding glue driver to configure them. > > Signed-off-by: Yanhong Wang <yanhong.w...@starfivetech.com> > --- > drivers/net/Kconfig | 7 + > drivers/net/Makefile | 1 + > drivers/net/dwc_eth_qos.c | 6 + > drivers/net/dwc_eth_qos.h | 1 + > drivers/net/dwc_eth_qos_starfive.c | 249 +++++++++++++++++++++++++++++ > 5 files changed, 264 insertions(+) > create mode 100644 drivers/net/dwc_eth_qos_starfive.c >
[..] > +static struct eqos_ops eqos_jh7110_ops = { > + .eqos_inval_desc = eqos_inval_desc_generic, > + .eqos_flush_desc = eqos_flush_desc_generic, > + .eqos_inval_buffer = eqos_inval_buffer_generic, > + .eqos_flush_buffer = eqos_flush_buffer_generic, > + .eqos_probe_resources = eqos_probe_resources_jh7110, > + .eqos_remove_resources = eqos_remove_resources_jh7110, > + .eqos_stop_resets = eqos_stop_resets_jh7110, > + .eqos_start_resets = eqos_start_resets_jh7110, > + .eqos_stop_clks = eqos_stop_clks_jh7110, > + .eqos_start_clks = eqos_start_clks_jh7110, > + .eqos_calibrate_pads = eqos_null_ops, > + .eqos_disable_calibration = eqos_null_ops, > + .eqos_set_tx_clk_speed = eqos_set_tx_clk_speed_jh7110, > + .eqos_get_enetaddr = eqos_null_ops, > + .eqos_get_tick_clk_rate = eqos_get_tick_clk_rate_jh7110 > +}; What is eqos_ops? Why is this layer needed in U-Boot? Can you not use driver model directly? Regards, Simon