All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Lechner <david@lechnology.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 3/3] board/lego/ev3: Update to Linux kernel 4.19 and U-Boot 2018.11
Date: Thu, 27 Dec 2018 13:53:05 -0600	[thread overview]
Message-ID: <20181227195305.5329-4-david@lechnology.com> (raw)
In-Reply-To: <20181227195305.5329-1-david@lechnology.com>

This updates LEGO MINDSTORMS EV3 to Linux kernel 4.19 and U-Boot
2018.11. This kernel brings Bluetooth support, so some Bluez packages
are also added. Also, we now have proper device tree support, so a few
things are rearranged in the flash and SD card images since the DTB is
no longer appended to the kernel image.

Signed-off-by: David Lechner <david@lechnology.com>
---
 board/lego/ev3/genimage.cfg                   | 12 +++++--
 board/lego/ev3/linux.fragment                 |  6 ++++
 ...s-legoev3-increase-flash-image-sizes.patch | 31 -------------------
 board/lego/ev3/readme.txt                     | 17 ++++++++++
 configs/lego_ev3_defconfig                    | 19 +++++++-----
 5 files changed, 45 insertions(+), 40 deletions(-)
 delete mode 100644 board/lego/ev3/patches/uboot/configs-legoev3-increase-flash-image-sizes.patch

diff --git a/board/lego/ev3/genimage.cfg b/board/lego/ev3/genimage.cfg
index 65d9714650..14880e8f11 100644
--- a/board/lego/ev3/genimage.cfg
+++ b/board/lego/ev3/genimage.cfg
@@ -18,8 +18,13 @@ image flash.bin {
 		image = "u-boot.bin"
 		size = 256K
 	}
+	partition dtb {
+		image = "da850-lego-ev3.dtb"
+		size = 64K
+		offset = 0x40000
+	}
 	partition uimage {
-		image = "uImage.da850-lego-ev3"
+		image = "uImage"
 		size = 4M
 		offset = 0x50000
 	}
@@ -35,7 +40,10 @@ image flash.bin {
 image boot.vfat {
 	vfat {
 		file uImage {
-			image = "uImage.da850-lego-ev3"
+			image = "uImage"
+		}
+		file da850-lego-ev3.dtb {
+			image = "da850-lego-ev3.dtb"
 		}
 	}
 	size = 16M
diff --git a/board/lego/ev3/linux.fragment b/board/lego/ev3/linux.fragment
index 30dea57b6c..79efd27d37 100644
--- a/board/lego/ev3/linux.fragment
+++ b/board/lego/ev3/linux.fragment
@@ -1,3 +1,4 @@
+CONFIG_ARM_APPENDED_DTB=n
 CONFIG_ARCH_DAVINCI_DM644x=n
 CONFIG_ARCH_DAVINCI_DM355=n
 CONFIG_ARCH_DAVINCI_DM646x=n
@@ -60,3 +61,8 @@ CONFIG_DRM_DUMB_VGA_DAC=n
 CONFIG_DRM_TINYDRM=y
 CONFIG_TINYDRM_ST7586=y
 CONFIG_FB_DA8XX=n
+CONFIG_COMMON_CLK_PWM=y
+CONFIG_BT=y
+CONFIG_BT_HS=n
+CONFIG_BT_LE=n
+CONFIG_RFKILL=y
diff --git a/board/lego/ev3/patches/uboot/configs-legoev3-increase-flash-image-sizes.patch b/board/lego/ev3/patches/uboot/configs-legoev3-increase-flash-image-sizes.patch
deleted file mode 100644
index ee0ce61603..0000000000
--- a/board/lego/ev3/patches/uboot/configs-legoev3-increase-flash-image-sizes.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From cdd8d11858fa34f6e813fae46b5556e9fb3570dc Mon Sep 17 00:00:00 2001
-From: David Lechner <david@lechnology.com>
-Date: Sun, 19 Nov 2017 19:54:32 -0600
-Subject: [PATCH] configs: legoev3: increase flash image sizes
-
-This increases the kernel image to 4M and the rootfs image to 10M.
-
-It is getting hard to get a kernel image to fit in 3M and the rootfs image
-size now matches the filesyssize variable.
-
-Signed-off-by: David Lechner <david@lechnology.com>
----
- include/configs/legoev3.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/configs/legoev3.h b/include/configs/legoev3.h
-index 79fa3c4..2eeaf85 100644
---- a/include/configs/legoev3.h
-+++ b/include/configs/legoev3.h
-@@ -204,7 +204,7 @@
- 	"mmcargs=setenv bootargs mem=${memsize} console=${console} root=/dev/mmcblk0p2 rw rootwait lpj=747520\0" \
- 	"mmcboot=bootm ${loadaddr}\0" \
- 	"flashargs=setenv bootargs mem=${memsize} initrd=${filesysaddr},${filesyssize} root=/dev/ram0 rw rootfstype=squashfs console=${console} lpj=747520\0" \
--	"flashboot=sf probe 0; sf read ${loadaddr} 0x50000 0x300000; sf read ${filesysaddr} 0x350000 0x960000; bootm ${loadaddr}\0" \
-+	"flashboot=sf probe 0; sf read ${loadaddr} 0x50000 0x400000; sf read ${filesysaddr} 0x450000 0xA00000; bootm ${loadaddr}\0" \
- 	"loadimage=fatload mmc 0 ${loadaddr} uImage\0" \
- 	"loadbootscr=fatload mmc 0 ${bootscraddr} boot.scr\0" \
- 	"bootscript=source ${bootscraddr}\0" \
--- 
-2.7.4
-
diff --git a/board/lego/ev3/readme.txt b/board/lego/ev3/readme.txt
index 8df91ac111..648bca1e91 100644
--- a/board/lego/ev3/readme.txt
+++ b/board/lego/ev3/readme.txt
@@ -70,6 +70,13 @@ official Lego Mindstorms EV3 programming software firmware update tool to load
 the image. To use sdcard.img, use a disk writing tool such as Etcher or dd to
 write the image to the ?SD card.
 
+NOTE: The sdcard.img created by lego_ev3_defconfig won't boot if the official
+LEGO firmware is installed on the EV3 (it has an old version of U-Boot that
+doesn't know about device tree). You must either set the kernel configuration
+option to append the device tree to the kernel or you can create a boot.scr
+that chainloads a newer U-Boot or you can install a newer U-Boot in the flash
+memory (just flashing u-boot.bin is enough).
+
 Finish
 ======
 
@@ -80,3 +87,13 @@ See:
 - http://botbench.com/blog/2013/08/05/mindsensors-ev3-usb-console-adapter/
 
 The serial port config to use is 115200/8-N-1.
+
+Bluetooth
+=========
+
+To enable Bluetooth:
+
+    # modprobe hci_uart
+    # /usr/libexec/bluetooth/bluetoothd &
+    # bluetoothctl
+    [bluetooth]# power on
diff --git a/configs/lego_ev3_defconfig b/configs/lego_ev3_defconfig
index 0281924133..cf2809059e 100644
--- a/configs/lego_ev3_defconfig
+++ b/configs/lego_ev3_defconfig
@@ -2,28 +2,33 @@
 BR2_arm=y
 BR2_arm926t=y
 
-# Build options
-BR2_GLOBAL_PATCH_DIR="board/lego/ev3/patches"
+# Toolchain
+BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
 
 # system
 BR2_TARGET_GENERIC_GETTY=y
 BR2_TARGET_GENERIC_GETTY_PORT="ttyS1"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="board/lego/ev3/post-image.sh"
-# Linux headers same as kernel, a 4.14 series
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y
+# Linux headers same as kernel, a 4.19 series
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
 
 # Kernel
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19"
 BR2_LINUX_KERNEL_DEFCONFIG="davinci_all"
 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/lego/ev3/linux.fragment"
+BR2_LINUX_KERNEL_UIMAGE=y
 BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0xc0008000"
-BR2_LINUX_KERNEL_APPENDED_UIMAGE=y
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="da850-lego-ev3"
 
 # Target packages
 BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/lego/ev3/busybox.fragment"
+BR2_PACKAGE_BLUEZ5_UTILS=y
+BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_TI_CC2560=y
 
 # filesystem
 BR2_TARGET_ROOTFS_EXT2=y
@@ -36,7 +41,7 @@ BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.11"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="legoev3"
 
 # host
-- 
2.17.1

  parent reply	other threads:[~2018-12-27 19:53 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-27 19:53 [Buildroot] [PATCH 0/3] LEGO MINDSTORMS EV3 kernel 4.19 update David Lechner
2018-12-27 19:53 ` [Buildroot] [PATCH 1/3] linux-firmware: Add config option for TI CC2560(A) Bluetooth module David Lechner
2018-12-27 19:53 ` [Buildroot] [PATCH 2/3] board/lego/ev3: fix max U-Boot flash size David Lechner
2019-01-18 13:09   ` Peter Korsgaard
2018-12-27 19:53 ` David Lechner [this message]
2018-12-28 10:50 ` [Buildroot] [PATCH 0/3] LEGO MINDSTORMS EV3 kernel 4.19 update Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181227195305.5329-4-david@lechnology.com \
    --to=david@lechnology.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.