From: "Leif Lindholm" <leif.lindholm@linaro.org>
To: Marcin Wojtas <mw@semihalf.com>
Cc: devel@edk2.groups.io, ard.biesheuvel@linaro.org,
jsd@semihalf.com, jaz@semihalf.com, kostap@marvell.com
Subject: Re: [edk2-platforms: PATCH v2 05/10] Marvell/Library: ArmadaSoCDescLib: Extend Xenon information
Date: Fri, 16 Aug 2019 18:34:49 +0100 [thread overview]
Message-ID: <20190816173449.GX29255@bivouac.eciton.net> (raw)
In-Reply-To: <1565837654-13258-6-git-send-email-mw@semihalf.com>
On Thu, Aug 15, 2019 at 04:54:09AM +0200, Marcin Wojtas wrote:
> Hitherto SoC description library code assumed that there could
> be only two Xenon SdMmc controller instances in the SoC. Remove this
> limitation, so that to support CN913x SoCs, which may have up to 4 of
> such interfaces.
>
> Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
> ---
> Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h | 5 +--
> Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c | 34 +++++++++++++-------
> 2 files changed, 25 insertions(+), 14 deletions(-)
>
> diff --git a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h
> index 0296d43..265b4f4 100644
> --- a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h
> +++ b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h
> @@ -90,8 +90,9 @@
> //
> // Platform description of SDMMC controllers
> //
> -#define MV_SOC_MAX_SDMMC_COUNT 2
> -#define MV_SOC_SDMMC_BASE(Index) ((Index) == 0 ? 0xF06E0000 : 0xF2780000)
> +#define MV_SOC_SDMMC_PER_CP_COUNT 1
> +#define MV_SOC_AP80X_SDMMC_BASE 0xF06E0000
> +#define MV_SOC_CP_SDMMC_BASE(Cp) (MV_SOC_CP_BASE (Cp) + 0x780000)
>
> //
> // Platform description of UTMI PHY's
> diff --git a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c
> index 5947601..3ffd57e 100644
> --- a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c
> +++ b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c
> @@ -349,26 +349,36 @@ EFI_STATUS
> EFIAPI
> ArmadaSoCDescSdMmcGet (
> IN OUT MV_SOC_SDMMC_DESC **SdMmcDesc,
> - IN OUT UINTN *DescCount
> + IN OUT UINTN *Count
> )
> {
> - MV_SOC_SDMMC_DESC *Desc;
> - UINTN Index;
> + MV_SOC_SDMMC_DESC *SdMmc;
> + UINTN CpCount, CpIndex;
>
> - Desc = AllocateZeroPool (MV_SOC_MAX_SDMMC_COUNT * sizeof (MV_SOC_SDMMC_DESC));
> - if (Desc == NULL) {
> + CpCount = FixedPcdGet8 (PcdMaxCpCount);
> +
> + *Count = CpCount * MV_SOC_SDMMC_PER_CP_COUNT + MV_SOC_AP806_COUNT;
> + SdMmc = AllocateZeroPool (*Count * sizeof (MV_SOC_SDMMC_DESC));
> + if (SdMmc == NULL) {
> DEBUG ((DEBUG_ERROR, "%a: Cannot allocate memory\n", __FUNCTION__));
> return EFI_OUT_OF_RESOURCES;
> }
>
> - for (Index = 0; Index < MV_SOC_MAX_SDMMC_COUNT; Index++) {
> - Desc[Index].SdMmcBaseAddress = MV_SOC_SDMMC_BASE (Index);
> - Desc[Index].SdMmcMemSize = SIZE_1KB;
> - Desc[Index].SdMmcDmaType = NonDiscoverableDeviceDmaTypeCoherent;
> - }
> + *SdMmcDesc = SdMmc;
> +
> + /* AP80x controller */
> + SdMmc->SdMmcBaseAddress = MV_SOC_AP80X_SDMMC_BASE;
> + SdMmc->SdMmcMemSize = SIZE_1KB;
> + SdMmc->SdMmcDmaType = NonDiscoverableDeviceDmaTypeCoherent;
> + SdMmc++;
>
> - *SdMmcDesc = Desc;
> - *DescCount = MV_SOC_MAX_SDMMC_COUNT;
> + /* CP11x controllers */
> + for (CpIndex = 0; CpIndex < CpCount; CpIndex++) {
> + SdMmc->SdMmcBaseAddress = MV_SOC_CP_SDMMC_BASE (CpIndex);
> + SdMmc->SdMmcMemSize = SIZE_1KB;
> + SdMmc->SdMmcDmaType = NonDiscoverableDeviceDmaTypeCoherent;
> + SdMmc++;
> + }
>
> return EFI_SUCCESS;
> }
> --
> 2.7.4
>
next prev parent reply other threads:[~2019-08-16 17:34 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-15 2:54 [edk2-platforms: PATCH v2 00/10] Marvell Octeon CN913X SoC family support Marcin Wojtas
2019-08-15 2:54 ` [edk2-platforms: PATCH v2 01/10] Marvell/Armada7k8k: Fix 32-bit compilation Marcin Wojtas
2019-08-16 17:03 ` Leif Lindholm
2019-08-15 2:54 ` [edk2-platforms: PATCH v2 02/10] Marvell/Cn9130Db: Add ACPI tables Marcin Wojtas
2019-08-16 17:06 ` Leif Lindholm
2019-08-15 2:54 ` [edk2-platforms: PATCH v2 03/10] Marvell/Cn9130Db: Add DeviceTree Marcin Wojtas
2019-08-16 17:10 ` Leif Lindholm
2019-08-16 21:03 ` Marcin Wojtas
2019-08-19 17:14 ` Leif Lindholm
2019-08-21 9:11 ` Laszlo Ersek
2019-08-21 11:04 ` Marcin Wojtas
2019-08-15 2:54 ` [edk2-platforms: PATCH v2 04/10] Marvell/Cn9130Db: Introduce board support Marcin Wojtas
2019-08-16 17:31 ` Leif Lindholm
2019-08-15 2:54 ` [edk2-platforms: PATCH v2 05/10] Marvell/Library: ArmadaSoCDescLib: Extend Xenon information Marcin Wojtas
2019-08-16 17:34 ` Leif Lindholm [this message]
2019-08-15 2:54 ` [edk2-platforms: PATCH v2 06/10] Marvell/Library: MppLib: Allow to configure more Xenon PHYs Marcin Wojtas
2019-08-16 17:36 ` [edk2-devel] " Leif Lindholm
2019-08-16 21:04 ` Marcin Wojtas
2019-08-15 2:54 ` [edk2-platforms: PATCH v2 07/10] Marvell/Library: IcuLib: Fix debug information Marcin Wojtas
2019-08-16 17:37 ` Leif Lindholm
2019-08-15 2:54 ` [edk2-platforms: PATCH v2 08/10] Marvell/Cn9131Db: Introduce board support Marcin Wojtas
2019-08-16 17:39 ` Leif Lindholm
2019-08-15 2:54 ` [edk2-platforms: PATCH v2 09/10] Marvell/Cn9132Db: " Marcin Wojtas
2019-08-16 17:40 ` Leif Lindholm
2019-08-15 2:54 ` [edk2-platforms: PATCH v2 10/10] Marvell/Drivers: SmbiosPlatformDxe: Use more generic board name Marcin Wojtas
2019-08-16 17:41 ` [edk2-devel] " Leif Lindholm
2019-08-16 20:57 ` Marcin Wojtas
2019-08-19 17:00 ` Leif Lindholm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190816173449.GX29255@bivouac.eciton.net \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox