Skip to contentSkip to conversation

board: Add Vyasa RK3288 board support

PATCH Superseded Jagan Teki 5 participants 8 messages Nov 28, 2017 – Nov 29, 2017

v5 of 9 Superseded Latest is v9 →

lore
Share & tools
lore

Jagan Teki

author
#0 lore raw

PATCH v5 1/3 board: Add Vyasa RK3288 board support

Add Vyasa board, from rk3288 family SOC.

---
Changes for v5:
- Add host-uboot-tools
- Fix commit message
- Drop Qt5 configs
Changes for v4:
- Use liux-next
- Add linux_gmac.fragment, rockchip gmac as module
- Add evetest command
- enable BR2_LINUX_KERNEL_INSTALL_TARGET Changes for v3:
- Fix ascending order in DEVELOPERS
- Fix u-boot-dtb.img offset
- Fix extlinux.conf label
Changes for v2:
- Bump to U-Boot v2017.11
- Bump to linux-next

 .gitlab-ci.yml                          |  1 +
 DEVELOPERS                              |  2 ++
 board/amarula/vyasa/extlinux.conf       |  4 +++
 board/amarula/vyasa/genimage.cfg        | 21 +++++++++++++++
 board/amarula/vyasa/linux_gmac.fragment |  3 +++
 board/amarula/vyasa/post-build.sh       |  9 +++++++
 board/amarula/vyasa/readme.txt          | 31 ++++++++++++++++++++++
 configs/amarula_vyasa_rk3288_defconfig  | 46 +++++++++++++++++++++++++++++++++
 8 files changed, 117 insertions(+)
 create mode 100644 board/amarula/vyasa/extlinux.conf
 create mode 100644 board/amarula/vyasa/genimage.cfg
 create mode 100644 board/amarula/vyasa/linux_gmac.fragment
 create mode 100755 board/amarula/vyasa/post-build.sh
 create mode 100644 board/amarula/vyasa/readme.txt
 create mode 100644 configs/amarula_vyasa_rk3288_defconfig
.gitlab-ci.yml +1 -0
index c34d2f7..e3b6510 100644
@@ -62,6 +62,7 @@ acmesystems_aria_g25_128mb_defconfig: *defconfig
 acmesystems_aria_g25_256mb_defconfig: *defconfig
 acmesystems_arietta_g25_128mb_defconfig: *defconfig
 acmesystems_arietta_g25_256mb_defconfig: *defconfig
+amarula_vyasa_rk3288_defconfig: *defconfig
 arcturus_ucp1020_defconfig: *defconfig
 arm_foundationv8_defconfig: *defconfig
 arm_juno_defconfig: *defconfig
DEVELOPERS +2 -0
index e4aeae6..181f118 100644
@@ -752,8 +752,10 @@ N:	Ilias Apalodimas <[email protected]>
 F:	package/keepalived/
 
 N:	Jagan Teki <[email protected]>
+F:	board/amarula/
 F:	board/bananapi/
 F:	board/engicam/
+F:	configs/amarula_vyasa_rk3288_defconfig
 F:	configs/bananapi_m1_defconfig
 F:	configs/engicam_imx6qdl_icore_defconfig
 F:	configs/engicam_imx6qdl_icore_qt5_defconfig
board/amarula/vyasa/extlinux.conf new file +4 -0
new file mode 100644
index 0000000..a8fcc35
@@ -0,0 +1,4 @@
+label Vyasa linux-next
+  kernel /boot/uImage
+  devicetree /boot/rk3288-vyasa.dtb
+  append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait
board/amarula/vyasa/genimage.cfg new file +21 -0
new file mode 100644
index 0000000..fa41de3
@@ -0,0 +1,21 @@
+image sdcard.img {
+	hdimage {
+	}
+
+	partition u-boot-tpl-spl-dtb {
+		in-partition-table = "no"
+		image = "u-boot-tpl-spl-dtb.img"
+		offset = 32K
+	}
+
+	partition u-boot-dtb {
+		in-partition-table = "no"
+		image = "u-boot-dtb.img"
+		offset = 8M
+	}
+
+	partition rootfs {
+		partition-type = 0x83
+		image = "rootfs.ext4"
+	}
+}
board/amarula/vyasa/linux_gmac.fragment new file +3 -0
new file mode 100644
index 0000000..dd458c7
@@ -0,0 +1,3 @@
+# Currently kernel mainline exhibits issues when running rockchip gmac
+# on the board, so enable it as loadable module and insert it later
+CONFIG_DWMAC_ROCKCHIP=m
board/amarula/vyasa/post-build.sh new file +9 -0
new file mode 100755
index 0000000..ffbbcde
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+MKIMAGE=$HOST_DIR/bin/mkimage
+BOARD_DIR="$(dirname $0)"
+
+$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-tpl.bin $BINARIES_DIR/u-boot-tpl.img
+cat $BINARIES_DIR/u-boot-tpl.img $BINARIES_DIR/u-boot-spl-dtb.bin > $BINARIES_DIR/u-boot-tpl-spl-dtb.img
+
+install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
board/amarula/vyasa/readme.txt new file +31 -0
new file mode 100644
index 0000000..b95889e
@@ -0,0 +1,31 @@
+Vyasa RK3288
+============
+
+Vyasa is RK3288 based Single board computer with fully supported opensource software.
+
+https://openedev.amarulasolutions.com/display/ODWIKI/Vyasa+RK3288
+
+How to build it
+===============
+
+  $ make amarula_vyasa_rk3288_defconfig
+
+Then you can edit the build options using
+
+  $ make menuconfig
+
+Compile all and build rootfs image:
+
+  $ make
+
+Prepare your SDCard
+===================
+
+Buildroot generates a ready-to-use SD card image that you can flash directly to
+the card. The image will be in output/images/sdcard.img.
+You can write this image directly to an SD card device (i.e. /dev/xxx):
+
+  $ sudo dd if=output/images/sdcard.img of=/dev/xxx
+  $ sudo sync
+
+Finally, you can insert the SD card to the Vyasa RK3288 board, close J4 and boot it.
configs/amarula_vyasa_rk3288_defconfig new file +46 -0

46 lines not on this page · raw message

Signature · 1 line
1.9.1
author
#1 lore raw

PATCH v5 2/3 board: vyasa: Add qst5 configuration

This configuration build qt5 along with MALI T76X
for vyasa rk3288 board.

---
Changes for v5:
- New patch

 .gitlab-ci.yml                             |  1 +
 DEVELOPERS                                 |  1 +
 board/amarula/vyasa/readme.txt             | 19 ++++++++++
 configs/amarula_vyasa_rk3288_qt5_defconfig | 59 ++++++++++++++++++++++++++++++
 4 files changed, 80 insertions(+)
 create mode 100644 configs/amarula_vyasa_rk3288_qt5_defconfig
.gitlab-ci.yml +1 -0
index e3b6510..ee56fbb 100644
@@ -63,6 +63,7 @@ acmesystems_aria_g25_256mb_defconfig: *defconfig
 acmesystems_arietta_g25_128mb_defconfig: *defconfig
 acmesystems_arietta_g25_256mb_defconfig: *defconfig
 amarula_vyasa_rk3288_defconfig: *defconfig
+amarula_vyasa_rk3288_qt5_defconfig: *defconfig
 arcturus_ucp1020_defconfig: *defconfig
 arm_foundationv8_defconfig: *defconfig
 arm_juno_defconfig: *defconfig
DEVELOPERS +1 -0
index 181f118..639c49a 100644
@@ -756,6 +756,7 @@ F:	board/amarula/
 F:	board/bananapi/
 F:	board/engicam/
 F:	configs/amarula_vyasa_rk3288_defconfig
+F:	configs/amarula_vyasa_rk3288_qt5_defconfig
 F:	configs/bananapi_m1_defconfig
 F:	configs/engicam_imx6qdl_icore_defconfig
 F:	configs/engicam_imx6qdl_icore_qt5_defconfig
board/amarula/vyasa/readme.txt +19 -0
index b95889e..167c594 100644
@@ -29,3 +29,22 @@ You can write this image directly to an SD card device (i.e. /dev/xxx):
   $ sudo sync
 
 Finally, you can insert the SD card to the Vyasa RK3288 board, close J4 and boot it.
+
+Testing graphics on Vysa RK3288
+===============================
+
+Built Mali T76X, Qt5 and demo application:
+
+   $ make amarula_vyasa_rk3288_qt5_defconfig
+   $ make
+
+Test procedure:
+- insert require modules
+# modprobe -a rockchipdrm
+# modprobe -a governor_simpleondemand
+
+- build kernel mali driver as module and insert
+
+- run qt hellowindow
+# cd /usr/lib/qt/examples/opengl/
+# ./hellowindow/hellowindow
configs/amarula_vyasa_rk3288_qt5_defconfig new file +59 -0

59 lines not on this page · raw message

Signature · 1 line
1.9.1
author
#2 lore raw

PATCH v5 3/3 board: Add Tinker RK3288 board support

In reply to Jagan Teki

Add Tinker board, from rk3288 family SOC.

---
Changes for v5:
- Add host-uboot-tools
- Fix commit message
- Drop Qt5 configs
Changes for v4:
- enable BR2_LINUX_KERNEL_INSTALL_TARGET
- enable BR2_TARGET_UBOOT_FORMAT_DTB_BINe
- Create single u-boot binary
- Use linux-4.12 along with same headers

 .gitlab-ci.yml                       |  1 +
 DEVELOPERS                           |  2 ++
 board/asus/tinker/extlinux.conf      |  4 ++++
 board/asus/tinker/genimage.cfg       | 15 ++++++++++++
 board/asus/tinker/post-build.sh      |  9 ++++++++
 board/asus/tinker/readme.txt         | 37 +++++++++++++++++++++++++++++
 configs/asus_tinker_rk3288_defconfig | 45 ++++++++++++++++++++++++++++++++++++
 7 files changed, 113 insertions(+)
 create mode 100644 board/asus/tinker/extlinux.conf
 create mode 100644 board/asus/tinker/genimage.cfg
 create mode 100755 board/asus/tinker/post-build.sh
 create mode 100644 board/asus/tinker/readme.txt
 create mode 100644 configs/asus_tinker_rk3288_defconfig
.gitlab-ci.yml +1 -0
index ee56fbb..0435b12 100644
@@ -70,6 +70,7 @@ arm_juno_defconfig: *defconfig
 armadeus_apf27_defconfig: *defconfig
 armadeus_apf28_defconfig: *defconfig
 armadeus_apf51_defconfig: *defconfig
+asus_tinker_rk3288_defconfig: *defconfig
 at91sam9260eknf_defconfig: *defconfig
 at91sam9g20dfc_defconfig: *defconfig
 at91sam9g45m10ek_defconfig: *defconfig
DEVELOPERS +2 -0
index 639c49a..1bb0e4f 100644
@@ -753,10 +753,12 @@ F:	package/keepalived/
 
 N:	Jagan Teki <[email protected]>
 F:	board/amarula/
+F:	board/asus/
 F:	board/bananapi/
 F:	board/engicam/
 F:	configs/amarula_vyasa_rk3288_defconfig
 F:	configs/amarula_vyasa_rk3288_qt5_defconfig
+F:	configs/asus_tinker_rk3288_defconfig
 F:	configs/bananapi_m1_defconfig
 F:	configs/engicam_imx6qdl_icore_defconfig
 F:	configs/engicam_imx6qdl_icore_qt5_defconfig
board/asus/tinker/extlinux.conf new file +4 -0
new file mode 100644
index 0000000..136af0d
@@ -0,0 +1,4 @@
+label Tinker linux-next
+  kernel /boot/uImage
+  devicetree /boot/rk3288-tinker.dtb
+  append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait
board/asus/tinker/genimage.cfg new file +15 -0
new file mode 100644
index 0000000..a4b1e8d
@@ -0,0 +1,15 @@
+image sdcard.img {
+	hdimage {
+	}
+
+	partition u-boot-spl-dtb {
+		in-partition-table = "no"
+		image = "u-boot-spl-dtb.img"
+		offset = 32K
+	}
+
+	partition rootfs {
+		partition-type = 0x83
+		image = "rootfs.ext4"
+	}
+}
board/asus/tinker/post-build.sh new file +9 -0
new file mode 100755
index 0000000..8108ed8
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+MKIMAGE=$HOST_DIR/bin/mkimage
+BOARD_DIR="$(dirname $0)"
+
+$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-spl-dtb.bin $BINARIES_DIR/u-boot-spl-dtb.img
+cat $BINARIES_DIR/u-boot-dtb.bin >> $BINARIES_DIR/u-boot-spl-dtb.img
+
+install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
board/asus/tinker/readme.txt new file +37 -0
new file mode 100644
index 0000000..7372d29
@@ -0,0 +1,37 @@
+Tinker RK3288
+=============
+
+Tinker Board is a Single Board Computer (SBC) in an ultra-small form
+factor that offers class-leading performance while leveraging outstanding
+mechanical compatibility.
+
+Tinker link:
+https://www.asus.com/in/Single-Board-Computer/Tinker-Board/
+
+Wiki link:
+https://openedev.amarulasolutions.com/display/ODWIKI/Tinker+RK3288
+
+How to build it
+===============
+
+  $ make asus_tinker_rk3288_defconfig
+
+Then you can edit the build options using
+
+  $ make menuconfig
+
+Compile all and build rootfs image:
+
+  $ make
+
+Prepare your SDCard
+===================
+
+Buildroot generates a ready-to-use SD card image that you can flash directly to
+the card. The image will be in output/images/sdcard.img.
+You can write this image directly to an SD card device (i.e. /dev/xxx):
+
+  $ sudo dd if=output/images/sdcard.img of=/dev/xxx
+  $ sudo sync
+
+Finally, you can insert the SD card to the Tinker RK3288 board and boot it.
configs/asus_tinker_rk3288_defconfig new file +45 -0

45 lines not on this page · raw message

Signature · 1 line
1.9.1
#3 lore raw

PATCH v5 1/3 board: Add Vyasa RK3288 board support

In reply to Jagan Teki

Hello,

Quoted 20 lines

Add Vyasa board, from rk3288 family SOC.

---
Changes for v5:
- Add host-uboot-tools
- Fix commit message
- Drop Qt5 configs
Changes for v4:
- Use liux-next
- Add linux_gmac.fragment, rockchip gmac as module
- Add evetest command
- enable BR2_LINUX_KERNEL_INSTALL_TARGET Changes for v3:
- Fix ascending order in DEVELOPERS
- Fix u-boot-dtb.img offset
- Fix extlinux.conf label
Changes for v2:
- Bump to U-Boot v2017.11
- Bump to linux-next

...

configs/amarula_vyasa_rk3288_defconfig line 25

Quoted 5 lines
configs/amarula_vyasa_rk3288_defconfig new file +5 -0
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="87f89ace81d0978a1049a92c6a9921de5aa0a9e3"

As Thomas mentioned in his review for v4, no way to use linux-next git tree. It is being rebased all the time. So changing commit ID is not going to help:
it will be changed over and over again.

If you want to add this board to Buildroot before it shows up in mainline, why don't you use latest stable kernel release and add several patches into the board directory? You may take a look at nanopi-m1-plus which adds its full dts as a patch.

Regards,
Sergey

#4 lore raw

PATCH v5 1/3 board: Add Vyasa RK3288 board support

Quoted 26 lines · Sergey Matyukevich

Hello,

Quoted 20 lines

Add Vyasa board, from rk3288 family SOC.

---
Changes for v5:
- Add host-uboot-tools
- Fix commit message
- Drop Qt5 configs
Changes for v4:
- Use liux-next
- Add linux_gmac.fragment, rockchip gmac as module
- Add evetest command
- enable BR2_LINUX_KERNEL_INSTALL_TARGET Changes for v3:
- Fix ascending order in DEVELOPERS
- Fix u-boot-dtb.img offset
- Fix extlinux.conf label
Changes for v2:
- Bump to U-Boot v2017.11
- Bump to linux-next

...

Quoted 9 lines

configs/amarula_vyasa_rk3288_defconfig line 25

Quoted 5 lines
configs/amarula_vyasa_rk3288_defconfig new file +5 -0
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="87f89ace81d0978a1049a92c6a9921de5aa0a9e3"

As Thomas mentioned in his review for v4, no way to use linux-next git tree. It is being rebased all the time. So changing commit ID is not going to help:
it will be changed over and over again.

Thomas never said to use the linux-next, but instead he mentioned to not use the last sha1 which always changed during rebase. So the sha1 I have used here specific to this board which shouldn't change even linux-next rebased.

thanks!

Signature · 4 lines
Jagan Teki
Senior Linux Kernel Engineer | Amarula Solutions
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
#5 lore raw

PATCH v5 1/3 board: Add Vyasa RK3288 board support

Quoted 33 lines
Quoted 23 lines
Quoted 20 lines

Add Vyasa board, from rk3288 family SOC.

---
Changes for v5:
- Add host-uboot-tools
- Fix commit message
- Drop Qt5 configs
Changes for v4:
- Use liux-next
- Add linux_gmac.fragment, rockchip gmac as module
- Add evetest command
- enable BR2_LINUX_KERNEL_INSTALL_TARGET Changes for v3:
- Fix ascending order in DEVELOPERS
- Fix u-boot-dtb.img offset
- Fix extlinux.conf label
Changes for v2:
- Bump to U-Boot v2017.11
- Bump to linux-next

...

Quoted 9 lines

configs/amarula_vyasa_rk3288_defconfig line 25

Quoted 5 lines
configs/amarula_vyasa_rk3288_defconfig new file +5 -0
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="87f89ace81d0978a1049a92c6a9921de5aa0a9e3"

As Thomas mentioned in his review for v4, no way to use linux-next git tree. It is being rebased all the time. So changing commit ID is not going to help:
it will be changed over and over again.

Quoted 4 lines

Thomas never said to use the linux-next, but instead he mentioned to not use the last sha1 which always changed during rebase. So the sha1 I have used here specific to this board which shouldn't change even linux-next rebased.

Yeah, the main point was _not_ to use linux-next at all. I suggest you to check the review comments for v4 once again.

Regards,
Sergey

#6 lore raw

PATCH v5 1/3 board: Add Vyasa RK3288 board support

In reply to Jagan Teki

Hello,

Quoted 8 lines · Jagan Teki
Quoted 3 lines

As Thomas mentioned in his review for v4, no way to use linux-next git tree. It is being rebased all the time. So changing commit ID is not going to help:
it will be changed over and over again.

Thomas never said to use the linux-next, but instead he mentioned to not use the last sha1 which always changed during rebase. So the sha1 I have used here specific to this board which shouldn't change even linux-next rebased.

What you're saying here doesn't make sense.

Either the commit you're referring to is part of Linus tree (and therefore is stable and will never change), but in this case, there is no reason to use linux-next at all.

Or the commit you're referring to is not part of Linus tree, but is really on top of it, part of linux-next, and in this case, the commit is not stable and it will disappear every day, as linux-next is rebased every day.

So let's be clear: using linux-next is *not* possible as it simply doesn't work. Remove your download directory, and try again to build your defconfig: you will see that it fails.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#7 lore raw

PATCH v5 1/3 board: Add Vyasa RK3288 board support

Hi Thomas,

Quoted 13 lines · Thomas Petazzoni
Quoted 8 lines · Jagan Teki
Quoted 3 lines

As Thomas mentioned in his review for v4, no way to use linux-next git tree. It is being rebased all the time. So changing commit ID is not going to help:
it will be changed over and over again.

Thomas never said to use the linux-next, but instead he mentioned to not use the last sha1 which always changed during rebase. So the sha1 I have used here specific to this board which shouldn't change even linux-next rebased.

What you're saying here doesn't make sense.

Quoted 8 lines

Either the commit you're referring to is part of Linus tree (and therefore is stable and will never change), but in this case, there is no reason to use linux-next at all.

Or the commit you're referring to is not part of Linus tree, but is really on top of it, part of linux-next, and in this case, the commit is not stable and it will disappear every day, as linux-next is rebased every day.

I seems that linux-next preserves older next-[date] tags. It currently goes back to next-20170831. The linux-next-history.git tree carries even older tags, back to next-20160118. So a specific commit in linux-next{-history} should not disappear overnight.

I do agree, though, that having a board/platform specific git tree, or a set of patches is easier to work with.

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -