From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) by mx.groups.io with SMTP id smtpd.web10.9020.1609226772767255325 for ; Mon, 28 Dec 2020 23:26:12 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@puresoftware.com header.s=google header.b=mmVH4cTz; spf=pass (domain: puresoftware.com, ip: 209.85.215.179, mailfrom: vikas.singh@puresoftware.com) Received: by mail-pg1-f179.google.com with SMTP id 15so8742958pgx.7 for ; Mon, 28 Dec 2020 23:26:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=puresoftware.com; s=google; h=from:to:cc:subject:date:message-id; bh=YEfipkPt82RwjSWhaGIst2uS5mtU95OPDvne18gRUAY=; b=mmVH4cTzgaGb2V9j40h68jbhUtAVizMsK8PgWrZSVWHTSQ52g6rKMjWzpOmUad/71L IqYqsXvHSA5f5ff6V0hk8zP+4ZrYHGvBC2I7OKvWU/oI9kVuaNe+tUXq7apnNYh5iXlQ dI8AX5xK/S50mxXvf9YtkcJ3wGAsGRZD2LhCQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=YEfipkPt82RwjSWhaGIst2uS5mtU95OPDvne18gRUAY=; b=XHMMzvJvBrKVcXrWLg/f5o/gnBfqIc8JDs4M4JDIkovA2RD0ONrO/JQlz7bpk3cgd6 OeHDg56JVoHWNwF4o30m0Xr4sKHiLYIdyhQiyD+oHPVVAuem9hfTOkXANF32PX7JVF6D sNfayvs+U9gn8pjRRkfbIQ+WekCm8t/vVF39V4NnFMxZAOYPsL73lwfdxLYI11B+JgQI h2+CGwe/bwURFhE3y9G4QAJHCfTfkxe7P4xoyQlgxRB1jqx0FY8J2Ky84iL3zY4ZEnCW 05uJTziSeW3+ocXRYPq4/9ipTD0M4Obij4ftbyGwFg98Z5QKheZsiFEglKiajJ8064GI pwAA== X-Gm-Message-State: AOAM531QY6hqd5FGd5hEbQ6AgABOfuFbhZMEaq+FuB/envEqkBG4DLf2 G0VResmceryYdyxRPHeor6qLvvNP0GICQMTd X-Google-Smtp-Source: ABdhPJzKTgB0VjX+B3uyEqOgF65xv4mFIt3DohmEmdsFrjcQqDtFBlX3lwJAxcToEnh+yvmuO2m9/g== X-Received: by 2002:a63:6e45:: with SMTP id j66mr47618280pgc.238.1609226772094; Mon, 28 Dec 2020 23:26:12 -0800 (PST) Return-Path: Received: from embedded-PC.puresoft.int ([125.63.92.170]) by smtp.gmail.com with ESMTPSA id l11sm41320243pgt.79.2020.12.28.23.26.08 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 28 Dec 2020 23:26:11 -0800 (PST) From: Vikas Singh 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 v0] Dynamic ACPI framework for fsl layerscape platforms Date: Tue, 29 Dec 2020 12:55:57 +0530 Message-Id: <1609226758-19867-1-git-send-email-vikas.singh@puresoftware.com> X-Mailer: git-send-email 2.7.4 This patch series sets the foundation of Dynamic ACPI framework for fsl layerscape platforms. In order to achieve : - Configurable firmware builds. - Unify firmware build for similar platforms. - Minimize/eliminate human induced errors. - Ability to validate, and generate firmware that complies with relevant specifications this change set introduced following changes in below defined order under edk2-platforms/NXP for LX2160ARDB. (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 from OEM/standard firmware table generators. This Configuration Manager will be common for all fsl platforms. (2) Introduced edk2-platforms/NXP/LX2160ARDB/Include/Platform.h It has all the declarations & definitions specified for the platforms. These macros will be 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 holds 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 for LX2160ARDB platform. By default it is enabled and can extend to other fsl platforms in future. Changes can be referred under : - LX2160ARDb.dsc - LX2160ARDB.fdf (5) Introduced a "build.sh" script under edk2-platforms/NXP/ to automate the fsl platforms build system. And also mandatorily need to support Dynamic ACPI framework for fsl platforms. It exports build environment variables and also invokes "Env.cshrc". Vikas Singh (1): Platform/NXP: Add Dynamic Acpi for layerscape platforms .../ConfigurationManager/ConfigurationManager.dec | 24 + .../ConfigurationManager.dsc.inc | 21 + .../ConfigurationManagerDxe/ConfigurationManager.c | 709 +++++++++++++++++++++ .../ConfigurationManagerDxe/ConfigurationManager.h | 229 +++++++ .../ConfigurationManagerDxe.inf | 52 ++ .../Include/PlatformAcpiTableGenerator.h | 20 + Platform/NXP/Env.cshrc | 73 +++ .../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 | 244 +++++++ Platform/NXP/LX2160aRdbPkg/LX2160aRdbPkg.dec | 6 +- Platform/NXP/LX2160aRdbPkg/LX2160aRdbPkg.dsc | 30 + Platform/NXP/LX2160aRdbPkg/LX2160aRdbPkg.fdf | 12 + Platform/NXP/build.sh | 121 ++++ 17 files changed, 1804 insertions(+), 1 deletion(-) create mode 100644 Platform/NXP/ConfigurationManager/ConfigurationManager.dec create mode 100644 Platform/NXP/ConfigurationManager/ConfigurationManager.dsc.inc create mode 100644 Platform/NXP/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c create mode 100644 Platform/NXP/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h create mode 100644 Platform/NXP/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf create mode 100644 Platform/NXP/ConfigurationManager/Include/PlatformAcpiTableGenerator.h create mode 100755 Platform/NXP/Env.cshrc 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