From: "Leif Lindholm" <leif.lindholm@linaro.org>
To: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
Cc: ard.biesheuvel@linaro.org, michael.d.kinney@intel.com,
devel@edk2.groups.io, v.sethi@nxp.com
Subject: Re: [PATCH edk2-platforms 03/12] Silicon/NXP : Add support for Watchdog driver
Date: Thu, 10 Oct 2019 11:39:56 +0100 [thread overview]
Message-ID: <20191010103956.GC25504@bivouac.eciton.net> (raw)
In-Reply-To: <1570639758-30355-4-git-send-email-meenakshi.aggarwal@nxp.com>
Hi Meenakshi,
As you will have no doubt noticed, edk2-devel@lists.01.org has been
retired - we are now using devel@edk2.groups.io, please subscribe (and
post patches) to that one instead.
I have bounced my replies to your first two patches there, and will
try to remember to manually change the list address in my replies to
the remaining patches.
On Wed, Oct 09, 2019 at 10:19:09PM +0530, Meenakshi Aggarwal wrote:
> Installs watchdog timer arch protocol
>
I am a little bit surprised by this patch being submitted again - in
our last communication on this set (29 January), you said
"Decided to use watchdog driver from MdeModulePkg."
Did you change your mind? This driver still registers a
EFI_WATCHDOG_TIMER_ARCH_PROTOCOL, which is a poor match for what this
hardware actually does.
Best Regards,
Leif
> Signed-off-by: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
> ---
> Silicon/NXP/Drivers/WatchDog/WatchDog.c | 396 +++++++++++++++++++++++++++
> Silicon/NXP/Drivers/WatchDog/WatchDog.h | 32 +++
> Silicon/NXP/Drivers/WatchDog/WatchDogDxe.inf | 41 +++
> 3 files changed, 469 insertions(+)
> create mode 100644 Silicon/NXP/Drivers/WatchDog/WatchDog.c
> create mode 100644 Silicon/NXP/Drivers/WatchDog/WatchDog.h
> create mode 100644 Silicon/NXP/Drivers/WatchDog/WatchDogDxe.inf
>
> diff --git a/Silicon/NXP/Drivers/WatchDog/WatchDog.c b/Silicon/NXP/Drivers/WatchDog/WatchDog.c
> new file mode 100644
> index 0000000..c2d104a
> --- /dev/null
> +++ b/Silicon/NXP/Drivers/WatchDog/WatchDog.c
> @@ -0,0 +1,396 @@
> +/** WatchDog.c
> +*
> +* Based on Watchdog driver implemenation available in
> +* ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805Watchdog.c
> +*
> +* Copyright 2017-2019 NXP
> +*
> +* SPDX-License-Identifier: BSD-2-Clause-Patent
> +*
> +**/
> +
> +#include <PiDxe.h>
> +#include <Library/BaseLib.h>
> +#include <Library/IoAccessLib.h>
> +#include <Library/DebugLib.h>
> +#include <Library/PcdLib.h>
> +#include <Library/UefiBootServicesTableLib.h>
> +#include <Protocol/WatchdogTimer.h>
> +
> +#include "WatchDog.h"
> +
> +STATIC EFI_EVENT mEfiExitBootServicesEvent;
> +STATIC EFI_EVENT mWatchdogFeedEvent;
> +STATIC MMIO_OPERATIONS_16 *mMmioOps;
> +
> +
> +STATIC
> +VOID
> +WatchdogPing (
> + VOID
> + )
> +{
> + //
> + // To reload a timeout value to the counter the proper service sequence begins by
> + // writing 0x_5555 followed by 0x_AAAA to the Watchdog Service Register (WATCHDOG_WSR).
> + // This service sequence will reload the counter with the timeout value WATCHDOG[7:0] of
> + // Watchdog Control Register (WATCHDOG_WCR).
> + //
> +
> + mMmioOps->Write16 (PcdGet64 (PcdWatchdog1BaseAddr) + WATCHDOG_WSR_OFFSET,
> + WATCHDOG_SERVICE_SEQ1);
> + mMmioOps->Write16 (PcdGet64 (PcdWatchdog1BaseAddr) + WATCHDOG_WSR_OFFSET,
> + WATCHDOG_SERVICE_SEQ2);
> +}
> +
> +/**
> + Stop the Watchdog watchdog timer from counting down.
> +**/
> +STATIC
> +VOID
> +WatchdogStop (
> + VOID
> + )
> +{
> + // Watchdog cannot be disabled by software once started.
> + // At best, we can keep reload counter with maximum value
> +
> + mMmioOps->AndThenOr16 (PcdGet64 (PcdWatchdog1BaseAddr) + WATCHDOG_WCR_OFFSET,
> + (UINT16)(~WATCHDOG_WCR_TIMEOUT),
> + (WATCHDOG_COUNT (WATCHDOG_MAX_TIME) & WATCHDOG_COUNT_MASK));
> + WatchdogPing ();
> +}
> +
> +/**
> + Starts the Watchdog counting down by feeding Service register with
> + desired pattern.
> + The count down will start from the value stored in the Load register,
> + not from the value where it was previously stopped.
> +**/
> +STATIC
> +VOID
> +WatchdogStart (
> + VOID
> + )
> +{
> + //Reload the timeout value
> + WatchdogPing ();
> +}
> +
> +/**
> + On exiting boot services we must make sure the Watchdog Watchdog Timer
> + is stopped.
> +**/
> +STATIC
> +VOID
> +EFIAPI
> +ExitBootServicesEvent (
> + IN EFI_EVENT Event,
> + IN VOID *Context
> + )
> +{
> + WatchdogStop ();
> +}
> +
> +/**
> + This function registers the handler NotifyFunction so it is called every time
> + the watchdog timer expires. It also passes the amount of time since the last
> + handler call to the NotifyFunction.
> + If NotifyFunction is not NULL and a handler is not already registered,
> + then the new handler is registered and EFI_SUCCESS is returned.
> + If NotifyFunction is NULL, and a handler is already registered,
> + then that handler is unregistered.
> + If an attempt is made to register a handler when a handler is already registered,
> + then EFI_ALREADY_STARTED is returned.
> + If an attempt is made to unregister a handler when a handler is not registered,
> + then EFI_INVALID_PARAMETER is returned.
> +
> + @param This The EFI_TIMER_ARCH_PROTOCOL instance.
> + @param NotifyFunction The function to call when a timer interrupt fires. This
> + function executes at TPL_HIGH_LEVEL. The DXE Core will
> + register a handler for the timer interrupt, so it can know
> + how much time has passed. This information is used to
> + signal timer based events. NULL will unregister the handler.
> +
> + @retval EFI_SUCCESS The watchdog timer handler was registered.
> + @retval EFI_ALREADY_STARTED NotifyFunction is not NULL, and a handler is already
> + registered.
> + @retval EFI_INVALID_PARAMETER NotifyFunction is NULL, and a handler was not
> + previously registered.
> +
> +**/
> +STATIC
> +EFI_STATUS
> +EFIAPI
> +WatchdogRegisterHandler (
> + IN EFI_WATCHDOG_TIMER_ARCH_PROTOCOL *This,
> + IN EFI_WATCHDOG_TIMER_NOTIFY NotifyFunction
> + )
> +{
> + // ERROR: This function is not supported.
> + // The hardware watchdog will reset the board
> + return EFI_INVALID_PARAMETER;
> +}
> +
> +/**
> +
> + This function adjusts the period of timer interrupts to the value specified
> + by TimerPeriod. If the timer period is updated, then the selected timer
> + period is stored in EFI_TIMER.TimerPeriod, and EFI_SUCCESS is returned. If
> + the timer hardware is not programmable, then EFI_UNSUPPORTED is returned.
> + If an error occurs while attempting to update the timer period, then the
> + timer hardware will be put back in its state prior to this call, and
> + EFI_DEVICE_ERROR is returned. If TimerPeriod is 0, then the timer interrupt
> + is disabled. This is not the same as disabling the CPU's interrupts.
> + Instead, it must either turn off the timer hardware, or it must adjust the
> + interrupt controller so that a CPU interrupt is not generated when the timer
> + interrupt fires.
> +
> + @param This The EFI_TIMER_ARCH_PROTOCOL instance.
> + @param TimerPeriod The rate to program the timer interrupt in 100 nS units. If
> + the timer hardware is not programmable, then EFI_UNSUPPORTED is
> + returned. If the timer is programmable, then the timer period
> + will be rounded up to the nearest timer period that is supported
> + by the timer hardware. If TimerPeriod is set to 0, then the
> + timer interrupts will be disabled.
> +
> +
> + @retval EFI_SUCCESS The timer period was changed.
> + @retval EFI_UNSUPPORTED The platform cannot change the period of the timer interrupt.
> + @retval EFI_DEVICE_ERROR The timer period could not be changed due to a device error.
> +
> +**/
> +STATIC
> +EFI_STATUS
> +EFIAPI
> +WatchdogSetTimerPeriod (
> + IN EFI_WATCHDOG_TIMER_ARCH_PROTOCOL *This,
> + IN UINT64 TimerPeriod // In 100ns units
> + )
> +{
> + EFI_STATUS Status;
> + UINT64 TimerPeriodInSec;
> + UINT16 Val;
> +
> + Status = EFI_SUCCESS;
> +
> + if (TimerPeriod == 0) {
> + // This is a watchdog stop request
> + WatchdogStop ();
> + return Status;
> + } else {
> + // Convert the TimerPeriod (in 100 ns unit) to an equivalent second value
> +
> + TimerPeriodInSec = DivU64x32 (TimerPeriod, NANO_SECOND_BASE);
> +
> + // The registers in the Watchdog are only 32 bits
> + if (TimerPeriodInSec > WATCHDOG_MAX_TIME) {
> + // We could load the watchdog with the maximum supported value but
> + // if a smaller value was requested, this could have the watchdog
> + // triggering before it was intended.
> + // Better generate an error to let the caller know.
> + Status = EFI_DEVICE_ERROR;
> + return Status;
> + }
> +
> + // set the new timeout value in the WCR
> + // Convert the timeout value from Seconds to timer count
> + Val = ((WATCHDOG_COUNT(TimerPeriodInSec) & WATCHDOG_COUNT_MASK) << 8);
> +
> + mMmioOps->AndThenOr16 (PcdGet64 (PcdWatchdog1BaseAddr) + WATCHDOG_WCR_OFFSET,
> + (UINT16)(~WATCHDOG_WCR_TIMEOUT),
> + Val);
> + // Start the watchdog
> + WatchdogStart ();
> + }
> +
> + return Status;
> +}
> +
> +/**
> + This function retrieves the period of timer interrupts in 100 ns units,
> + returns that value in TimerPeriod, and returns EFI_SUCCESS. If TimerPeriod
> + is NULL, then EFI_INVALID_PARAMETER is returned. If a TimerPeriod of 0 is
> + returned, then the timer is currently disabled.
> +
> + @param This The EFI_TIMER_ARCH_PROTOCOL instance.
> + @param TimerPeriod A pointer to the timer period to retrieve in 100 ns units. If
> + 0 is returned, then the timer is currently disabled.
> +
> +
> + @retval EFI_SUCCESS The timer period was returned in TimerPeriod.
> + @retval EFI_INVALID_PARAMETER TimerPeriod is NULL.
> +
> +**/
> +STATIC
> +EFI_STATUS
> +EFIAPI
> +WatchdogGetTimerPeriod (
> + IN EFI_WATCHDOG_TIMER_ARCH_PROTOCOL *This,
> + OUT UINT64 *TimerPeriod
> + )
> +{
> + EFI_STATUS Status;
> + UINT64 ReturnValue;
> + UINT16 Val;
> +
> + Status = EFI_SUCCESS;
> +
> + if (TimerPeriod == NULL) {
> + return EFI_INVALID_PARAMETER;
> + }
> +
> + // Check if the watchdog is stopped
> + if ((mMmioOps->Read16 (PcdGet64 (PcdWatchdog1BaseAddr) + WATCHDOG_WCR_OFFSET)
> + & WATCHDOG_WCR_ENABLE) == 0 ) {
> + // It is stopped, so return zero.
> + ReturnValue = 0;
> + } else {
> + // Convert the Watchdog ticks into equivalent TimerPeriod second value.
> + Val = (mMmioOps->Read16 (PcdGet64 (PcdWatchdog1BaseAddr) + WATCHDOG_WCR_OFFSET)
> + & WATCHDOG_WCR_TIMEOUT ) >> 8;
> + ReturnValue = WATCHDOG_SEC(Val);
> + }
> +
> + *TimerPeriod = ReturnValue;
> + return Status;
> +}
> +
> +/**
> + Interface structure for the Watchdog Architectural Protocol.
> +
> + @par Protocol Description:
> + This protocol provides a service to set the amount of time to wait
> + before firing the watchdog timer, and it also provides a service to
> + register a handler that is invoked when the watchdog timer fires.
> +
> + @par When the watchdog timer fires, control will be passed to a handler
> + if one has been registered. If no handler has been registered,
> + or the registered handler returns, then the system will be
> + reset by calling the Runtime Service ResetSystem().
> +
> + @param RegisterHandler
> + Registers a handler that will be called each time the
> + watchdogtimer interrupt fires. TimerPeriod defines the minimum
> + time between timer interrupts, so TimerPeriod will also
> + be the minimum time between calls to the registered
> + handler.
> + NOTE: If the watchdog resets the system in hardware, then
> + this function will not have any chance of executing.
> +
> + @param SetTimerPeriod
> + Sets the period of the timer interrupt in 100 nS units.
> + This function is optional, and may return EFI_UNSUPPORTED.
> + If this function is supported, then the timer period will
> + be rounded up to the nearest supported timer period.
> +
> + @param GetTimerPeriod
> + Retrieves the period of the timer interrupt in 100 nS units.
> +
> +**/
> +STATIC
> +EFI_WATCHDOG_TIMER_ARCH_PROTOCOL mWatchdogTimer = {
> + WatchdogRegisterHandler,
> + WatchdogSetTimerPeriod,
> + WatchdogGetTimerPeriod
> +};
> +
> +/**
> + Call back function when the timer event is signaled.
> + This function will feed the watchdog with maximum value
> + so that system wont reset in idle case e.g. stopped on UEFI shell.
> +
> + @param[in] Event The Event this notify function registered to.
> + @param[in] Context Pointer to the context data registered to the
> + Event.
> +
> +**/
> +VOID
> +EFIAPI
> +WatchdogFeed (
> + IN EFI_EVENT Event,
> + IN VOID* Context
> + )
> +{
> + WatchdogPing();
> +}
> +/**
> + Initialize state information for the Watchdog Timer Architectural Protocol.
> +
> + @param ImageHandle of the loaded driver
> + @param SystemTable Pointer to the System Table
> +
> + @retval EFI_SUCCESS Protocol registered
> + @retval EFI_OUT_OF_RESOURCES Cannot allocate protocol data structure
> + @retval EFI_DEVICE_ERROR Hardware problems
> +
> +**/
> +EFI_STATUS
> +EFIAPI
> +WatchdogInitialize (
> + IN EFI_HANDLE ImageHandle,
> + IN EFI_SYSTEM_TABLE *SystemTable
> + )
> +{
> + EFI_STATUS Status;
> + EFI_HANDLE Handle;
> +
> + mMmioOps = GetMmioOperations16 (FixedPcdGetBool (PcdWatchdogBigEndian));
> +
> + mMmioOps->AndThenOr16 (PcdGet64 (PcdWatchdog1BaseAddr) + WATCHDOG_WCR_OFFSET,
> + (UINT16)(~WATCHDOG_WCR_TIMEOUT),
> + (WATCHDOG_COUNT (WATCHDOG_MAX_TIME) & WATCHDOG_COUNT_MASK));
> +
> + mMmioOps->Or16 (PcdGet64 (PcdWatchdog1BaseAddr) + WATCHDOG_WCR_OFFSET, WATCHDOG_WCR_ENABLE);
> +
> + //
> + // Make sure the Watchdog Timer Architectural Protocol
> + // has not been installed in the system yet.
> + // This will avoid conflicts with the universal watchdog
> + //
> + ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gEfiWatchdogTimerArchProtocolGuid);
> +
> + // Register for an ExitBootServicesEvent
> + Status = gBS->CreateEvent (EVT_SIGNAL_EXIT_BOOT_SERVICES, TPL_NOTIFY,
> + ExitBootServicesEvent, NULL, &mEfiExitBootServicesEvent);
> + if (EFI_ERROR (Status)) {
> + Status = EFI_OUT_OF_RESOURCES;
> + return Status;
> + }
> +
> + //
> + // Start the timer to feed Watchdog with maximum timeout value.
> + //
> + Status = gBS->CreateEvent (
> + EVT_TIMER | EVT_NOTIFY_SIGNAL,
> + TPL_NOTIFY,
> + WatchdogFeed,
> + NULL,
> + &mWatchdogFeedEvent
> + );
> + if (EFI_ERROR (Status)) {
> + return Status;
> + }
> +
> + Status = gBS->SetTimer (mWatchdogFeedEvent, TimerPeriodic, WATCHDOG_FEED_INTERVAL);
> + if (EFI_ERROR (Status)) {
> + return Status;
> + }
> +
> + // Install the Timer Architectural Protocol onto a new handle
> + Handle = NULL;
> + Status = gBS->InstallMultipleProtocolInterfaces (
> + &Handle,
> + &gEfiWatchdogTimerArchProtocolGuid, &mWatchdogTimer,
> + NULL
> + );
> + if (EFI_ERROR (Status)) {
> + gBS->CloseEvent (mEfiExitBootServicesEvent);
> + Status = EFI_OUT_OF_RESOURCES;
> + return Status;
> + }
> +
> + WatchdogPing ();
> +
> + return Status;
> +}
> diff --git a/Silicon/NXP/Drivers/WatchDog/WatchDog.h b/Silicon/NXP/Drivers/WatchDog/WatchDog.h
> new file mode 100644
> index 0000000..8262a69
> --- /dev/null
> +++ b/Silicon/NXP/Drivers/WatchDog/WatchDog.h
> @@ -0,0 +1,32 @@
> +/** WatchDog.h
> +*
> +* Copyright 2017-2019 NXP
> +*
> +* SPDX-License-Identifier: BSD-2-Clause-Patent
> +*
> +**/
> +
> +#ifndef WATCHDOG_H_
> +#define WATCHDOG_H_
> +
> +#define WATCHDOG_SIZE 0x1000
> +#define WATCHDOG_WCR_OFFSET 0
> +#define WATCHDOG_WSR_OFFSET 2
> +#define WATCHDOG_WRSR_OFFSET 4
> +#define WATCHDOG_WICR_OFFSET 6
> +#define WATCHDOG_WCR_TIMEOUT (0xFF << 8)
> +#define WATCHDOG_WCR_ENABLE (1 << 2)
> +#define WATCHDOG_SERVICE_SEQ1 0x5555
> +#define WATCHDOG_SERVICE_SEQ2 0xAAAA
> +#define WATCHDOG_WCR_WRE (1 << 3) /* -> WATCHDOG Reset Enable */
> +
> +#define WATCHDOG_MAX_TIME 128
> +#define WATCHDOG_COUNT(Sec) (((Sec) * 2 - 1) << 8)
> +#define WATCHDOG_COUNT_MASK 0xff00
> +#define WATCHDOG_SEC(Cnt) (((Cnt) + 1) / 2)
> +
> +#define NANO_SECOND_BASE 10000000
> +
> +#define WATCHDOG_FEED_INTERVAL (WATCHDOG_MAX_TIME * NANO_SECOND_BASE)
> +
> +#endif //WATCHDOG_H_
> diff --git a/Silicon/NXP/Drivers/WatchDog/WatchDogDxe.inf b/Silicon/NXP/Drivers/WatchDog/WatchDogDxe.inf
> new file mode 100644
> index 0000000..2d410a9
> --- /dev/null
> +++ b/Silicon/NXP/Drivers/WatchDog/WatchDogDxe.inf
> @@ -0,0 +1,41 @@
> +# WatchDog.inf
> +#
> +# Component description file for WatchDog module
> +#
> +# Copyright 2017-2019 NXP
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> +#
> +#
> +
> +[Defines]
> + INF_VERSION = 0x0001001A
> + BASE_NAME = WatchDogDxe
> + FILE_GUID = 0358b544-ec65-4339-89cd-cad60a3dd787
> + MODULE_TYPE = DXE_DRIVER
> + VERSION_STRING = 1.0
> + ENTRY_POINT = WatchdogInitialize
> +
> +[Sources.common]
> + WatchDog.c
> +
> +[Packages]
> + MdePkg/MdePkg.dec
> + Silicon/NXP/NxpQoriqLs.dec
> +
> +[LibraryClasses]
> + BaseLib
> + IoAccessLib
> + PcdLib
> + UefiBootServicesTableLib
> + UefiDriverEntryPoint
> +
> +[Pcd]
> + gNxpQoriqLsTokenSpaceGuid.PcdWatchdog1BaseAddr
> + gNxpQoriqLsTokenSpaceGuid.PcdWatchdogBigEndian
> +
> +[Protocols]
> + gEfiWatchdogTimerArchProtocolGuid
> +
> +[Depex]
> + TRUE
> --
> 1.9.1
>
next prev parent reply other threads:[~2019-10-10 10:40 UTC|newest]
Thread overview: 254+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-16 8:49 [PATCH edk2-platforms 00/39] NXP: Add support of LS1043, LS1046 and LS2088 SoCs Meenakshi
2018-02-16 8:49 ` [PATCH edk2-platforms 01/39] Silicon/NXP: Add support for Big Endian Mmio APIs Meenakshi
2018-02-21 15:46 ` Leif Lindholm
2018-02-21 16:06 ` Laszlo Ersek
2018-02-21 18:58 ` Leif Lindholm
2018-02-22 4:45 ` Meenakshi Aggarwal
2018-02-22 8:34 ` Laszlo Ersek
2018-02-22 11:52 ` Leif Lindholm
2018-02-22 13:56 ` Laszlo Ersek
2018-02-23 8:40 ` Pankaj Bansal
2018-02-23 9:21 ` Laszlo Ersek
2018-02-23 9:47 ` Meenakshi Aggarwal
2018-02-23 10:17 ` Laszlo Ersek
2018-02-23 10:39 ` Udit Kumar
2018-02-23 10:59 ` Laszlo Ersek
2018-02-23 11:04 ` Pankaj Bansal
2018-02-23 11:22 ` Laszlo Ersek
2018-02-23 11:48 ` Pankaj Bansal
2018-02-23 15:17 ` Laszlo Ersek
2018-02-23 11:21 ` Udit Kumar
2018-02-23 10:25 ` Udit Kumar
2018-02-23 10:47 ` Laszlo Ersek
2018-02-23 11:48 ` Udit Kumar
2018-02-23 15:15 ` Laszlo Ersek
2018-02-28 13:19 ` Leif Lindholm
2018-02-22 4:49 ` Udit Kumar
2018-02-16 8:49 ` [PATCH edk2-platforms 02/39] Silicon/NXP : Add support for Watchdog driver Meenakshi
2018-02-16 8:49 ` [PATCH edk2-platforms 03/39] SocLib : Add support for initialization of peripherals Meenakshi
2018-04-18 15:12 ` Leif Lindholm
2018-04-18 16:38 ` Meenakshi Aggarwal
2018-04-18 18:15 ` Leif Lindholm
2018-04-19 4:59 ` Meenakshi Aggarwal
2018-02-16 8:50 ` [PATCH edk2-platforms 04/39] Silicon/NXP : Add support for DUART library Meenakshi
2018-04-18 15:15 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 05/39] Silicon/NXP: Add support for I2c driver Meenakshi
2018-04-17 16:36 ` Leif Lindholm
2018-04-23 8:21 ` Meenakshi Aggarwal
2018-04-23 8:38 ` Leif Lindholm
2018-04-23 10:34 ` Meenakshi Aggarwal
2018-04-23 13:39 ` Ard Biesheuvel
2018-04-23 15:50 ` Meenakshi Aggarwal
2018-04-23 15:53 ` Ard Biesheuvel
2018-02-16 8:50 ` [PATCH edk2-platforms 06/39] Silicon/Maxim : Add support for DS1307 RTC library Meenakshi
2018-04-18 15:27 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 07/39] Platform/NXP: Add support for ArmPlatformLib Meenakshi
2018-04-18 15:32 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 08/39] Compilation : Add the fdf, dsc and dec files Meenakshi
2018-04-18 15:38 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 09/39] Build : Add build script and environment script Meenakshi
2018-02-21 16:02 ` Leif Lindholm
2018-02-22 4:58 ` Meenakshi Aggarwal
2018-02-16 8:50 ` [PATCH edk2-platforms 10/39] IFC : Add Header file for IFC controller Meenakshi
2018-04-18 18:31 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 11/39] LS1043/BoardLib : Add support for LS1043 BoardLib Meenakshi
2018-04-18 18:34 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 12/39] Silicon/NXP : Add support of IfcLib Meenakshi
2018-04-18 18:39 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 13/39] LS1043/FpgaLib : Add support for FpgaLib Meenakshi
2018-04-18 18:43 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 14/39] LS1043 : Enable support of FpgaLib Meenakshi
2018-04-18 18:43 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 15/39] Silicon/NXP : Add support of NorFlashLib Meenakshi
2018-04-18 19:26 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 16/39] Silicon/NXP : Add NOR driver Meenakshi
2018-04-17 16:23 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 17/39] LS1043 : Enable NOR driver for LS1043aRDB package Meenakshi
2018-04-19 9:54 ` Leif Lindholm
2018-04-19 10:14 ` Meenakshi Aggarwal
2018-02-16 8:50 ` [PATCH edk2-platforms 18/39] Silicon/NXP:Add LS1046ARDB SoCLib Support Meenakshi
2018-04-19 10:00 ` Leif Lindholm
2018-04-19 10:05 ` Meenakshi Aggarwal
2018-04-19 10:20 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 19/39] Silicon/NXP:Add support for PCF2129 Real Time Clock Library Meenakshi
2018-04-19 10:11 ` Leif Lindholm
2018-04-19 12:33 ` Meenakshi Aggarwal
2018-04-19 13:47 ` Leif Lindholm
2018-04-20 3:20 ` Meenakshi Aggarwal
2018-02-16 8:50 ` [PATCH edk2-platforms 20/39] Platform/NXP: LS1046A RDB Board Library Meenakshi
2018-04-19 13:49 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 21/39] Platform/NXP: Add ArmPlatformLib for LS1046A Meenakshi
2018-04-19 13:53 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 22/39] Platform/NXP: LS1046 RDB Board FPGA library Meenakshi
2018-04-19 14:44 ` Leif Lindholm
2018-06-04 4:10 ` Meenakshi Aggarwal
2018-06-04 9:25 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 23/39] Platform/NXP: Compilation for LS1046A RDB Board Meenakshi
2018-04-19 14:54 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 24/39] Silicon/NXP:SocLib support for initialization of peripherals Meenakshi
2018-04-19 15:20 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 25/39] Platform/NXP/LS2088aRdbPkg: ArmPlatformLib Support for LS2088ARDB Meenakshi
2018-04-19 15:59 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 26/39] Silicon/Maxim: DS3232 RTC Library Support Meenakshi
2018-04-19 16:02 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 27/39] Compilation : Add the fdf, dsc and dec files Meenakshi
2018-04-19 16:28 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 28/39] Platform/NXP: LS2088A RDB Board Library Meenakshi
2018-04-19 16:28 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 29/39] Platform/NXP: LS2088 RDB Board FPGA library Meenakshi
2018-04-19 16:30 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 30/39] LS2088 : Enable support of FpgaLib Meenakshi
2018-04-19 16:31 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 31/39] LS2088ARDB: Enable NOR driver and Runtime Services Meenakshi
2018-04-19 16:32 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 32/39] Silicon/NXP: Implement PciSegmentLib to support multiple RCs Meenakshi
2018-04-19 19:27 ` Leif Lindholm
2018-04-20 6:40 ` Vabhav Sharma
2018-04-20 12:41 ` Leif Lindholm
2018-04-24 12:30 ` Vabhav Sharma
2018-02-16 8:50 ` [PATCH edk2-platforms 33/39] Silicon/NXP: Implement PciHostBridgeLib support Meenakshi
2018-04-20 8:34 ` Ard Biesheuvel
2018-04-24 12:17 ` Vabhav Sharma
2018-04-20 14:54 ` Leif Lindholm
2018-04-24 12:32 ` Vabhav Sharma
2018-02-16 8:50 ` [PATCH edk2-platforms 34/39] Silicon/NXP: Implement EFI_CPU_IO2_PROTOCOL Meenakshi
2018-04-20 8:40 ` Ard Biesheuvel
2018-04-24 12:26 ` Vabhav Sharma
2018-04-24 12:33 ` Ard Biesheuvel
2018-04-24 13:36 ` Vabhav Sharma
2018-04-24 14:02 ` Ard Biesheuvel
2018-04-20 15:15 ` Leif Lindholm
2018-04-24 12:40 ` Vabhav Sharma
2018-02-16 8:50 ` [PATCH edk2-platforms 35/39] Compilation: Update the fdf, dsc and dec files Meenakshi
2018-04-20 15:22 ` Leif Lindholm
2018-04-24 12:47 ` Vabhav Sharma
2018-02-16 8:50 ` [PATCH edk2-platforms 36/39] DWC3 : Add DWC3 USB controller initialization driver Meenakshi
2018-04-20 15:30 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 37/39] LS2088 : Enable support of USB controller Meenakshi
2018-04-20 15:30 ` Leif Lindholm
2018-02-16 8:50 ` [PATCH edk2-platforms 38/39] Platform/NXP:PCIe enablement for LS1046A RDB Meenakshi
2018-04-20 15:33 ` Leif Lindholm
2018-04-24 12:48 ` Vabhav Sharma
2018-02-16 8:50 ` [PATCH edk2-platforms 39/39] Platform/NXP:PCIe enablement for LS2088A RDB Meenakshi
2018-04-20 15:36 ` Leif Lindholm
2018-04-24 12:50 ` Vabhav Sharma
2018-04-17 16:44 ` [PATCH edk2-platforms 00/39] NXP: Add support of LS1043, LS1046 and LS2088 SoCs Leif Lindholm
2018-04-20 16:15 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 00/41] NXP : " Meenakshi Aggarwal
2018-11-28 15:01 ` [PATCH edk2-platforms 01/41] Silicon/NXP: Add Library to return Mmio APIs pointer Meenakshi Aggarwal
2018-12-21 19:17 ` Leif Lindholm
2018-12-26 5:00 ` Meenakshi Aggarwal
2018-11-28 15:01 ` [PATCH edk2-platforms 02/41] Silicon/NXP : Add support for Watchdog driver Meenakshi Aggarwal
2018-12-17 17:36 ` Leif Lindholm
2019-01-29 5:32 ` Meenakshi Aggarwal
2018-11-28 15:01 ` [PATCH edk2-platforms 03/41] SocLib : Add support for initialization of peripherals Meenakshi Aggarwal
2018-12-18 12:31 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 04/41] Silicon/NXP : Add support for DUART library Meenakshi Aggarwal
2018-11-28 15:01 ` [PATCH edk2-platforms 05/41] Silicon/NXP: Add support for I2c driver Meenakshi Aggarwal
2018-12-18 17:25 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 06/41] Silicon/Maxim : Add support for DS1307 RTC library Meenakshi Aggarwal
2018-11-28 15:01 ` [PATCH edk2-platforms 07/41] Platform/NXP: Add support for ArmPlatformLib Meenakshi Aggarwal
2018-11-28 15:01 ` [PATCH edk2-platforms 08/41] Platform/NXP: Add Platform driver for LS1043 RDB board Meenakshi Aggarwal
2018-12-18 17:47 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 09/41] Compilation : Add the fdf, dsc and dec files Meenakshi Aggarwal
2018-12-18 18:35 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 10/41] Readme : Add Readme.md file Meenakshi Aggarwal
2018-12-18 18:41 ` Leif Lindholm
2019-02-01 5:43 ` Meenakshi Aggarwal
2018-11-28 15:01 ` [PATCH edk2-platforms 11/41] IFC : Add Header file for IFC controller Meenakshi Aggarwal
2018-12-18 18:45 ` Leif Lindholm
2019-02-01 5:55 ` Meenakshi Aggarwal
2018-11-28 15:01 ` [PATCH edk2-platforms 12/41] LS1043/BoardLib : Add support for LS1043 BoardLib Meenakshi Aggarwal
2018-12-18 18:50 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 13/41] Silicon/NXP : Add support of IfcLib Meenakshi Aggarwal
2018-12-19 13:25 ` Leif Lindholm
2019-02-01 6:53 ` Meenakshi Aggarwal
2018-11-28 15:01 ` [PATCH edk2-platforms 14/41] Silicon/NXP : Add support for FpgaLib Meenakshi Aggarwal
2018-12-19 17:37 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 15/41] LS1043 : Enable support of FpgaLib Meenakshi Aggarwal
2018-11-28 15:01 ` [PATCH edk2-platforms 16/41] Silicon/NXP : Add support of NorFlashLib Meenakshi Aggarwal
2018-12-19 18:13 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 17/41] Silicon/NXP : Add NOR driver Meenakshi Aggarwal
2018-12-19 18:32 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 18/41] LS1043 : Enable NOR driver for LS1043aRDB package Meenakshi Aggarwal
2018-12-19 18:33 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 19/41] Silicon/NXP:Add LS1046ARDB SoCLib Support Meenakshi Aggarwal
2018-12-19 18:41 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 20/41] Silicon/NXP:Add support for PCF2129 Real Time Clock Library Meenakshi Aggarwal
2018-12-19 18:52 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 21/41] Platform/NXP: LS1046A RDB Board Library Meenakshi Aggarwal
2018-12-19 18:54 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 22/41] Platform/NXP: Add ArmPlatformLib for LS1046A Meenakshi Aggarwal
2018-12-19 19:08 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 23/41] Platform/NXP: Add Platform driver for LS1046 RDB board Meenakshi Aggarwal
2018-12-19 22:05 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 24/41] Platform/NXP: Compilation for LS1046A RDB Board Meenakshi Aggarwal
2018-12-20 17:39 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 25/41] Silicon/NXP:SocLib support for initialization of peripherals Meenakshi Aggarwal
2018-12-21 9:22 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 26/41] Platform/NXP/LS2088aRdbPkg: ArmPlatformLib Support for LS2088ARDB Meenakshi Aggarwal
2018-12-21 9:30 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 27/41] Platform/NXP: Add Platform driver for LS2088 RDB board Meenakshi Aggarwal
2018-12-21 9:35 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 28/41] Silicon/Maxim: DS3232 RTC Library Support Meenakshi Aggarwal
2018-12-21 9:56 ` Leif Lindholm
2018-12-21 10:01 ` Ard Biesheuvel
2018-11-28 15:01 ` [PATCH edk2-platforms 29/41] Compilation : Add the fdf, dsc and dec files Meenakshi Aggarwal
2018-12-21 10:17 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 30/41] Platform/NXP: LS2088A RDB Board Library Meenakshi Aggarwal
2018-12-21 10:20 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 31/41] Platform/NXP: LS2088 RDB Board FPGA library Meenakshi Aggarwal
2018-12-21 10:22 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 32/41] LS2088 : Enable support of FpgaLib Meenakshi Aggarwal
2018-12-21 10:23 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 33/41] LS2088ARDB: Enable NOR driver and Runtime Services Meenakshi Aggarwal
2018-12-21 10:24 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 34/41] Silicon/NXP: Implement PciSegmentLib to support multiple RCs Meenakshi Aggarwal
2018-12-21 10:44 ` Ard Biesheuvel
2018-12-21 14:01 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 35/41] Silicon/NXP: Implement PciHostBridgeLib support Meenakshi Aggarwal
2018-12-21 10:51 ` Ard Biesheuvel
2018-12-21 18:30 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 36/41] Silicon/NXP: Implement EFI_CPU_IO2_PROTOCOL Meenakshi Aggarwal
2018-12-21 11:09 ` Ard Biesheuvel
2018-12-21 18:49 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 37/41] Compilation: Update the fdf, dsc and dec files Meenakshi Aggarwal
2018-12-21 18:51 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 38/41] DWC3 : Add DWC3 USB controller initialization driver Meenakshi Aggarwal
2018-12-21 19:03 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 39/41] LS2088 : Enable support of USB controller Meenakshi Aggarwal
2018-11-28 15:01 ` [PATCH edk2-platforms 40/41] Platform/NXP:PCIe enablement for LS1046A RDB Meenakshi Aggarwal
2018-12-21 19:05 ` Leif Lindholm
2018-11-28 15:01 ` [PATCH edk2-platforms 41/41] Platform/NXP:PCIe enablement for LS2088A RDB Meenakshi Aggarwal
2018-12-21 19:05 ` Leif Lindholm
2018-12-17 9:50 ` [PATCH edk2-platforms 00/41] NXP : Add support of LS1043, LS1046 and LS2088 SoCs Leif Lindholm
[not found] ` <1570639758-30355-1-git-send-email-meenakshi.aggarwal@nxp.com>
[not found] ` <1570639758-30355-2-git-send-email-meenakshi.aggarwal@nxp.com>
2019-10-10 10:17 ` [PATCH edk2-platforms 01/12] Silicon/NXP: Add Library to provide Mmio APIs with swapped data Leif Lindholm
[not found] ` <1570639758-30355-3-git-send-email-meenakshi.aggarwal@nxp.com>
2019-10-10 10:23 ` [PATCH edk2-platforms 02/12] Silicon/NXP: Add function to return swapped Mmio APIs pointer Leif Lindholm
[not found] ` <1570639758-30355-4-git-send-email-meenakshi.aggarwal@nxp.com>
2019-10-10 10:39 ` Leif Lindholm [this message]
[not found] ` <1570639758-30355-5-git-send-email-meenakshi.aggarwal@nxp.com>
2019-10-10 11:17 ` [PATCH edk2-platforms 04/12] SocLib : Add support for initialization of peripherals Leif Lindholm
[not found] ` <1570639758-30355-7-git-send-email-meenakshi.aggarwal@nxp.com>
2019-10-10 14:51 ` [PATCH edk2-platforms 06/12] Silicon/NXP: Add support for I2c driver Leif Lindholm
[not found] ` <1570639758-30355-9-git-send-email-meenakshi.aggarwal@nxp.com>
2019-10-10 15:07 ` [PATCH edk2-platforms 08/12] Silicon/NXP : Add MemoryInitPei Library Leif Lindholm
[not found] ` <1570639758-30355-11-git-send-email-meenakshi.aggarwal@nxp.com>
2019-10-10 15:12 ` [PATCH edk2-platforms 10/12] Platform/NXP: Add Platform driver for LS1043 RDB board Leif Lindholm
[not found] ` <1570639758-30355-12-git-send-email-meenakshi.aggarwal@nxp.com>
2019-10-10 15:17 ` [PATCH edk2-platforms 11/12] Compilation : Add the fdf, dsc and dec files Leif Lindholm
[not found] ` <1570639758-30355-13-git-send-email-meenakshi.aggarwal@nxp.com>
2019-10-10 15:19 ` [PATCH edk2-platforms 12/12] Readme : Add Readme.md file Leif Lindholm
2019-10-10 15:27 ` [PATCH edk2-platforms 00/12] NXP : Add support of LS1043 SoC Leif Lindholm
2019-11-21 16:25 ` [edk2-platforms] [PATCH v2 00/11] " Meenakshi Aggarwal
2019-11-21 16:25 ` [edk2-platforms] [PATCH v2 01/11] Silicon/NXP: Add Library to provide Mmio APIs with swapped data Meenakshi Aggarwal
2019-11-21 16:25 ` [edk2-platforms] [PATCH v2 02/11] Silicon/NXP: Add function to return swapped Mmio APIs pointer Meenakshi Aggarwal
2019-11-21 16:25 ` [edk2-platforms] [PATCH v2 03/11] SocLib : Add support for initialization of peripherals Meenakshi Aggarwal
2019-11-26 16:43 ` Leif Lindholm
2019-11-21 16:25 ` [edk2-platforms] [PATCH v2 04/11] Silicon/NXP : Add support for DUART library Meenakshi Aggarwal
2019-11-21 16:25 ` [edk2-platforms] [PATCH v2 05/11] Silicon/NXP: Add support for I2c driver Meenakshi Aggarwal
2019-11-26 17:00 ` Leif Lindholm
2019-11-21 16:25 ` [edk2-platforms] [PATCH v2 06/11] Silicon/Maxim : Add support for DS1307 RTC library Meenakshi Aggarwal
2019-11-21 16:25 ` [edk2-platforms] [PATCH v2 07/11] Silicon/NXP : Add MemoryInitPei Library Meenakshi Aggarwal
2019-11-26 16:55 ` [edk2-devel] " Leif Lindholm
2019-11-21 16:25 ` [edk2-platforms] [PATCH v2 08/11] Platform/NXP: Add support for ArmPlatformLib Meenakshi Aggarwal
2019-11-21 16:25 ` [edk2-platforms] [PATCH v2 09/11] Platform/NXP: Add Platform driver for LS1043 RDB board Meenakshi Aggarwal
2019-11-21 16:25 ` [edk2-platforms] [PATCH v2 10/11] Compilation : Add the fdf, dsc and dec files Meenakshi Aggarwal
2019-11-26 16:56 ` [edk2-devel] " Leif Lindholm
2019-11-21 16:25 ` [edk2-platforms] [PATCH v2 11/11] Readme : Add Readme.md file Meenakshi Aggarwal
2019-11-26 16:58 ` Leif Lindholm
2020-01-24 22:25 ` [edk2-platforms] [PATCH v3 00/11] Add support of LS1043 SoC Meenakshi Aggarwal
2020-01-24 22:25 ` [edk2-platforms] [PATCH v3 03/11] SocLib : Add support for initialization of peripherals Meenakshi Aggarwal
2020-01-24 22:25 ` [edk2-platforms] [PATCH v3 08/11] Silicon/NXP : Add MemoryInitPei Library Meenakshi Aggarwal
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=20191010103956.GC25504@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