Lines Matching refs:udev
77 static int lan78xx_read_raw_otp(struct usb_device *udev, u32 offset, in lan78xx_read_raw_otp() argument
84 ret = lan7x_read_reg(udev, LAN78XX_OTP_PWR_DN, &buf); in lan78xx_read_raw_otp()
90 ret = lan7x_write_reg(udev, LAN78XX_OTP_PWR_DN, 0); in lan78xx_read_raw_otp()
94 ret = lan7x_wait_for_bit(udev, "LAN78XX_OTP_PWR_DN_PWRDN_N", in lan78xx_read_raw_otp()
103 ret = lan7x_write_reg(udev, LAN78XX_OTP_ADDR1, in lan78xx_read_raw_otp()
108 ret = lan7x_write_reg(udev, LAN78XX_OTP_ADDR2, in lan78xx_read_raw_otp()
113 ret = lan7x_write_reg(udev, LAN78XX_OTP_FUNC_CMD, in lan78xx_read_raw_otp()
117 ret = lan7x_write_reg(udev, LAN78XX_OTP_CMD_GO, in lan78xx_read_raw_otp()
123 ret = lan7x_wait_for_bit(udev, "LAN78XX_OTP_STATUS_BUSY", in lan78xx_read_raw_otp()
130 ret = lan7x_read_reg(udev, LAN78XX_OTP_RD_DATA, &buf); in lan78xx_read_raw_otp()
140 static int lan78xx_read_otp(struct usb_device *udev, u32 offset, in lan78xx_read_otp() argument
146 ret = lan78xx_read_raw_otp(udev, 0, 1, &sig); in lan78xx_read_otp()
155 ret = lan78xx_read_raw_otp(udev, offset, length, data); in lan78xx_read_otp()
165 struct usb_device *udev) in lan78xx_read_otp_mac() argument
171 ret = lan78xx_read_otp(udev, in lan78xx_read_otp_mac()
186 static int lan78xx_update_flowcontrol(struct usb_device *udev, in lan78xx_update_flowcontrol() argument
192 ret = lan7x_update_flowcontrol(udev, dev, &flow, &fct_flow); in lan78xx_update_flowcontrol()
196 ret = lan7x_write_reg(udev, LAN78XX_FCT_FLOW, fct_flow); in lan78xx_update_flowcontrol()
199 return lan7x_write_reg(udev, FLOW, flow); in lan78xx_update_flowcontrol()
203 struct usb_device *udev, in lan78xx_read_mac() argument
216 ret = lan7x_read_reg(udev, HW_CFG, &val); in lan78xx_read_mac()
221 ret = lan7x_write_reg(udev, HW_CFG, val); in lan78xx_read_mac()
231 ret = lan7x_read_eeprom_mac(enetaddr, udev); in lan78xx_read_mac()
238 ret = lan7x_write_reg(udev, HW_CFG, saved); in lan78xx_read_mac()
247 return lan78xx_read_otp_mac(enetaddr, udev); in lan78xx_read_mac()
250 static int lan78xx_set_receive_filter(struct usb_device *udev) in lan78xx_set_receive_filter() argument
253 return lan7x_write_reg(udev, LAN78XX_RFE_CTL, in lan78xx_set_receive_filter()
258 static void lan78xx_start_tx_path(struct usb_device *udev) in lan78xx_start_tx_path() argument
261 lan7x_write_reg(udev, MAC_TX, MAC_TX_TXEN); in lan78xx_start_tx_path()
264 lan7x_write_reg(udev, LAN78XX_FCT_TX_CTL, FCT_TX_CTL_EN); in lan78xx_start_tx_path()
268 static void lan78xx_start_rx_path(struct usb_device *udev) in lan78xx_start_rx_path() argument
271 lan7x_write_reg(udev, MAC_RX, in lan78xx_start_rx_path()
276 lan7x_write_reg(udev, LAN78XX_FCT_RX_CTL, FCT_RX_CTL_EN); in lan78xx_start_rx_path()
279 static int lan78xx_basic_reset(struct usb_device *udev, in lan78xx_basic_reset() argument
286 ret = lan7x_basic_reset(udev, dev); in lan78xx_basic_reset()
291 ret = lan7x_read_reg(udev, ID_REV, &val); in lan78xx_basic_reset()
299 ret = lan7x_read_reg(udev, LAN78XX_USB_CFG0, &val); in lan78xx_basic_reset()
303 return lan7x_write_reg(udev, LAN78XX_USB_CFG0, val); in lan78xx_basic_reset()
308 struct usb_device *udev = dev_get_parent_priv(dev); in lan78xx_write_hwaddr() local
316 ret = lan7x_write_reg(udev, RX_ADDRL, addr_lo); in lan78xx_write_hwaddr()
320 ret = lan7x_write_reg(udev, RX_ADDRH, addr_hi); in lan78xx_write_hwaddr()
324 ret = lan7x_write_reg(udev, LAN78XX_MAF_LO(0), addr_lo); in lan78xx_write_hwaddr()
328 ret = lan7x_write_reg(udev, LAN78XX_MAF_HI(0), in lan78xx_write_hwaddr()
340 struct usb_device *udev = dev_get_parent_priv(dev); in lan78xx_eth_start() local
351 ret = lan7x_write_reg(udev, LAN78XX_BURST_CAP, 0); in lan78xx_eth_start()
355 ret = lan7x_write_reg(udev, LAN78XX_BULK_IN_DLY, DEFAULT_BULK_IN_DELAY); in lan78xx_eth_start()
359 ret = lan7x_write_reg(udev, INT_STS, 0xFFFFFFFF); in lan78xx_eth_start()
364 ret = lan7x_write_reg(udev, LAN78XX_FCT_RX_FIFO_END, in lan78xx_eth_start()
369 ret = lan7x_write_reg(udev, LAN78XX_FCT_TX_FIFO_END, in lan78xx_eth_start()
375 ret = lan7x_write_reg(udev, FLOW, 0); in lan78xx_eth_start()
380 ret = lan78xx_set_receive_filter(udev); in lan78xx_eth_start()
396 ret = lan7x_read_reg(udev, MAC_CR, &write_buf); in lan78xx_eth_start()
400 ret = lan7x_write_reg(udev, MAC_CR, write_buf); in lan78xx_eth_start()
404 lan78xx_start_tx_path(udev); in lan78xx_eth_start()
405 lan78xx_start_rx_path(udev); in lan78xx_eth_start()
407 return lan78xx_update_flowcontrol(udev, &priv->ueth); in lan78xx_eth_start()
412 struct usb_device *udev = dev_get_parent_priv(dev); in lan78xx_read_rom_hwaddr() local
417 ret = lan78xx_read_mac(pdata->enetaddr, udev, priv); in lan78xx_read_rom_hwaddr()
426 struct usb_device *udev = dev_get_parent_priv(dev); in lan78xx_eth_probe() local
433 if (lan78xx_basic_reset(udev, ueth, priv)) in lan78xx_eth_probe()
442 lan78xx_read_mac(pdata->enetaddr, udev, priv); in lan78xx_eth_probe()