public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Marcin Wojtas" <mw@semihalf.com>
To: Leif Lindholm <leif.lindholm@linaro.org>
Cc: edk2-devel-groups-io <devel@edk2.groups.io>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	 "jsd@semihalf.com" <jsd@semihalf.com>,
	Grzegorz Jaszczyk <jaz@semihalf.com>,
	 Kostya Porotchkin <kostap@marvell.com>
Subject: Re: [edk2-platforms: PATCH 0/9] Marvell Octeon CN913X SoC family support
Date: Thu, 8 Aug 2019 15:51:15 +0200	[thread overview]
Message-ID: <CAPv3WKcOu2_UMSqD4X=vfYVAueOQ=11xvttBU0Z2tu+iYdx_+g@mail.gmail.com> (raw)
In-Reply-To: <20190808115153.GX25813@bivouac.eciton.net>

Hi Leif,

czw., 8 sie 2019 o 13:51 Leif Lindholm <leif.lindholm@linaro.org> napisał(a):
>
> Hi Marcin,
>
> On Thu, Aug 08, 2019 at 01:30:21AM +0200, Marcin Wojtas wrote:
> > Hi,
> >
> > Marvell Octeon CN913X SoC is a new device, which is built of
> > upgraded hardware blocks known from previously supported line
> > of SoCs. It is avaialble in 3 variants - CN9130/CN9131/CN9132.
> >
> > CN9130 is made of a single Application Processor unit
> > (AP807) and one internal south bridge (CP115). It can
> > be extended to CN9131 (internal + external south bridges).
> > The CN9132 has 3 south bridge units.
> >
> > This patchset adds all necessary components (.dsc/.fdf,
> > libraries, ACPI, DT) to support all 3 variants, which
> > are available on a modular CN913x Development Board.
>
> Thanks for this contribution.
> Do you have any further information on this SoC/Devboard?
> Searching only gets me the CN8xxx SoCs.
>

Indeed :/ I guess there should be some public information soon,
unfortunately I'm not in charge of it.

FYI, 2 days ago the support for it was submitted to the Linux lists:
https://www.spinics.net/lists/arm-kernel/msg746208.html

In high level this SoC is successor of Armada - enhanced modularity,
more interfaces, higher freq, new DDR controller and so on.

> > The patches are available in the github:
> > https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/cn913x-upstream-r20190808
> >
> > I'm looking forward to your comments or remarks.
>
> First issue I run into is that 9130/9131 bail out on DSDT.aml:
> "iasl"
> -p/work/git/tianocore/Build/Cn9130DbA-AARCH64/DEBUG_GCC5/AARCH64/Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9130DbA/OUTPUT/Cn913xDbA/Dsdt.aml
> /work/git/tianocore/Build/Cn9130DbA-AARCH64/DEBUG_GCC5/AARCH64/Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9130DbA/OUTPUT/Cn913xDbA/Dsdt.iiii
> /work/git/tianocore/Build/Cn9130DbA-AARCH64/DEBUG_GCC5/AARCH64/Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9130DbA/OUTPUT/Cn913xDbA/Dsdt.iiii
> 17: DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "CN9130DBA", 3)
>
> Intel ACPI Component Architecture
> ASL+ Optimizing Compiler/Disassembler version 20181213
> Copyright (c) 2000 - 2018 Intel Corporation
>
> ASL Input:
> /work/git/tianocore/Build/Cn9130DbA-AARCH64/DEBUG_GCC5/AARCH64/Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9130DbA/OUTPUT/Cn913xDbA/Dsdt.iiii
> - 328 lines, 9303 bytes, 97 keywords
>
> Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 34
> Optimizations
> Error    6155 -
> Invalid OEM Table ID ^  (Length cannot exceed 8 characters)
>
> This does not affect Cn9132DbA, since that one does not include the
> ACPI module. Is this intenional?
>

Maybe I should've mention this explicitly - yes, as for now we do not
support ACPI on triple-CP115 variant. The reason is following -
currently we have a static configuration of the ICU (CP115 interrupt
controller) to GIC. Thanks to that, we can assign GIC interrupts in
static ACPI tables. Unfortunately dual CP115/CP110 setup uses all
available GIC IRQs for this. We need to create mapping only for the
used devices and pass it to the ACPI tables.

What is needed to fix it properly:
- create ICU-GIC dynamic mapping
- dynamically fill this information in DSDT/SSDT.

> Which version of iasl has this been tested with?
>

I built it successfully with iasl versions: 20180105 and 20160108-2.

Anyway, in v2 I'll shorten OEM table ID to 8 characters ( "CN9130DBA"
is 9 character).


> (Plese don't respin a v2, I will go through things a bit more and
> provide feedback.)
>

Thanks,
Marcin

> Best Regards,
>
> Leif
>
> > Best regards,
> > Marcin
> >
> >
> > Marcin Wojtas (9):
> >   Marvell/Cn9130Db: Add ACPI tables
> >   Marvell/Cn9130Db: Add DeviceTree
> >   Marvell/Cn9130Db: Introduce board support
> >   Marvell/Library: ArmadaSoCDescLib: Extend Xenon information
> >   Marvell/Library: MppLib: Allow to configure more Xenon PHYs
> >   Marvell/Library: IcuLib: Fix debug information
> >   Marvell/Cn9131Db: Introduce board support
> >   Marvell/Cn9132Db: Introduce board support
> >   Marvell/Drivers: SmbiosPlatformDxe: Use more generic board name
> >
> >  Platform/Marvell/Cn913xDb/Cn9130DbA.dsc.inc                                    | 107 ++++
> >  Platform/Marvell/Cn913xDb/Cn9131DbA.dsc.inc                                    |  72 +++
> >  Platform/Marvell/Cn913xDb/Cn9132DbA.dsc.inc                                    |  72 +++
> >  Platform/Marvell/Cn913xDb/Cn9130DbA.dsc                                        |  46 ++
> >  Platform/Marvell/Cn913xDb/Cn9131DbA.dsc                                        |  47 ++
> >  Platform/Marvell/Cn913xDb/Cn9132DbA.dsc                                        |  45 ++
> >  Platform/Marvell/Cn913xDb/BoardDescriptionLib/Cn9130DbABoardDescLib.inf        |  29 +
> >  Platform/Marvell/Cn913xDb/BoardDescriptionLib/Cn9132DbABoardDescLib.inf        |  29 +
> >  Platform/Marvell/Cn913xDb/NonDiscoverableInitLib/NonDiscoverableInitLib.inf    |  37 ++
> >  Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9130DbA.inf                          |  56 ++
> >  Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9131DbA.inf                          |  57 ++
> >  Silicon/Marvell/OcteonTx/DeviceTree/T91/Cn9130DbA.inf                          |  22 +
> >  Silicon/Marvell/OcteonTx/DeviceTree/T91/Cn9131DbA.inf                          |  22 +
> >  Silicon/Marvell/OcteonTx/DeviceTree/T91/Cn9132DbA.inf                          |  22 +
> >  Platform/Marvell/Cn913xDb/NonDiscoverableInitLib/NonDiscoverableInitLib.h      |  25 +
> >  Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h |   5 +-
> >  Silicon/Marvell/OcteonTx/AcpiTables/T91/AcpiHeader.h                           |  39 ++
> >  Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn913xDbA/Pcie.h                       |  20 +
> >  Silicon/Marvell/OcteonTx/AcpiTables/T91/IcuInterrupts.h                        |  36 ++
> >  Platform/Marvell/Cn913xDb/BoardDescriptionLib/Cn9130DbABoardDescLib.c          | 126 +++++
> >  Platform/Marvell/Cn913xDb/BoardDescriptionLib/Cn9132DbABoardDescLib.c          | 135 +++++
> >  Platform/Marvell/Cn913xDb/NonDiscoverableInitLib/NonDiscoverableInitLib.c      | 215 ++++++++
> >  Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c |  34 +-
> >  Silicon/Marvell/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.c                  |   4 +-
> >  Silicon/Marvell/Library/IcuLib/IcuLib.c                                        |   4 +-
> >  Silicon/Marvell/Library/MppLib/MppLib.c                                        |   4 +-
> >  Platform/Marvell/Cn913xDb/Cn9130DbA.fdf.inc                                    |  17 +
> >  Platform/Marvell/Cn913xDb/Cn9131DbA.fdf.inc                                    |  18 +
> >  Platform/Marvell/Cn913xDb/Cn9132DbA.fdf.inc                                    |  13 +
> >  Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9131DbA/Ssdt.asl                     |  98 ++++
> >  Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn913xDbA/Dsdt.asl                     | 324 ++++++++++++
> >  Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn913xDbA/Mcfg.aslc                    |  41 ++
> >  Silicon/Marvell/OcteonTx/AcpiTables/T91/Fadt.aslc                              |  80 +++
> >  Silicon/Marvell/OcteonTx/AcpiTables/T91/Gtdt.aslc                              |  58 ++
> >  Silicon/Marvell/OcteonTx/AcpiTables/T91/Madt.aslc                              | 135 +++++
> >  Silicon/Marvell/OcteonTx/AcpiTables/T91/Pptt.aslc                              | 210 ++++++++
> >  Silicon/Marvell/OcteonTx/AcpiTables/T91/Spcr.aslc                              |  49 ++
> >  Silicon/Marvell/OcteonTx/DeviceTree/T91/armada-ap806-quad.dtsi                 |  43 ++
> >  Silicon/Marvell/OcteonTx/DeviceTree/T91/armada-ap806.dtsi                      | 264 ++++++++++
> >  Silicon/Marvell/OcteonTx/DeviceTree/T91/armada-common.dtsi                     |  10 +
> >  Silicon/Marvell/OcteonTx/DeviceTree/T91/armada-cp110.dtsi                      | 552 ++++++++++++++++++++
> >  Silicon/Marvell/OcteonTx/DeviceTree/T91/cn9130-db-A.dts                        | 185 +++++++
> >  Silicon/Marvell/OcteonTx/DeviceTree/T91/cn9130-db.dtsi                         | 168 ++++++
> >  Silicon/Marvell/OcteonTx/DeviceTree/T91/cn9130.dtsi                            | 126 +++++
> >  Silicon/Marvell/OcteonTx/DeviceTree/T91/cn9131-db-A.dts                        |  29 +
> >  Silicon/Marvell/OcteonTx/DeviceTree/T91/cn9131-db.dtsi                         | 175 +++++++
> >  Silicon/Marvell/OcteonTx/DeviceTree/T91/cn9132-db-A.dts                        |  70 +++
> >  Silicon/Marvell/OcteonTx/DeviceTree/T91/cn9132-db.dtsi                         | 159 ++++++
> >  48 files changed, 4113 insertions(+), 21 deletions(-)
> >  create mode 100644 Platform/Marvell/Cn913xDb/Cn9130DbA.dsc.inc
> >  create mode 100644 Platform/Marvell/Cn913xDb/Cn9131DbA.dsc.inc
> >  create mode 100644 Platform/Marvell/Cn913xDb/Cn9132DbA.dsc.inc
> >  create mode 100644 Platform/Marvell/Cn913xDb/Cn9130DbA.dsc
> >  create mode 100644 Platform/Marvell/Cn913xDb/Cn9131DbA.dsc
> >  create mode 100644 Platform/Marvell/Cn913xDb/Cn9132DbA.dsc
> >  create mode 100644 Platform/Marvell/Cn913xDb/BoardDescriptionLib/Cn9130DbABoardDescLib.inf
> >  create mode 100644 Platform/Marvell/Cn913xDb/BoardDescriptionLib/Cn9132DbABoardDescLib.inf
> >  create mode 100644 Platform/Marvell/Cn913xDb/NonDiscoverableInitLib/NonDiscoverableInitLib.inf
> >  create mode 100644 Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9130DbA.inf
> >  create mode 100644 Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9131DbA.inf
> >  create mode 100644 Silicon/Marvell/OcteonTx/DeviceTree/T91/Cn9130DbA.inf
> >  create mode 100644 Silicon/Marvell/OcteonTx/DeviceTree/T91/Cn9131DbA.inf
> >  create mode 100644 Silicon/Marvell/OcteonTx/DeviceTree/T91/Cn9132DbA.inf
> >  create mode 100644 Platform/Marvell/Cn913xDb/NonDiscoverableInitLib/NonDiscoverableInitLib.h
> >  create mode 100644 Silicon/Marvell/OcteonTx/AcpiTables/T91/AcpiHeader.h
> >  create mode 100644 Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn913xDbA/Pcie.h
> >  create mode 100644 Silicon/Marvell/OcteonTx/AcpiTables/T91/IcuInterrupts.h
> >  create mode 100644 Platform/Marvell/Cn913xDb/BoardDescriptionLib/Cn9130DbABoardDescLib.c
> >  create mode 100644 Platform/Marvell/Cn913xDb/BoardDescriptionLib/Cn9132DbABoardDescLib.c
> >  create mode 100644 Platform/Marvell/Cn913xDb/NonDiscoverableInitLib/NonDiscoverableInitLib.c
> >  create mode 100644 Platform/Marvell/Cn913xDb/Cn9130DbA.fdf.inc
> >  create mode 100644 Platform/Marvell/Cn913xDb/Cn9131DbA.fdf.inc
> >  create mode 100644 Platform/Marvell/Cn913xDb/Cn9132DbA.fdf.inc
> >  create mode 100644 Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9131DbA/Ssdt.asl
> >  create mode 100644 Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn913xDbA/Dsdt.asl
> >  create mode 100644 Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn913xDbA/Mcfg.aslc
> >  create mode 100644 Silicon/Marvell/OcteonTx/AcpiTables/T91/Fadt.aslc
> >  create mode 100644 Silicon/Marvell/OcteonTx/AcpiTables/T91/Gtdt.aslc
> >  create mode 100644 Silicon/Marvell/OcteonTx/AcpiTables/T91/Madt.aslc
> >  create mode 100644 Silicon/Marvell/OcteonTx/AcpiTables/T91/Pptt.aslc
> >  create mode 100644 Silicon/Marvell/OcteonTx/AcpiTables/T91/Spcr.aslc
> >  create mode 100644 Silicon/Marvell/OcteonTx/DeviceTree/T91/armada-ap806-quad.dtsi
> >  create mode 100644 Silicon/Marvell/OcteonTx/DeviceTree/T91/armada-ap806.dtsi
> >  create mode 100644 Silicon/Marvell/OcteonTx/DeviceTree/T91/armada-common.dtsi
> >  create mode 100644 Silicon/Marvell/OcteonTx/DeviceTree/T91/armada-cp110.dtsi
> >  create mode 100644 Silicon/Marvell/OcteonTx/DeviceTree/T91/cn9130-db-A.dts
> >  create mode 100644 Silicon/Marvell/OcteonTx/DeviceTree/T91/cn9130-db.dtsi
> >  create mode 100644 Silicon/Marvell/OcteonTx/DeviceTree/T91/cn9130.dtsi
> >  create mode 100644 Silicon/Marvell/OcteonTx/DeviceTree/T91/cn9131-db-A.dts
> >  create mode 100644 Silicon/Marvell/OcteonTx/DeviceTree/T91/cn9131-db.dtsi
> >  create mode 100644 Silicon/Marvell/OcteonTx/DeviceTree/T91/cn9132-db-A.dts
> >  create mode 100644 Silicon/Marvell/OcteonTx/DeviceTree/T91/cn9132-db.dtsi
> >
> > --
> > 2.7.4
> >

  reply	other threads:[~2019-08-08 13:51 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-07 23:30 [edk2-platforms: PATCH 0/9] Marvell Octeon CN913X SoC family support Marcin Wojtas
2019-08-07 23:30 ` [edk2-platforms: PATCH 1/9] Marvell/Cn9130Db: Add ACPI tables Marcin Wojtas
2019-08-07 23:30 ` [edk2-platforms: PATCH 2/9] Marvell/Cn9130Db: Add DeviceTree Marcin Wojtas
2019-08-07 23:30 ` [edk2-platforms: PATCH 3/9] Marvell/Cn9130Db: Introduce board support Marcin Wojtas
2019-08-07 23:30 ` [edk2-platforms: PATCH 4/9] Marvell/Library: ArmadaSoCDescLib: Extend Xenon information Marcin Wojtas
2019-08-07 23:30 ` [edk2-platforms: PATCH 5/9] Marvell/Library: MppLib: Allow to configure more Xenon PHYs Marcin Wojtas
2019-08-07 23:30 ` [edk2-platforms: PATCH 6/9] Marvell/Library: IcuLib: Fix debug information Marcin Wojtas
2019-08-07 23:30 ` [edk2-platforms: PATCH 7/9] Marvell/Cn9131Db: Introduce board support Marcin Wojtas
2019-08-07 23:30 ` [edk2-platforms: PATCH 8/9] Marvell/Cn9132Db: " Marcin Wojtas
2019-08-07 23:30 ` [edk2-platforms: PATCH 9/9] Marvell/Drivers: SmbiosPlatformDxe: Use more generic board name Marcin Wojtas
2019-08-08 11:51 ` [edk2-platforms: PATCH 0/9] Marvell Octeon CN913X SoC family support Leif Lindholm
2019-08-08 13:51   ` Marcin Wojtas [this message]
2019-08-08 16:48     ` Leif Lindholm
2019-08-08 17:05       ` Marcin Wojtas
2019-08-08 17:53         ` Leif Lindholm
2019-08-09  6:36           ` Marcin Wojtas

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='CAPv3WKcOu2_UMSqD4X=vfYVAueOQ=11xvttBU0Z2tu+iYdx_+g@mail.gmail.com' \
    --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