[PATCH v7 4/7] usb: onboard-hub: Add i2c initialization for usb5744 hub

Marek Vasut marex at denx.de
Tue Oct 8 18:15:45 CEST 2024


On 10/8/24 5:41 PM, Venkatesh Yadav Abbarapu wrote:
> Add i2c initialization hook and set usb5744 platform
> data with function having required i2c initialization sequence.
> 
> Apart from the USB command attach, prevent the hub from suspend.
> when the “USB Attach with SMBUS (0xAA56)” command is issued to the hub,
> the hub is getting enumerated and then it puts in a suspend mode.
> This causes the hub to NAK any SMBUS access made by the SMBUS Master
> during this period and not able to see the hub's slave address while
> running the "i2c probe" command.
> 
> Prevent the MCU from the putting the HUB in suspend mode through register
> write. The BYPASS_UDC_SUSPEND bit (Bit 3) of the RuntimeFlags2 register at
> address 0x411D controls this aspect of the hub. The BYPASS_UDC_SUSPEND
> bit in register 0x411Dh must be set to ensure that the MCU is always
> enabled and ready to respond to SMBus runtime commands. This register
> needs to be written before the USB attach command is issued.
> The byte sequence is as follows:
> Slave addr: 0x2d           00 00 05 00 01 41 1D 08
> Slave addr: 0x2d           99 37 00
> Slave addr: 0x2d           AA 56 00
> 
> Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu at amd.com>
Reviewed-by: Marek Vasut <marex at denx.de>


More information about the U-Boot mailing list