Difference between revisions of "RZ-G/RZG2 uboot"

From eLinux.org
Jump to: navigation, search
(Replaced content with "this page can be deleted")
(Tag: Replaced)
Line 1: Line 1:
this page can be deleted
= Starting Watchdog Timer =
'''Preparation:''' <br>Remember to (" setenv wdt_timeout <seconds> ") before testing if you want board to reboot sooner. Otherwise, it will reboot after 1min due to the setting in the Device Tree.
'''Testing Phase:''' <br> '''Case 1:''' (which user replaces the wrong kernel Image or wrong dtb)
In this case, we are going to use 1 random kernel Image, and 1 device tree ( .dtb ) for our board.
For example: R-car M3 kernel Image + r8a774e1-hihope-rzg2h-ex.dtb.
Expected result: Board will stop at (" Starting kernel ..... ") due to the wrong kernel Image file. Board will reboot after the specified time which is set by user.
'''Case 2:''' (when loading a driver, kernel panic occurs because of loading driver fail and board stops booting)
In this case, we will add a panic() function into one function of a driver such as probe() to create kernel panic, but make sure that you have included kernel.h to use this function.
For example: In the GPIO driver
#include <linux/kernel.h>
static int gpio_rcar_probe(struct platform_device *pdev)
    struct gpio_rcar_priv *p;
    struct resource *io, *irq;
    struct gpio_chip *gpio_chip;
    panic("GPIO driver, Kernel panic\n");
Expected result: When loading GPIO driver, kernel panic occurs and board stops booting. Board will reboot after the specified time which is set by user.
= Enabling QSPI FLASH support for RZ/G2M-N-H =
The QSPI flash support is enabled by default for the RZ/G2E board (EK874), instead it is not enabled for the Hihope boards. In the procedure below RZ/G2M is used as an example, but it applies to RZ/G2N and RZ/G2H as well.
1) Build U-boot as per Chris' [https://github.com/seebe/rzg_stuff/tree/master/build_scripts/renesas-u-boot-cip script instructions]
2) Once built with default configuration, open another terminal and change dir to ./out_hihope-rzg2m. This is necessary because to build U-boot you probably had to source the environment variable script of the SDK, that prevents you from running the following command (old toolchain):
make menuconfig
3) Enable the following configurations (search by typing /):
4) Modify the device tree: 
gedit ./arch/arm/dts/r8a774a1-hihope-rzg2m.dts
and add the following lines:
    aliases {
        spi0 = &rpc;
This one above should go just after the board model.
&rpc {
    num-cs = <1>;
    status = "okay";
    spi-max-frequency = <40000000>;
    #address-cells = <1>;
    #size-cells = <0>;
    flash0: spi-flash@0 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "spi-flash", "jedec,spi-nor";
        spi-max-frequency = <40000000>;
        spi-tx-bus-width = <1>;
        spi-rx-bus-width = <1>;
        reg = <0>;
        status = "okay";
5) Rebuild using the first terminal you used to build the first time.
The u-boot.bin file can be now programmed using another [https://github.com/seebe/rzg_stuff/tree/master/build_scripts/rzg2_flash_writer Chris' script], just make sure it gets copied in the directory where the script searches for it. Once programmed, you can test it by stopping the normal kernel boot:
U-Boot 2018.09-g03c7e33415-dirty (Oct 07 2020 - 15:55:06 +0200)
CPU: Renesas Electronics R8A774A1 rev 1.3
Model: Hoperun Technology HiHope RZ/G2M platform (hihope-rzg2m)
DRAM:  3.9 GiB
Bank #0: 0x048000000 - 0x0bfffffff, 1.9 GiB
Bank #1: 0x600000000 - 0x67fffffff, 2 GiB
Watchdog: Not found by seq!
WDT:  watchdog@e6020000
Watchdog: Started!
MMC:  sd@ee100000: 0, sd@ee160000: 1
Loading Environment from MMC... OK
In:    serial@e6e88000
Out:  serial@e6e88000
Err:  serial@e6e88000
Error: ethernet@e6800000 address not set.
eth-1: ethernet@e6800000
Hit any key to stop autoboot:  0
=> sf probe
SF: Detected w25m512jw with page size 256 Bytes, erase size 4 KiB, total 32 MiB

Latest revision as of 13:02, 23 July 2021

this page can be deleted