<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm63xx/u-boot/arch/arm/include/asm/arch-sunxi, 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-20T16:54:47Z</updated>
<entry>
<title>arm: sunxi: h6: fix reset using r_wdog</title>
<updated>2019-05-20T16:54:47Z</updated>
<author>
<name>Clément Péron</name>
</author>
<published>2019-04-17T17:41:05Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=26f8e0d7f27e19102d6173d1e5831e7a82096779'/>
<id>urn:sha1:26f8e0d7f27e19102d6173d1e5831e7a82096779</id>
<content type='text'>
Some H6 boards have a watchdog which didn't make the SoC
reboot properly.

Reason is still unknown but several people have test it.
Chen-Yu Tsai :
Pine H64 = H6 V200-AWIN H6448BA 7782 =&gt; OK
OrangePi Lite 2 = H6 V200-AWIN H8068BA 61C2 =&gt; KO

Martin Ayotte :
Pine H64 = H8069BA 6892 =&gt; OK
OrangePi 3 = HA047BA 69W2 =&gt; KO
OrangePi One Plus = H7310BA 6842 =&gt; KO
OrangePi Lite2 = H6448BA 6662 =&gt; KO

Clément Péron:
Beelink GS1 = H6 V200-AWIN H7309BA 6842 =&gt; KO

After the series of result, Icenowy try to reach Allwinner about this
issue but they seems not interested to investigate it.

As we don't have the ARIS coproc to do power management and watchdogis
the only solution to reset the board.

So, Change from watchdog to R_watchdog to allow a reboot on all H6
boards.

Signed-off-by: Clément Péron &lt;peron.clem@gmail.com&gt;
Reviewed-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
</content>
</entry>
<entry>
<title>sunxi: Allow booting from 128KB SD/eMMC offset</title>
<updated>2019-04-10T10:04:32Z</updated>
<author>
<name>Andre Przywara</name>
</author>
<published>2018-12-16T02:04:58Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=067e0b9684d4f195d92e0b1de260d69dc1e0f2c5'/>
<id>urn:sha1:067e0b9684d4f195d92e0b1de260d69dc1e0f2c5</id>
<content type='text'>
On modern Allwinner SoCs (tested: H2+, A64, H5, H6) the BootROM can
actually load the SPL also from sector 256 (128KB) of an SD card or eMMC
chip. For more details, see [1].
In this case the boot source indicator (written at offset 0x28 of SRAM A1)
has bit 4 set, so it's 0x10 for SD card and 0x12 for eMMC.

Add those new values to the existing boot source check to allow booting
the SPL from those "high" disk offsets as well. For this to work, the
value of CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR needs to be adjusted,
for instance to 0x140 (right after the high SPL). Doing this dynamically
sounds desirable, but looks nasty to implement.

[1] https://groups.google.com/forum/#!topic/linux-sunxi/MaiijyaAFjk

Signed-off-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
Acked-by: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
</content>
</entry>
<entry>
<title>reset: Add Allwinner RESET driver</title>
<updated>2019-01-18T16:49:08Z</updated>
<author>
<name>Jagan Teki</name>
</author>
<published>2019-01-18T16:48:13Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=99ba4308701c51dcf425dbef42c6f87fcc9c42a2'/>
<id>urn:sha1:99ba4308701c51dcf425dbef42c6f87fcc9c42a2</id>
<content type='text'>
Add common reset driver for all Allwinner SoC's.

Since CLK and RESET share common DT compatible, it is CLK driver
job is to bind the reset driver. So add CLK bind call on respective
SoC driver by passing ccu map descriptor so-that reset deassert,
deassert operations held based on ccu reset table defined from
CLK driver.

Select DM_RESET via CLK_SUNXI, this make hidden section of RESET
since CLK and RESET share common DT compatible and code.

Signed-off-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
Acked-by: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
</content>
</entry>
<entry>
<title>clk: Add Allwinner A64 CLK driver</title>
<updated>2019-01-18T16:49:08Z</updated>
<author>
<name>Jagan Teki</name>
</author>
<published>2018-12-22T16:02:49Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=0d47bc70565102388c957ead7deac4b2eaa3dfba'/>
<id>urn:sha1:0d47bc70565102388c957ead7deac4b2eaa3dfba</id>
<content type='text'>
Add initial clock driver for Allwinner A64.

Implement USB clock enable and disable functions for
OHCI, EHCI, OTG and USBPHY gate and clock registers
via ccu clk gate table.

Signed-off-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
Acked-by: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
</content>
</entry>
<entry>
<title>sunxi: board: Add i2c initialization for sun50i</title>
<updated>2019-01-18T16:49:08Z</updated>
<author>
<name>Stefan Mavrodiev</name>
</author>
<published>2019-01-08T10:04:30Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=da1ae5905ee84032bea187e4845a2f6743cf8ac4'/>
<id>urn:sha1:da1ae5905ee84032bea187e4845a2f6743cf8ac4</id>
<content type='text'>
To use TWI0/1/2 the user can select CONFIG_I2C#_ENABLE.
However even the controller is enabled, the mux for the pins
are not set.

This patch follows the existing mux method. Since the pads are
different, separate check is added for each i2c.

Tested with A64-SOM204 board.

Signed-off-by: Stefan Mavrodiev &lt;stefan@olimex.com&gt;
Acked-by: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
Reviewed-by: Jagan Teki &lt;jagan@openedev.com&gt;
</content>
</entry>
<entry>
<title>sun50i: A64: add support for R_I2C controller</title>
<updated>2018-11-13T16:39:10Z</updated>
<author>
<name>Vasily Khoruzhick</name>
</author>
<published>2018-11-06T04:24:30Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=31a4ac4d79d75baeede3edfa95515fd4169ef502'/>
<id>urn:sha1:31a4ac4d79d75baeede3edfa95515fd4169ef502</id>
<content type='text'>
Allwinner A64 has a I2C controller, which is in the R_ MMIO zone and has
two groups of pinmuxes on PL bank, so it's called R_I2C.

Add support for this I2C controller and the pinmux which doesn't conflict
with RSB.

Signed-off-by: Vasily Khoruzhick &lt;anarsoul@gmail.com&gt;
Acked-by: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
Tested-by: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
Cc: Vagrant Cascadian &lt;vagrant@debian.org&gt;
Acked-by: Jagan Teki &lt;jagan@openedev.com&gt;
</content>
</entry>
<entry>
<title>mmc: sunxi: add support for automatic delay calibration</title>
<updated>2018-11-13T16:37:39Z</updated>
<author>
<name>Vasily Khoruzhick</name>
</author>
<published>2018-11-06T04:24:28Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=20940ef2a397446a209350900d3bd618c3fd5b94'/>
<id>urn:sha1:20940ef2a397446a209350900d3bd618c3fd5b94</id>
<content type='text'>
A64 and H6 support automatic delay calibration and Linux driver uses it
instead of hardcoded delays. Add support for it to u-boot driver.

Fixes eMMC instability on Pinebook

Signed-off-by: Vasily Khoruzhick &lt;anarsoul@gmail.com&gt;
Acked-by: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
Tested-by: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
Reviewed-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
Cc: Vagrant Cascadian &lt;vagrant@debian.org&gt;
Reviewed-by: Jagan Teki &lt;jagan@openedev.com&gt;
</content>
</entry>
<entry>
<title>sunxi: store DRAM size in SPL header</title>
<updated>2018-10-29T15:11:15Z</updated>
<author>
<name>Andre Przywara</name>
</author>
<published>2018-10-25T09:23:07Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=5776610e9ef022e2d8a15793d4b9955c3f8076ed'/>
<id>urn:sha1:5776610e9ef022e2d8a15793d4b9955c3f8076ed</id>
<content type='text'>
At the moment we rely on the infamous get_ram_size() function to learn
the actual DRAM size in U-Boot proper. This function has two issues:
1) It only works if the DRAM size is a power of two. We start to see
boards which have 3GB of (usable) DRAM, so this does not fit anymore.
2) As U-Boot has no notion of reserved memory so far, it will happily
ride through the DRAM, possibly stepping on secure-only memory. This
could be a region of DRAM reserved for OP-TEE or some other secure
payload, for instance. It will most likely crash in that case.

As the SPL DRAM init routine has very accurate knowledge of the actual
DRAM size, lets propagate this wisdom to U-Boot proper.
We re-purpose a currently reserved word in our SPL header for that.
The SPL itself stores the detected DRAM size there, and bumps the SPL
header version number in that case. U-Boot proper checks for a valid
SPL header and a high enough version number, then uses the DRAM size
from there. If the SPL header field is not sufficient, we fall back to
the old DRAM scanning routine.

Part of the DRAM might be present and probed by SPL, but not accessible
by the CPU. They're restricted in the main U-Boot binary, when accessing
the DRAM size from SPL header.

Signed-off-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
Signed-off-by: Icenowy Zheng &lt;icenowy@aosc.io&gt;
Acked-by: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
Reviewed-by: Jagan Teki &lt;jagan@openedev.com&gt;
</content>
</entry>
<entry>
<title>sunxi: Extend SPL header versioning</title>
<updated>2018-10-29T15:11:15Z</updated>
<author>
<name>Andre Przywara</name>
</author>
<published>2018-10-25T09:23:03Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=55d481d2014f79a692ac82a10a439dc71acc732c'/>
<id>urn:sha1:55d481d2014f79a692ac82a10a439dc71acc732c</id>
<content type='text'>
On Allwinner SoCs we use some free bytes at the beginning of the SPL image
to store various information. We have a version byte to allow updates,
but changing this always requires all tools to be updated as well.

Introduce the concept of semantic versioning [1] to the SPL header:
The major part of the version number only changes on incompatible
updates, a minor number bump indicates backward compatibility.
This patch just documents the major/minor split, adds some comments
to the header file and uses the versioning information for the existing
users.

[1] https://semver.org

Signed-off-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
Signed-off-by: Icenowy Zheng &lt;icenowy@aosc.io&gt;
Acked-by: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
Acked-by: Jagan Teki &lt;jagan@openedev.com&gt;
</content>
</entry>
<entry>
<title>sunxi: fix sid base address macro name for H6</title>
<updated>2018-08-20T11:52:59Z</updated>
<author>
<name>Icenowy Zheng</name>
</author>
<published>2018-08-18T05:36:44Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=7ac5f33483169b4e2fd983c414dac06639b4e19c'/>
<id>urn:sha1:7ac5f33483169b4e2fd983c414dac06639b4e19c</id>
<content type='text'>
In the current H6 CPU memory space code, the SUNXI in the macro name of
the SID address base is wrongly spelled as SNUXI, which leads to SID
readout not working.

Fix this macro name.

Fixes: 55f6b1c351c9 ("sunxi: add basic memory map definitions of H6 SoC")
Signed-off-by: Icenowy Zheng &lt;icenowy@aosc.io&gt;
Reviewed-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
</content>
</entry>
</feed>
