scsi: ceva: add ls1088a soc support
Add ahci compatible support for ls1088a soc. Signed-off-by: Peng Ma <peng.ma@nxp.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: York Sun <york.sun@nxp.com>
This commit is contained in:
		
							parent
							
								
									3910510012
								
							
						
					
					
						commit
						aaaffe9050
					
				| 
						 | 
					@ -88,9 +88,13 @@
 | 
				
			||||||
#define LS1021_CEVA_PHY4_CFG	0x064a080b
 | 
					#define LS1021_CEVA_PHY4_CFG	0x064a080b
 | 
				
			||||||
#define LS1021_CEVA_PHY5_CFG	0x2aa86470
 | 
					#define LS1021_CEVA_PHY5_CFG	0x2aa86470
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* for ls1088a */
 | 
				
			||||||
 | 
					#define LS1088_ECC_DIS_ADDR_CH2	0x100520
 | 
				
			||||||
 | 
					#define LS1088_ECC_DIS_VAL_CH2	0x40000000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* ecc addr-val pair */
 | 
					/* ecc addr-val pair */
 | 
				
			||||||
#define ECC_DIS_ADDR_CH2	0x80000000
 | 
					#define ECC_DIS_ADDR_CH2	0x20140520
 | 
				
			||||||
#define ECC_DIS_VAL_CH2		0x20140520
 | 
					#define ECC_DIS_VAL_CH2		0x80000000
 | 
				
			||||||
#define SATA_ECC_REG_ADDR	0x20220520
 | 
					#define SATA_ECC_REG_ADDR	0x20220520
 | 
				
			||||||
#define SATA_ECC_DISABLE	0x00020000
 | 
					#define SATA_ECC_DISABLE	0x00020000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -100,6 +104,7 @@ enum ceva_soc {
 | 
				
			||||||
	CEVA_LS1021A,
 | 
						CEVA_LS1021A,
 | 
				
			||||||
	CEVA_LS1043A,
 | 
						CEVA_LS1043A,
 | 
				
			||||||
	CEVA_LS1046A,
 | 
						CEVA_LS1046A,
 | 
				
			||||||
 | 
						CEVA_LS1088A,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct ceva_sata_priv {
 | 
					struct ceva_sata_priv {
 | 
				
			||||||
| 
						 | 
					@ -140,7 +145,15 @@ static int ceva_init_sata(struct ceva_sata_priv *priv)
 | 
				
			||||||
	case CEVA_LS1012A:
 | 
						case CEVA_LS1012A:
 | 
				
			||||||
	case CEVA_LS1043A:
 | 
						case CEVA_LS1043A:
 | 
				
			||||||
	case CEVA_LS1046A:
 | 
						case CEVA_LS1046A:
 | 
				
			||||||
		writel(ECC_DIS_ADDR_CH2, ECC_DIS_VAL_CH2);
 | 
							writel(ECC_DIS_VAL_CH2, ECC_DIS_ADDR_CH2);
 | 
				
			||||||
 | 
							writel(CEVA_PHY1_CFG, base + AHCI_VEND_PPCFG);
 | 
				
			||||||
 | 
							writel(CEVA_TRANS_CFG, base + AHCI_VEND_PTC);
 | 
				
			||||||
 | 
							if (priv->flag & FLAG_COHERENT)
 | 
				
			||||||
 | 
								writel(CEVA_AXICC_CFG, base + AHCI_VEND_AXICC);
 | 
				
			||||||
 | 
							break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						case CEVA_LS1088A:
 | 
				
			||||||
 | 
							writel(LS1088_ECC_DIS_VAL_CH2, LS1088_ECC_DIS_ADDR_CH2);
 | 
				
			||||||
		writel(CEVA_PHY1_CFG, base + AHCI_VEND_PPCFG);
 | 
							writel(CEVA_PHY1_CFG, base + AHCI_VEND_PPCFG);
 | 
				
			||||||
		writel(CEVA_TRANS_CFG, base + AHCI_VEND_PTC);
 | 
							writel(CEVA_TRANS_CFG, base + AHCI_VEND_PTC);
 | 
				
			||||||
		if (priv->flag & FLAG_COHERENT)
 | 
							if (priv->flag & FLAG_COHERENT)
 | 
				
			||||||
| 
						 | 
					@ -173,6 +186,7 @@ static const struct udevice_id sata_ceva_ids[] = {
 | 
				
			||||||
	{ .compatible = "fsl,ls1021a-ahci", .data = CEVA_LS1021A },
 | 
						{ .compatible = "fsl,ls1021a-ahci", .data = CEVA_LS1021A },
 | 
				
			||||||
	{ .compatible = "fsl,ls1043a-ahci", .data = CEVA_LS1043A },
 | 
						{ .compatible = "fsl,ls1043a-ahci", .data = CEVA_LS1043A },
 | 
				
			||||||
	{ .compatible = "fsl,ls1046a-ahci", .data = CEVA_LS1046A },
 | 
						{ .compatible = "fsl,ls1046a-ahci", .data = CEVA_LS1046A },
 | 
				
			||||||
 | 
						{ .compatible = "fsl,ls1088a-ahci", .data = CEVA_LS1088A },
 | 
				
			||||||
	{ }
 | 
						{ }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue