From 7ff327fd5e3b36cd801bcadea7337285cf130ea2 Mon Sep 17 00:00:00 2001 From: William Wu Date: Tue, 16 Aug 2022 15:17:27 +0800 Subject: [PATCH] phy: rockchip: naneng-combophy: adjust Rx squelch for RK3588 U3 This patch adjust the RK3588 U3 Rx squelch input filler bandwidth which is used for rx_lfps, reduce the bandwidth to avoid filtering valid superspeed data. With this patch, it can fix the issue that Kingston U3 Disk read error on RK3588 platforms with the following log: [ 71.507131][ T404] usb 6-1: new SuperSpeed Gen 1 USB device number 2 using xhci-hcd [ 71.524942][ T404] usb 6-1: New USB device found, idVendor=0951, idProduct=1666, bcdDevice= 1.10 [ 71.524971][ T404] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 71.524984][ T404] usb 6-1: Product: DataTraveler 3.0 [ 71.524995][ T404] usb 6-1: Manufacturer: Kingston [ 71.525006][ T404] usb 6-1: SerialNumber: 08606E6D3FDDB090680C42D4 [ 71.532019][ T404] usb-storage 6-1:1.0: USB Mass Storage device detected [ 71.537183][ T404] scsi host0: usb-storage 6-1:1.0 [ 72.541060][ T9] scsi 0:0:0:0: Direct-Access Kingston DataTraveler 3.0 PMAP PQ: 0 ANSI: 6 [ 72.542143][ T9] sd 0:0:0:0: Attached scsi generic sg0 type 0 [ 72.542545][ T222] sd 0:0:0:0: [sda] 30277632 512-byte logical blocks: (15.5 GB/14.4 GiB) [ 72.542800][ T222] sd 0:0:0:0: [sda] Write Protect is off [ 72.543171][ T222] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [ 72.620179][ T222] sda: sda4 [ 72.623249][ T222] sd 0:0:0:0: [sda] Attached SCSI removable disk [ 72.797197][ T2097] usb 6-1: reset SuperSpeed Gen 1 USB device number 2 using xhci-hcd [ 72.814719][ C3] sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=0s [ 72.814735][ C3] sd 0:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 11 20 00 01 00 00 [ 72.814743][ C3] blk_update_request: I/O error, dev sda, sector 4384 op 0x0:(READ) flags 0x80700 phys_seg 29 prio class 0 Signed-off-by: William Wu Change-Id: I78031bcc79008fb34a529b7bbc71f5d4aae9c375 --- drivers/phy/rockchip/phy-rockchip-naneng-combphy.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c index abd5eb2346b8..84c3884f5cff 100644 --- a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c +++ b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c @@ -703,6 +703,9 @@ static int rk3588_combphy_cfg(struct rockchip_combphy_priv *priv) /* Set PLL KVCO to min and set PLL charge pump current to max */ writel(0xf0, priv->mmio + (0xa << 2)); + /* Set Rx squelch input filler bandwidth */ + writel(0x0d, priv->mmio + (0x14 << 2)); + param_write(priv->phy_grf, &cfg->pipe_txcomp_sel, false); param_write(priv->phy_grf, &cfg->pipe_txelec_sel, false); param_write(priv->phy_grf, &cfg->usb_mode_set, true);