[U-Boot] [PATCH 0/4] ahci mvebu driver updates

From: Ken Ma make@marvell.com
These patches move ahci mvebu driver to drivers/ata directory with bug fixing and scsi supporting.
David Sniatkiwicz (1): ata: ahci_mvebu: a8040 a0: remove bad port register offsets workarounds
Ken Ma (3): ata: mvebu: move mvebu sata driver to drivers/ata directory ata: ahci_mvebu: add scsi support arm64: mvebu: defconfig: enable CONFIG_AHCI_MVEBU
arch/arm/mach-mvebu/Makefile | 1 - arch/arm/mach-mvebu/sata.c | 54 ------------------------- configs/mvebu_db-88f3720_defconfig | 1 + configs/mvebu_db_armada8k_defconfig | 1 + configs/mvebu_espressobin-88f3720_defconfig | 1 + configs/mvebu_mcbin-88f8040_defconfig | 1 + drivers/ata/Kconfig | 9 +++++ drivers/ata/Makefile | 1 + drivers/ata/ahci_mvebu.c | 61 +++++++++++++++++++++++++++++ 9 files changed, 75 insertions(+), 55 deletions(-) delete mode 100644 arch/arm/mach-mvebu/sata.c create mode 100644 drivers/ata/ahci_mvebu.c

From: Ken Ma make@marvell.com
Currently mvebu sata driver is in arch/arm/mach_mvebu directory, this patch moves it to drivers/ata directory with renaming "sata.c" to "ahci_mvebu.c" which is aligned to Linux. New ahci driver's kconfig option is added as AHCI_MVEBU which selects DM_SCSI.
Signed-off-by: Ken Ma make@marvell.com Cc: Simon Glass sjg@chromium.org Cc: Stefan Roese sr@denx.de --- arch/arm/mach-mvebu/Makefile | 1 - arch/arm/mach-mvebu/sata.c | 54 -------------------------------------------- drivers/ata/Kconfig | 9 ++++++++ drivers/ata/Makefile | 1 + drivers/ata/ahci_mvebu.c | 54 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 64 insertions(+), 55 deletions(-) delete mode 100644 arch/arm/mach-mvebu/sata.c create mode 100644 drivers/ata/ahci_mvebu.c
diff --git a/arch/arm/mach-mvebu/Makefile b/arch/arm/mach-mvebu/Makefile index d4210af..7f0d692 100644 --- a/arch/arm/mach-mvebu/Makefile +++ b/arch/arm/mach-mvebu/Makefile @@ -9,7 +9,6 @@ ifdef CONFIG_ARM64 obj-$(CONFIG_ARMADA_3700) += armada3700/ obj-$(CONFIG_ARMADA_8K) += armada8k/ obj-y += arm64-common.o -obj-y += sata.o
else # CONFIG_ARM64
diff --git a/arch/arm/mach-mvebu/sata.c b/arch/arm/mach-mvebu/sata.c deleted file mode 100644 index 5d8032b..0000000 --- a/arch/arm/mach-mvebu/sata.c +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2016 Stefan Roese sr@denx.de - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <common.h> -#include <ahci.h> -#include <dm.h> - -DECLARE_GLOBAL_DATA_PTR; - -/* - * Dummy implementation that can be overwritten by a board - * specific function - */ -__weak int board_ahci_enable(void) -{ - return 0; -} - -#ifdef CONFIG_ARMADA_8K -/* CP110 has different AHCI port addresses */ -void __iomem *ahci_port_base(void __iomem *base, u32 port) -{ - return base + 0x10000 + (port * 0x10000); -} -#endif - -static int mvebu_ahci_probe(struct udevice *dev) -{ - /* - * Board specific SATA / AHCI enable code, e.g. enable the - * AHCI power or deassert reset - */ - board_ahci_enable(); - - ahci_init(devfdt_get_addr_ptr(dev)); - - return 0; -} - -static const struct udevice_id mvebu_ahci_ids[] = { - { .compatible = "marvell,armada-3700-ahci" }, - { .compatible = "marvell,armada-8k-ahci" }, - { } -}; - -U_BOOT_DRIVER(ahci_mvebu_drv) = { - .name = "ahci_mvebu", - .id = UCLASS_AHCI, - .of_match = mvebu_ahci_ids, - .probe = mvebu_ahci_probe, -}; diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index 86ec628..9ef4589 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig @@ -99,4 +99,13 @@ config SATA_SIL3114 help Enable this driver to support the SIL3114 SATA controllers.
+config AHCI_MVEBU + bool "Marvell EBU AHCI SATA support" + depends on ARCH_MVEBU + select DM_SCSI + help + This option enables support for the Marvell EBU SoC's + onboard AHCI SATA. + + If unsure, say N. endmenu diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile index a94c804..0254640 100644 --- a/drivers/ata/Makefile +++ b/drivers/ata/Makefile @@ -19,3 +19,4 @@ obj-$(CONFIG_SATA_MV) += sata_mv.o obj-$(CONFIG_SATA_SIL3114) += sata_sil3114.o obj-$(CONFIG_SATA_SIL) += sata_sil.o obj-$(CONFIG_SANDBOX) += sata_sandbox.o +obj-$(CONFIG_AHCI_MVEBU) += ahci_mvebu.o diff --git a/drivers/ata/ahci_mvebu.c b/drivers/ata/ahci_mvebu.c new file mode 100644 index 0000000..5c1b293 --- /dev/null +++ b/drivers/ata/ahci_mvebu.c @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2018 Marvell International Ltd. + * Copyright (C) 2016 Stefan Roese sr@denx.de + * + * SPDX-License-Identifier: GPL-2.0+ + * https://spdx.org/licenses + */ + +#include <common.h> +#include <ahci.h> +#include <dm.h> + +/* + * Dummy implementation that can be overwritten by a board + * specific function + */ +__weak int board_ahci_enable(void) +{ + return 0; +} + +#ifdef CONFIG_ARMADA_8K +/* CP110 has different AHCI port addresses */ +void __iomem *ahci_port_base(void __iomem *base, u32 port) +{ + return base + 0x10000 + (port * 0x10000); +} +#endif + +static int mvebu_ahci_probe(struct udevice *dev) +{ + /* + * Board specific SATA / AHCI enable code, e.g. enable the + * AHCI power or deassert reset + */ + board_ahci_enable(); + + ahci_init(devfdt_get_addr_ptr(dev)); + + return 0; +} + +static const struct udevice_id mvebu_ahci_ids[] = { + { .compatible = "marvell,armada-3700-ahci" }, + { .compatible = "marvell,armada-8k-ahci" }, + { } +}; + +U_BOOT_DRIVER(ahci_mvebu_drv) = { + .name = "ahci_mvebu", + .id = UCLASS_AHCI, + .of_match = mvebu_ahci_ids, + .probe = mvebu_ahci_probe, +};

Hi Ken,
On 17 May 2018 at 19:27, make@marvell.com wrote:
From: Ken Ma make@marvell.com
Currently mvebu sata driver is in arch/arm/mach_mvebu directory, this patch moves it to drivers/ata directory with renaming "sata.c" to "ahci_mvebu.c" which is aligned to Linux. New ahci driver's kconfig option is added as AHCI_MVEBU which selects DM_SCSI.
Signed-off-by: Ken Ma make@marvell.com Cc: Simon Glass sjg@chromium.org Cc: Stefan Roese sr@denx.de
arch/arm/mach-mvebu/Makefile | 1 - arch/arm/mach-mvebu/sata.c | 54 -------------------------------------------- drivers/ata/Kconfig | 9 ++++++++ drivers/ata/Makefile | 1 + drivers/ata/ahci_mvebu.c | 54 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 64 insertions(+), 55 deletions(-) delete mode 100644 arch/arm/mach-mvebu/sata.c create mode 100644 drivers/ata/ahci_mvebu.c
How come this doesn't show up as a file move? Are you using patman to generate your patches?
Regards, Simon

Dear Simon
Thanks a lot for your kind help and review.
Previously I did not use patman and generated my patches as below: 1. used "git mv arch/arm/mach-mvebu/sata.c drivers/ata/ahci_mvebu.c" to do the file renaming with makefiles and Kconfig file updating. 2. After the 4 patches are all finished, I used "git format-patch -4 --cover-letter -o outgoing/sata" to generate the patch set with cover letter. 3. I used " git send-email --to u-boot@lists.denx.de outgoing/sata* --force" to send out patches.
And I try to use patman as your advice, I find that the patch generated by "patman" can indicate the file "rename" relationship while the patch generated by "git format-patch" can not. arch/arm/mach-mvebu/Makefile | 1 - drivers/ata/Kconfig | 9 +++++++++ drivers/ata/Makefile | 1 + arch/arm/mach-mvebu/sata.c => drivers/ata/ahci_mvebu.c | 6 +++--- 4 files changed, 13 insertions(+), 4 deletions(-) rename arch/arm/mach-mvebu/sata.c => drivers/ata/ahci_mvebu.c (89%) … diff --git a/arch/arm/mach-mvebu/sata.c b/drivers/ata/ahci_mvebu.c similarity index 89% rename from arch/arm/mach-mvebu/sata.c rename to drivers/ata/ahci_mvebu.c index 5d8032b..5c1b293 100644 --- a/arch/arm/mach-mvebu/sata.c +++ b/drivers/ata/ahci_mvebu.c @@ -1,15 +1,15 @@ /* + * Copyright (C) 2018 Marvell International Ltd. * Copyright (C) 2016 Stefan Roese sr@denx.de * - * SPDX-License-Identifier: GPL-2.0+ + * SPDX-License-Identifier: GPL-2.0+ + * https://spdx.org/licenses */ #include <common.h> #include <ahci.h> #include <dm.h>
-DECLARE_GLOBAL_DATA_PTR; - /* * Dummy implementation that can be overwritten by a board * specific function
But I failed to send out patches by patman as below, it says " Alias 'ata' not found ". ken@mshsrv05:~/git_ken/u-boot/u-boot$ tools/patman/patman -c4 Cleaned 4 patches 0 errors, 1 warnings, 0 checks for 0001-ata-mvebu-move-mvebu-sata-driver-to-drivers-ata-dire.patch: <unknown>:0: warning: added, moved or deleted file(s), does MAINTAINERS need updating?
checkpatch.pl found 0 error(s), 1 warning(s), 0 checks(s) Traceback (most recent call last): File "tools/patman/patman", line 161, in <module> options.add_maintainers) File "/home/ken/git_ken/u-boot/u-boot/tools/patman/series.py", line 231, in MakeCcFile raise_on_error=raise_on_error) File "/home/ken/git_ken/u-boot/u-boot/tools/patman/gitutil.py", line 326, in BuildEmailList raw += LookupEmail(item, alias, raise_on_error=raise_on_error) File "/home/ken/git_ken/u-boot/u-boot/tools/patman/gitutil.py", line 503, in LookupEmail raise ValueError(msg) ValueError: Alias 'ata' not found
Thanks a lot for your kind help!
Yours, Ken
-----Original Message----- From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon Glass Sent: 2018年5月23日 7:30 To: Ken Ma Cc: U-Boot Mailing List; Stefan Roese Subject: [EXT] Re: [PATCH 1/4] ata: mvebu: move mvebu sata driver to drivers/ata directory
External Email
---------------------------------------------------------------------- Hi Ken,
On 17 May 2018 at 19:27, make@marvell.com wrote:
From: Ken Ma make@marvell.com
Currently mvebu sata driver is in arch/arm/mach_mvebu directory, this patch moves it to drivers/ata directory with renaming "sata.c" to "ahci_mvebu.c" which is aligned to Linux. New ahci driver's kconfig option is added as AHCI_MVEBU which selects DM_SCSI.
Signed-off-by: Ken Ma make@marvell.com Cc: Simon Glass sjg@chromium.org Cc: Stefan Roese sr@denx.de
arch/arm/mach-mvebu/Makefile | 1 - arch/arm/mach-mvebu/sata.c | 54 -------------------------------------------- drivers/ata/Kconfig | 9 ++++++++ drivers/ata/Makefile | 1 + drivers/ata/ahci_mvebu.c | 54 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 64 insertions(+), 55 deletions(-) delete mode 100644 arch/arm/mach-mvebu/sata.c create mode 100644 drivers/ata/ahci_mvebu.c
How come this doesn't show up as a file move? Are you using patman to generate your patches?
Regards, Simon

Hi Ken,
On 23 May 2018 at 01:06, Ken Ma make@marvell.com wrote:
Dear Simon
Thanks a lot for your kind help and review.
Previously I did not use patman and generated my patches as below:
- used "git mv arch/arm/mach-mvebu/sata.c drivers/ata/ahci_mvebu.c" to do the file renaming with makefiles and Kconfig file updating.
- After the 4 patches are all finished, I used "git format-patch -4 --cover-letter -o outgoing/sata" to generate the patch set with cover letter.
- I used " git send-email --to u-boot@lists.denx.de outgoing/sata* --force" to send out patches.
And I try to use patman as your advice, I find that the patch generated by "patman" can indicate the file "rename" relationship while the patch generated by "git format-patch" can not. arch/arm/mach-mvebu/Makefile | 1 - drivers/ata/Kconfig | 9 +++++++++ drivers/ata/Makefile | 1 + arch/arm/mach-mvebu/sata.c => drivers/ata/ahci_mvebu.c | 6 +++--- 4 files changed, 13 insertions(+), 4 deletions(-) rename arch/arm/mach-mvebu/sata.c => drivers/ata/ahci_mvebu.c (89%) … diff --git a/arch/arm/mach-mvebu/sata.c b/drivers/ata/ahci_mvebu.c similarity index 89% rename from arch/arm/mach-mvebu/sata.c rename to drivers/ata/ahci_mvebu.c index 5d8032b..5c1b293 100644 --- a/arch/arm/mach-mvebu/sata.c +++ b/drivers/ata/ahci_mvebu.c @@ -1,15 +1,15 @@ /* + * Copyright (C) 2018 Marvell International Ltd. * Copyright (C) 2016 Stefan Roese sr@denx.de * - * SPDX-License-Identifier: GPL-2.0+ + * SPDX-License-Identifier: GPL-2.0+ + * https://spdx.org/licenses */
#include <common.h> #include <ahci.h> #include <dm.h> -DECLARE_GLOBAL_DATA_PTR; - /* * Dummy implementation that can be overwritten by a board * specific function
But I failed to send out patches by patman as below, it says " Alias 'ata' not found ". ken@mshsrv05:~/git_ken/u-boot/u-boot$ tools/patman/patman -c4 Cleaned 4 patches 0 errors, 1 warnings, 0 checks for 0001-ata-mvebu-move-mvebu-sata-driver-to-drivers-ata-dire.patch: <unknown>:0: warning: added, moved or deleted file(s), does MAINTAINERS need updating?
checkpatch.pl found 0 error(s), 1 warning(s), 0 checks(s) Traceback (most recent call last): File "tools/patman/patman", line 161, in <module> options.add_maintainers) File "/home/ken/git_ken/u-boot/u-boot/tools/patman/series.py", line 231, in MakeCcFile raise_on_error=raise_on_error) File "/home/ken/git_ken/u-boot/u-boot/tools/patman/gitutil.py", line 326, in BuildEmailList raw += LookupEmail(item, alias, raise_on_error=raise_on_error) File "/home/ken/git_ken/u-boot/u-boot/tools/patman/gitutil.py", line 503, in LookupEmail raise ValueError(msg) ValueError: Alias 'ata' not found
Thanks a lot for your kind help!
You can use the -t flag to ignore the missing alias.
Regards, Simon
Yours, Ken
-----Original Message----- From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon Glass Sent: 2018年5月23日 7:30 To: Ken Ma Cc: U-Boot Mailing List; Stefan Roese Subject: [EXT] Re: [PATCH 1/4] ata: mvebu: move mvebu sata driver to drivers/ata directory
External Email
Hi Ken,
On 17 May 2018 at 19:27, make@marvell.com wrote:
From: Ken Ma make@marvell.com
Currently mvebu sata driver is in arch/arm/mach_mvebu directory, this patch moves it to drivers/ata directory with renaming "sata.c" to "ahci_mvebu.c" which is aligned to Linux. New ahci driver's kconfig option is added as AHCI_MVEBU which selects DM_SCSI.
Signed-off-by: Ken Ma make@marvell.com Cc: Simon Glass sjg@chromium.org Cc: Stefan Roese sr@denx.de
arch/arm/mach-mvebu/Makefile | 1 - arch/arm/mach-mvebu/sata.c | 54 -------------------------------------------- drivers/ata/Kconfig | 9 ++++++++ drivers/ata/Makefile | 1 + drivers/ata/ahci_mvebu.c | 54 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 64 insertions(+), 55 deletions(-) delete mode 100644 arch/arm/mach-mvebu/sata.c create mode 100644 drivers/ata/ahci_mvebu.c
How come this doesn't show up as a file move? Are you using patman to generate your patches?
Regards, Simon

Hi Simon
Patman is very helpful and useful! I have sent my patches v2 with patman.
Thanks a lot for your kind help!
Yours, Ken
-----Original Message----- From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon Glass Sent: 2018年5月24日 0:22 To: Ken Ma Cc: U-Boot Mailing List; Stefan Roese; Wilson Ding; Nadav Haklai; Hua Jing Subject: Re: [EXT] Re: [PATCH 1/4] ata: mvebu: move mvebu sata driver to drivers/ata directory
Hi Ken,
On 23 May 2018 at 01:06, Ken Ma make@marvell.com wrote:
Dear Simon
Thanks a lot for your kind help and review.
Previously I did not use patman and generated my patches as below:
- used "git mv arch/arm/mach-mvebu/sata.c drivers/ata/ahci_mvebu.c" to do the file renaming with makefiles and Kconfig file updating.
- After the 4 patches are all finished, I used "git format-patch -4 --cover-letter -o outgoing/sata" to generate the patch set with cover letter.
- I used " git send-email --to u-boot@lists.denx.de outgoing/sata* --force" to send out patches.
And I try to use patman as your advice, I find that the patch generated by "patman" can indicate the file "rename" relationship while the patch generated by "git format-patch" can not. arch/arm/mach-mvebu/Makefile | 1 - drivers/ata/Kconfig | 9 +++++++++ drivers/ata/Makefile | 1 + arch/arm/mach-mvebu/sata.c => drivers/ata/ahci_mvebu.c | 6 +++--- 4 files changed, 13 insertions(+), 4 deletions(-) rename arch/arm/mach-mvebu/sata.c => drivers/ata/ahci_mvebu.c (89%) … diff --git a/arch/arm/mach-mvebu/sata.c b/drivers/ata/ahci_mvebu.c similarity index 89% rename from arch/arm/mach-mvebu/sata.c rename to drivers/ata/ahci_mvebu.c index 5d8032b..5c1b293 100644 --- a/arch/arm/mach-mvebu/sata.c +++ b/drivers/ata/ahci_mvebu.c @@ -1,15 +1,15 @@ /* + * Copyright (C) 2018 Marvell International Ltd. * Copyright (C) 2016 Stefan Roese sr@denx.de * - * SPDX-License-Identifier: GPL-2.0+ + * SPDX-License-Identifier: GPL-2.0+ + * https://spdx.org/licenses */
#include <common.h> #include <ahci.h> #include <dm.h> -DECLARE_GLOBAL_DATA_PTR; - /* * Dummy implementation that can be overwritten by a board * specific function
But I failed to send out patches by patman as below, it says " Alias 'ata' not found ". ken@mshsrv05:~/git_ken/u-boot/u-boot$ tools/patman/patman -c4 Cleaned 4 patches 0 errors, 1 warnings, 0 checks for 0001-ata-mvebu-move-mvebu-sata-driver-to-drivers-ata-dire.patch: <unknown>:0: warning: added, moved or deleted file(s), does MAINTAINERS need updating?
checkpatch.pl found 0 error(s), 1 warning(s), 0 checks(s) Traceback (most recent call last): File "tools/patman/patman", line 161, in <module> options.add_maintainers) File "/home/ken/git_ken/u-boot/u-boot/tools/patman/series.py", line 231, in MakeCcFile raise_on_error=raise_on_error) File "/home/ken/git_ken/u-boot/u-boot/tools/patman/gitutil.py", line 326, in BuildEmailList raw += LookupEmail(item, alias, raise_on_error=raise_on_error) File "/home/ken/git_ken/u-boot/u-boot/tools/patman/gitutil.py", line 503, in LookupEmail raise ValueError(msg) ValueError: Alias 'ata' not found
Thanks a lot for your kind help!
You can use the -t flag to ignore the missing alias.
Regards, Simon
Yours, Ken
-----Original Message----- From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon Glass Sent: 2018年5月23日 7:30 To: Ken Ma Cc: U-Boot Mailing List; Stefan Roese Subject: [EXT] Re: [PATCH 1/4] ata: mvebu: move mvebu sata driver to drivers/ata directory
External Email
Hi Ken,
On 17 May 2018 at 19:27, make@marvell.com wrote:
From: Ken Ma make@marvell.com
Currently mvebu sata driver is in arch/arm/mach_mvebu directory, this patch moves it to drivers/ata directory with renaming "sata.c" to "ahci_mvebu.c" which is aligned to Linux. New ahci driver's kconfig option is added as AHCI_MVEBU which selects DM_SCSI.
Signed-off-by: Ken Ma make@marvell.com Cc: Simon Glass sjg@chromium.org Cc: Stefan Roese sr@denx.de
arch/arm/mach-mvebu/Makefile | 1 - arch/arm/mach-mvebu/sata.c | 54 -------------------------------------------- drivers/ata/Kconfig | 9 ++++++++ drivers/ata/Makefile | 1 + drivers/ata/ahci_mvebu.c | 54 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 64 insertions(+), 55 deletions(-) delete mode 100644 arch/arm/mach-mvebu/sata.c create mode 100644 drivers/ata/ahci_mvebu.c
How come this doesn't show up as a file move? Are you using patman to generate your patches?
Regards, Simon

Hi Ken,
On 23 May 2018 at 20:24, Ken Ma make@marvell.com wrote:
Hi Simon
Patman is very helpful and useful! I have sent my patches v2 with patman.
Thanks a lot for your kind help!
OK good! I find patman particularly helpful for collecting changing logs once you get to v2, v3, etc.
Regards, Simon

From: David Sniatkiwicz davidsn@marvell.com
This workaround was added for A8040/7040 A0. A8040/7040 A0 is no longer supported so this workaround can be removed.
Signed-off-by: David Sniatkiwicz davidsn@marvell.com Signed-off-by: Ken Ma make@marvell.com Cc: Simon Glass sjg@chromium.org Cc: Stefan Roese sr@denx.de --- drivers/ata/ahci_mvebu.c | 8 -------- 1 file changed, 8 deletions(-)
diff --git a/drivers/ata/ahci_mvebu.c b/drivers/ata/ahci_mvebu.c index 5c1b293..97a04d9 100644 --- a/drivers/ata/ahci_mvebu.c +++ b/drivers/ata/ahci_mvebu.c @@ -19,14 +19,6 @@ __weak int board_ahci_enable(void) return 0; }
-#ifdef CONFIG_ARMADA_8K -/* CP110 has different AHCI port addresses */ -void __iomem *ahci_port_base(void __iomem *base, u32 port) -{ - return base + 0x10000 + (port * 0x10000); -} -#endif - static int mvebu_ahci_probe(struct udevice *dev) { /*

On 17 May 2018 at 19:27, make@marvell.com wrote:
From: David Sniatkiwicz davidsn@marvell.com
This workaround was added for A8040/7040 A0. A8040/7040 A0 is no longer supported so this workaround can be removed.
Signed-off-by: David Sniatkiwicz davidsn@marvell.com Signed-off-by: Ken Ma make@marvell.com Cc: Simon Glass sjg@chromium.org Cc: Stefan Roese sr@denx.de
drivers/ata/ahci_mvebu.c | 8 -------- 1 file changed, 8 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org

From: Ken Ma make@marvell.com
Mvebu AHCI is AHCI driver which uses SCSI under the hood. This patch adjusts AHCI setup to support SCSI by creating a SCSI device as a child.
Signed-off-by: Ken Ma make@marvell.com Cc: Simon Glass sjg@chromium.org Cc: Stefan Roese sr@denx.de --- drivers/ata/ahci_mvebu.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/drivers/ata/ahci_mvebu.c b/drivers/ata/ahci_mvebu.c index 97a04d9..9041a72 100644 --- a/drivers/ata/ahci_mvebu.c +++ b/drivers/ata/ahci_mvebu.c @@ -19,6 +19,20 @@ __weak int board_ahci_enable(void) return 0; }
+static int mvebu_ahci_bind(struct udevice *dev) +{ + struct udevice *scsi_dev; + int ret; + + ret = ahci_bind_scsi(dev, &scsi_dev); + if (ret) { + debug("%s: Failed to bind (err=%d\n)", __func__, ret); + return ret; + } + + return 0; +} + static int mvebu_ahci_probe(struct udevice *dev) { /* @@ -27,7 +41,7 @@ static int mvebu_ahci_probe(struct udevice *dev) */ board_ahci_enable();
- ahci_init(devfdt_get_addr_ptr(dev)); + ahci_probe_scsi(dev, (ulong)devfdt_get_addr_ptr(dev));
return 0; } @@ -42,5 +56,6 @@ U_BOOT_DRIVER(ahci_mvebu_drv) = { .name = "ahci_mvebu", .id = UCLASS_AHCI, .of_match = mvebu_ahci_ids, + .bind = mvebu_ahci_bind, .probe = mvebu_ahci_probe, };

On 17 May 2018 at 19:27, make@marvell.com wrote:
From: Ken Ma make@marvell.com
Mvebu AHCI is AHCI driver which uses SCSI under the hood. This patch adjusts AHCI setup to support SCSI by creating a SCSI device as a child.
Signed-off-by: Ken Ma make@marvell.com Cc: Simon Glass sjg@chromium.org Cc: Stefan Roese sr@denx.de
drivers/ata/ahci_mvebu.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-)
Reviewed-by: Simon Glass sjg@chromium.org

From: Ken Ma make@marvell.com
This patch enables the new ahci mvebu driver for marvell arm64 platform SOCs(A3k and A8k).
Signed-off-by: Ken Ma make@marvell.com Cc: Simon Glass sjg@chromium.org Cc: Stefan Roese sr@denx.de --- configs/mvebu_db-88f3720_defconfig | 1 + configs/mvebu_db_armada8k_defconfig | 1 + configs/mvebu_espressobin-88f3720_defconfig | 1 + configs/mvebu_mcbin-88f8040_defconfig | 1 + 4 files changed, 4 insertions(+)
diff --git a/configs/mvebu_db-88f3720_defconfig b/configs/mvebu_db-88f3720_defconfig index 1d6233a..d40dd42 100644 --- a/configs/mvebu_db-88f3720_defconfig +++ b/configs/mvebu_db-88f3720_defconfig @@ -29,6 +29,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_MAC_PARTITION=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_SCSI_AHCI=y +CONFIG_AHCI_MVEBU=y CONFIG_BLOCK_CACHE=y CONFIG_DM_GPIO=y # CONFIG_MVEBU_GPIO is not set diff --git a/configs/mvebu_db_armada8k_defconfig b/configs/mvebu_db_armada8k_defconfig index da67aad..72c86f3 100644 --- a/configs/mvebu_db_armada8k_defconfig +++ b/configs/mvebu_db_armada8k_defconfig @@ -30,6 +30,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_MAC_PARTITION=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_SCSI_AHCI=y +CONFIG_AHCI_MVEBU=y CONFIG_BLOCK_CACHE=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MVTWSI=y diff --git a/configs/mvebu_espressobin-88f3720_defconfig b/configs/mvebu_espressobin-88f3720_defconfig index 314d405..cc41711 100644 --- a/configs/mvebu_espressobin-88f3720_defconfig +++ b/configs/mvebu_espressobin-88f3720_defconfig @@ -28,6 +28,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_MAC_PARTITION=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_SCSI_AHCI=y +CONFIG_AHCI_MVEBU=y CONFIG_BLOCK_CACHE=y CONFIG_DM_I2C=y CONFIG_MISC=y diff --git a/configs/mvebu_mcbin-88f8040_defconfig b/configs/mvebu_mcbin-88f8040_defconfig index e16a56e..dea0cd0 100644 --- a/configs/mvebu_mcbin-88f8040_defconfig +++ b/configs/mvebu_mcbin-88f8040_defconfig @@ -32,6 +32,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_MAC_PARTITION=y CONFIG_ENV_IS_IN_SPI_FLASH=y CONFIG_SCSI_AHCI=y +CONFIG_AHCI_MVEBU=y CONFIG_BLOCK_CACHE=y CONFIG_DM_GPIO=y CONFIG_DM_I2C=y

On 17 May 2018 at 19:27, make@marvell.com wrote:
From: Ken Ma make@marvell.com
This patch enables the new ahci mvebu driver for marvell arm64 platform SOCs(A3k and A8k).
Signed-off-by: Ken Ma make@marvell.com Cc: Simon Glass sjg@chromium.org Cc: Stefan Roese sr@denx.de
configs/mvebu_db-88f3720_defconfig | 1 + configs/mvebu_db_armada8k_defconfig | 1 + configs/mvebu_espressobin-88f3720_defconfig | 1 + configs/mvebu_mcbin-88f8040_defconfig | 1 + 4 files changed, 4 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org
participants (3)
-
Ken Ma
-
make@marvell.com
-
Simon Glass