<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm63xx/atf/plat/allwinner/common, branch master</title>
<subtitle>Broadcom-s Trusted Firmware A</subtitle>
<id>https://git-03.infra.openwrt.org/project/bcm63xx/atf/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/'/>
<updated>2019-06-28T09:52:48Z</updated>
<entry>
<title>Remove MULTI_CONSOLE_API flag and references to it</title>
<updated>2019-06-28T09:52:48Z</updated>
<author>
<name>Ambroise Vincent</name>
</author>
<published>2019-04-04T08:13:28Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=5b6ebeec9c99f8d6a539d3b15e5dfb827891174a'/>
<id>urn:sha1:5b6ebeec9c99f8d6a539d3b15e5dfb827891174a</id>
<content type='text'>
The new API becomes the default one.

Change-Id: Ic1d602da3dff4f4ebbcc158b885295c902a24fec
Signed-off-by: Ambroise Vincent &lt;ambroise.vincent@arm.com&gt;
</content>
</entry>
<entry>
<title>allwinner: Disable unused features to save space</title>
<updated>2019-06-08T21:48:39Z</updated>
<author>
<name>Samuel Holland</name>
</author>
<published>2019-06-08T21:03:32Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=8f31853babcee794d3f282c1584abe72e1bbd8b5'/>
<id>urn:sha1:8f31853babcee794d3f282c1584abe72e1bbd8b5</id>
<content type='text'>
As all Allwinner platforms are single-cluster A53 chips, we can disable
support for newer, unsupported architecture extensions. We can also
avoid some cache maintenance code, since no platform-specific setup is
required to enable coherency.

These changes reduce the size of .text on a default build with GCC 9.1
enough that .vectors again fits in the second half of a page, instead
of requiring its own page.

This commit was boot-tested on the Pinebook.

Signed-off-by: Samuel Holland &lt;samuel@sholland.org&gt;
Change-Id: Ib90454ef0c798d5e714b7780c585be0b1ed49c6d
</content>
</entry>
<entry>
<title>plat: allwinner: common: use r_wdog instead of wdog</title>
<updated>2019-04-10T23:57:24Z</updated>
<author>
<name>Clément Péron</name>
</author>
<published>2019-04-08T22:15:06Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=523ab5be1a84e9aa15fb62c3a15a6338b01d3961'/>
<id>urn:sha1:523ab5be1a84e9aa15fb62c3a15a6338b01d3961</id>
<content type='text'>
Some Allwinner H6 has a broken watchdog that doesn't
make the soc reboot.

Use the R_WATCHDOG instead.

Signed-off-by: Clément Péron &lt;peron.clem@gmail.com&gt;
Change-Id: Ie95cc30a80ed517b60b30d6bc2e655a1b53f18ba
</content>
</entry>
<entry>
<title>allwinner: Clean up CPU ops functions</title>
<updated>2019-02-18T03:12:51Z</updated>
<author>
<name>Samuel Holland</name>
</author>
<published>2019-02-17T21:33:33Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=5d4bd66d2f893c2db972e56d2ac97ee5a066d6ad'/>
<id>urn:sha1:5d4bd66d2f893c2db972e56d2ac97ee5a066d6ad</id>
<content type='text'>
Convert them to take an mpidr instead of a (cluster, core) pair. This
simplifies all of the call sites, and actually makes the functions a bit
smaller.

Signed-off-by: Samuel Holland &lt;samuel@sholland.org&gt;
</content>
</entry>
<entry>
<title>allwinner: Constify data structures</title>
<updated>2019-02-18T02:13:40Z</updated>
<author>
<name>Samuel Holland</name>
</author>
<published>2019-02-17T21:09:11Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=508116827cfc763a5a8788608fb9848b25858c95'/>
<id>urn:sha1:508116827cfc763a5a8788608fb9848b25858c95</id>
<content type='text'>
This maximizes the amount of data protected by the MMU.

Signed-off-by: Samuel Holland &lt;samuel@sholland.org&gt;
</content>
</entry>
<entry>
<title>Sanitise includes across codebase</title>
<updated>2019-01-04T10:43:17Z</updated>
<author>
<name>Antonio Nino Diaz</name>
</author>
<published>2018-12-14T00:18:21Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=09d40e0e08283a249e7dce0e106c07c5141f9b7e'/>
<id>urn:sha1:09d40e0e08283a249e7dce0e106c07c5141f9b7e</id>
<content type='text'>
Enforce full include path for includes. Deprecate old paths.

The following folders inside include/lib have been left unchanged:

- include/lib/cpus/${ARCH}
- include/lib/el3_runtime/${ARCH}

The reason for this change is that having a global namespace for
includes isn't a good idea. It defeats one of the advantages of having
folders and it introduces problems that are sometimes subtle (because
you may not know the header you are actually including if there are two
of them).

For example, this patch had to be created because two headers were
called the same way: e0ea0928d5b7 ("Fix gpio includes of mt8173 platform
to avoid collision."). More recently, this patch has had similar
problems: 46f9b2c3a282 ("drivers: add tzc380 support").

This problem was introduced in commit 4ecca33988b9 ("Move include and
source files to logical locations"). At that time, there weren't too
many headers so it wasn't a real issue. However, time has shown that
this creates problems.

Platforms that want to preserve the way they include headers may add the
removed paths to PLAT_INCLUDES, but this is discouraged.

Change-Id: I39dc53ed98f9e297a5966e723d1936d6ccf2fc8f
Signed-off-by: Antonio Nino Diaz &lt;antonio.ninodiaz@arm.com&gt;
</content>
</entry>
<entry>
<title>drivers/console: Link console framework code by default</title>
<updated>2018-12-07T00:13:50Z</updated>
<author>
<name>Julius Werner</name>
</author>
<published>2018-11-28T01:50:28Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=985ee0b7e8d039105de48f60c0195f391f86a625'/>
<id>urn:sha1:985ee0b7e8d039105de48f60c0195f391f86a625</id>
<content type='text'>
This patch makes the build system link the console framework code by
default, like it already does with other common libraries (e.g. cache
helpers). This should not make a difference in practice since TF is
linked with --gc-sections, so the linker will garbage collect all
functions and data that are not referenced by any other code. Thus, if a
platform doesn't want to include console code for size reasons and
doesn't make any references to console functions, the code will not be
included in the final binary.

To avoid compatibility issues with older platform ports, only make this
change for the MULTI_CONSOLE_API.

Change-Id: I153a9dbe680d57aadb860d1c829759ba701130d3
Signed-off-by: Julius Werner &lt;jwerner@chromium.org&gt;
</content>
</entry>
<entry>
<title>allwinner: A64/H5: setup missing bus clocks</title>
<updated>2018-11-14T09:36:44Z</updated>
<author>
<name>Andre Przywara</name>
</author>
<published>2018-11-04T23:37:48Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=19a7507a9e790841efe904647a2464425dcf5bb3'/>
<id>urn:sha1:19a7507a9e790841efe904647a2464425dcf5bb3</id>
<content type='text'>
The legacy Allwinner ATF port used to setup some clocks, and U-Boot is
still relying on this. We don't need to setup the full set, as the SPL
is doing most of it, but it misses one clock (AHB2) and programs another
(AHB1) to quite conservative values.

Fix this up during the platform setup to improve USB and Ethernet
performance, iperf values go up by 31% in my setup with that patch.

Signed-off-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
</content>
</entry>
<entry>
<title>Standardise header guards across codebase</title>
<updated>2018-11-08T10:20:19Z</updated>
<author>
<name>Antonio Nino Diaz</name>
</author>
<published>2018-11-08T10:20:19Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=c3cf06f1a3a9b9ee8ac7a0ae505f95c45f7dca84'/>
<id>urn:sha1:c3cf06f1a3a9b9ee8ac7a0ae505f95c45f7dca84</id>
<content type='text'>
All identifiers, regardless of use, that start with two underscores are
reserved. This means they can't be used in header guards.

The style that this project is now to use the full name of the file in
capital letters followed by 'H'. For example, for a file called
"uart_example.h", the header guard is UART_EXAMPLE_H.

The exceptions are files that are imported from other projects:

- CryptoCell driver
- dt-bindings folders
- zlib headers

Change-Id: I50561bf6c88b491ec440d0c8385c74650f3c106e
Signed-off-by: Antonio Nino Diaz &lt;antonio.ninodiaz@arm.com&gt;
</content>
</entry>
<entry>
<title>allwinner: Use the arisc to turn off ARM cores</title>
<updated>2018-10-20T15:23:59Z</updated>
<author>
<name>Andre Przywara</name>
</author>
<published>2018-09-27T23:43:32Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=7db0c96023281d8a530f5e011a232e5d56557437'/>
<id>urn:sha1:7db0c96023281d8a530f5e011a232e5d56557437</id>
<content type='text'>
PSCI requires a core to turn itself off, which we can't do properly by
just executing an algorithm on that very core. As a consequence we just
put a core into WFI on CPU_OFF right now.
To fix this let's task the "arisc" management processor (an OpenRISC
core) with that task of asserting reset and turning off the core's power
domain. We use a handcrafted sequence of OpenRISC instructions to
achieve this, and hand this data over to the new sunxi_execute_arisc_code()
routine.
The commented source code for this routine is provided in a separate file,
but the ATF code contains the already encoded instructions as data.
The H6 uses the same algorithm, but differs in the MMIO addresses, so
provide a SoC (family) specific copy of that code.

Signed-off-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
</content>
</entry>
</feed>
