Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ahci: qoriq: Adjust the default register values on ls1021a

Updated the registers' values to enhance SATA performance and
reliability on ls1021a soc.

Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com>
Signed-off-by: Tejun Heo <tj@kernel.org>

authored by

Tang Yuantian and committed by
Tejun Heo
dfcdc5fe e3a6dadc

+14 -10
+14 -10
drivers/ata/ahci_qoriq.c
··· 34 34 35 35 /* port register default value */ 36 36 #define AHCI_PORT_PHY_1_CFG 0xa003fffe 37 - #define AHCI_PORT_PHY_2_CFG 0x28183411 38 - #define AHCI_PORT_PHY_3_CFG 0x0e081004 39 - #define AHCI_PORT_PHY_4_CFG 0x00480811 40 - #define AHCI_PORT_PHY_5_CFG 0x192c96a4 41 37 #define AHCI_PORT_TRANS_CFG 0x08000029 42 - #define LS1043A_PORT_PHY2 0x28184d1f 43 - #define LS1043A_PORT_PHY3 0x0e081509 38 + 39 + /* for ls1021a */ 40 + #define LS1021A_PORT_PHY2 0x28183414 41 + #define LS1021A_PORT_PHY3 0x0e080e06 42 + #define LS1021A_PORT_PHY4 0x064a080b 43 + #define LS1021A_PORT_PHY5 0x2aa86470 44 44 45 45 #define SATA_ECC_DISABLE 0x00020000 46 + 47 + /* for ls1043a */ 48 + #define LS1043A_PORT_PHY2 0x28184d1f 49 + #define LS1043A_PORT_PHY3 0x0e081509 46 50 47 51 enum ahci_qoriq_type { 48 52 AHCI_LS1021A, ··· 157 153 case AHCI_LS1021A: 158 154 writel(SATA_ECC_DISABLE, qpriv->ecc_addr); 159 155 writel(AHCI_PORT_PHY_1_CFG, reg_base + PORT_PHY1); 160 - writel(AHCI_PORT_PHY_2_CFG, reg_base + PORT_PHY2); 161 - writel(AHCI_PORT_PHY_3_CFG, reg_base + PORT_PHY3); 162 - writel(AHCI_PORT_PHY_4_CFG, reg_base + PORT_PHY4); 163 - writel(AHCI_PORT_PHY_5_CFG, reg_base + PORT_PHY5); 156 + writel(LS1021A_PORT_PHY2, reg_base + PORT_PHY2); 157 + writel(LS1021A_PORT_PHY3, reg_base + PORT_PHY3); 158 + writel(LS1021A_PORT_PHY4, reg_base + PORT_PHY4); 159 + writel(LS1021A_PORT_PHY5, reg_base + PORT_PHY5); 164 160 writel(AHCI_PORT_TRANS_CFG, reg_base + PORT_TRANS); 165 161 break; 166 162