Skip to contentSkip to conversation

toolchain: add 4.19.x choice for headers

PATCH New Baruch Siach 3 participants 13 messages Nov 20, 2018 – Nov 22, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/5 toolchain: add 4.19.x choice for headers

---
 toolchain/Config.in                                          | 5 +++++
 .../toolchain-external-custom/Config.in.options              | 4 ++++
 2 files changed, 9 insertions(+)
toolchain/Config.in +5 -0
index c2192a52b1f3..474e3c8bba9d 100644
@@ -361,10 +361,15 @@ config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18
 	bool
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17
 
+config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19
+	bool
+	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18
+
 # This order guarantees that the highest version is set, as kconfig
 # stops affecting a value on the first matching default.
 config BR2_TOOLCHAIN_HEADERS_AT_LEAST
 	string
+	default "4.19" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19
 	default "4.18" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18
 	default "4.17" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17
 	default "4.16" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16
toolchain/toolchain-external/toolchain-external-custom/Config.in.options +4 -0
index 8665d2e2a734..288fc3f3e080 100644
@@ -123,6 +123,10 @@ choice
 	    m = ( LINUX_VERSION_CODE >> 8  ) & 0xFF
 	    p = ( LINUX_VERSION_CODE >> 0  ) & 0xFF
 
+config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19
+	bool "4.19.x"
+	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19
+
 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_18
 	bool "4.18.x"
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18
Signature · 1 line
2.19.1
#1 lore raw

PATCH 2/5 linux-headers: bump to kernel version 4.19.2

---
 package/linux-headers/Config.in.host | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
package/linux-headers/Config.in.host +10 -1
index cdf639ab3a8e..7b4babe96dbd 100644
@@ -6,7 +6,7 @@ config BR2_PACKAGE_HOST_LINUX_HEADERS
 choice
 	prompt "Kernel Headers"
 	default BR2_KERNEL_HEADERS_AS_KERNEL if BR2_LINUX_KERNEL
-	default BR2_KERNEL_HEADERS_4_18
+	default BR2_KERNEL_HEADERS_4_19
 	help
 	  Select the kernel version to get headers from.
 
@@ -60,6 +60,10 @@ config BR2_KERNEL_HEADERS_4_18
 	bool "Linux 4.18.x kernel headers"
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18
 
+config BR2_KERNEL_HEADERS_4_19
+	bool "Linux 4.19.x kernel headers"
+	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19
+
 config BR2_KERNEL_HEADERS_VERSION
 	bool "Manually specified Linux version"
 	help
@@ -125,6 +129,10 @@ choice
 	  This is used to hide/show some packages that have strict
 	  requirements on the version of kernel headers.
 
+config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19
+	bool "4.19.x"
+	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19
+
 config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18
 	bool "4.18.x"
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18
@@ -295,6 +303,7 @@ config BR2_DEFAULT_KERNEL_HEADERS
 	default "4.14.76"	if BR2_KERNEL_HEADERS_4_14
 	default "4.16.18"	if BR2_KERNEL_HEADERS_4_16
 	default "4.18.14"	if BR2_KERNEL_HEADERS_4_18
+	default "4.19.2"	if BR2_KERNEL_HEADERS_4_19
 	default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
 	default "custom"	if BR2_KERNEL_HEADERS_CUSTOM_TARBALL
 	default BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION \
Signature · 1 line
2.19.1
#2 lore raw

PATCH 2/5 linux-headers: bump to kernel version 4.19.2

Quoted 5 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Baruch" == Baruch Siach <[email protected]> writes:

---
 package/linux-headers/Config.in.host | 11 ++++++++++-

You forgot to add the hash for 4.19.2. Committed to next with that added, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#3 lore raw

PATCH 3/5 linux: bump default to 4.19.2

In reply to Baruch Siach
---
 linux/Config.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
linux/Config.in +2 -2
index ecb12d0b1666..c75e149a3739 100644
@@ -30,7 +30,7 @@ choice
 	prompt "Kernel version"
 
 config BR2_LINUX_KERNEL_LATEST_VERSION
-	bool "Latest version (4.18)"
+	bool "Latest version (4.19)"
 
 config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
 	bool "Latest CIP SLTS version (v4.4.138-cip25)"
@@ -120,7 +120,7 @@ endif
 
 config BR2_LINUX_KERNEL_VERSION
 	string
-	default "4.18.14" if BR2_LINUX_KERNEL_LATEST_VERSION
+	default "4.19.2" if BR2_LINUX_KERNEL_LATEST_VERSION
 	default "v4.4.138-cip25" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
 	default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
 		if BR2_LINUX_KERNEL_CUSTOM_VERSION
Signature · 1 line
2.19.1
#5 lore raw

PATCH 4/5 configs/solidrun_macchiatobin_mainline: bump kernel and U-Boot

In reply to Baruch Siach

Bump U-Boot to version 2018.11. This version supports autodetection of SD/eMMC boot source, so we can now enable environment load from SD card. Add a U-Boot kconfig fragment that sets SD/eMMC as environment load/save device. This avoids stale environment values from the SPI flash. That in turn, allows to use the more convenient distro boot which is enabled in the default environment.

Bump kernel to version 4.19.2. This version enables CONFIG_PHY_MVEBU_CP110_COMPHY in the arm64 defconfig, so remove it from the kernel kconfig fragment. Enable support for SFP modules detection and configuration. Leave the PHY drivers for now to keep them built into the kernel. The kernel defconfig builds these drivers as modules. But that does not work as expected in the default configuration.

Cc Sergey Matyukevich <[email protected]>
---
 board/solidrun/macchiatobin/extlinux.conf          |  4 ++++
 board/solidrun/macchiatobin/linux-extras.config    |  2 +-
 board/solidrun/macchiatobin/post-build-mainline.sh |  5 +++++
 board/solidrun/macchiatobin/uboot-fragment.config  |  2 ++
 configs/solidrun_macchiatobin_mainline_defconfig   | 13 ++++++++-----
 5 files changed, 20 insertions(+), 6 deletions(-)
 create mode 100644 board/solidrun/macchiatobin/extlinux.conf
 create mode 100755 board/solidrun/macchiatobin/post-build-mainline.sh
 create mode 100644 board/solidrun/macchiatobin/uboot-fragment.config
board/solidrun/macchiatobin/extlinux.conf new file +4 -0
new file mode 100644
index 000000000000..1008af1af078
@@ -0,0 +1,4 @@
+label Macchiatobin Linux
+  kernel /boot/Image
+  devicetree /boot/armada-8040-mcbin.dtb
+  append console=ttyS0,115200n8 root=/dev/mmcblk1p1 rootwait
board/solidrun/macchiatobin/linux-extras.config +1 -1
index 11267d2f801e..29fd63062664 100644
@@ -1,3 +1,3 @@
 CONFIG_MARVELL_PHY=y
 CONFIG_MARVELL_10G_PHY=y
-CONFIG_PHY_MVEBU_CP110_COMPHY=y
+CONFIG_SFP=y
board/solidrun/macchiatobin/post-build-mainline.sh new file +5 -0
new file mode 100755
index 000000000000..1f5ff6a6113d
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+BOARD_DIR="$(dirname $0)"
+
+install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
board/solidrun/macchiatobin/uboot-fragment.config new file +2 -0
new file mode 100644
index 000000000000..717a0942477a
@@ -0,0 +1,2 @@
+CONFIG_ENV_IS_IN_MMC=y
+# CONFIG_ENV_IS_IN_SPI_FLASH is not set
configs/solidrun_macchiatobin_mainline_defconfig +8 -5
index d303b2f75ec8..8e5fbfa4e879 100644
@@ -1,5 +1,5 @@
 BR2_aarch64=y
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
 BR2_TARGET_GENERIC_HOSTNAME="mcbin"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for Marvell MacchiatoBin"
 
@@ -19,14 +19,17 @@ BR2_TARGET_MV_DDR_MARVELL=y
 
 # U-Boot
 BR2_TARGET_UBOOT=y
-BR2_TARGET_UBOOT_BOARDNAME="mvebu_mcbin-88f8040"
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.09"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.11"
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_USE_DEFCONFIG=y
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="mvebu_mcbin-88f8040"
+BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/solidrun/macchiatobin/uboot-fragment.config"
 
 # Kernel
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.2"
 BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="marvell/armada-8040-mcbin"
@@ -41,4 +44,4 @@ BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_PACKAGE_HOST_GENIMAGE=y
 BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
 BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/solidrun/macchiatobin/genimage.cfg"
-BR2_ROOTFS_POST_BUILD_SCRIPT="board/solidrun/macchiatobin/post-build.sh"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/solidrun/macchiatobin/post-build-mainline.sh"
Signature · 1 line
2.19.1
#6 lore raw

PATCH 4/5 configs/solidrun_macchiatobin_mainline: bump kernel and U-Boot

Quoted 16 lines

Bump U-Boot to version 2018.11. This version supports autodetection of SD/eMMC boot source, so we can now enable environment load from SD card. Add a U-Boot kconfig fragment that sets SD/eMMC as environment load/save device. This avoids stale environment values from the SPI flash. That in turn, allows to use the more convenient distro boot which is enabled in the default environment.

Bump kernel to version 4.19.2. This version enables CONFIG_PHY_MVEBU_CP110_COMPHY in the arm64 defconfig, so remove it from the kernel kconfig fragment. Enable support for SFP modules detection and configuration. Leave the PHY drivers for now to keep them built into the kernel. The kernel defconfig builds these drivers as modules. But that does not work as expected in the default configuration.

Cc Sergey Matyukevich <[email protected]>
Quoted 10 lines
---
 board/solidrun/macchiatobin/extlinux.conf          |  4 ++++
 board/solidrun/macchiatobin/linux-extras.config    |  2 +-
 board/solidrun/macchiatobin/post-build-mainline.sh |  5 +++++
 board/solidrun/macchiatobin/uboot-fragment.config  |  2 ++
 configs/solidrun_macchiatobin_mainline_defconfig   | 13 ++++++++-----
 5 files changed, 20 insertions(+), 6 deletions(-)
 create mode 100644 board/solidrun/macchiatobin/extlinux.conf
 create mode 100755 board/solidrun/macchiatobin/post-build-mainline.sh
 create mode 100644 board/solidrun/macchiatobin/uboot-fragment.config

Thanks! Verified the changes on MacchiatoBin v2 board:

By the way, it looks like mainline U-Boot v2018.11 still detects only 2GiB of DRAM on my boards. Meanwhile vendor U-Boot provided by alternative config solidrun_macchiatobin_marvell_defconfig detects 4GiB.

Regards,
Sergey

#7 lore raw

PATCH 4/5 configs/solidrun_macchiatobin_mainline: bump kernel and U-Boot

Hi Sergey,

Quoted 27 lines · Sergey Matyukevich
Quoted 16 lines

Bump U-Boot to version 2018.11. This version supports autodetection of SD/eMMC boot source, so we can now enable environment load from SD card. Add a U-Boot kconfig fragment that sets SD/eMMC as environment load/save device. This avoids stale environment values from the SPI flash. That in turn, allows to use the more convenient distro boot which is enabled in the default environment.

Bump kernel to version 4.19.2. This version enables CONFIG_PHY_MVEBU_CP110_COMPHY in the arm64 defconfig, so remove it from the kernel kconfig fragment. Enable support for SFP modules detection and configuration. Leave the PHY drivers for now to keep them built into the kernel. The kernel defconfig builds these drivers as modules. But that does not work as expected in the default configuration.

Cc Sergey Matyukevich <[email protected]>
Quoted 10 lines
---
 board/solidrun/macchiatobin/extlinux.conf          |  4 ++++
 board/solidrun/macchiatobin/linux-extras.config    |  2 +-
 board/solidrun/macchiatobin/post-build-mainline.sh |  5 +++++
 board/solidrun/macchiatobin/uboot-fragment.config  |  2 ++
 configs/solidrun_macchiatobin_mainline_defconfig   | 13 ++++++++-----
 5 files changed, 20 insertions(+), 6 deletions(-)
 create mode 100644 board/solidrun/macchiatobin/extlinux.conf
 create mode 100755 board/solidrun/macchiatobin/post-build-mainline.sh
 create mode 100644 board/solidrun/macchiatobin/uboot-fragment.config
Quoted 3 lines

Thanks! Verified the changes on MacchiatoBin v2 board:

Thanks.

Quoted 3 lines

By the way, it looks like mainline U-Boot v2018.11 still detects only 2GiB of DRAM on my boards. Meanwhile vendor U-Boot provided by alternative config solidrun_macchiatobin_marvell_defconfig detects 4GiB.

Support for RAM size detection on Armada 8K platforms is pending:

http://git.denx.de/?p=u-boot/u-boot-marvell.git;a=commitdiff;h=2b4d964718c0e78a24f3a5e051e7dd9bc0e547c2

The next U-Boot release should have this support.

baruch

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

PATCH 4/5 configs/solidrun_macchiatobin_mainline: bump kernel and U-Boot

Quoted 23 lines
Quoted 13 lines
Quoted 12 lines
Cc Sergey Matyukevich <[email protected]>
---
 board/solidrun/macchiatobin/extlinux.conf          |  4 ++++
 board/solidrun/macchiatobin/linux-extras.config    |  2 +-
 board/solidrun/macchiatobin/post-build-mainline.sh |  5 +++++
 board/solidrun/macchiatobin/uboot-fragment.config  |  2 ++
 configs/solidrun_macchiatobin_mainline_defconfig   | 13 ++++++++-----
 5 files changed, 20 insertions(+), 6 deletions(-)
 create mode 100644 board/solidrun/macchiatobin/extlinux.conf
 create mode 100755 board/solidrun/macchiatobin/post-build-mainline.sh
 create mode 100644 board/solidrun/macchiatobin/uboot-fragment.config
Quoted 3 lines

Thanks! Verified the changes on MacchiatoBin v2 board:

Thanks.

Quoted 3 lines

By the way, it looks like mainline U-Boot v2018.11 still detects only 2GiB of DRAM on my boards. Meanwhile vendor U-Boot provided by alternative config solidrun_macchiatobin_marvell_defconfig detects 4GiB.

Quoted 5 lines

Support for RAM size detection on Armada 8K platforms is pending:

http://git.denx.de/?p=u-boot/u-boot-marvell.git;a=commitdiff;h=2b4d964718c0e78a24f3a5e051e7dd9bc0e547c2

The next U-Boot release should have this support.

Good! Thanks for the link.

Regards,
Sergey

#9 lore raw

PATCH 4/5 configs/solidrun_macchiatobin_mainline: bump kernel and U-Boot

In reply to Baruch Siach
Quoted 16 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Baruch" == Baruch Siach <[email protected]> writes:

Bump U-Boot to version 2018.11. This version supports autodetection of SD/eMMC boot source, so we can now enable environment load from SD card. Add a U-Boot kconfig fragment that sets SD/eMMC as environment load/save device. This avoids stale environment values from the SPI flash. That in turn, allows to use the more convenient distro boot which is enabled in the default environment.

Bump kernel to version 4.19.2. This version enables CONFIG_PHY_MVEBU_CP110_COMPHY in the arm64 defconfig, so remove it from the kernel kconfig fragment. Enable support for SFP modules detection and configuration. Leave the PHY drivers for now to keep them built into the kernel. The kernel defconfig builds these drivers as modules. But that does not work as expected in the default configuration.

Quoted 2 lines
Cc Sergey Matyukevich <[email protected]>

Committed to next, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#10 lore raw

PATCH 5/5 board: macchiatobin: update readme.txt

In reply to Baruch Siach

Update the kernel and U-Boot versions to the actual versions in use. Update the description of supported hardware features.

Add a note that the stale SPI flash environment issue only affects the vendor BSP.

Cc Sergey Matyukevich <[email protected]>
---
 board/solidrun/macchiatobin/readme.txt | 30 +++++++++++++++-----------
 1 file changed, 17 insertions(+), 13 deletions(-)
board/solidrun/macchiatobin/readme.txt +17 -13
index dfbd6e793b06..dc5d6c794d45 100644
@@ -15,19 +15,20 @@ How to build
 There are two build options: mainline support and vendor support.
 
 For the mainline BSP, we use:
- - Linux v4.15
- - U-Boot v2018.01
+ - Linux v4.19.2
+ - U-Boot v2018.11
 
 For the vendor BSP, we use the sources available from Marvell Github
 page at https://github.com/MarvellEmbeddedProcessors, which uses:
- - Linux v4.4.52
- - U-Boot v2017.03
+ - Linux v4.4.120
+ - U-Boot v2018.03
 
-At the moment mainline support for the board is a work in progress.
-Mainline kernel 4.15 enables eth2 in 1Gb (RJ45 connector J5) and
-eth0 in 10Gb (SFP connector CON15 and RJ45 connector CON16).
-The vendor BSP enables more hardware features out of the box,
-e.g. all the network interfaces.
+At the moment mainline support for the board is a work in
+progress. Mainline kernel 4.19 enables eth2 in 1Gb (RJ45 connector J5),
+copper 10Gb interfaces, and automatic configuration of select SFP
+modules on the SFP cages. The vendor BSP enables more hardware features
+out of the box, but lacks support for SFP detection and automatic
+configuration.
 
 To use the mainline BSP run the following commands:
 
@@ -73,10 +74,13 @@ Insert the micro SDcard in the MacchiatoBin board and power it up.
 The serial console is accessible at the micro-USB Type-B connector
 marked CON9. The serial line settings are 115200 8N1.
 
-By default U-Boot will load its environment from the SPI flash. On the
-first boot SPI flash may be empty or it may contain a legacy
-environment incompatible with up-to-date mainline U-Boot and
-kernel. Then the following commands can be used to boot the board:
+Note: the following text only applies to the vendor BSP from
+solidrun_macchiatobin_marvell_defconfig.
+
+By default Marvell provided U-Boot will load its environment from the
+SPI flash. On the first boot SPI flash may be empty or it may contain a
+legacy environment that prevents proper boot. Then the following
+commands can be used to boot the board:
 
 => ext4load mmc 1:1 0x01700000 /boot/uEnv-example.txt
 => env import -t 0x01700000 $filesize
Signature · 1 line
2.19.1
#11 lore raw

PATCH 5/5 board: macchiatobin: update readme.txt

Quoted 10 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Baruch" == Baruch Siach <[email protected]> writes:

Update the kernel and U-Boot versions to the actual versions in use. Update the description of supported hardware features.

Add a note that the stale SPI flash environment issue only affects the vendor BSP.

Cc Sergey Matyukevich <[email protected]>

Committed to next, thanks.

Signature · 1 line
Bye, Peter Korsgaard