stmmac_set_clk_tx_rate(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

Okay so bestie, welcome to the stmmac_set_clk_tx_rate(9) manual page β€” this function sets the clock rate for the MAC transmit clock. Iconic little clock business, no cap. πŸ’…


✨ SYNOPSIS ✨

int stmmac_set_clk_tx_rate (void *bsp_priv , struct clk *clk_tx_i ,
       phy_interface_t interface , int speed );

πŸŽ€ ARGUMENTS πŸŽ€

  • bsp_priv β€” the BSP private data structure, and yes, it is unused. She’s just there vibing. πŸ™ˆ
  • clk_tx_i β€” the transmit clock. The main character of this function, fr fr. πŸ•°οΈ
  • interface β€” the selected interface mode. Gotta know which vibe we’re on. πŸ¦‹
  • speed β€” the speed that the MAC will be operating at. Clock rate math starts now. ⚑

πŸ’– DESCRIPTION πŸ’–

So this one sets the transmit clock rate for the MAC. Normally it’s 2.5MHz for 10Mbps, 25MHz for 100Mbps, and 125MHz for 1Gbps. It’s suitable for at least MII, GMII, RGMII, and RMII interface modes β€” a whole little squad of modes, slay. 🌈

Platforms can hook this into the plat_data->set_clk_tx_rate method directly, call it via their own implementation, or implement their own method should they have more complex requirements. It is intended to only be used in this method. Like, literally only in this method, bestie. πŸ‘‘

🚨 Real talk: plat_data->clk_tx_i must be filled in. Do not forget, okay? This is not a drill. πŸ’€

πŸ‘€ SEE ALSO πŸ‘€

Kernel file ./drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

And here’s the whole friend group β€” every single one, no skipping:


Signing off from the source/version ./drivers/net/ethernet/stmicro..., dated October 2026 β€” this was the stmmac_set_clk_tx_rate(9) page, and she ate. Stay slay, bestie! πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from