From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f65.google.com (mail-pj1-f65.google.com [209.85.216.65]) by mx.groups.io with SMTP id smtpd.web09.31924.1610969278209554623 for ; Mon, 18 Jan 2021 03:27:58 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@puresoftware.com header.s=google header.b=ErYc5sGD; spf=pass (domain: puresoftware.com, ip: 209.85.216.65, mailfrom: vikas.singh@puresoftware.com) Received: by mail-pj1-f65.google.com with SMTP id my11so8213005pjb.1 for ; Mon, 18 Jan 2021 03:27:58 -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=Uoqou2TsCdQKS7Uzl/2c+t8dV4yuZwr3K3bwOpKmweg=; b=ErYc5sGDsJgfgJBHzAsOFtYE6AusGFz6KStsLsMpxv9602v9SHfRxGuaQFCiR7Grms 9fCB+0uZk5FClBbPeIoyO3ThC39iB3Hbx9ccz8DQQ6V1eBL4Fdy3yeJT0fwTgjhw9Zqn sDoh4/oBLAcfbj1ZI7N+D2hPvmKI6j/urHx6E= 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=Uoqou2TsCdQKS7Uzl/2c+t8dV4yuZwr3K3bwOpKmweg=; b=MUlCA7y1dBGLhwDnXdYk9yNJ8zEjdKXoy8vSTuKzrq9XaUYizPkt6JvVWlsoSqHAjl pQtSyLcs5oUO1hfO+hggn22aSs1U62/84XweUaAppkbbK+4A+o5JltlbPhwQOBha5EGA GJZnItWwnYXDZM3qeT0FdLpdLZ0YRAUihYENRPaxU/vWRXi/JLLQsPGopuDsONx6K6kb k5B0mKHaF2WaVW9s/3TFym+quyC+BU2rRYjasWcKW8VffYcwE9cjHqcfBE6dRLSuyrls BOPnAHSRrHC92wUXmz8vFjONzNom5adEtU+gaNpUTjWXiT5EChFpin7zjZ0lbloslK5Q h3XA== X-Gm-Message-State: AOAM533GqhlxQLjdGmXM0K9ulasGa/5mBm6EOnAgVPeetOcewIEkT3+H ruM1qgQK7epjMtKBYO3BaSRogFUCCAVv8dQ/PV8= X-Google-Smtp-Source: ABdhPJx+8y4g2x2Bx35rrdwbClirBxzmAJgj8qI88PQKTmfa6j8TmScOS6J/7lWCInHGPE2rjSPogQ== X-Received: by 2002:a17:902:8a8a:b029:db:e003:4044 with SMTP id p10-20020a1709028a8ab02900dbe0034044mr26376568plo.19.1610969277380; Mon, 18 Jan 2021 03:27:57 -0800 (PST) Return-Path: Received: from embedded-PC.puresoft.int ([125.63.92.170]) by smtp.gmail.com with ESMTPSA id r5sm7469777pfl.165.2021.01.18.03.27.52 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 18 Jan 2021 03:27:56 -0800 (PST) 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 Message-Id: <1610969261-24134-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 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