Lines Matching refs:udev
75 static int lan78xx_read_raw_otp(struct usb_device *udev, u32 offset, in lan78xx_read_raw_otp() argument
82 ret = lan7x_read_reg(udev, LAN78XX_OTP_PWR_DN, &buf); in lan78xx_read_raw_otp()
88 ret = lan7x_write_reg(udev, LAN78XX_OTP_PWR_DN, 0); in lan78xx_read_raw_otp()
92 ret = lan7x_wait_for_bit(udev, "LAN78XX_OTP_PWR_DN_PWRDN_N", in lan78xx_read_raw_otp()
101 ret = lan7x_write_reg(udev, LAN78XX_OTP_ADDR1, in lan78xx_read_raw_otp()
106 ret = lan7x_write_reg(udev, LAN78XX_OTP_ADDR2, in lan78xx_read_raw_otp()
111 ret = lan7x_write_reg(udev, LAN78XX_OTP_FUNC_CMD, in lan78xx_read_raw_otp()
115 ret = lan7x_write_reg(udev, LAN78XX_OTP_CMD_GO, in lan78xx_read_raw_otp()
121 ret = lan7x_wait_for_bit(udev, "LAN78XX_OTP_STATUS_BUSY", in lan78xx_read_raw_otp()
128 ret = lan7x_read_reg(udev, LAN78XX_OTP_RD_DATA, &buf); in lan78xx_read_raw_otp()
138 static int lan78xx_read_otp(struct usb_device *udev, u32 offset, in lan78xx_read_otp() argument
144 ret = lan78xx_read_raw_otp(udev, 0, 1, &sig); in lan78xx_read_otp()
153 ret = lan78xx_read_raw_otp(udev, offset, length, data); in lan78xx_read_otp()
163 struct usb_device *udev) in lan78xx_read_otp_mac() argument
169 ret = lan78xx_read_otp(udev, in lan78xx_read_otp_mac()
184 static int lan78xx_update_flowcontrol(struct usb_device *udev, in lan78xx_update_flowcontrol() argument
190 ret = lan7x_update_flowcontrol(udev, dev, &flow, &fct_flow); in lan78xx_update_flowcontrol()
194 ret = lan7x_write_reg(udev, LAN78XX_FCT_FLOW, fct_flow); in lan78xx_update_flowcontrol()
197 return lan7x_write_reg(udev, FLOW, flow); in lan78xx_update_flowcontrol()
201 struct usb_device *udev, in lan78xx_read_mac() argument
214 ret = lan7x_read_reg(udev, HW_CFG, &val); in lan78xx_read_mac()
219 ret = lan7x_write_reg(udev, HW_CFG, val); in lan78xx_read_mac()
229 ret = lan7x_read_eeprom_mac(enetaddr, udev); in lan78xx_read_mac()
236 ret = lan7x_write_reg(udev, HW_CFG, saved); in lan78xx_read_mac()
245 return lan78xx_read_otp_mac(enetaddr, udev); in lan78xx_read_mac()
248 static int lan78xx_set_receive_filter(struct usb_device *udev) in lan78xx_set_receive_filter() argument
251 return lan7x_write_reg(udev, LAN78XX_RFE_CTL, in lan78xx_set_receive_filter()
256 static void lan78xx_start_tx_path(struct usb_device *udev) in lan78xx_start_tx_path() argument
259 lan7x_write_reg(udev, MAC_TX, MAC_TX_TXEN); in lan78xx_start_tx_path()
262 lan7x_write_reg(udev, LAN78XX_FCT_TX_CTL, FCT_TX_CTL_EN); in lan78xx_start_tx_path()
266 static void lan78xx_start_rx_path(struct usb_device *udev) in lan78xx_start_rx_path() argument
269 lan7x_write_reg(udev, MAC_RX, in lan78xx_start_rx_path()
274 lan7x_write_reg(udev, LAN78XX_FCT_RX_CTL, FCT_RX_CTL_EN); in lan78xx_start_rx_path()
277 static int lan78xx_basic_reset(struct usb_device *udev, in lan78xx_basic_reset() argument
284 ret = lan7x_basic_reset(udev, dev); in lan78xx_basic_reset()
289 ret = lan7x_read_reg(udev, ID_REV, &val); in lan78xx_basic_reset()
297 ret = lan7x_read_reg(udev, LAN78XX_USB_CFG0, &val); in lan78xx_basic_reset()
301 return lan7x_write_reg(udev, LAN78XX_USB_CFG0, val); in lan78xx_basic_reset()
306 struct usb_device *udev = dev_get_parent_priv(dev); in lan78xx_write_hwaddr() local
314 ret = lan7x_write_reg(udev, RX_ADDRL, addr_lo); in lan78xx_write_hwaddr()
318 ret = lan7x_write_reg(udev, RX_ADDRH, addr_hi); in lan78xx_write_hwaddr()
322 ret = lan7x_write_reg(udev, LAN78XX_MAF_LO(0), addr_lo); in lan78xx_write_hwaddr()
326 ret = lan7x_write_reg(udev, LAN78XX_MAF_HI(0), in lan78xx_write_hwaddr()
338 struct usb_device *udev = dev_get_parent_priv(dev); in lan78xx_eth_start() local
349 ret = lan7x_write_reg(udev, LAN78XX_BURST_CAP, 0); in lan78xx_eth_start()
353 ret = lan7x_write_reg(udev, LAN78XX_BULK_IN_DLY, DEFAULT_BULK_IN_DELAY); in lan78xx_eth_start()
357 ret = lan7x_write_reg(udev, INT_STS, 0xFFFFFFFF); in lan78xx_eth_start()
362 ret = lan7x_write_reg(udev, LAN78XX_FCT_RX_FIFO_END, in lan78xx_eth_start()
367 ret = lan7x_write_reg(udev, LAN78XX_FCT_TX_FIFO_END, in lan78xx_eth_start()
373 ret = lan7x_write_reg(udev, FLOW, 0); in lan78xx_eth_start()
378 ret = lan78xx_set_receive_filter(udev); in lan78xx_eth_start()
394 ret = lan7x_read_reg(udev, MAC_CR, &write_buf); in lan78xx_eth_start()
398 ret = lan7x_write_reg(udev, MAC_CR, write_buf); in lan78xx_eth_start()
402 lan78xx_start_tx_path(udev); in lan78xx_eth_start()
403 lan78xx_start_rx_path(udev); in lan78xx_eth_start()
405 return lan78xx_update_flowcontrol(udev, &priv->ueth); in lan78xx_eth_start()
410 struct usb_device *udev = dev_get_parent_priv(dev); in lan78xx_read_rom_hwaddr() local
415 ret = lan78xx_read_mac(pdata->enetaddr, udev, priv); in lan78xx_read_rom_hwaddr()
424 struct usb_device *udev = dev_get_parent_priv(dev); in lan78xx_eth_probe() local
431 if (lan78xx_basic_reset(udev, ueth, priv)) in lan78xx_eth_probe()
440 lan78xx_read_mac(pdata->enetaddr, udev, priv); in lan78xx_eth_probe()