<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm63xx/u-boot/arch/riscv/include/asm, branch master</title>
<subtitle>Broadcom-s U-Boot</subtitle>
<id>https://git.openwrt.org/project/bcm63xx/u-boot/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/project/bcm63xx/u-boot/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/'/>
<updated>2019-05-09T08:46:46Z</updated>
<entry>
<title>riscv: Introduce CONFIG_XIP to support booting from flash</title>
<updated>2019-05-09T08:46:46Z</updated>
<author>
<name>Rick Chen</name>
</author>
<published>2019-04-30T05:49:33Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=bdce38965e79143ed58bf1c6d39c650ff3dfefd1'/>
<id>urn:sha1:bdce38965e79143ed58bf1c6d39c650ff3dfefd1</id>
<content type='text'>
When U-Boot boots from flash, during the boot process,
hart_lottery and available_harts_lock variable addresses
point to flash which is not writable. This causes boot
failures on AE350. Introduce a config option CONFIG_XIP
to support such configuration.

Signed-off-by: Rick Chen &lt;rick@andestech.com&gt;
Cc: Greentime Hu &lt;greentime@andestech.com&gt;
Reviewed-by: Lukas Auer &lt;lukas.auer@aisec.fraunhofer.de&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>riscv: Add a SYSCON driver for Andestech's PLMT</title>
<updated>2019-04-08T01:45:08Z</updated>
<author>
<name>Rick Chen</name>
</author>
<published>2019-04-02T07:56:40Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=a1f24875c346a1bf8940b793a27364631d9aabf7'/>
<id>urn:sha1:a1f24875c346a1bf8940b793a27364631d9aabf7</id>
<content type='text'>
The platform-Level Machine Timer (PLMT) block
holds memory-mapped mtime register associated
with timer tick.

This driver implements the riscv_get_time() which
is required by the generic RISC-V timer driver.

Signed-off-by: Rick Chen &lt;rick@andestech.com&gt;
Cc: Greentime Hu &lt;greentime@andestech.com&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Lukas Auer &lt;lukas.auer@aisec.fraunhofer.de&gt;
</content>
</entry>
<entry>
<title>riscv: Add a SYSCON driver for Andestech's PLIC</title>
<updated>2019-04-08T01:45:08Z</updated>
<author>
<name>Rick Chen</name>
</author>
<published>2019-04-02T07:56:39Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=0d389468e2144f3ba3bdbc566c05c0c05dc14fc6'/>
<id>urn:sha1:0d389468e2144f3ba3bdbc566c05c0c05dc14fc6</id>
<content type='text'>
The Platform-Level Interrupt Controller (PLIC)
block holds memory-mapped claim and pending registers
associated with software interrupt. It is required
for handling IPI.

Signed-off-by: Rick Chen &lt;rick@andestech.com&gt;
Cc: Greentime Hu &lt;greentime@andestech.com&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Lukas Auer &lt;lukas.auer@aisec.fraunhofer.de&gt;
</content>
</entry>
<entry>
<title>riscv: add support for multi-hart systems</title>
<updated>2019-04-08T01:44:26Z</updated>
<author>
<name>Lukas Auer</name>
</author>
<published>2019-03-17T18:28:37Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=3dea63c8445b25eb3de471410bbafcf54c9f0e9b'/>
<id>urn:sha1:3dea63c8445b25eb3de471410bbafcf54c9f0e9b</id>
<content type='text'>
On RISC-V, all harts boot independently. To be able to run on a
multi-hart system, U-Boot must be extended with the functionality to
manage all harts in the system. All harts entering U-Boot are registered
in the available_harts mask stored in global data. A hart lottery system
as used in the Linux kernel selects the hart U-Boot runs on. All other
harts are halted. U-Boot can delegate functions to them using
smp_call_function().

Every hart has a valid pointer to the global data structure and a 8KiB
stack by default. The stack size is set with CONFIG_STACK_SIZE_SHIFT.

Signed-off-by: Lukas Auer &lt;lukas.auer@aisec.fraunhofer.de&gt;
Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Tested-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>riscv: import the supervisor binary interface header file</title>
<updated>2019-04-08T01:44:25Z</updated>
<author>
<name>Lukas Auer</name>
</author>
<published>2019-03-17T18:28:33Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=34a0626fc344f51cd768efecdd52628b677fb9a8'/>
<id>urn:sha1:34a0626fc344f51cd768efecdd52628b677fb9a8</id>
<content type='text'>
Import the supervisor binary interface (SBI) header file from Linux
(arch/riscv/include/asm/sbi.h). The last change to it was in commit
6d60b6ee0c97 ("RISC-V: Device, timer, IRQs, and the SBI").

Signed-off-by: Lukas Auer &lt;lukas.auer@aisec.fraunhofer.de&gt;
Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>riscv: add infrastructure for calling functions on other harts</title>
<updated>2019-04-08T01:44:25Z</updated>
<author>
<name>Lukas Auer</name>
</author>
<published>2019-03-17T18:28:32Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=fa33f08fd657b8568ede929df8a79bd113e9c5b1'/>
<id>urn:sha1:fa33f08fd657b8568ede929df8a79bd113e9c5b1</id>
<content type='text'>
Harts on RISC-V boot independently, U-Boot is responsible for managing
them. Functions are called on other harts with smp_call_function(),
which sends inter-processor interrupts (IPIs) to all other available
harts. Available harts are those marked as available in the device tree
and present in the available_harts mask stored in global data. The
available_harts mask is used to register all harts that have entered
U-Boot. Functions are specified with their address and two function
arguments (argument 2 and 3). The first function argument is always the
hart ID of the hart calling the function. On the other harts, the IPI
interrupt handler handle_ipi() must be called on software interrupts to
handle the request and call the specified function.

Functions are stored in the ipi_data data structure. Every hart has its
own data structure in global data. While this is not required at the
moment (all harts are expected to boot Linux), this does allow future
expansion, where other harts may be used for monitoring or other tasks.

Signed-off-by: Lukas Auer &lt;lukas.auer@aisec.fraunhofer.de&gt;
Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Tested-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>riscv: Enable CONFIG_SYS_BOOT_RAMDISK_HIGH for using initrd</title>
<updated>2019-02-27T01:12:34Z</updated>
<author>
<name>Anup Patel</name>
</author>
<published>2019-02-25T08:15:33Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=98a66ffa3aafd20d38f357d624e470e20fbb1839'/>
<id>urn:sha1:98a66ffa3aafd20d38f357d624e470e20fbb1839</id>
<content type='text'>
This patch enables CONFIG_SYS_BOOT_RAMDISK_HIGH for RISC-V
because bootm will update initrd location in DTB only if
CONFIG_SYS_BOOT_RAMDISK_HIGH is enabled. If we don't enable
this option then bootm assumes DTB already has initrd details
which is not the case most of the time.

Signed-off-by: Atish Patra &lt;atish.patra@wdc.com&gt;
Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Lukas Auer &lt;lukas.auer@aisec.fraunhofer.de&gt;
</content>
</entry>
<entry>
<title>riscv: Add place-holder asm/arch/clk.h for driver compilation</title>
<updated>2019-02-27T01:12:33Z</updated>
<author>
<name>Anup Patel</name>
</author>
<published>2019-02-25T08:14:24Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=1fa625b8e4b299560e3d3f705e0ea9efc01187ad'/>
<id>urn:sha1:1fa625b8e4b299560e3d3f705e0ea9efc01187ad</id>
<content type='text'>
Some of the drivers (such as Cadence MACB ethernet driver) expect
asm/arch/clk.h to be provided by arch support so we add place-holder
asm/arch-generic/clk.h for RISC-V generic CPU.

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Lukas Auer &lt;lukas.auer@aisec.fraunhofer.de&gt;
</content>
</entry>
<entry>
<title>riscv: Add asm/dma-mapping.h for DMA mappings</title>
<updated>2019-02-27T01:12:33Z</updated>
<author>
<name>Anup Patel</name>
</author>
<published>2019-02-25T08:14:17Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=70b8562dcf03461cd01bcacab7520c7d1485176c'/>
<id>urn:sha1:70b8562dcf03461cd01bcacab7520c7d1485176c</id>
<content type='text'>
This patch adds asm/dma-mapping.h for Linux-like DMA mappings
APIs required by some of the drivers (such as, Cadance MACB
Ethernet driver).

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Alexander Graf &lt;agraf@suse.de&gt;
Reviewed-by: Lukas Auer &lt;lukas.auer@aisec.fraunhofer.de&gt;
</content>
</entry>
<entry>
<title>riscv: Save boot hart id to the global data</title>
<updated>2018-12-18T01:56:27Z</updated>
<author>
<name>Bin Meng</name>
</author>
<published>2018-12-12T14:12:45Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=51ab4570f3920ae3d6822c96fe03ffb97e2072b4'/>
<id>urn:sha1:51ab4570f3920ae3d6822c96fe03ffb97e2072b4</id>
<content type='text'>
At present the hart id passed via a0 in the U-Boot entry is saved
to s0 at the beginning but does not preserve later. Save it to the
global data structure so that it can be used later.

Signed-off-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Lukas Auer &lt;lukas.auer@aisec.fraunhofer.de&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
</content>
</entry>
</feed>
