User:Uli/Draak Integration Test

From eLinux.org
< User:Uli
Revision as of 02:26, 15 November 2017 by Uli (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Simple tests to verify integration of SYS-DMAC, I2C, and SDHI (eMMC) on the R-Car D3 "Draak" board using these patches:

[PATCH 0/3] R-Car D3 (r8a77995) SYS-DMAC integration
[PATCH 1/3] arm64: dts: r8a77995: add SYS-DMAC nodes
[PATCH 2/3] arm64: dts: r8a7795: add DMA for SCIF2
[PATCH 3/3] dmaengine: rcar-dmac: Document R-Car D3 bindings

[PATCH 0/6] R-Car D3 (r8a77995) I2C integration
[PATCH 1/6] pinctrl: sh-pfc: r8a77995: add missing pins SCL0 and SDA0
[PATCH 2/6] i2c: rcar: enable for R-Car D3 (r8a77995)
[PATCH 3/6] arm64: renesas: r8a77995: add I2C support
[PATCH 4/6] arm64: renesas: draak: enable I2C controller 0 and EEPROM
[PATCH 5/6] arm64: renesas: draak: enable I2C controller 1
[PATCH 6/6] i2c: rcar: document R8A77970 bindings

[PATCH 0/4] R-Car D3 (r8a77995) SDHI (eMMC) integration
[PATCH 1/4] mmc: renesas_sdhi: enable R-Car D3 (r8a77995) support
[PATCH 2/4] arm64: dts: r8a77995: Add SDHI (MMC) support
[PATCH 3/4] arm64: dts: r8a77995: draak: enable SDHI2
[PATCH 4/4] dt-bindings: mmc: renesas_sdhi: Add r8a77995 support

SYS-DMAC

SYS-DMAC operation can be verified by compiling the kernel with CONFIG_SERIAL_SH_SCI_DMA=y and booting a system with a serial console. If the serial console is usable, SYS-DMAC works.

I2C

I2C operation can be verified by accessing the serial EEPROM at address 0x50 on I2C controller 0. Out of the box, it comes with all bytes set to 0xff:

# i2cget -y 0 0x50 0
0xff
#

Set the first byte to 0x42:

# i2cset -y 0 0x50 0 0x42
# i2cget -y 0 0x50 0
0x42
#

You can see that the first byte reads back as 0x42 and the I2C controller setup works. Set the byte back to 0xff to avoid confusion:

# i2cset -y 0 0x50 0 0x42
#

SDHI (eMMC)

The embedded MMC drive can be tested by accessing the its block devices. They come mostly empty (set to 0x00) out of the box, but /dev/mmcblk0boot1 contains the u-boot configuration, which can be dumped if the device is working:

# hexdump -C /dev/mmcblk0boot1 
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
007e0000  46 1c 42 1e 62 61 75 64  72 61 74 65 3d 31 31 35  |F.B.baudrate=115|
007e0010  32 30 30 00 62 6f 6f 74  61 72 67 73 3d 72 6f 6f  |200.bootargs=roo|
007e0020  74 3d 2f 64 65 76 2f 6e  66 73 20 72 77 20 72 6f  |t=/dev/nfs rw ro|
007e0030  6f 74 3d 2f 64 65 76 2f  6e 66 73 20 69 70 3d 64  |ot=/dev/nfs ip=d|
007e0040  68 63 70 00 62 6f 6f 74  63 6d 64 3d 74 66 74 70  |hcp.bootcmd=tftp|
007e0050  20 30 78 34 38 30 38 30  30 30 30 20 49 6d 61 67  | 0x48080000 Imag|
007e0060  65 3b 20 74 66 74 70 20  30 78 34 38 30 30 30 30  |e; tftp 0x480000|
007e0070  30 30 20 49 6d 61 67 65  2d 72 38 61 37 37 39 39  |00 Image-r8a7799|
007e0080  35 2d 64 72 61 61 6b 2e  64 74 62 3b 20 62 6f 6f  |5-draak.dtb; boo|
007e0090  74 69 20 30 78 34 38 30  38 30 30 30 30 20 2d 20  |ti 0x48080000 - |
007e00a0  30 78 34 38 30 30 30 30  30 30 00 62 6f 6f 74 64  |0x48000000.bootd|
007e00b0  65 6c 61 79 3d 33 00 62  6f 6f 74 75 73 62 3d 75  |elay=3.bootusb=u|
007e00c0  73 62 20 73 74 61 72 74  3b 66 61 74 6c 6f 61 64  |sb start;fatload|
007e00d0  20 75 73 62 20 30 20 30  78 34 38 30 38 30 30 30  | usb 0 0x4808000|
007e00e0  30 20 49 6d 61 67 65 3b  66 61 74 6c 6f 61 64 20  |0 Image;fatload |
007e00f0  75 73 62 20 30 20 30 78  34 38 30 30 30 30 30 30  |usb 0 0x48000000|
007e0100  20 49 6d 61 67 65 2d 72  38 61 37 37 39 39 35 2d  | Image-r8a77995-|
007e0110  64 72 61 61 6b 2e 64 74  62 3b 62 6f 6f 74 69 20  |draak.dtb;booti |
007e0120  30 78 34 38 30 38 30 30  30 30 20 2d 20 30 78 34  |0x48080000 - 0x4|
007e0130  38 30 30 30 30 30 30 00  66 64 74 5f 68 69 67 68  |8000000.fdt_high|
007e0140  3d 30 78 66 66 66 66 66  66 66 66 66 66 66 66 66  |=0xfffffffffffff|
007e0150  66 66 66 00 69 6e 69 74  72 64 5f 68 69 67 68 3d  |fff.initrd_high=|
007e0160  30 78 66 66 66 66 66 66  66 66 66 66 66 66 66 66  |0xffffffffffffff|
007e0170  66 66 00 73 74 64 65 72  72 3d 73 65 72 69 61 6c  |ff.stderr=serial|
007e0180  00 73 74 64 69 6e 3d 73  65 72 69 61 6c 00 73 74  |.stdin=serial.st|
007e0190  64 6f 75 74 3d 73 65 72  69 61 6c 00 76 65 72 3d  |dout=serial.ver=|
007e01a0  55 2d 42 6f 6f 74 20 32  30 31 35 2e 30 34 20 28  |U-Boot 2015.04 (|
007e01b0  4a 75 6e 20 30 31 20 32  30 31 37 20 2d 20 31 39  |Jun 01 2017 - 19|
007e01c0  3a 33 31 3a 33 38 29 00  00 00 00 00 00 00 00 00  |:31:38).........|
007e01d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00800000

(The above configuration has been modified for booting off USB, so your configuration is probably slightly different.)