<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm63xx/atf/plat/allwinner/common/include, 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-02-18T03:12:51Z</updated>
<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>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>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: Prepare for executing code on the management processor</title>
<updated>2018-10-20T15:23:59Z</updated>
<author>
<name>Andre Przywara</name>
</author>
<published>2018-10-14T10:45:41Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=11480b9010d4b188e06395b7ac01b4aa164a110d'/>
<id>urn:sha1:11480b9010d4b188e06395b7ac01b4aa164a110d</id>
<content type='text'>
The more recent Allwinner SoCs contain an OpenRISC management
controller (called arisc or CPUS), which shares the bus with the ARM cores,
but runs on a separate power domain. This is meant to handle power
management with the ARM cores off.
There are efforts to run sophisticated firmware on that core
(communicating via SCPI with the ARM world), but for now can use it for
the rather simple task of helping to turn the ARM cores off. As this
cannot be done by ARM code itself (because execution stops at the
first of the three required steps), we can offload some instructions to
this management processor.
This introduces a helper function to hand over a bunch of instructions
and triggers execution. We introduce a bakery lock to avoid two cores
trying to use that (single) arisc core. The arisc code is expected to
put itself into reset after is has finished execution.

Signed-off-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
</content>
</entry>
<entry>
<title>allwinner: Pass FDT address to sunxi_pmic_setup()</title>
<updated>2018-10-20T15:23:59Z</updated>
<author>
<name>Andre Przywara</name>
</author>
<published>2018-09-08T18:18:37Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=df301601c872b1c59c55928082a0e1e971b5ba5d'/>
<id>urn:sha1:df301601c872b1c59c55928082a0e1e971b5ba5d</id>
<content type='text'>
For Allwinner boards we now use some heuritistics to find a preloaded
.dtb file.

Pass this address on to the PMIC setup routine, so that it can use the
information contained therein to setup some initial power rails.

Signed-off-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
</content>
</entry>
<entry>
<title>allwinner: Find DTB in BL33 image</title>
<updated>2018-10-20T15:23:59Z</updated>
<author>
<name>Andre Przywara</name>
</author>
<published>2018-09-16T01:08:06Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=41538930555182e4c36f44677e5df2b97d266350'/>
<id>urn:sha1:41538930555182e4c36f44677e5df2b97d266350</id>
<content type='text'>
The initial PMIC setup for the Allwinner platform is quite board
specific, and used to be guarded by reading the .dtb stub *name* from the
SPL image in the legacy ATF port. This doesn't scale particularly well,
and requires constant maintainance.
Instead having the actual .dtb available would be much better, as the PMIC
setup requirements could be read from there directly.
The only available BL33 for Allwinner platforms so far is U-Boot, and
fortunately U-Boot comes with the full featured .dtb, appended to the
end of the U-Boot image.

Introduce some code that scans the beginning of the BL33 image to look
for the load address, which is followed by the image size. Adding those
two values together gives us the end of the image and thus the .dtb
address. Verify that this heuristic is valid by sanitising some values
and checking the DTB magic.

Print out the DTB address and the model name, if specified in the root
node.

Signed-off-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
</content>
</entry>
<entry>
<title>allwinner: H6: Factor out I2C platform setup</title>
<updated>2018-10-20T15:23:59Z</updated>
<author>
<name>Andre Przywara</name>
</author>
<published>2018-10-14T21:13:53Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=d5ddf67a66d77d04a6f0f6856af02704f486fd73'/>
<id>urn:sha1:d5ddf67a66d77d04a6f0f6856af02704f486fd73</id>
<content type='text'>
In the H6 platform code there is a routine to do the platform
initialisation of the R_I2C controller. We will need a very similar
setup routine to initialise the RSB controller on the A64.

Move this code to sunxi_common.c and generalise it to support all SoCs
and also to cover the related RSB bus.

Signed-off-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
</content>
</entry>
<entry>
<title>allwinner: Introduce GPIO helper function</title>
<updated>2018-10-20T15:23:59Z</updated>
<author>
<name>Andre Przywara</name>
</author>
<published>2018-10-14T11:03:23Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=7020dca0bdad580d322839fcade8265d64a2e886'/>
<id>urn:sha1:7020dca0bdad580d322839fcade8265d64a2e886</id>
<content type='text'>
Many boards without a dedicated PMIC contain simple regulators, which
can be controlled via GPIO pins.

To later allow turning them off easily, introduce a simple function to
configure a given pin as a GPIO out pin and set it to the desired level.

Signed-off-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
</content>
</entry>
<entry>
<title>allwinner: Export sunxi_private.h</title>
<updated>2018-10-20T15:23:59Z</updated>
<author>
<name>Andre Przywara</name>
</author>
<published>2018-10-14T11:02:02Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=4ec1a2399cf6e182ba2828a40795912d20eca1ab'/>
<id>urn:sha1:4ec1a2399cf6e182ba2828a40795912d20eca1ab</id>
<content type='text'>
So far we have a sunxi_private.h header file in the common code directory.
This holds the prototypes of various functions we share in *common*
code. However we will need some of those in the platform specific code
parts as well, and want to introduce new functions shared across the
whole platform port.

So move the sunxi_private.h file into the common/include directory, so
that it becomes visible to all parts of the platform code.
Fix up the existing #includes and add missing ones, also add the
sunxi_read_soc_id() prototype here.

This will be used in follow up patches.

Signed-off-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
</content>
</entry>
<entry>
<title>allwinner: Introduce names for SoC IDs</title>
<updated>2018-10-20T15:23:59Z</updated>
<author>
<name>Andre Przywara</name>
</author>
<published>2018-09-16T23:03:09Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=123bcb3f3889b3249678685a665ed9b5b2b22b04'/>
<id>urn:sha1:123bcb3f3889b3249678685a665ed9b5b2b22b04</id>
<content type='text'>
We will soon make more use of the Allwinner SoC ID, to differentiate the
platform setup.
Introduce definitions to avoid dealing with magic numbers and make the
code more readable.

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