[U-Boot] [PATCH 1/3] scsi: ceva: add ls1088a soc support

Add ahci compatible support for ls1088a soc.
Signed-off-by: Peng Ma peng.ma@nxp.com --- depend on: - https://patchwork.ozlabs.org/patch/982386/
drivers/ata/sata_ceva.c | 22 ++++++++++++++++++---- 1 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/drivers/ata/sata_ceva.c b/drivers/ata/sata_ceva.c index a2d21d9..fa86797 100644 --- a/drivers/ata/sata_ceva.c +++ b/drivers/ata/sata_ceva.c @@ -82,15 +82,19 @@ #define CEVA_AXICC_CFG 0x3fffffff
/* for ls1021a */ -#define LS1021_AHCI_VEND_AXICC 0xC0 +#define LS1021_AHCI_VEND_AXICC 0xC0 #define LS1021_CEVA_PHY2_CFG 0x28183414 #define LS1021_CEVA_PHY3_CFG 0x0e080e06 #define LS1021_CEVA_PHY4_CFG 0x064a080b #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 */ -#define ECC_DIS_ADDR_CH2 0x80000000 -#define ECC_DIS_VAL_CH2 0x20140520 +#define ECC_DIS_ADDR_CH2 0x20140520 +#define ECC_DIS_VAL_CH2 0x80000000 #define SATA_ECC_REG_ADDR 0x20220520 #define SATA_ECC_DISABLE 0x00020000
@@ -100,6 +104,7 @@ enum ceva_soc { CEVA_LS1021A, CEVA_LS1043A, CEVA_LS1046A, + CEVA_LS1088A, };
struct ceva_sata_priv { @@ -140,7 +145,15 @@ static int ceva_init_sata(struct ceva_sata_priv *priv) case CEVA_LS1012A: case CEVA_LS1043A: 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_TRANS_CFG, base + AHCI_VEND_PTC); 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,ls1043a-ahci", .data = CEVA_LS1043A }, { .compatible = "fsl,ls1046a-ahci", .data = CEVA_LS1046A }, + { .compatible = "fsl,ls1088a-ahci", .data = CEVA_LS1088A }, { } };

One ls1088a, there is one SATA 3.0 advanced host controller interface which is a high-performance SATA solution that delivers comprehensive and fully-compliant generation 3 (1.5 Gb/s - 6.0 Gb/s) serial ATA capabilities, in accordance with the serial ATA revision 3.0 of Serial ATA International Organization. Add sata node to support this feature.
Signed-off-by: Peng Ma peng.ma@nxp.com --- arch/arm/dts/fsl-ls1088a-qds.dts | 4 ++++ arch/arm/dts/fsl-ls1088a-rdb.dts | 4 ++++ arch/arm/dts/fsl-ls1088a.dtsi | 8 ++++++++ 3 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/arch/arm/dts/fsl-ls1088a-qds.dts b/arch/arm/dts/fsl-ls1088a-qds.dts index 36116f7..4ea451c 100644 --- a/arch/arm/dts/fsl-ls1088a-qds.dts +++ b/arch/arm/dts/fsl-ls1088a-qds.dts @@ -104,3 +104,7 @@ reg = <1>; }; }; + +&sata { + status = "okay"; +}; diff --git a/arch/arm/dts/fsl-ls1088a-rdb.dts b/arch/arm/dts/fsl-ls1088a-rdb.dts index 0be3f8d..f30bbb7 100644 --- a/arch/arm/dts/fsl-ls1088a-rdb.dts +++ b/arch/arm/dts/fsl-ls1088a-rdb.dts @@ -37,3 +37,7 @@ reg = <1>; }; }; + +&sata { + status = "okay"; +}; diff --git a/arch/arm/dts/fsl-ls1088a.dtsi b/arch/arm/dts/fsl-ls1088a.dtsi index 72d755a..9455e03 100644 --- a/arch/arm/dts/fsl-ls1088a.dtsi +++ b/arch/arm/dts/fsl-ls1088a.dtsi @@ -150,4 +150,12 @@ ranges = <0x81000000 0x0 0x00000000 0x30 0x00020000 0x0 0x00010000 /* downstream I/O */ 0x82000000 0x0 0x40000000 0x30 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ }; + + sata: sata@3200000 { + compatible = "fsl,ls1088a-ahci"; + reg = <0x0 0x3200000 0x0 0x10000>; + interrupts = <0 133 4>; + status = "disabled"; + }; + };

On 21 October 2018 at 20:39, Peng Ma peng.ma@nxp.com wrote:
One ls1088a, there is one SATA 3.0 advanced host controller interface which is a high-performance SATA solution that delivers comprehensive and fully-compliant generation 3 (1.5 Gb/s - 6.0 Gb/s) serial ATA capabilities, in accordance with the serial ATA revision 3.0 of Serial ATA International Organization. Add sata node to support this feature.
Signed-off-by: Peng Ma peng.ma@nxp.com
arch/arm/dts/fsl-ls1088a-qds.dts | 4 ++++ arch/arm/dts/fsl-ls1088a-rdb.dts | 4 ++++ arch/arm/dts/fsl-ls1088a.dtsi | 8 ++++++++ 3 files changed, 16 insertions(+), 0 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org

Enable related configs to support sata DM feature.
Signed-off-by: Peng Ma peng.ma@nxp.com --- configs/ls1088aqds_defconfig | 5 +++++ configs/ls1088ardb_qspi_defconfig | 5 +++++ 2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/configs/ls1088aqds_defconfig b/configs/ls1088aqds_defconfig index 64677f0..3010f24 100644 --- a/configs/ls1088aqds_defconfig +++ b/configs/ls1088aqds_defconfig @@ -49,3 +49,8 @@ CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_BLK=y CONFIG_DM_MMC=y +CONFIG_DM_SCSI=y +CONFIG_SATA_CEVA=y +CONFIG_SCSI_AHCI=y +CONFIG_SCSI=y +CONFIG_AHCI=y diff --git a/configs/ls1088ardb_qspi_defconfig b/configs/ls1088ardb_qspi_defconfig index 1feaded..9959703 100644 --- a/configs/ls1088ardb_qspi_defconfig +++ b/configs/ls1088ardb_qspi_defconfig @@ -55,3 +55,8 @@ CONFIG_USB_GADGET=y CONFIG_EFI_LOADER_BOUNCE_BUFFER=y CONFIG_BLK=y CONFIG_DM_MMC=y +CONFIG_DM_SCSI=y +CONFIG_SATA_CEVA=y +CONFIG_SCSI_AHCI=y +CONFIG_SCSI=y +CONFIG_AHCI=y

On 21 October 2018 at 20:39, Peng Ma peng.ma@nxp.com wrote:
Enable related configs to support sata DM feature.
Signed-off-by: Peng Ma peng.ma@nxp.com
configs/ls1088aqds_defconfig | 5 +++++ configs/ls1088ardb_qspi_defconfig | 5 +++++ 2 files changed, 10 insertions(+), 0 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org

On 21 October 2018 at 20:39, Peng Ma peng.ma@nxp.com wrote:
Add ahci compatible support for ls1088a soc.
Signed-off-by: Peng Ma peng.ma@nxp.com
depend on: - https://patchwork.ozlabs.org/patch/982386/
drivers/ata/sata_ceva.c | 22 ++++++++++++++++++---- 1 files changed, 18 insertions(+), 4 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org

On 10/21/18 7:43 PM, Peng Ma wrote:
Add ahci compatible support for ls1088a soc.
Signed-off-by: Peng Ma peng.ma@nxp.com
This set is applied to fsl-qoriq master, awaiting upstream. Thanks.
York
participants (3)
-
Peng Ma
-
Simon Glass
-
York Sun