Discussion:
[U-Boot] [PATCH 1/3] scsi: ceva: add ls1088a soc support
Peng Ma
2018-10-22 02:39:49 UTC
Permalink
Add ahci compatible support for ls1088a soc.

Signed-off-by: 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 },
{ }
};
--
1.7.1
Peng Ma
2018-10-22 02:39:50 UTC
Permalink
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 <***@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: ***@3200000 {
+ compatible = "fsl,ls1088a-ahci";
+ reg = <0x0 0x3200000 0x0 0x10000>;
+ interrupts = <0 133 4>;
+ status = "disabled";
+ };
+
};
--
1.7.1
Simon Glass
2018-11-03 06:07:17 UTC
Permalink
Post by Peng Ma
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.
---
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 <***@chromium.org>
Peng Ma
2018-10-22 02:39:51 UTC
Permalink
Enable related configs to support sata DM feature.

Signed-off-by: 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
--
1.7.1
Simon Glass
2018-11-03 06:07:19 UTC
Permalink
Post by Peng Ma
Enable related configs to support sata DM feature.
---
configs/ls1088aqds_defconfig | 5 +++++
configs/ls1088ardb_qspi_defconfig | 5 +++++
2 files changed, 10 insertions(+), 0 deletions(-)
Reviewed-by: Simon Glass <***@chromium.org>
Simon Glass
2018-11-03 06:07:15 UTC
Permalink
Post by Peng Ma
Add ahci compatible support for ls1088a soc.
---
- https://patchwork.ozlabs.org/patch/982386/
drivers/ata/sata_ceva.c | 22 ++++++++++++++++++----
1 files changed, 18 insertions(+), 4 deletions(-)
Reviewed-by: Simon Glass <***@chromium.org>
York Sun
2018-12-10 21:10:28 UTC
Permalink
Post by Peng Ma
Add ahci compatible support for ls1088a soc.
---
This set is applied to fsl-qoriq master, awaiting upstream. Thanks.

York

Loading...