public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: vikas.singh@puresoftware.com
To: devel@edk2.groups.io
Cc: sami.mujawar@arm.com, leif@nuviainc.com,
	meenakshi.aggarwal@nxp.com, paul.yang@arm.com,
	augustine.philips@arm.com, samer.el-haj-mahmoud@arm.com,
	v.sethi@nxp.com, arokia.samy@puresoftware.com,
	kuldip.dwivedi@puresoftware.com, ard.biesheuvel@arm.com,
	vikas.singh@nxp.com
Subject: [PATCH v1 0/2] Dynamic ACPI framework for fsl layerscape platforms
Date: Mon, 18 Jan 2021 16:57:39 +0530	[thread overview]
Message-ID: <1610969261-24134-1-git-send-email-vikas.singh@puresoftware.com> (raw)

This patch series sets the foundation of Dynamic ACPI framework for all
fsl layerscape platforms. In order to achieve:
  - Configurable firmware builds.
  - Unify firmware build for similar platforms.
  - Minimize/eliminate human induced errors.
  - Validate and generate firmware that complies with relevant specifications
this change set will introduce following changes in below defined order under
edk2-platforms/NXP for LX2160ARDB platform.

(1) Introduced edk2-platforms/NXP/ConfigurationManager
It creates the platform repositories dynamically during build time
and initializes with platform specific information and serves all requestes
coming from OEM/standard firmware table generators. Configuration Manager(CM)
will be common for all fsl platforms.

(2) Introduced edk2-platforms/NXP/LX2160ARDB/Include/Platform.h
It has all the declarations and the definitions specified for the platforms.
These definitions will be inturn consumed by Configuration Manager.
Additionally the placement of this header under "Include" dir will make these
macro's availale to other translation units of the platform built.

(3) Introduced edk2-platforms/NXP/LX2160ARDB/AcpiTablesInclude
This is a placeholder for - OEM specific firmware acpi table generators.
This also includes IP specific - DSDT/SSDT generators for the OEM's platform.
Currently Dsdt.asl is a place holder having only platform's clock related dsdt
properties for LX2160ARDB but it is intended to extend this "Dsdt.asl" to hold
other table as well in next patch series.

(4) Introduced a new "DYNAMIC_ACPI_ENABLE" flag to control DACPI framework.
Currently this flag is used for LX2160ARDB and by default it is enabled.
This flag can also extend to other fsl layerscape platforms in future.
Changes can be referred under:
  - LX2160ARDb.dsc
  - LX2160ARDB.fdf

(5) Introduced a "build.sh" script under edk2-platforms/NXP/ to automate fsl
platforms build system. And also mandatorily need to support Dynamic ACPI
framework for all fsl platforms. It exports build environment variables and
also invokes "Env.sh".

Vikas Singh (2):
  Platform/NXP: Add Dynamic Acpi for layerscape platforms
  Platform/NXP: Add OEM specific DSDT generator

 .../ConfigurationManagerDxe/ConfigurationManager.c | 791 +++++++++++++++++++++
 .../ConfigurationManagerDxe/ConfigurationManager.h | 168 +++++
 .../ConfigurationManagerDxe.inf                    |  52 ++
 .../ConfigurationManagerPkg.dec                    |  23 +
 .../Include/PlatformAcpiTableGenerator.h           |  20 +
 Platform/NXP/Env.sh                                |  67 ++
 .../LX2160aRdbPkg/AcpiTablesInclude/Dsdt/Clk.asl   |  40 ++
 .../LX2160aRdbPkg/AcpiTablesInclude/Dsdt/Dsdt.asl  |  15 +
 .../AcpiTablesInclude/PlatformAcpiDsdtLib.inf      |  39 +
 .../PlatformAcpiDsdtLib/RawDsdtGenerator.c         | 146 ++++
 .../AcpiTablesInclude/PlatformAcpiLib.h            |  24 +
 Platform/NXP/LX2160aRdbPkg/Include/Platform.h      | 246 +++++++
 Platform/NXP/LX2160aRdbPkg/LX2160aRdbPkg.dec       |   4 +
 Platform/NXP/LX2160aRdbPkg/LX2160aRdbPkg.dsc       |  29 +
 Platform/NXP/LX2160aRdbPkg/LX2160aRdbPkg.fdf       |  12 +
 Platform/NXP/Readme.md                             |  35 +-
 Platform/NXP/build.sh                              | 115 +++
 Silicon/NXP/LX2160A/LX2160A.dsc.inc                |   9 +
 18 files changed, 1834 insertions(+), 1 deletion(-)
 create mode 100644 Platform/NXP/ConfigurationManagerPkg/ConfigurationManagerDxe/ConfigurationManager.c
 create mode 100644 Platform/NXP/ConfigurationManagerPkg/ConfigurationManagerDxe/ConfigurationManager.h
 create mode 100644 Platform/NXP/ConfigurationManagerPkg/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
 create mode 100644 Platform/NXP/ConfigurationManagerPkg/ConfigurationManagerPkg.dec
 create mode 100644 Platform/NXP/ConfigurationManagerPkg/Include/PlatformAcpiTableGenerator.h
 create mode 100755 Platform/NXP/Env.sh
 create mode 100644 Platform/NXP/LX2160aRdbPkg/AcpiTablesInclude/Dsdt/Clk.asl
 create mode 100644 Platform/NXP/LX2160aRdbPkg/AcpiTablesInclude/Dsdt/Dsdt.asl
 create mode 100644 Platform/NXP/LX2160aRdbPkg/AcpiTablesInclude/PlatformAcpiDsdtLib.inf
 create mode 100644 Platform/NXP/LX2160aRdbPkg/AcpiTablesInclude/PlatformAcpiDsdtLib/RawDsdtGenerator.c
 create mode 100644 Platform/NXP/LX2160aRdbPkg/AcpiTablesInclude/PlatformAcpiLib.h
 create mode 100644 Platform/NXP/LX2160aRdbPkg/Include/Platform.h
 create mode 100755 Platform/NXP/build.sh

--
2.7.4


             reply	other threads:[~2021-01-18 11:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-18 11:27 vikas.singh [this message]
2021-01-18 11:27 ` [PATCH v1 1/2] Platform/NXP: Add Dynamic Acpi for layerscape platforms Vikas Singh
2021-01-18 11:27 ` [PATCH v1 2/2] Platform/NXP: Add OEM specific DSDT generator Vikas Singh
2021-01-25 21:41   ` [edk2-devel] " Sami Mujawar
2021-01-26  5:53     ` Vikas Singh

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=1610969261-24134-1-git-send-email-vikas.singh@puresoftware.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