<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2-platforms.git/Silicon/NXP/Library/Pcf8563RealTimeClockLib, branch CodeCleanup</title>
<subtitle>EDK II sample platform branches and tags (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2-platforms.git/atom?h=CodeCleanup</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/atom?h=CodeCleanup'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/'/>
<updated>2023-10-13T10:12:01+00:00</updated>
<entry>
<title>NXP/Pcf8563RealTimeClockLib: hide LibRtcVirtualNotifyEvent</title>
<updated>2023-10-13T10:12:01+00:00</updated>
<author>
<name>Laszlo Ersek</name>
<email>lersek@redhat.com</email>
</author>
<published>2023-10-12T09:09:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=e18af89799dadb4f906734dcf2d358168df539af'/>
<id>urn:sha1:e18af89799dadb4f906734dcf2d358168df539af</id>
<content type='text'>
The RealTimeClockLib class header in edk2 mistakenly declares a function
called LibRtcVirtualNotifyEvent(). No component ever calls this function
crossing module boundaries; all RealTimeClockLib instances in edk2 and
edk2-platforms are supposed to register (and do register) their
SetVirtualAddressMap() notification functions.

Rename LibRtcVirtualNotifyEvent() to VirtualNotifyEvent(), and make it
static, in preparation for removing the LibRtcVirtualNotifyEvent()
declaration from the lib class header later.

Build-tested only (with "DeveloperBox.dsc").

Cc: Leif Lindholm &lt;quic_llindhol@quicinc.com&gt;
Cc: Masami Hiramatsu &lt;masami.hiramatsu@linaro.org&gt;
Cc: Meenakshi Aggarwal &lt;meenakshi.aggarwal@nxp.com&gt;
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4564
Signed-off-by: Laszlo Ersek &lt;lersek@redhat.com&gt;
Reviewed-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
</content>
</entry>
<entry>
<title>Silicon/NXP/Pcf8563RealTimeClockLib: Clear Nanosecond field in GetTime</title>
<updated>2021-07-28T10:43:43+00:00</updated>
<author>
<name>Masami Hiramatsu</name>
<email>masami.hiramatsu@linaro.org</email>
</author>
<published>2021-07-26T08:28:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=c131fed73d370dff84d0c9dea715ebddddec499d'/>
<id>urn:sha1:c131fed73d370dff84d0c9dea715ebddddec499d</id>
<content type='text'>
Clear unsupported Nanosecond field of the EFI_TIME data structure.
Without this fix, date/time commands on UEFI shell fail to set
because of the invaild parameter error.
This is tested on the SynQuacer DeveloperBox platform which also
uses 'Pcf8563' RTC chip.

Signed-off-by: Masami Hiramatsu &lt;masami.hiramatsu@linaro.org&gt;
Reported-by: Kazuhiko Sakamoto &lt;sakamoto.kazuhiko@socionext.com&gt;
</content>
</entry>
<entry>
<title>Silicon/NXP: Replace BSD License with BSD+Patent License</title>
<updated>2019-05-17T21:22:35+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2019-05-15T22:49:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=5c6d74fcd1f7437a823007832362ebc02bad8af0'/>
<id>urn:sha1:5c6d74fcd1f7437a823007832362ebc02bad8af0</id>
<content type='text'>
https://bugzilla.tianocore.org/show_bug.cgi?id=1373

Replace BSD 2-Clause License with BSD+Patent License.  This change is
based on the following emails:

  https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
  https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html

RFCs with detailed process for the license change:

  V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
  V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
  V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html

Cc: Leif Lindholm &lt;leif.lindholm@linaro.org&gt;
Cc: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Reviewed-by: Leif Lindholm &lt;leif.lindholm@linaro.org&gt;
</content>
</entry>
<entry>
<title>Silicon/NXP/Pcf8563RealTimeClockLib: add Voltage-low handling</title>
<updated>2018-06-20T10:50:31+00:00</updated>
<author>
<name>Masahisa Kojima</name>
<email>masahisa.kojima@linaro.org</email>
</author>
<published>2018-06-20T07:15:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=070938aa96aa91d822de57897e39c747c56eb4de'/>
<id>urn:sha1:070938aa96aa91d822de57897e39c747c56eb4de</id>
<content type='text'>
BcdToDecimal8() in LibGetTime() asserts with the
following condition.
 1) RTC device has not been initialized yet, RTC device
    returns indeterminate value with VL bit(1)
 2) DEBUG build

UEFI boot fails with assertion when it satisfies above conditions.

Aside from boot failure, UEFI shell commands "date/time" expect
that getting time from RTC should succeed when user sets the time.
ShellCommandRunTime() performs GetTime()-&gt;update time-&gt;SetTime(),
if the first GetTime() fails, user can not set time.
With that, simply returning EFI_DEVICE_ERROR in LibGetTime()
is not applicable to VL bit handling.

To avoid this situation, even if it only occurs in DEBUG build,
RTC driver should check the VL bit in the VL_seconds register.
This VL bit is voltage-low detector, it means integrity of the
clock information is not guaranteed if it sets to 1. In this
case, driver return dummy date/time(01/01/2000 00:00:00) to
proceed succeeding process.

linux driver also checks this bit when driver gets the time
from RTC. If VL bit is 1, linux driver discard the retreived
time data.

Note that if VL bit is 1, GetTime() returns always
01/01/2000 00:00:00 until user sets date/time.

Contributed-under: TianoCore Contribution Agreement 1.1
Co-authored-by: Yoshitoyo Osaki &lt;osaki.yoshitoyo@socionext.com&gt;
Signed-off-by: Masahisa Kojima &lt;masahisa.kojima@linaro.org&gt;
Reviewed-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
</content>
</entry>
<entry>
<title>Silicon/NXP/Pcf8563RealTimeClockLib: avoid driver binding protocol</title>
<updated>2018-01-25T13:08:35+00:00</updated>
<author>
<name>Ard Biesheuvel</name>
<email>ard.biesheuvel@linaro.org</email>
</author>
<published>2017-12-20T13:20:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=e4ccab4b7052b036e081710ee48d1e1778f9cd1b'/>
<id>urn:sha1:e4ccab4b7052b036e081710ee48d1e1778f9cd1b</id>
<content type='text'>
Instead of registering a notification callback on the driver binding
protocol, and attempting to connect our I2C master handle each time
a new driver is registered, switch to the more obvious approach of
registering a notification callback on the I2C master protocol directly.

The original code was written under the assumption that it would make
the RTC available at an earlier time, but given that all handles that
are created during the execution of a driver entry point are connected
by DXE core right away (i.e., before StartImage() returns), this is not
really necessary, and in fact, may result in the driver already having
been connected by the time we attempt to connect it.

Note that it is now up to the platform to ensure that ConnectController()
is called for the handle if DXE core does not call it by itself, or does
call it but at a time when no I2C master protocol driver is available
yet.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Reviewed-by: Leif Lindholm &lt;leif.lindholm@linaro.org&gt;
</content>
</entry>
<entry>
<title>Silicon: fix typo in gPcf8563RealTimeClockLibI2cMasterProtocolGuid</title>
<updated>2018-01-25T13:08:32+00:00</updated>
<author>
<name>Ard Biesheuvel</name>
<email>ard.biesheuvel@linaro.org</email>
</author>
<published>2017-12-20T13:03:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=6c169916eb4828df7c14d9a8756a99e8ed6769cb'/>
<id>urn:sha1:6c169916eb4828df7c14d9a8756a99e8ed6769cb</id>
<content type='text'>
Do a global replace of gPcf8563RealTimeClockLibI2cMasterProtolGuid with
gPcf8563RealTimeClockLibI2cMasterProtocolGuid.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Reviewed-by: Leif Lindholm &lt;leif.lindholm@linaro.org&gt;
</content>
</entry>
<entry>
<title>Silicon/NXP: add RTC support library for PCF8563 I2C IP</title>
<updated>2017-11-25T22:31:01+00:00</updated>
<author>
<name>Ard Biesheuvel</name>
<email>ard.biesheuvel@linaro.org</email>
</author>
<published>2017-11-03T09:31:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=f66c36ee33acd18e66f81606645635eee99a06da'/>
<id>urn:sha1:f66c36ee33acd18e66f81606645635eee99a06da</id>
<content type='text'>
Add a RealTimeClockLib implementation for the NXP PCF8563 as used on
the Socionext Developer Box board. Note that the standard I2C protocol
stack does not support runtime use, so this driver invokes the I2C master
protocol directly. This requires support from the platform side as well,
and so this driver will only attach to a I2C master that has the
gPcf8563RealTimeClockLibI2cMasterProtolGuid protocol installed on its
handle. It is up to the platform to ensure that the driver producing
the I2C master protocol in question is runtime capable, and is not
shared with the I2C protocol stack (i.e., it should not have the I2C
Bus Configuration Management protocol installed as well).

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Reviewed-by: Leif Lindholm &lt;leif.lindholm@linaro.org&gt;
</content>
</entry>
</feed>
