<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/arch/arm/cpu, branch v2022.07</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/arch/arm/cpu?h=v2022.07</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/arch/arm/cpu?h=v2022.07'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2022-06-26T10:22:54Z</updated>
<entry>
<title>sunxi: psci: Fix sunxi_power_switch on sun8i-r40 platform</title>
<updated>2022-06-26T10:22:54Z</updated>
<author>
<name>qianfan Zhao</name>
<email>qianfanguijin@163.com</email>
</author>
<published>2022-05-14T03:19:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=47ca7b574faaa514677457e23a7197c47b0b597c'/>
<id>urn:sha1:47ca7b574faaa514677457e23a7197c47b0b597c</id>
<content type='text'>
linux system will die if we offline one of the cpu on R40 based board:
eg: echo 0 &gt; /sys/devices/system/cpu/cpu3/online

The reason is that the R40 version of sunxi_cpu_set_power always passes
0 for the CPU number, so we turn off CPU0, regardless of what CPU the
CPU_OFF request came for.

Fix this by passing the proper CPU number, as there are proper power
clamp registers for every of the four cores.

Signed-off-by: qianfan Zhao &lt;qianfanguijin@163.com&gt;
Signed-off-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
</content>
</entry>
<entry>
<title>armv8: always use current exception level for TCR_ELx access</title>
<updated>2022-06-16T19:22:55Z</updated>
<author>
<name>Andre Przywara</name>
<email>andre.przywara@arm.com</email>
</author>
<published>2022-06-13T23:11:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=ce9c579e2b7c877684d0140dd34b881e12fe5c59'/>
<id>urn:sha1:ce9c579e2b7c877684d0140dd34b881e12fe5c59</id>
<content type='text'>
Currently get_tcr() takes an "el" parameter, to select the proper
version of the TCR_ELx system register.
This is problematic in case of the Apple M1, since it runs with
HCR_EL2.E2H fixed to 1, so TCR_EL2 is actually using the TCR_EL1 layout,
and we get the wrong version.

For U-Boot's purposes the only sensible choice here is the current
exception level, and indeed most callers treat it like that, so let's
remove that parameter and read the current EL inside the function.
This allows us to check for the E2H bit, and pretend it's EL1 in this
case.

There are two callers which don't care about the EL, and they pass 0,
which looks wrong, but is irrelevant in these two cases, since we don't
use the return value there. So the change cannot affect those two.

Signed-off-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
Reviewed-by: Mark Kettenis &lt;kettenis@openbsd.org&gt;
Tested-by: Mark Kettenis &lt;kettenis@openbsd.org&gt;
</content>
</entry>
<entry>
<title>caam: Fix crash in case caam_jr_probe failed</title>
<updated>2022-05-20T10:36:47Z</updated>
<author>
<name>Ye Li</name>
<email>ye.li@nxp.com</email>
</author>
<published>2022-05-11T08:26:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=cda8f87349594a1df9cc8616e25944173c9d0a0c'/>
<id>urn:sha1:cda8f87349594a1df9cc8616e25944173c9d0a0c</id>
<content type='text'>
If probing caam_jr returns failure, the variable "dev" will not be
initialized, so we can't use dev-&gt;name for the error print.
Otherwise it will cause crash.

Signed-off-by: Ye Li &lt;ye.li@nxp.com&gt;
Reviewed-by: Gaurav Jain &lt;gaurav.jain@nxp.com&gt;
</content>
</entry>
<entry>
<title>armv8/fsl-lsch3: Suppress spurious warning on Layerscape CPUs</title>
<updated>2022-04-26T11:43:57Z</updated>
<author>
<name>Stephen Carlson</name>
<email>stcarlso@linux.microsoft.com</email>
</author>
<published>2022-03-29T21:51:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=3b06577ab4eefd954348f1dc0f5abb3408d10d0c'/>
<id>urn:sha1:3b06577ab4eefd954348f1dc0f5abb3408d10d0c</id>
<content type='text'>
NXP/Freescale Layerscape CPUs support high-speed serial interfaces (SERDES)
that can be configured for the application. Interfaces not used by the
application can be set to protocol 0 to turn them off and save power, but
U-Boot would emit a warning that 0 was invalid for a SERDES protocol on
boot. Replace the warning text with a notice that the SERDES is disabled.

Signed-off-by: Stephen Carlson &lt;stcarlso@linux.microsoft.com&gt;
Reviewed-by: Priyanka Jain &lt;priyanka.jain@nxp.com&gt;
</content>
</entry>
<entry>
<title>armv8: layerscape: fix the function mismatch issue</title>
<updated>2022-04-26T11:43:57Z</updated>
<author>
<name>Yuantian Tang</name>
<email>andy.tang@nxp.com</email>
</author>
<published>2022-03-09T07:37:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=aaaa1be8f043ff9412f9c35c62a05bcf218eda34'/>
<id>urn:sha1:aaaa1be8f043ff9412f9c35c62a05bcf218eda34</id>
<content type='text'>
Signed-off-by: Yuantian Tang &lt;andy.tang@nxp.com&gt;
Reviewed-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
Reviewed-by: Priyanka Jain &lt;priyanka.jain@nxp.com&gt;
</content>
</entry>
<entry>
<title>armv8: psci: add ARMV8_PSCI_RELOCATE Kconfig option</title>
<updated>2022-04-26T11:43:57Z</updated>
<author>
<name>Michael Walle</name>
<email>michael@walle.cc</email>
</author>
<published>2022-02-28T12:48:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=49bb245f1dc447152a80b522cce7b964e0972517'/>
<id>urn:sha1:49bb245f1dc447152a80b522cce7b964e0972517</id>
<content type='text'>
There is an user-selectable SYS_HAS_ARMV8_SECURE_BASE, which has the
same meaning but is just for the ls1043ardb board. As no in-tree config
uses this, drop it and replace it with something more sophiticated:
ARMV8_PSCI_RELOCATE. This option will then enable the ARMV8_SECURE_BASE
option which is used as the base to relocate the PSCI code (or any code
in the secure region, but that is only PSCI). A SoC (or board) can now
opt-in into having such a secure region by enabling
SYS_HAS_ARMV8_SECURE_BASE. Enable it for the LS1043A SoC, where it was
possible to relocate the PSCI code before as well as on the LS1028A SoC
where there will be PSCI support soon.

Additionally, make ARMV8_PSCI and SEC_FIRMWARE_ARMV8_PSCI exclusive.

Signed-off-by: Michael Walle &lt;michael@walle.cc&gt;
Reviewed-by: Priyanka Jain &lt;priyanka.jain@nxp.com&gt;
</content>
</entry>
<entry>
<title>armv8: psci: skip setup code if we are not EL3</title>
<updated>2022-04-26T11:43:57Z</updated>
<author>
<name>Michael Walle</name>
<email>michael@walle.cc</email>
</author>
<published>2022-02-28T12:48:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=de58ac49a5d941a053008bf395c862efc34b5595'/>
<id>urn:sha1:de58ac49a5d941a053008bf395c862efc34b5595</id>
<content type='text'>
If we are running in EL2 skip PSCI implementation setup. This avoids an
exception if CONFIG_ARMV8_PSCI is set, but u-boot is started by TF-A.

Signed-off-by: Michael Walle &lt;michael@walle.cc&gt;
Reviewed-by: Priyanka Jain &lt;priyanka.jain@nxp.com&gt;
</content>
</entry>
<entry>
<title>armv8: layerscape: get rid of smc_call()</title>
<updated>2022-04-26T11:43:57Z</updated>
<author>
<name>Michael Walle</name>
<email>michael@walle.cc</email>
</author>
<published>2022-04-22T09:23:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=cb14cc8867cde068aa798375ba14eaef12cff6c4'/>
<id>urn:sha1:cb14cc8867cde068aa798375ba14eaef12cff6c4</id>
<content type='text'>
There are two different implementations to do a secure monitor call:
smc_call() and arm_smccc_smc(). The former is defined in fwcall.c and
seems to be an ad-hoc implementation. The latter is imported from linux.

smc_call() is also only available if CONFIG_ARMV8_PSCI is not defined.
This makes it impossible to have both PSCI calls and PSCI implementation
in one u-boot build. The layerscape SoC code decide at runtime via
check_psci() if there is a PSCI support. Therefore, this is a
prerequisite patch to add PSCI implementation support for the layerscape
SoCs.

Note, for the TFA part, this is only compile time tested with
(ls1028ardb_tfa_defconfig).

Signed-off-by: Michael Walle &lt;michael@walle.cc&gt;
[Rebased]
Signed-off-by: Priyanka Jain &lt;priyanka.jain@nxp.com&gt;
</content>
</entry>
<entry>
<title>armv8: include psci_update_dt() unconditionally</title>
<updated>2022-04-26T11:43:57Z</updated>
<author>
<name>Michael Walle</name>
<email>michael@walle.cc</email>
</author>
<published>2022-02-28T12:48:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=eb217200efab6c400f96fb039474dcc840bb8404'/>
<id>urn:sha1:eb217200efab6c400f96fb039474dcc840bb8404</id>
<content type='text'>
psci_update_dt() is also required if CONFIG_ARMV8_PSCI is set, that is,
if u-boot is the PSCI provider.
Guard the check which is intended to call into the PSCI implementation
in the secure firmware, by the proper macro SEC_FIRMWARE_ARMV8_PSCI.

Mark the function as weak because - unfortunately - there is already
a stub of the same function in arch/arm/mach-rmobile/psci-r8a779a0.c
which does not the same as the common one.

Signed-off-by: Michael Walle &lt;michael@walle.cc&gt;
Reviewed-by: Priyanka Jain &lt;priyanka.jain@nxp.com&gt;
</content>
</entry>
<entry>
<title>arm: layerscape: Disable erratum A009007 on LS1021A, LS1043A, and LS1046A</title>
<updated>2022-04-26T11:42:32Z</updated>
<author>
<name>Sean Anderson</name>
<email>sean.anderson@seco.com</email>
</author>
<published>2022-04-22T08:31:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=881284b36a3785328ac611bab4aedd9a2a8563e6'/>
<id>urn:sha1:881284b36a3785328ac611bab4aedd9a2a8563e6</id>
<content type='text'>
This erratum is reported to cause problems on these processors [1-3].
The problem is usually with the clocking, which is supposed to be
configured by the RCW [4]. However, if it is not set, or if the default
clocking is not correct, then this erratum will cause an SError.
However, according to Ran Wang in [1]:
" ... this erratum is used to pass USB compliance test only, you could
 disable this workaround on your board if you don't any USB issue on
 normal use case, I think it's fine."

So just disable this erratum by default for these processors.

[1] https://lore.kernel.org/all/761ddd61-05c1-d9b8-ac90-b8f425afde6c@denx.de/
[2] https://community.nxp.com/t5/Layerscape/LS1046A-U-BOOT-HALT-AT-ERRATUM-A0090078/m-p/742993
[3] https://community.nxp.com/t5/QorIQ/Why-does-the-LS1043A-U-Boot-hang-at-code-that-fixes-erratum/m-p/644412
[4] https://source.codeaurora.org/external/qoriq/qoriq-components/rcw/tree/ls1046ardb/usb_phy_freq.rcw

Signed-off-by: Sean Anderson &lt;sean.anderson@seco.com&gt;
Acked-by: Ran Wang &lt;ran.wang_1@nxp.com&gt;
[Rebased]
Signed-off-by: Priyanka Jain &lt;priyanka.jain@nxp.com&gt;
</content>
</entry>
</feed>
