aboutsummaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
Diffstat (limited to 'board')
-rw-r--r--board/arm/foundation-v8/readme.txt7
-rw-r--r--board/arrow/avenger96/overlay/boot/extlinux/extlinux.conf4
-rw-r--r--board/arrow/avenger96/readme.txt41
-rw-r--r--board/atmel/readme.txt2
-rw-r--r--board/beaglebone/readme.txt12
-rw-r--r--board/beaglebone/rootfs_overlay/etc/qt5/eglfs_kms_cfg.json15
-rw-r--r--board/boundarydevices/common/readme.txt6
-rw-r--r--board/chromebook/elm/kernel.args1
-rw-r--r--board/chromebook/elm/kernel.its38
-rw-r--r--board/chromebook/elm/linux.config453
-rw-r--r--board/chromebook/elm/patches/linux/0001-drm-bridge_connector-Set-default-status-connected-fo.patch35
-rw-r--r--board/chromebook/elm/patches/linux/0002-drm-bridge-ps8640-Get-the-EDID-from-eDP-control.patch50
-rw-r--r--board/chromebook/elm/patches/linux/0003-drm-bridge-ps8640-Return-an-error-for-incorrect-atta.patch35
-rw-r--r--board/chromebook/elm/patches/linux/0004-drm-bridge-ps8640-Print-an-error-if-VDO-control-fail.patch58
-rw-r--r--board/chromebook/elm/patches/linux/0005-drm-bridge-ps8640-Rework-power-state-handling.patch162
-rw-r--r--board/chromebook/elm/patches/linux/0006-Revert-drm-mediatek-dsi-Fix-scrolling-of-panel-with-.patch41
-rw-r--r--board/chromebook/elm/readme.txt56
-rwxr-xr-xboard/chromebook/elm/sign.sh41
-rwxr-xr-xboard/chromebook/mksd.sh (renamed from board/chromebook/snow/mksd.sh)0
-rw-r--r--board/freescale/imx8mqevk/readme.txt6
-rw-r--r--board/friendlyarm/nanopc-t4/readme.txt2
-rw-r--r--board/friendlyarm/nanopi-m1-plus/readme.txt2
-rw-r--r--board/friendlyarm/nanopi-m1/readme.txt2
-rw-r--r--board/friendlyarm/nanopi-m4/readme.txt2
-rw-r--r--board/friendlyarm/nanopi-neo/readme.txt2
-rw-r--r--board/friendlyarm/nanopi-neo4/readme.txt2
-rw-r--r--board/friendlyarm/nanopi-r1/readme.txt2
-rw-r--r--board/hardkernel/odroidc2/genimage.cfg1
-rw-r--r--board/kontron/smarc-sal28/genimage.cfg12
-rw-r--r--board/kontron/smarc-sal28/linux.fragment18
-rw-r--r--board/kontron/smarc-sal28/readme.txt18
-rw-r--r--board/microchip/sam9x60ek_mmc/genimage.cfg31
-rw-r--r--board/minnowboard/genimage.cfg5
-rw-r--r--board/minnowboard/grub.cfg2
-rw-r--r--board/minnowboard/linux.config1
-rw-r--r--board/nexbox/a95x/boot.txt2
-rw-r--r--board/nexbox/a95x/genimage.cfg2
-rw-r--r--board/orangepi/orangepi-pc/linux.fragment1
-rw-r--r--board/orangepi/orangepi-r1/boot.cmd2
-rw-r--r--board/orangepi/orangepi-r1/genimage.cfg8
-rw-r--r--board/orangepi/orangepi-zero-plus/boot.cmd6
-rw-r--r--board/orangepi/orangepi-zero-plus/genimage.cfg39
-rw-r--r--board/orangepi/orangepi-zero-plus/readme.txt34
-rw-r--r--board/orangepi/orangepi-zero-plus2/boot.cmd2
-rw-r--r--board/orangepi/orangepi-zero-plus2/genimage.cfg9
-rw-r--r--board/pc/genimage-efi.cfg5
-rw-r--r--board/qemu/arm-versatile/patches/linux/versatile-nommu.patch22
-rw-r--r--board/qemu/arm-vexpress-tz/readme.txt2
-rw-r--r--board/qemu/mips32r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch16
-rw-r--r--board/qemu/mips32r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch16
-rw-r--r--board/qemu/mips64r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch16
-rw-r--r--board/qemu/mips64r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch16
-rwxr-xr-xboard/qemu/post-image.sh14
-rw-r--r--board/qemu/ppc-mpc8544ds/patches/linux/0001-powerpc-Fix-mcpu-options-for-SPE-only-compiler.patch53
-rw-r--r--board/qemu/ppc-virtex-ml507/linux.config36
-rw-r--r--board/qemu/ppc-virtex-ml507/readme.txt5
-rw-r--r--board/qemu/riscv64-virt/readme.txt2
-rw-r--r--board/qemu/s390x/readme.txt8
-rw-r--r--board/qemu/sh4-r2d/patches/linux/0001-arch-sh-vmlinux.scr.patch32
-rw-r--r--board/qemu/sh4-r2d/patches/linux/0002-include-asm-generic-vmlinux.lds.h.patch32
-rw-r--r--board/qemu/sh4eb-r2d/patches/linux/0001-arch-sh-vmlinux.scr.patch32
-rw-r--r--board/qemu/sh4eb-r2d/patches/linux/0002-include-asm-generic-vmlinux.lds.h.patch27
-rw-r--r--board/roseapplepi/patches/linux/0001-arm-dts-owl-s500-Fix-incorrect-PPI.patch52
-rw-r--r--board/roseapplepi/patches/linux/0002-arm-dts-owl-s500-add-RoseapplePi.patch89
-rw-r--r--board/sifive/hifive-unleashed/boot.cmd4
-rw-r--r--board/sifive/hifive-unleashed/genimage_sdcard.cfg (renamed from board/sifive/hifive-unleashed/genimage.cfg)14
-rw-r--r--board/sifive/hifive-unleashed/genimage_spi-nor.cfg19
-rw-r--r--board/sifive/hifive-unleashed/linux.config.fragment14
-rwxr-xr-xboard/sifive/hifive-unleashed/post-build.sh2
-rw-r--r--board/sifive/hifive-unleashed/readme.txt68
-rw-r--r--board/sinovoip/m1-plus/boot.cmd5
-rw-r--r--board/sinovoip/m1-plus/genimage.cfg37
-rw-r--r--board/sinovoip/m1-plus/linux-wifi.fragment10
-rw-r--r--board/sinovoip/m1-plus/patches/linux/0001-ARM-dts-sun7i-bananapi-m1-plus-Disable-OOB-IRQ-for-b.patch39
-rwxr-xr-xboard/sinovoip/m1-plus/post-build.sh4
-rw-r--r--board/sinovoip/m1-plus/readme.txt64
l---------board/sinovoip/m1-plus/rootfs_overlay/lib/firmware/brcm/brcmfmac43362-sdio.sinovoip,bpi-m1-plus.txt1
-rw-r--r--board/sinovoip/m1-plus/rootfs_overlay/lib/firmware/brcm/brcmfmac43362-sdio.txt56
-rw-r--r--board/solidrun/mx6cubox/boot.scr.txt6
-rw-r--r--board/stmicroelectronics/common/stm32mp157/genimage.cfg.template (renamed from board/stmicroelectronics/common/stm32mp157/genimage.cfg)7
-rwxr-xr-xboard/stmicroelectronics/common/stm32mp157/post-image.sh38
-rw-r--r--board/udoo/common/boot.scr.txt (renamed from board/udoo/neo/boot.scr.txt)2
-rwxr-xr-xboard/udoo/common/post-build.sh3
-rw-r--r--board/udoo/mx6qdl/linux.fragment1
-rw-r--r--board/udoo/mx6qdl/patches/linux/0000-udoo-disable-usbh1.patch26
-rw-r--r--board/udoo/mx6qdl/readme.txt2
-rw-r--r--board/udoo/neo/genimage.cfg32
-rwxr-xr-xboard/udoo/neo/post-build.sh7
-rwxr-xr-xboard/udoo/neo/post-image.sh15
-rw-r--r--board/udoo/neo/readme.txt2
90 files changed, 1729 insertions, 494 deletions
diff --git a/board/arm/foundation-v8/readme.txt b/board/arm/foundation-v8/readme.txt
index 1dedf68cba..b5106f015e 100644
--- a/board/arm/foundation-v8/readme.txt
+++ b/board/arm/foundation-v8/readme.txt
@@ -3,17 +3,18 @@ ARM software simulator of the AArch64 architecture.
First, one has to download the AArch64 software simulator from:
- https://silver.arm.com/download/download.tm?pv=2663527
+ https://silver.arm.com/download/download.tm?pv=4807186
Then, use the arm_foundationv8_defconfig configuration to build your
Buildroot system.
Finally, boot your system with:
- ${LOCATION_OF_FOUNDATIONV8_SIMULATOR}/models/Linux64_GCC-4.7/Foundation_Platform \
+ ${LOCATION_OF_FOUNDATIONV8_SIMULATOR}/models/Linux64_GCC-6.4/Foundation_Platform \
--image output/images/linux-system.axf \
--block-device output/images/rootfs.ext2 \
- --network=nat
+ --network=nat \
+ --cores 4
You can get network access from within the simulated environment
by requesting an IP address using DHCP (run the command 'udhcpc').
diff --git a/board/arrow/avenger96/overlay/boot/extlinux/extlinux.conf b/board/arrow/avenger96/overlay/boot/extlinux/extlinux.conf
new file mode 100644
index 0000000000..5d506b3dae
--- /dev/null
+++ b/board/arrow/avenger96/overlay/boot/extlinux/extlinux.conf
@@ -0,0 +1,4 @@
+label stm32mp157c-dk2-buildroot
+ kernel /boot/zImage
+ devicetree /boot/stm32mp157a-dhcor-avenger96.dtb
+ append root=/dev/mmcblk1p4 rootwait
diff --git a/board/arrow/avenger96/readme.txt b/board/arrow/avenger96/readme.txt
new file mode 100644
index 0000000000..19ab09eb81
--- /dev/null
+++ b/board/arrow/avenger96/readme.txt
@@ -0,0 +1,41 @@
+Arrow Avenger96
+
+Intro
+=====
+
+This configuration supports the Arrow Avenger96 board:
+
+https://wiki.dh-electronics.com/index.php/Avenger96
+
+How to build
+============
+
+ $ make avenger96_defconfig
+ $ make
+
+How to write the microSD card
+=============================
+
+WARNING! This will destroy all the card content. Use with care!
+
+Once the build process is finished you will have an image called
+"sdcard.img" in the output/images/ directory.
+
+Copy the bootable "sdcard.img" onto an microSD card with "dd":
+
+ $ sudo dd if=output/images/sdcard.img of=/dev/sdX
+
+Boot the board
+==============
+
+ (1) Configure the boot switches for boot from microsd: 1-0-1
+
+ (2) Insert the microSD card in the slot
+
+ (3) Plug a serial adapter (beware: 1v8 levels!) to the low speed
+ expansion connector
+
+ (4) Plug in power cable
+
+ (5) The system will start, with the console on UART, but also visible
+ on the screen.
diff --git a/board/atmel/readme.txt b/board/atmel/readme.txt
index 7ebb5e830e..1f21dd15e4 100644
--- a/board/atmel/readme.txt
+++ b/board/atmel/readme.txt
@@ -21,6 +21,8 @@ This guide covers the following configurations:
- atmel_sama5d2_xplained_mmc_dev_defconfig
- microchip_sama5d27_wlsom1_ek_mmc_defconfig
- microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig
+ - microchip_sam9x60ek_mmc_defconfig
+ - microchip_sam9x60ek_mmc_dev_defconfig
These configurations will use AT91Bootstrap, u-boot and a linux kernel from
the git trees maintained by Atmel.
diff --git a/board/beaglebone/readme.txt b/board/beaglebone/readme.txt
index e6647dad2a..231e977a89 100644
--- a/board/beaglebone/readme.txt
+++ b/board/beaglebone/readme.txt
@@ -7,7 +7,7 @@ Description
This configuration will build a complete image for the beaglebone and
the TI AM335x-EVM, the board type is identified by the on-board
EEPROM. The configuration is based on the
-ti-processor-sdk-02.00.00.00. Device tree blobs for beaglebone
+ti-processor-sdk-06.01.00.08. Device tree blobs for beaglebone
variants and the evm-sk are built too.
For Qt5 support support use the beaglebone_qt5_defconfig.
@@ -43,10 +43,20 @@ output/images/
To copy the image file to the sdcard use dd:
$ dd if=output/images/sdcard.img of=/dev/XXX
+
+Running Qt5 hellowindow opengl demo:
+===================
+# export QT_QPA_EGLFS_KMS_CONFIG=/etc/qt5/eglfs_kms_cfg.json
+# export QT_QPA_PLATFORM=eglfs
+# export QT_QPA_EGLFS_INTEGRATION=none
+# /usr/lib/qt/examples/opengl/hellowindow/hellowindow
+
+
Tested hardware
===============
am335x-evm (rev. 1.1A)
beagleboneblack (rev. A5A)
beaglebone (rev. A6)
+2020, Adam Duskett <aduskett@gmail.com>
2016, Lothar Felten <lothar.felten@gmail.com>
diff --git a/board/beaglebone/rootfs_overlay/etc/qt5/eglfs_kms_cfg.json b/board/beaglebone/rootfs_overlay/etc/qt5/eglfs_kms_cfg.json
new file mode 100644
index 0000000000..76f5e7d379
--- /dev/null
+++ b/board/beaglebone/rootfs_overlay/etc/qt5/eglfs_kms_cfg.json
@@ -0,0 +1,15 @@
+{
+ "device": "/dev/dri/card0",
+ "hwcursor": false,
+ "pbuffers": true,
+ "outputs": [
+ {
+ "name": "VGA1",
+ "mode": "off"
+ },
+ {
+ "name": "HDMI1",
+ "mode": "1024x768"
+ }
+ ]
+}
diff --git a/board/boundarydevices/common/readme.txt b/board/boundarydevices/common/readme.txt
index d1bb3fa598..307cfb5549 100644
--- a/board/boundarydevices/common/readme.txt
+++ b/board/boundarydevices/common/readme.txt
@@ -40,3 +40,9 @@ Where 'sdX' is the device node of the uSD partition.
To upgrade u-boot, cancel autoboot and type:
> run upgradeu
+
+See Boundary Devices's buildroot-external-boundary project
+for additional and advanced defconfigs using Qt5, gstreamer,
+NXP proprietary packages with demo applications:
+
+https://github.com/boundarydevices/buildroot-external-boundary
diff --git a/board/chromebook/elm/kernel.args b/board/chromebook/elm/kernel.args
new file mode 100644
index 0000000000..848e179d68
--- /dev/null
+++ b/board/chromebook/elm/kernel.args
@@ -0,0 +1 @@
+root=PARTUUID=%U/PARTNROFF=1 rootwait rw noinitrd kern_guid=%U console=tty0
diff --git a/board/chromebook/elm/kernel.its b/board/chromebook/elm/kernel.its
new file mode 100644
index 0000000000..bc4b09eabe
--- /dev/null
+++ b/board/chromebook/elm/kernel.its
@@ -0,0 +1,38 @@
+/dts-v1/;
+
+/ {
+ description = "Chrome OS kernel image with FDT";
+ #address-cells = <1>;
+
+ images {
+ kernel-1 {
+ data = /incbin/("Image");
+ type = "kernel_noload";
+ arch = "arm64";
+ os = "linux";
+ compression = "none";
+ load = <0>;
+ entry = <0>;
+ };
+
+ fdt-1 {
+ description = "mt8173-elm.dtb";
+ data = /incbin/("mt8173-elm.dtb");
+ type = "flat_dt";
+ arch = "arm64";
+ compression = "none";
+
+ hash-1 {
+ algo = "sha1";
+ };
+ };
+ };
+
+ configurations {
+ default = "conf-1";
+ conf-1 {
+ kernel = "kernel-1";
+ fdt = "fdt-1";
+ };
+ };
+};
diff --git a/board/chromebook/elm/linux.config b/board/chromebook/elm/linux.config
new file mode 100644
index 0000000000..50402eae8a
--- /dev/null
+++ b/board/chromebook/elm/linux.config
@@ -0,0 +1,453 @@
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_PREEMPT=y
+CONFIG_IRQ_TIME_ACCOUNTING=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_NUMA_BALANCING=y
+CONFIG_MEMCG=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_PIDS=y
+CONFIG_CGROUP_HUGETLB=y
+CONFIG_CPUSETS=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_CGROUP_PERF=y
+CONFIG_USER_NS=y
+CONFIG_SCHED_AUTOGROUP=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_KALLSYMS_ALL=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB=y
+CONFIG_PROFILING=y
+CONFIG_ARCH_MEDIATEK=y
+CONFIG_ARM64_VA_BITS_48=y
+CONFIG_SCHED_MC=y
+CONFIG_SCHED_SMT=y
+CONFIG_NR_CPUS=4
+CONFIG_NUMA=y
+CONFIG_SECCOMP=y
+CONFIG_PARAVIRT=y
+CONFIG_CRASH_DUMP=y
+CONFIG_COMPAT=y
+CONFIG_RANDOMIZE_BASE=y
+# CONFIG_EFI is not set
+# CONFIG_SUSPEND is not set
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_ARM_CPUIDLE=y
+CONFIG_ARM_PSCI_CPUIDLE=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+CONFIG_CPUFREQ_DT=y
+CONFIG_ARM_SCPI_CPUFREQ=y
+CONFIG_ARM_MEDIATEK_CPUFREQ=y
+CONFIG_ARM_SCPI_PROTOCOL=y
+CONFIG_JUMP_LABEL=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_BLK_DEBUG_FS is not set
+# CONFIG_MQ_IOSCHED_KYBER is not set
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_KSM=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_CMA=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_INET_UDP_DIAG=y
+# CONFIG_IPV6 is not set
+CONFIG_CFG80211=y
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_FW_LOADER_USER_HELPER=y
+CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
+CONFIG_BRCMSTB_GISB_ARB=y
+CONFIG_VEXPRESS_CONFIG=y
+CONFIG_MTD=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_RAW_NAND=y
+CONFIG_MTD_NAND_DENALI_DT=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_SPI_CADENCE_QUADSPI=y
+CONFIG_OF_OVERLAY=y
+# CONFIG_BLK_DEV is not set
+CONFIG_SRAM=y
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_AT25=m
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=y
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_SAS_LIBSAS=y
+CONFIG_SCSI_UFSHCD=y
+CONFIG_SCSI_UFSHCD_PLATFORM=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_NETDEVICES=y
+# CONFIG_ETHERNET is not set
+CONFIG_USB_RTL8152=y
+CONFIG_USB_USBNET=y
+# CONFIG_USB_NET_AX88179_178A is not set
+# CONFIG_USB_NET_NET1080 is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_WLAN_VENDOR_ADMTEK is not set
+# CONFIG_WLAN_VENDOR_ATH is not set
+# CONFIG_WLAN_VENDOR_ATMEL is not set
+# CONFIG_WLAN_VENDOR_BROADCOM is not set
+# CONFIG_WLAN_VENDOR_CISCO is not set
+# CONFIG_WLAN_VENDOR_INTEL is not set
+# CONFIG_WLAN_VENDOR_INTERSIL is not set
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+# CONFIG_WLAN_VENDOR_MEDIATEK is not set
+# CONFIG_WLAN_VENDOR_RALINK is not set
+# CONFIG_WLAN_VENDOR_REALTEK is not set
+# CONFIG_WLAN_VENDOR_RSI is not set
+# CONFIG_WLAN_VENDOR_ST is not set
+# CONFIG_WLAN_VENDOR_TI is not set
+# CONFIG_WLAN_VENDOR_ZYDAS is not set
+# CONFIG_WLAN_VENDOR_QUANTENNA is not set
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_EVDEV=y
+CONFIG_KEYBOARD_ADC=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_CROS_EC=y
+CONFIG_MOUSE_ELAN_I2C=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_TOUCHSCREEN_ELAN=y
+CONFIG_INPUT_MISC=y
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_SERIO_AMBAKMI=y
+CONFIG_LEGACY_PTY_COUNT=16
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_MT6577=y
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+CONFIG_SERIAL_XILINX_PS_UART=y
+CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_SERIAL_FSL_LINFLEXUART=y
+CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_VIRTIO_CONSOLE=y
+CONFIG_IPMI_HANDLER=m
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_TCG_TPM=y
+CONFIG_TCG_TIS_I2C_INFINEON=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX_PCA954x=y
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
+CONFIG_I2C_GPIO=m
+CONFIG_I2C_MT65XX=y
+CONFIG_I2C_RK3X=y
+CONFIG_I2C_CROS_EC_TUNNEL=y
+CONFIG_I2C_SLAVE=y
+CONFIG_SPI=y
+CONFIG_SPI_NXP_FLEXSPI=y
+CONFIG_SPI_GPIO=y
+CONFIG_SPI_MT65XX=y
+CONFIG_SPI_PL022=y
+CONFIG_SPI_ROCKCHIP=y
+CONFIG_SPI_SPIDEV=y
+CONFIG_PINCTRL_SINGLE=y
+CONFIG_PINCTRL_MAX77620=y
+CONFIG_GPIO_ALTERA=m
+CONFIG_GPIO_DWAPB=y
+CONFIG_GPIO_MB86S7X=y
+CONFIG_GPIO_PL061=y
+CONFIG_GPIO_XGENE=y
+CONFIG_GPIO_MAX732X=y
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_GPIO_BD9571MWV=m
+CONFIG_GPIO_MAX77620=y
+CONFIG_POWER_AVS=y
+CONFIG_POWER_RESET_BRCMSTB=y
+CONFIG_POWER_RESET_XGENE=y
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_SYSCON_REBOOT_MODE=y
+CONFIG_BATTERY_SBS=m
+CONFIG_BATTERY_BQ27XXX=y
+CONFIG_SENSORS_ARM_SCPI=y
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_PWM_FAN=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_INA3221=m
+CONFIG_THERMAL=y
+CONFIG_CPU_THERMAL=y
+CONFIG_DEVFREQ_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+CONFIG_WATCHDOG=y
+CONFIG_MEDIATEK_WATCHDOG=y
+CONFIG_MFD_BD9571MWV=y
+CONFIG_MFD_AXP20X_I2C=y
+CONFIG_MFD_HI6421_PMIC=y
+CONFIG_MFD_MAX77620=y
+CONFIG_MFD_MT6397=y
+CONFIG_MFD_RK808=y
+CONFIG_MFD_SEC_CORE=y
+CONFIG_MFD_ROHM_BD718XX=y
+CONFIG_REGULATOR_DEBUG=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_AXP20X=y
+CONFIG_REGULATOR_BD718XX=y
+CONFIG_REGULATOR_BD9571MWV=y
+CONFIG_REGULATOR_DA9211=y
+CONFIG_REGULATOR_FAN53555=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_REGULATOR_HI6421V530=y
+CONFIG_REGULATOR_MAX77620=y
+CONFIG_REGULATOR_MAX8973=y
+CONFIG_REGULATOR_MT6397=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_REGULATOR_PWM=y
+CONFIG_REGULATOR_RK808=y
+CONFIG_REGULATOR_S2MPS11=y
+CONFIG_REGULATOR_VCTRL=m
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_SDR_SUPPORT=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_DRM=y
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_DRM_I2C_SIL164=m
+CONFIG_DRM_I2C_NXP_TDA998X=m
+CONFIG_DRM_MALI_DISPLAY=m
+CONFIG_DRM_PANEL_LVDS=m
+CONFIG_DRM_PANEL_SIMPLE=y
+CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
+CONFIG_DRM_DISPLAY_CONNECTOR=y
+CONFIG_DRM_PARADE_PS8640=y
+CONFIG_DRM_SII902X=m
+CONFIG_DRM_THINE_THC63LVD1024=m
+CONFIG_DRM_TI_SN65DSI86=m
+CONFIG_DRM_ANALOGIX_ANX78XX=y
+CONFIG_DRM_I2C_ADV7511=m
+CONFIG_DRM_MEDIATEK=y
+CONFIG_DRM_MEDIATEK_HDMI=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_SIMPLE=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_BACKLIGHT_LP855X=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_MT8173=y
+CONFIG_SND_SOC_MT8173_RT5650_RT5676=y
+CONFIG_I2C_HID=m
+CONFIG_USB_CONN_GPIO=y
+CONFIG_USB=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_MTU3=y
+CONFIG_USB_MUSB_HDRC=y
+CONFIG_USB_DWC3=y
+CONFIG_USB_DWC2=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_ISP1760=y
+CONFIG_USB_SERIAL=y
+CONFIG_USB_SERIAL_CONSOLE=y
+CONFIG_USB_SERIAL_PL2303=y
+CONFIG_USB_HSIC_USB3503=y
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_ULPI=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_SNP_UDC_PLAT=y
+CONFIG_USB_BDC_UDC=y
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_TYPEC=m
+CONFIG_TYPEC_TCPM=m
+CONFIG_TYPEC_FUSB302=m
+CONFIG_MMC=y
+CONFIG_MMC_BLOCK_MINORS=32
+CONFIG_MMC_ARMMMCI=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_OF_ARASAN=y
+CONFIG_MMC_SDHCI_CADENCE=y
+CONFIG_MMC_SDHCI_F_SDH30=y
+CONFIG_MMC_SPI=y
+CONFIG_MMC_DW=y
+CONFIG_MMC_DW_EXYNOS=y
+CONFIG_MMC_DW_HI3798CV200=y
+CONFIG_MMC_DW_K3=y
+CONFIG_MMC_MTK=y
+CONFIG_MMC_SDHCI_XENON=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_PWM=y
+CONFIG_LEDS_SYSCON=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_CPU=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+CONFIG_LEDS_TRIGGER_PANIC=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_MAX77686=y
+CONFIG_RTC_DRV_RK808=m
+CONFIG_RTC_DRV_PCF85363=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_S5M=y
+CONFIG_RTC_DRV_DS3232=y
+CONFIG_RTC_DRV_PCF2127=m
+CONFIG_RTC_DRV_CROS_EC=y
+CONFIG_RTC_DRV_PL031=y
+CONFIG_DMADEVICES=y
+CONFIG_FSL_EDMA=y
+CONFIG_MV_XOR_V2=y
+CONFIG_PL330_DMA=y
+CONFIG_MTK_CQDMA=y
+CONFIG_QCOM_HIDMA_MGMT=y
+CONFIG_QCOM_HIDMA=y
+# CONFIG_VIRTIO_MENU is not set
+CONFIG_MFD_CROS_EC=y
+CONFIG_CROS_EC_I2C=y
+CONFIG_CROS_EC_SPI=y
+CONFIG_COMMON_CLK_RK808=y
+CONFIG_COMMON_CLK_SCPI=y
+CONFIG_COMMON_CLK_CS2000_CP=y
+CONFIG_COMMON_CLK_S2MPS11=y
+CONFIG_CLK_QORIQ=y
+CONFIG_COMMON_CLK_XGENE=y
+CONFIG_COMMON_CLK_PWM=y
+CONFIG_COMMON_CLK_VC5=y
+CONFIG_COMMON_CLK_MT6797_MMSYS=y
+CONFIG_COMMON_CLK_MT6797_IMGSYS=y
+CONFIG_COMMON_CLK_MT6797_VDECSYS=y
+CONFIG_COMMON_CLK_MT6797_VENCSYS=y
+CONFIG_HWSPINLOCK=y
+CONFIG_ARM_MHU=y
+CONFIG_PLATFORM_MHU=y
+CONFIG_ARM_SMMU=y
+CONFIG_ARM_SMMU_V3=y
+CONFIG_MTK_IOMMU=y
+CONFIG_REMOTEPROC=y
+CONFIG_MTK_CMDQ=y
+CONFIG_MTK_PMIC_WRAP=y
+CONFIG_EXTCON_USB_GPIO=y
+CONFIG_EXTCON_USBC_CROS_EC=y
+CONFIG_IIO=y
+CONFIG_MAX9611=m
+CONFIG_IIO_CROS_EC_SENSORS_CORE=m
+CONFIG_IIO_CROS_EC_SENSORS=m
+CONFIG_IIO_CROS_EC_LIGHT_PROX=m
+CONFIG_SENSORS_ISL29018=m
+CONFIG_IIO_CROS_EC_BARO=m
+CONFIG_MPL3115=m
+CONFIG_PWM=y
+CONFIG_PWM_CROS_EC=m
+CONFIG_PWM_MTK_DISP=y
+CONFIG_PWM_MEDIATEK=y
+CONFIG_PHY_XGENE=y
+CONFIG_PHY_FSL_IMX8MQ_USB=y
+CONFIG_PHY_MTK_TPHY=y
+CONFIG_PHY_QCOM_USB_HS=y
+CONFIG_PHY_SAMSUNG_USB2=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_FANOTIFY=y
+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
+CONFIG_QUOTA=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_OVERLAY_FS=y
+CONFIG_OVERLAY_FS_INDEX=y
+CONFIG_OVERLAY_FS_XINO_AUTO=y
+CONFIG_OVERLAY_FS_METACOPY=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_HUGETLBFS=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_PSTORE=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_SECURITY=y
+CONFIG_CRYPTO_CRYPTD=y
+CONFIG_CRYPTO_DH=m
+CONFIG_CRYPTO_ECDH=m
+CONFIG_CRYPTO_SEQIV=y
+CONFIG_CRYPTO_ECHAINIV=y
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_XXHASH=m
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA3=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_CRYPTO_DEV_CCREE=m
+CONFIG_PACKING=y
+CONFIG_INDIRECT_PIO=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC_T10DIF=y
+CONFIG_LIBCRC32C=m
+CONFIG_DMA_CMA=y
+CONFIG_CMA_SIZE_MBYTES=32
+CONFIG_IRQ_POLL=y
+CONFIG_PRINTK_TIME=y
+CONFIG_DEBUG_INFO=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_DEBUG_PREEMPT is not set
+CONFIG_STACKTRACE=y
+# CONFIG_FTRACE is not set
+# CONFIG_STRICT_DEVMEM is not set \ No newline at end of file
diff --git a/board/chromebook/elm/patches/linux/0001-drm-bridge_connector-Set-default-status-connected-fo.patch b/board/chromebook/elm/patches/linux/0001-drm-bridge_connector-Set-default-status-connected-fo.patch
new file mode 100644
index 0000000000..f037391897
--- /dev/null
+++ b/board/chromebook/elm/patches/linux/0001-drm-bridge_connector-Set-default-status-connected-fo.patch
@@ -0,0 +1,35 @@
+From 510d0ad0ce1b51c072309ba12dfb024fc2c3dbac Mon Sep 17 00:00:00 2001
+From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
+Date: Wed, 26 Aug 2020 10:15:22 +0200
+Subject: [PATCH 1/5] drm/bridge_connector: Set default status connected for
+ eDP connectors
+
+In an eDP application, HPD is not required and on most bridge chips
+useless. If HPD is not used, we need to set initial status as connected,
+otherwise the connector created by the drm_bridge_connector API remains
+in an unknown state.
+
+Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+Acked-by: Sam Ravnborg <sam@ravnborg.org>
+Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
+Reviewed-by: Bilal Wasim <bwasim.lkml@gmail.com>
+Tested-by: Bilal Wasim <bwasim.lkml@gmail.com>
+---
+ drivers/gpu/drm/drm_bridge_connector.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/gpu/drm/drm_bridge_connector.c b/drivers/gpu/drm/drm_bridge_connector.c
+index c6994fe673f3..a58cbde59c34 100644
+--- a/drivers/gpu/drm/drm_bridge_connector.c
++++ b/drivers/gpu/drm/drm_bridge_connector.c
+@@ -187,6 +187,7 @@ drm_bridge_connector_detect(struct drm_connector *connector, bool force)
+ case DRM_MODE_CONNECTOR_DPI:
+ case DRM_MODE_CONNECTOR_LVDS:
+ case DRM_MODE_CONNECTOR_DSI:
++ case DRM_MODE_CONNECTOR_eDP:
+ status = connector_status_connected;
+ break;
+ default:
+--
+2.25.1
+
diff --git a/board/chromebook/elm/patches/linux/0002-drm-bridge-ps8640-Get-the-EDID-from-eDP-control.patch b/board/chromebook/elm/patches/linux/0002-drm-bridge-ps8640-Get-the-EDID-from-eDP-control.patch
new file mode 100644
index 0000000000..5f7517c7b9
--- /dev/null
+++ b/board/chromebook/elm/patches/linux/0002-drm-bridge-ps8640-Get-the-EDID-from-eDP-control.patch
@@ -0,0 +1,50 @@
+From cc0f2fea61fb34ca84e4812a615e0035d812aa8b Mon Sep 17 00:00:00 2001
+From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
+Date: Wed, 26 Aug 2020 10:15:23 +0200
+Subject: [PATCH 2/5] drm/bridge: ps8640: Get the EDID from eDP control
+
+The PS8640 DSI-to-eDP bridge can retrieve the EDID, so implement the
+.get_edid callback and set the flag to indicate the core to use it.
+
+Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+Acked-by: Sam Ravnborg <sam@ravnborg.org>
+Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
+---
+ drivers/gpu/drm/bridge/parade-ps8640.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
+index 4b099196afeb..13755d278db6 100644
+--- a/drivers/gpu/drm/bridge/parade-ps8640.c
++++ b/drivers/gpu/drm/bridge/parade-ps8640.c
+@@ -242,8 +242,18 @@ static int ps8640_bridge_attach(struct drm_bridge *bridge,
+ return ret;
+ }
+
++static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge,
++ struct drm_connector *connector)
++{
++ struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
++
++ return drm_get_edid(connector,
++ ps_bridge->page[PAGE0_DP_CNTL]->adapter);
++}
++
+ static const struct drm_bridge_funcs ps8640_bridge_funcs = {
+ .attach = ps8640_bridge_attach,
++ .get_edid = ps8640_bridge_get_edid,
+ .post_disable = ps8640_post_disable,
+ .pre_enable = ps8640_pre_enable,
+ };
+@@ -294,6 +304,8 @@ static int ps8640_probe(struct i2c_client *client)
+
+ ps_bridge->bridge.funcs = &ps8640_bridge_funcs;
+ ps_bridge->bridge.of_node = dev->of_node;
++ ps_bridge->bridge.ops = DRM_BRIDGE_OP_EDID;
++ ps_bridge->bridge.type = DRM_MODE_CONNECTOR_eDP;
+
+ ps_bridge->page[PAGE0_DP_CNTL] = client;
+
+--
+2.25.1
+
diff --git a/board/chromebook/elm/patches/linux/0003-drm-bridge-ps8640-Return-an-error-for-incorrect-atta.patch b/board/chromebook/elm/patches/linux/0003-drm-bridge-ps8640-Return-an-error-for-incorrect-atta.patch
new file mode 100644
index 0000000000..5f52c45424
--- /dev/null
+++ b/board/chromebook/elm/patches/linux/0003-drm-bridge-ps8640-Return-an-error-for-incorrect-atta.patch
@@ -0,0 +1,35 @@
+From 62afc499fc46c8018f40733c31a675b28f0717d8 Mon Sep 17 00:00:00 2001
+From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
+Date: Wed, 26 Aug 2020 10:15:24 +0200
+Subject: [PATCH 3/5] drm/bridge: ps8640: Return an error for incorrect attach
+ flags
+
+Bridge drivers that implement the new model only shall return an error
+from their attach() handler when the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag
+is not set. So make sure we return an error because only the new
+drm_bridge model is supported.
+
+Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
+Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
+---
+ drivers/gpu/drm/bridge/parade-ps8640.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
+index 13755d278db6..ce3e8b2da8c9 100644
+--- a/drivers/gpu/drm/bridge/parade-ps8640.c
++++ b/drivers/gpu/drm/bridge/parade-ps8640.c
+@@ -200,6 +200,10 @@ static int ps8640_bridge_attach(struct drm_bridge *bridge,
+ .channel = 0,
+ .node = NULL,
+ };
++
++ if (!(flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR))
++ return -EINVAL;
++
+ /* port@0 is ps8640 dsi input port */
+ in_ep = of_graph_get_endpoint_by_regs(dev->of_node, 0, -1);
+ if (!in_ep)
+--
+2.25.1
+
diff --git a/board/chromebook/elm/patches/linux/0004-drm-bridge-ps8640-Print-an-error-if-VDO-control-fail.patch b/board/chromebook/elm/patches/linux/0004-drm-bridge-ps8640-Print-an-error-if-VDO-control-fail.patch
new file mode 100644
index 0000000000..4ef074a6c8
--- /dev/null
+++ b/board/chromebook/elm/patches/linux/0004-drm-bridge-ps8640-Print-an-error-if-VDO-control-fail.patch
@@ -0,0 +1,58 @@
+From 4897262a71cbf55d726d9174f5f646897dc13704 Mon Sep 17 00:00:00 2001
+From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
+Date: Wed, 26 Aug 2020 10:15:25 +0200
+Subject: [PATCH 4/5] drm/bridge: ps8640: Print an error if VDO control fails
+
+Print an error message inside ps8640_bridge_vdo_control() function when
+it fails so we can simplify a bit the callers, they will only need to
+check the error code.
+
+Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
+Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
+---
+ drivers/gpu/drm/bridge/parade-ps8640.c | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
+index ce3e8b2da8c9..9f7b7a9c53c5 100644
+--- a/drivers/gpu/drm/bridge/parade-ps8640.c
++++ b/drivers/gpu/drm/bridge/parade-ps8640.c
+@@ -82,8 +82,11 @@ static int ps8640_bridge_vdo_control(struct ps8640 *ps_bridge,
+ ret = i2c_smbus_write_i2c_block_data(client, PAGE3_SET_ADD,
+ sizeof(vdo_ctrl_buf),
+ vdo_ctrl_buf);
+- if (ret < 0)
++ if (ret < 0) {
++ DRM_ERROR("failed to %sable VDO: %d\n",
++ ctrl == ENABLE ? "en" : "dis", ret);
+ return ret;
++ }
+
+ return 0;
+ }
+@@ -150,10 +153,8 @@ static void ps8640_pre_enable(struct drm_bridge *bridge)
+ }
+
+ ret = ps8640_bridge_vdo_control(ps_bridge, ENABLE);
+- if (ret) {
+- DRM_ERROR("failed to enable VDO: %d\n", ret);
++ if (ret)
+ goto err_regulators_disable;
+- }
+
+ /* Switch access edp panel's edid through i2c */
+ ret = i2c_smbus_write_byte_data(client, PAGE2_I2C_BYPASS,
+@@ -175,9 +176,7 @@ static void ps8640_post_disable(struct drm_bridge *bridge)
+ struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
+ int ret;
+
+- ret = ps8640_bridge_vdo_control(ps_bridge, DISABLE);
+- if (ret < 0)
+- DRM_ERROR("failed to disable VDO: %d\n", ret);
++ ps8640_bridge_vdo_control(ps_bridge, DISABLE);
+
+ gpiod_set_value(ps_bridge->gpio_reset, 1);
+ gpiod_set_value(ps_bridge->gpio_powerdown, 1);
+--
+2.25.1
+
diff --git a/board/chromebook/elm/patches/linux/0005-drm-bridge-ps8640-Rework-power-state-handling.patch b/board/chromebook/elm/patches/linux/0005-drm-bridge-ps8640-Rework-power-state-handling.patch
new file mode 100644
index 0000000000..f682600d11
--- /dev/null
+++ b/board/chromebook/elm/patches/linux/0005-drm-bridge-ps8640-Rework-power-state-handling.patch
@@ -0,0 +1,162 @@
+From 5bb60fe7c748a0aae2bdbab10e73b2dc48c09dda Mon Sep 17 00:00:00 2001
+From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
+Date: Wed, 26 Aug 2020 10:15:26 +0200
+Subject: [PATCH 5/5] drm/bridge: ps8640: Rework power state handling
+
+The get_edid() callback can be triggered anytime by an ioctl, i.e
+
+ drm_mode_getconnector (ioctl)
+ -> drm_helper_probe_single_connector_modes
+ -> drm_bridge_connector_get_modes
+ -> ps8640_bridge_get_edid
+
+Actually if the bridge pre_enable() function was not called before
+get_edid(), the driver will not be able to get the EDID properly and
+display will not work until a second get_edid() call is issued and if
+pre_enable() is called before. The side effect of this, for example, is
+that you see anything when `Frecon` starts, neither the splash screen,
+until the graphical session manager starts.
+
+To fix this we need to make sure that all we need is enabled before
+reading the EDID. This means the following:
+
+1. If get_edid() is called before having the device powered we need to
+ power on the device. In such case, the driver will power off again the
+ device.
+
+2. If get_edid() is called after having the device powered, all should
+ just work. We added a powered flag in order to avoid recurrent calls
+ to ps8640_bridge_poweron() and unneeded delays.
+
+3. This seems to be specific for this device, but we need to make sure
+ the panel is powered on before do a power on cycle on this device.
+ Otherwise the device fails to retrieve the EDID.
+
+Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
+---
+ drivers/gpu/drm/bridge/parade-ps8640.c | 64 +++++++++++++++++++++++---
+ 1 file changed, 58 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
+index 9f7b7a9c53c5..c5d76e209bda 100644
+--- a/drivers/gpu/drm/bridge/parade-ps8640.c
++++ b/drivers/gpu/drm/bridge/parade-ps8640.c
+@@ -65,6 +65,7 @@ struct ps8640 {
+ struct regulator_bulk_data supplies[2];
+ struct gpio_desc *gpio_reset;
+ struct gpio_desc *gpio_powerdown;
++ bool powered;
+ };
+
+ static inline struct ps8640 *bridge_to_ps8640(struct drm_bridge *e)
+@@ -91,13 +92,15 @@ static int ps8640_bridge_vdo_control(struct ps8640 *ps_bridge,
+ return 0;
+ }
+
+-static void ps8640_pre_enable(struct drm_bridge *bridge)
++static void ps8640_bridge_poweron(struct ps8640 *ps_bridge)
+ {
+- struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
+ struct i2c_client *client = ps_bridge->page[PAGE2_TOP_CNTL];
+ unsigned long timeout;
+ int ret, status;
+
++ if (ps_bridge->powered)
++ return;
++
+ ret = regulator_bulk_enable(ARRAY_SIZE(ps_bridge->supplies),
+ ps_bridge->supplies);
+ if (ret < 0) {
+@@ -164,6 +167,8 @@ static void ps8640_pre_enable(struct drm_bridge *bridge)
+ goto err_regulators_disable;
+ }
+
++ ps_bridge->powered = true;
++
+ return;
+
+ err_regulators_disable:
+@@ -171,12 +176,12 @@ static void ps8640_pre_enable(struct drm_bridge *bridge)
+ ps_bridge->supplies);
+ }
+
+-static void ps8640_post_disable(struct drm_bridge *bridge)
++static void ps8640_bridge_poweroff(struct ps8640 *ps_bridge)
+ {
+- struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
+ int ret;
+
+- ps8640_bridge_vdo_control(ps_bridge, DISABLE);
++ if (!ps_bridge->powered)
++ return;
+
+ gpiod_set_value(ps_bridge->gpio_reset, 1);
+ gpiod_set_value(ps_bridge->gpio_powerdown, 1);
+@@ -184,6 +189,28 @@ static void ps8640_post_disable(struct drm_bridge *bridge)
+ ps_bridge->supplies);
+ if (ret < 0)
+ DRM_ERROR("cannot disable regulators %d\n", ret);
++
++ ps_bridge->powered = false;
++}
++
++static void ps8640_pre_enable(struct drm_bridge *bridge)
++{
++ struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
++ int ret;
++
++ ps8640_bridge_poweron(ps_bridge);
++
++ ret = ps8640_bridge_vdo_control(ps_bridge, DISABLE);
++ if (ret < 0)
++ ps8640_bridge_poweroff(ps_bridge);
++}
++
++static void ps8640_post_disable(struct drm_bridge *bridge)
++{
++ struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
++
++ ps8640_bridge_vdo_control(ps_bridge, DISABLE);
++ ps8640_bridge_poweroff(ps_bridge);
+ }
+
+ static int ps8640_bridge_attach(struct drm_bridge *bridge,
+@@ -249,9 +276,34 @@ static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge,
+ struct drm_connector *connector)
+ {
+ struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
++ bool poweroff = !ps_bridge->powered;
++ struct edid *edid;
++
++ /*
++ * When we end calling get_edid() triggered by an ioctl, i.e
++ *
++ * drm_mode_getconnector (ioctl)
++ * -> drm_helper_probe_single_connector_modes
++ * -> drm_bridge_connector_get_modes
++ * -> ps8640_bridge_get_edid
++ *
++ * We need to make sure that what we need is enabled before reading
++ * EDID, for this chip, we need to do a full poweron, otherwise it will
++ * fail.
++ */
++ drm_bridge_chain_pre_enable(bridge);
+
+- return drm_get_edid(connector,
++ edid = drm_get_edid(connector,
+ ps_bridge->page[PAGE0_DP_CNTL]->adapter);
++
++ /*
++ * If we call the get_edid() function without having enabled the chip
++ * before, return the chip to its original power state.
++ */
++ if (poweroff)
++ drm_bridge_chain_post_disable(bridge);
++
++ return edid;
+ }
+
+ static const struct drm_bridge_funcs ps8640_bridge_funcs = {
+--
+2.25.1
+
diff --git a/board/chromebook/elm/patches/linux/0006-Revert-drm-mediatek-dsi-Fix-scrolling-of-panel-with-.patch b/board/chromebook/elm/patches/linux/0006-Revert-drm-mediatek-dsi-Fix-scrolling-of-panel-with-.patch
new file mode 100644
index 0000000000..43bffe5261
--- /dev/null
+++ b/board/chromebook/elm/patches/linux/0006-Revert-drm-mediatek-dsi-Fix-scrolling-of-panel-with-.patch
@@ -0,0 +1,41 @@
+From 51109530891c981b681816152bd205724deabcca Mon Sep 17 00:00:00 2001
+From: Jitao Shi <jitao.shi@mediatek.com>
+Date: Sat, 10 Oct 2020 15:09:09 +0800
+Subject: [PATCH] Revert "drm/mediatek: dsi: Fix scrolling of panel with small
+ hfp or hbp"
+
+This reverts commit 35bf948f1edbf507f6e57e0879fa6ea36d2d2930.
+
+Signed-off-by: Jitao Shi <jitao.shi@mediatek.com>
+Reviewed-by: Bilal Wasim <bilal.wasim@imgtec.com>
+Tested-by: Bilal Wasim <bilal.wasim@imgtec.com>
+---
+ drivers/gpu/drm/mediatek/mtk_dsi.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
+index 80b7a082e874..16fd99dcdacf 100644
+--- a/drivers/gpu/drm/mediatek/mtk_dsi.c
++++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
+@@ -466,13 +466,14 @@ static void mtk_dsi_config_vdo_timing(struct mtk_dsi *dsi)
+ horizontal_sync_active_byte = (vm->hsync_len * dsi_tmp_buf_bpp - 10);
+
+ if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE)
+- horizontal_backporch_byte = vm->hback_porch * dsi_tmp_buf_bpp;
++ horizontal_backporch_byte =
++ (vm->hback_porch * dsi_tmp_buf_bpp - 10);
+ else
+- horizontal_backporch_byte = (vm->hback_porch + vm->hsync_len) *
+- dsi_tmp_buf_bpp;
++ horizontal_backporch_byte = ((vm->hback_porch + vm->hsync_len) *
++ dsi_tmp_buf_bpp - 10);
+
+ data_phy_cycles = timing->lpx + timing->da_hs_prepare +
+- timing->da_hs_zero + timing->da_hs_exit;
++ timing->da_hs_zero + timing->da_hs_exit + 3;
+
+ if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_BURST) {
+ if ((vm->hfront_porch + vm->hback_porch) * dsi_tmp_buf_bpp >
+--
+2.25.1
+
diff --git a/board/chromebook/elm/readme.txt b/board/chromebook/elm/readme.txt
new file mode 100644
index 0000000000..b63e7e8bcf
--- /dev/null
+++ b/board/chromebook/elm/readme.txt
@@ -0,0 +1,56 @@
+Mediatek MT8173 aka Chromebook Elm
+==================================
+
+This file describes booting the Chromebook from an SD card containing
+Buildroot kernel and rootfs, using the original bootloader. This is
+the least invasive way to get Buildroot onto the devices and a good
+starting point.
+
+The bootloader will only boot a kernel from a GPT partition marked
+bootable with cgpt tool from vboot-utils package.
+The kernel image must be signed using futility from the same package.
+The signing part is done by sign.sh script in this directory.
+
+It does not really matter where rootfs is as long as the kernel is able
+to find it, but this particular configuration assumes the kernel is on
+partition 1 and rootfs is on partition 2 of the SD card.
+Make sure to check kernel.args if you change this.
+
+Making the boot media
+---------------------
+Start by configuring and building the images.
+
+ make chromebook_elm_defconfig
+ make menuconfig # if necessary
+ make
+
+The important files are:
+
+ uImage.kpart (kernel and device tree, signed)
+ rootfs.tar
+ bootsd.img (SD card image containing both kernel and rootfs)
+
+Write the image directly to some SD card.
+WARNING: make sure there is nothing important on that card,
+and double-check the device name!
+
+ SD=/dev/mmcblk1 # may be /dev/sdX on some hosts
+ dd if=output/images/bootsd.img of=$SD
+
+Switching to developer mode and booting from SD
+-----------------------------------------------
+Power Chromebook down, then power it up while holding Esc+F3.
+BEWARE: switching to developer mode deletes all user data.
+Create backups if you need them.
+
+While in developer mode, Chromebook will boot into a white screen saying
+"OS verification is off".
+
+Press Ctrl-D at this screen to boot Chromium OS from eMMC.
+Press Ctrl-U at this screen to boot from SD (or USB)
+Press Power to power it off.
+Do NOT press Space unless you mean it.
+This will switch it back to normal mode.
+
+The is no way to get rid of the white screen without re-flashing the bootloader.
+
diff --git a/board/chromebook/elm/sign.sh b/board/chromebook/elm/sign.sh
new file mode 100755
index 0000000000..af1f9d21c8
--- /dev/null
+++ b/board/chromebook/elm/sign.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+# This script creates u-boot FIT image containing the kernel and the DT,
+# then signs it using futility from vboot-utils.
+# The resulting file is called uImage.kpart.
+
+BOARD_DIR=$(dirname $0)/${BOARD_NAME}
+mkimage=$HOST_DIR/bin/mkimage
+futility=$HOST_DIR/bin/futility
+devkeys=$HOST_DIR/share/vboot/devkeys
+
+run() { echo "$@"; "$@"; }
+die() { echo "$@" >&2; exit 1; }
+test -f $BINARIES_DIR/Image || \
+ die "No kernel image found"
+test -x $mkimage || \
+ die "No mkimage found (host-uboot-tools has not been built?)"
+test -x $futility || \
+ die "No futility found (host-vboot-utils has not been built?)"
+
+# kernel.its references Image and mt8173-elm.dtb, and all three
+# files must be in current directory for mkimage.
+run cp $BOARD_DIR/kernel.its $BINARIES_DIR/kernel.its || exit 1
+echo "# entering $BINARIES_DIR for the next command"
+(cd $BINARIES_DIR && run $mkimage -f kernel.its uImage.itb) || exit 1
+
+# futility requires non-empty file to be supplied with --bootloader
+# even if it does not make sense for the target platform.
+echo > $BINARIES_DIR/dummy.txt
+
+run $futility vbutil_kernel \
+ --keyblock $devkeys/kernel.keyblock \
+ --signprivate $devkeys/kernel_data_key.vbprivk \
+ --arch aarch64 \
+ --version 1 \
+ --config $BOARD_DIR/kernel.args \
+ --vmlinuz $BINARIES_DIR/uImage.itb \
+ --bootloader $BINARIES_DIR/dummy.txt \
+ --pack $BINARIES_DIR/uImage.kpart || exit 1
+
+rm -f $BINARIES_DIR/kernel.its $BINARIES_DIR/dummy.txt
diff --git a/board/chromebook/snow/mksd.sh b/board/chromebook/mksd.sh
index cba1578ec8..cba1578ec8 100755
--- a/board/chromebook/snow/mksd.sh
+++ b/board/chromebook/mksd.sh
diff --git a/board/freescale/imx8mqevk/readme.txt b/board/freescale/imx8mqevk/readme.txt
index e60eba4cb6..61fb2bc80b 100644
--- a/board/freescale/imx8mqevk/readme.txt
+++ b/board/freescale/imx8mqevk/readme.txt
@@ -10,8 +10,14 @@ Build
First, configure Buildroot for the i.MX8MQ EVK board:
+If you want to use the NXP kernel:
+
make freescale_imx8mqevk_defconfig
+Or if you want to use a mainline kernel:
+
+ make imx8mqevk_defconfig
+
Build all components:
make
diff --git a/board/friendlyarm/nanopc-t4/readme.txt b/board/friendlyarm/nanopc-t4/readme.txt
index 6259c9e756..0989c6cc1e 100644
--- a/board/friendlyarm/nanopc-t4/readme.txt
+++ b/board/friendlyarm/nanopc-t4/readme.txt
@@ -3,7 +3,7 @@ FriendlyARM NANOPC-T4
Build:
- $ make nanopc_t4_defconfig
+ $ make friendlyarm_nanopc_t4_defconfig
$ make
Files created in output directory
diff --git a/board/friendlyarm/nanopi-m1-plus/readme.txt b/board/friendlyarm/nanopi-m1-plus/readme.txt
index 3e16c8afad..0327dec80e 100644
--- a/board/friendlyarm/nanopi-m1-plus/readme.txt
+++ b/board/friendlyarm/nanopi-m1-plus/readme.txt
@@ -12,7 +12,7 @@ How to build it
Configure Buildroot:
- $ make nanopi_m1_plus_defconfig
+ $ make friendlyarm_nanopi_m1_plus_defconfig
Compile everything and build the SD card image:
diff --git a/board/friendlyarm/nanopi-m1/readme.txt b/board/friendlyarm/nanopi-m1/readme.txt
index 8b10e4b7ce..6a34c4239d 100644
--- a/board/friendlyarm/nanopi-m1/readme.txt
+++ b/board/friendlyarm/nanopi-m1/readme.txt
@@ -12,7 +12,7 @@ How to build it
Configure Buildroot:
- $ make nanopi_m1_defconfig
+ $ make friendlyarm_nanopi_m1_defconfig
Compile everything and build the SD card image:
diff --git a/board/friendlyarm/nanopi-m4/readme.txt b/board/friendlyarm/nanopi-m4/readme.txt
index 4a606cf97a..0553bf8377 100644
--- a/board/friendlyarm/nanopi-m4/readme.txt
+++ b/board/friendlyarm/nanopi-m4/readme.txt
@@ -3,7 +3,7 @@ FriendlyARM NANOPI-M4
Build:
- $ make nanopi_m4_defconfig
+ $ make friendlyarm_nanopi_m4_defconfig
$ make
Files created in output directory
diff --git a/board/friendlyarm/nanopi-neo/readme.txt b/board/friendlyarm/nanopi-neo/readme.txt
index 539df541d8..84fb9cc484 100644
--- a/board/friendlyarm/nanopi-neo/readme.txt
+++ b/board/friendlyarm/nanopi-neo/readme.txt
@@ -24,7 +24,7 @@ yet upstream, but are being actively worked on.
How to build
============
- $ make nanopi_neo_defconfig
+ $ make friendlyarm_nanopi_neo_defconfig
$ make
Note: you will need access to the internet to download the required
diff --git a/board/friendlyarm/nanopi-neo4/readme.txt b/board/friendlyarm/nanopi-neo4/readme.txt
index 07e3491459..7c04a52806 100644
--- a/board/friendlyarm/nanopi-neo4/readme.txt
+++ b/board/friendlyarm/nanopi-neo4/readme.txt
@@ -12,7 +12,7 @@ Build
Run NanoPi Neo4 configuration
- $ make nanopi_neo4_defconfig
+ $ make friendlyarm_nanopi_neo4_defconfig
To build, run make comamnd.
diff --git a/board/friendlyarm/nanopi-r1/readme.txt b/board/friendlyarm/nanopi-r1/readme.txt
index 0ff63df3c7..fa3114fc83 100644
--- a/board/friendlyarm/nanopi-r1/readme.txt
+++ b/board/friendlyarm/nanopi-r1/readme.txt
@@ -12,7 +12,7 @@ How to build it
Configure Buildroot:
- $ make nanopi_r1_defconfig
+ $ make friendlyarm_nanopi_r1_defconfig
Compile everything and build the SD card image:
diff --git a/board/hardkernel/odroidc2/genimage.cfg b/board/hardkernel/odroidc2/genimage.cfg
index c9306b0639..f49c1deaf3 100644
--- a/board/hardkernel/odroidc2/genimage.cfg
+++ b/board/hardkernel/odroidc2/genimage.cfg
@@ -34,6 +34,5 @@ image sdcard.img {
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
- size = 512M
}
}
diff --git a/board/kontron/smarc-sal28/genimage.cfg b/board/kontron/smarc-sal28/genimage.cfg
index 9ef37de757..f3fb77e00a 100644
--- a/board/kontron/smarc-sal28/genimage.cfg
+++ b/board/kontron/smarc-sal28/genimage.cfg
@@ -3,6 +3,18 @@ image sdcard-emmc.img {
gpt = true
}
+ partition rcw {
+ offset = 4k
+ in-partition-table = "no"
+ image = "rcw.bin"
+ }
+
+ partition u-boot {
+ offset = 1M
+ in-partition-table = "no"
+ image = "u-boot.rom"
+ }
+
partition rootfs {
offset = 2M
image = rootfs.ext4
diff --git a/board/kontron/smarc-sal28/linux.fragment b/board/kontron/smarc-sal28/linux.fragment
deleted file mode 100644
index 00bbcc0923..0000000000
--- a/board/kontron/smarc-sal28/linux.fragment
+++ /dev/null
@@ -1,18 +0,0 @@
-CONFIG_NET_DSA=m
-CONFIG_NET_DSA_TAG_OCELOT=m
-CONFIG_NET_DSA_MSCC_FELIX=m
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_CBS=m
-CONFIG_NET_SCH_ETF=m
-CONFIG_NET_SCH_TAPRIO=m
-CONFIG_CAN_FLEXCAN=m
-CONFIG_FSL_ENETC=y
-CONFIG_FSL_ENETC_VF=m
-CONFIG_FSL_ENETC_QOS=y
-CONFIG_MSCC_OCELOT_SWITCH=m
-CONFIG_PCIE_DW_PLAT_HOST=y
-CONFIG_GPIO_MPC8XXX=y
-CONFIG_SND_SOC_FSL_SAI=m
-CONFIG_SND_SOC_WM8904=m
-CONFIG_RTC_DRV_RV8803=y
-CONFIG_COMMON_CLK_FSL_SAI=y
diff --git a/board/kontron/smarc-sal28/readme.txt b/board/kontron/smarc-sal28/readme.txt
index 231c751b66..bdf2258b59 100644
--- a/board/kontron/smarc-sal28/readme.txt
+++ b/board/kontron/smarc-sal28/readme.txt
@@ -72,9 +72,17 @@ You will see something like this at boot time:
[ 4.569596] GPT:266272 != 7864319
[ 4.572925] GPT: Use GNU Parted to correct GPT errors.
-What does not work
-==================
+Updating the bootloader
+=======================
-For reasons unknown, the network card doesn't work if you use the original
-vendor bootloader. Board support patches for upstream u-boot are currently
-pending. Stay tuned.
+Buildroot will automatically build the u-boot bootloader. The resulting
+image is called u-boot.rom and you can find it in the images/ directory.
+
+To update the bootloader on the board you could either copy it to an
+USB thumb drive or you could put it on a TFTP server. The following
+example assumes you have the bootloader image copied to the root of
+a thumb drive:
+
+ # usb start
+ # load usb 0:1 $loadaddr u-boot.rom
+ # sf probe 0 && sf update $fileaddr 0x210000 $filesize
diff --git a/board/microchip/sam9x60ek_mmc/genimage.cfg b/board/microchip/sam9x60ek_mmc/genimage.cfg
new file mode 100644
index 0000000000..c41581091e
--- /dev/null
+++ b/board/microchip/sam9x60ek_mmc/genimage.cfg
@@ -0,0 +1,31 @@
+# Image for SD card boot on Microchip SAM9X60-EK
+#
+image boot.vfat {
+ vfat {
+ files = {
+ "zImage",
+ "at91-sam9x60ek.dtb",
+ "boot.bin",
+ "u-boot.bin"
+ }
+ }
+ size = 16M
+}
+
+image sdcard.img {
+ hdimage {
+ }
+
+ partition boot {
+ partition-type = 0xC
+ bootable = "true"
+ image = "boot.vfat"
+ offset = 1M
+ }
+
+ partition rootfs {
+ partition-type = 0x83
+ image = "rootfs.ext4"
+ size = 512M
+ }
+}
diff --git a/board/minnowboard/genimage.cfg b/board/minnowboard/genimage.cfg
index 6cf7874307..c5b07179b4 100644
--- a/board/minnowboard/genimage.cfg
+++ b/board/minnowboard/genimage.cfg
@@ -19,15 +19,16 @@ image efi-part.vfat {
# * the efi-partition created above
image sdcard.img {
hdimage {
+ gpt = true
}
partition boot {
- partition-type = 0xEF
+ partition-type-uuid = U
image = "efi-part.vfat"
}
partition rootfs {
- partition-type = 0x83
+ partition-type-uuid = L
image = "rootfs.ext4"
size = 512M
}
diff --git a/board/minnowboard/grub.cfg b/board/minnowboard/grub.cfg
index 3d6feb7023..1f75f4d7ca 100644
--- a/board/minnowboard/grub.cfg
+++ b/board/minnowboard/grub.cfg
@@ -2,5 +2,5 @@ set default="0"
set timeout="5"
menuentry "Buildroot" {
- linux /bzImage root=/dev/mmcblk2p2 rootwait console=tty0 console=ttyS0,115200
+ linux /bzImage root=PARTLABEL=rootfs rootwait console=tty0 console=ttyS0,115200 net.ifnames=0
}
diff --git a/board/minnowboard/linux.config b/board/minnowboard/linux.config
index 27077dbcda..928e353c1c 100644
--- a/board/minnowboard/linux.config
+++ b/board/minnowboard/linux.config
@@ -14,6 +14,7 @@ CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
+CONFIG_PCI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_SG=y
CONFIG_ATA=y
diff --git a/board/nexbox/a95x/boot.txt b/board/nexbox/a95x/boot.txt
index f388ba814a..eef1c8ca55 100644
--- a/board/nexbox/a95x/boot.txt
+++ b/board/nexbox/a95x/boot.txt
@@ -1,4 +1,4 @@
-setenv bootargs console=ttyAML0,115200 earlyprintk root=/dev/mmcblk1p2 rootwait
+setenv bootargs console=ttyAML0,115200 earlyprintk root=PARTUUID=feedc0de-02 rootwait
fatload mmc 0:1 0x01080000 uImage
diff --git a/board/nexbox/a95x/genimage.cfg b/board/nexbox/a95x/genimage.cfg
index 74e2d3a6f9..63b96107c9 100644
--- a/board/nexbox/a95x/genimage.cfg
+++ b/board/nexbox/a95x/genimage.cfg
@@ -12,6 +12,8 @@ image boot.vfat {
image sdcard.img {
hdimage {
+ # for root=PARTUUID support
+ disk-signature = 0xfeedc0de
}
partition boot {
diff --git a/board/orangepi/orangepi-pc/linux.fragment b/board/orangepi/orangepi-pc/linux.fragment
index 602e42776c..b1dda162bb 100644
--- a/board/orangepi/orangepi-pc/linux.fragment
+++ b/board/orangepi/orangepi-pc/linux.fragment
@@ -1,4 +1,3 @@
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
CONFIG_REGULATOR_SY8106A=y
-CONFIG_DRM_SUN8I_DW_HDMI=y
CONFIG_SUN8I_DE2_CCU=y
diff --git a/board/orangepi/orangepi-r1/boot.cmd b/board/orangepi/orangepi-r1/boot.cmd
index e927b01e82..50745f7e5e 100644
--- a/board/orangepi/orangepi-r1/boot.cmd
+++ b/board/orangepi/orangepi-r1/boot.cmd
@@ -1,6 +1,6 @@
setenv fdt_high ffffffff
-setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
+setenv bootargs console=ttyS0,115200 earlyprintk root=PARTLABEL=rootfs rootwait
fatload mmc 0 $kernel_addr_r zImage
fatload mmc 0 $fdt_addr_r sun8i-h2-plus-orangepi-r1.dtb
diff --git a/board/orangepi/orangepi-r1/genimage.cfg b/board/orangepi/orangepi-r1/genimage.cfg
index 01e2c0adc4..edda03b3ef 100644
--- a/board/orangepi/orangepi-r1/genimage.cfg
+++ b/board/orangepi/orangepi-r1/genimage.cfg
@@ -13,13 +13,17 @@ image boot.vfat {
image sdcard.img {
hdimage {
+ # for root=PARTLABEL support
+ gpt = true
+ # default GPT location conflicts with spl, move it after
+ gpt-location = 1M
}
partition u-boot {
in-partition-table = "no"
image = "u-boot-sunxi-with-spl.bin"
offset = 8192
- size = 1040384 # 1MB - 8192
+ size = 1056768 # 1MB - 8192 + 16384 (GPT)
}
partition boot {
@@ -28,6 +32,8 @@ image sdcard.img {
image = "boot.vfat"
}
+ # 'rootfs' will be used as the partition label, used
+ # with root=PARTLABEL=rootfs kernel command line
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
diff --git a/board/orangepi/orangepi-zero-plus/boot.cmd b/board/orangepi/orangepi-zero-plus/boot.cmd
new file mode 100644
index 0000000000..18c4d521af
--- /dev/null
+++ b/board/orangepi/orangepi-zero-plus/boot.cmd
@@ -0,0 +1,6 @@
+setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
+
+fatload mmc 0 $kernel_addr_r Image
+fatload mmc 0 $fdt_addr_r sun50i-h5-orangepi-zero-plus.dtb
+
+booti $kernel_addr_r - $fdt_addr_r
diff --git a/board/orangepi/orangepi-zero-plus/genimage.cfg b/board/orangepi/orangepi-zero-plus/genimage.cfg
new file mode 100644
index 0000000000..ec15898ddd
--- /dev/null
+++ b/board/orangepi/orangepi-zero-plus/genimage.cfg
@@ -0,0 +1,39 @@
+image boot.vfat {
+ vfat {
+ files = {
+ "Image",
+ "sun50i-h5-orangepi-zero-plus.dtb",
+ "boot.scr"
+ }
+ }
+ size = 64M
+}
+
+image sdcard.img {
+ hdimage {
+ }
+
+ partition spl {
+ in-partition-table = "no"
+ image = "sunxi-spl.bin"
+ offset = 8192
+ }
+
+ partition u-boot {
+ in-partition-table = "no"
+ image = "u-boot.itb"
+ offset = 40K
+ size = 1M # 1MB - 40K
+ }
+
+ partition boot {
+ partition-type = 0xC
+ bootable = "true"
+ image = "boot.vfat"
+ }
+
+ partition rootfs {
+ partition-type = 0x83
+ image = "rootfs.ext4"
+ }
+}
diff --git a/board/orangepi/orangepi-zero-plus/readme.txt b/board/orangepi/orangepi-zero-plus/readme.txt
new file mode 100644
index 0000000000..5556eae890
--- /dev/null
+++ b/board/orangepi/orangepi-zero-plus/readme.txt
@@ -0,0 +1,34 @@
+Intro
+=====
+
+This default configuration will allow you to start experimenting with the
+buildroot environment for the Orangepi Zero Plus. With the current configuration
+it will bring-up the board, and allow access through the serial console.
+
+Orangepi Zero Plus link:
+http://www.orangepi.org/OrangePiZeroPlus/
+
+This configuration uses U-Boot mainline and kernel mainline.
+
+How to build
+============
+
+ $ make orangepi_zero_plus_defconfig
+ $ make
+
+Note: you will need access to the internet to download the required
+sources.
+
+How to write the SD card
+========================
+
+Once the build process is finished you will have an image called "sdcard.img"
+in the output/images/ directory.
+
+Copy the bootable "sdcard.img" onto an SD card with "dd":
+
+ $ sudo dd if=output/images/sdcard.img of=/dev/sdX
+ $ sudo sync
+
+Insert the micro SDcard in your Orangepi Zero Plus and power it up. The console
+is on the serial line, 115200 8N1.
diff --git a/board/orangepi/orangepi-zero-plus2/boot.cmd b/board/orangepi/orangepi-zero-plus2/boot.cmd
index 4772a9be31..aa5162004b 100644
--- a/board/orangepi/orangepi-zero-plus2/boot.cmd
+++ b/board/orangepi/orangepi-zero-plus2/boot.cmd
@@ -1,4 +1,4 @@
-setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
+setenv bootargs console=ttyS0,115200 earlyprintk root=PARTLABEL=rootfs rootwait
fatload mmc 0 $kernel_addr_r Image
fatload mmc 0 $fdt_addr_r sun50i-h5-orangepi-zero-plus2.dtb
diff --git a/board/orangepi/orangepi-zero-plus2/genimage.cfg b/board/orangepi/orangepi-zero-plus2/genimage.cfg
index 8091edad6f..98ebf5b475 100644
--- a/board/orangepi/orangepi-zero-plus2/genimage.cfg
+++ b/board/orangepi/orangepi-zero-plus2/genimage.cfg
@@ -11,6 +11,10 @@ image boot.vfat {
image sdcard.img {
hdimage {
+ # for root=PARTLABEL support
+ gpt = true
+ # default GPT location conflicts with bootloaders, move it after
+ gpt-location = 1M
}
partition spl {
@@ -23,7 +27,7 @@ image sdcard.img {
in-partition-table = "no"
image = "u-boot.itb"
offset = 40K
- size = 1M # 1MB - 40K
+ size = 1024000 # 1MB - 40K + 16K(GPT)
}
partition boot {
@@ -32,8 +36,11 @@ image sdcard.img {
image = "boot.vfat"
}
+ # 'rootfs' will be used as the partition label, used
+ # with root=PARTLABEL=rootfs kernel command line
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
+ size = 256M
}
}
diff --git a/board/pc/genimage-efi.cfg b/board/pc/genimage-efi.cfg
index ea15ae5cfb..ec7e85b06c 100644
--- a/board/pc/genimage-efi.cfg
+++ b/board/pc/genimage-efi.cfg
@@ -10,7 +10,8 @@ image efi-part.vfat {
image = "bzImage"
}
}
- size = 16777216
+ # 16MB - 32KB
+ size = 16744448
}
image disk.img {
@@ -22,7 +23,6 @@ image disk.img {
image = "efi-part.vfat"
partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b
offset = 32768
- size = 16777216
bootable = true
}
@@ -30,6 +30,5 @@ image disk.img {
partition-type-uuid = 44479540-f297-41b2-9af7-d131d5f0458a
partition-uuid = UUID_TMP
image = "rootfs.ext2"
- offset = 16809984
}
}
diff --git a/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch b/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch
index a2c0962f85..956ae5f5f5 100644
--- a/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch
+++ b/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch
@@ -1,4 +1,4 @@
-From 4ac4324dcdaf237aa34545b3795acb2e5c42d10e Mon Sep 17 00:00:00 2001
+From 525dd2f3cf4a94837ce6b71d793acb90c25a5654 Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbx@openadk.org>
Date: Fri, 1 Feb 2019 11:36:20 +0100
Subject: [PATCH] arm-versatile-nommu: Linux patch
@@ -21,10 +21,10 @@ Signed-off-by: Romain Naour <romain.naour@smile.fr>
create mode 100644 arch/arm/mach-versatile/Makefile.boot
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index e8cd55a5b04c..fc2dbff70394 100644
+index 002e0cf025f5..c71299b6f91f 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -353,6 +353,17 @@ config ARM_SINGLE_ARMV7M
+@@ -343,6 +343,17 @@ config ARM_SINGLE_ARMV7M
select SPARSE_IRQ
select USE_OF
@@ -43,10 +43,10 @@ index e8cd55a5b04c..fc2dbff70394 100644
bool "EBSA-110"
select ARCH_USES_GETTIMEOFFSET
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
-index f6fcb8a79889..92fc637d3db8 100644
+index 8986a91a6f31..69cb6404e8ce 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
-@@ -1843,7 +1843,8 @@ config DEBUG_UNCOMPRESS
+@@ -1943,7 +1943,8 @@ config DEBUG_UNCOMPRESS
config UNCOMPRESS_INCLUDE
string
default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
@@ -57,10 +57,10 @@ index f6fcb8a79889..92fc637d3db8 100644
config EARLY_PRINTK
diff --git a/arch/arm/include/asm/mach/map.h b/arch/arm/include/asm/mach/map.h
-index 9b7c328fb207..b1fe9c8b5c3e 100644
+index 92282558caf7..90bd9c069ffc 100644
--- a/arch/arm/include/asm/mach/map.h
+++ b/arch/arm/include/asm/mach/map.h
-@@ -62,6 +62,7 @@ extern int ioremap_page(unsigned long virt, unsigned long phys,
+@@ -59,6 +59,7 @@ extern int ioremap_page(unsigned long virt, unsigned long phys,
#else
#define iotable_init(map,num) do { } while (0)
#define vm_reserve_area_early(a,s,c) do { } while (0)
@@ -69,7 +69,7 @@ index 9b7c328fb207..b1fe9c8b5c3e 100644
#endif
diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig
-index f5c275434d6c..06ad999d5978 100644
+index d88e7725bf99..d38b90157f13 100644
--- a/arch/arm/mach-versatile/Kconfig
+++ b/arch/arm/mach-versatile/Kconfig
@@ -1,7 +1,8 @@
@@ -93,10 +93,10 @@ index 000000000000..eacfc3f5c33e
+# Patch waits for application at
+# http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7889/1 .
diff --git a/arch/arm/mach-versatile/versatile_dt.c b/arch/arm/mach-versatile/versatile_dt.c
-index 3c8d39c12909..8cfa05a37295 100644
+index 02ba68abe533..835b51bc597b 100644
--- a/arch/arm/mach-versatile/versatile_dt.c
+++ b/arch/arm/mach-versatile/versatile_dt.c
-@@ -37,7 +37,11 @@
+@@ -22,7 +22,11 @@
#include <asm/mach/map.h>
/* macro to get at MMIO space when running virtually */
@@ -109,5 +109,5 @@ index 3c8d39c12909..8cfa05a37295 100644
/*
--
-2.14.5
+2.17.1
diff --git a/board/qemu/arm-vexpress-tz/readme.txt b/board/qemu/arm-vexpress-tz/readme.txt
index b235ba5cd7..abce750291 100644
--- a/board/qemu/arm-vexpress-tz/readme.txt
+++ b/board/qemu/arm-vexpress-tz/readme.txt
@@ -18,7 +18,7 @@ secure and non-secure worlds.
-serial stdio \
-netdev user,id=vmnic -device virtio-net-device,netdev=vmnic \
-semihosting-config enable,target=native \
- -bios bl1.bin
+ -bios bl1.bin # qemu_arm_vexpress_tz_defconfig
The boot stage traces (if any) followed by the login prompt will appear
in the terminal that started QEMU.
diff --git a/board/qemu/mips32r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch b/board/qemu/mips32r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch
index 801efb5d08..01d78f6ffe 100644
--- a/board/qemu/mips32r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch
+++ b/board/qemu/mips32r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch
@@ -1,4 +1,4 @@
-From bb04c220d82598066eeadf49defaec1157d4d206 Mon Sep 17 00:00:00 2001
+From b9af6f34e43bf5264d75933f2080f16b8741048d Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Sat, 25 Jul 2020 11:46:01 +0200
Subject: [PATCH] mips: Do not include hi and lo in clobber list for R6
@@ -31,10 +31,10 @@ Signed-off-by: Romain Naour <romain.naour@gmail.com>
1 file changed, 45 insertions(+)
diff --git a/arch/mips/include/asm/vdso/gettimeofday.h b/arch/mips/include/asm/vdso/gettimeofday.h
-index 0ae9b4cbc153..ea600e0ebfe7 100644
+index 2203e2d0ae2a..e28096faecf6 100644
--- a/arch/mips/include/asm/vdso/gettimeofday.h
+++ b/arch/mips/include/asm/vdso/gettimeofday.h
-@@ -36,12 +36,21 @@ static __always_inline long gettimeofday_fallback(
+@@ -30,12 +30,21 @@ static __always_inline long gettimeofday_fallback(
register long nr asm("v0") = __NR_gettimeofday;
register long error asm("a3");
@@ -56,7 +56,7 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
-@@ -60,12 +69,21 @@ static __always_inline long clock_gettime_fallback(
+@@ -54,12 +63,21 @@ static __always_inline long clock_gettime_fallback(
#endif
register long error asm("a3");
@@ -78,7 +78,7 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
-@@ -84,12 +102,21 @@ static __always_inline int clock_getres_fallback(
+@@ -78,12 +96,21 @@ static __always_inline int clock_getres_fallback(
#endif
register long error asm("a3");
@@ -100,7 +100,7 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
-@@ -108,12 +135,21 @@ static __always_inline long clock_gettime32_fallback(
+@@ -100,12 +127,21 @@ static __always_inline long clock_gettime32_fallback(
register long nr asm("v0") = __NR_clock_gettime;
register long error asm("a3");
@@ -122,7 +122,7 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
-@@ -128,12 +164,21 @@ static __always_inline int clock_getres32_fallback(
+@@ -120,12 +156,21 @@ static __always_inline int clock_getres32_fallback(
register long nr asm("v0") = __NR_clock_getres;
register long error asm("a3");
@@ -145,5 +145,5 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
--
-2.25.4
+2.17.1
diff --git a/board/qemu/mips32r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch b/board/qemu/mips32r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch
index 801efb5d08..01d78f6ffe 100644
--- a/board/qemu/mips32r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch
+++ b/board/qemu/mips32r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch
@@ -1,4 +1,4 @@
-From bb04c220d82598066eeadf49defaec1157d4d206 Mon Sep 17 00:00:00 2001
+From b9af6f34e43bf5264d75933f2080f16b8741048d Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Sat, 25 Jul 2020 11:46:01 +0200
Subject: [PATCH] mips: Do not include hi and lo in clobber list for R6
@@ -31,10 +31,10 @@ Signed-off-by: Romain Naour <romain.naour@gmail.com>
1 file changed, 45 insertions(+)
diff --git a/arch/mips/include/asm/vdso/gettimeofday.h b/arch/mips/include/asm/vdso/gettimeofday.h
-index 0ae9b4cbc153..ea600e0ebfe7 100644
+index 2203e2d0ae2a..e28096faecf6 100644
--- a/arch/mips/include/asm/vdso/gettimeofday.h
+++ b/arch/mips/include/asm/vdso/gettimeofday.h
-@@ -36,12 +36,21 @@ static __always_inline long gettimeofday_fallback(
+@@ -30,12 +30,21 @@ static __always_inline long gettimeofday_fallback(
register long nr asm("v0") = __NR_gettimeofday;
register long error asm("a3");
@@ -56,7 +56,7 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
-@@ -60,12 +69,21 @@ static __always_inline long clock_gettime_fallback(
+@@ -54,12 +63,21 @@ static __always_inline long clock_gettime_fallback(
#endif
register long error asm("a3");
@@ -78,7 +78,7 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
-@@ -84,12 +102,21 @@ static __always_inline int clock_getres_fallback(
+@@ -78,12 +96,21 @@ static __always_inline int clock_getres_fallback(
#endif
register long error asm("a3");
@@ -100,7 +100,7 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
-@@ -108,12 +135,21 @@ static __always_inline long clock_gettime32_fallback(
+@@ -100,12 +127,21 @@ static __always_inline long clock_gettime32_fallback(
register long nr asm("v0") = __NR_clock_gettime;
register long error asm("a3");
@@ -122,7 +122,7 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
-@@ -128,12 +164,21 @@ static __always_inline int clock_getres32_fallback(
+@@ -120,12 +156,21 @@ static __always_inline int clock_getres32_fallback(
register long nr asm("v0") = __NR_clock_getres;
register long error asm("a3");
@@ -145,5 +145,5 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
--
-2.25.4
+2.17.1
diff --git a/board/qemu/mips64r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch b/board/qemu/mips64r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch
index ad2647e627..01d78f6ffe 100644
--- a/board/qemu/mips64r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch
+++ b/board/qemu/mips64r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch
@@ -1,4 +1,4 @@
-From cfb381d8f4b64f3752c95b4bdd787be63ef84fb2 Mon Sep 17 00:00:00 2001
+From b9af6f34e43bf5264d75933f2080f16b8741048d Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Sat, 25 Jul 2020 11:46:01 +0200
Subject: [PATCH] mips: Do not include hi and lo in clobber list for R6
@@ -31,10 +31,10 @@ Signed-off-by: Romain Naour <romain.naour@gmail.com>
1 file changed, 45 insertions(+)
diff --git a/arch/mips/include/asm/vdso/gettimeofday.h b/arch/mips/include/asm/vdso/gettimeofday.h
-index 0ae9b4cbc153..ea600e0ebfe7 100644
+index 2203e2d0ae2a..e28096faecf6 100644
--- a/arch/mips/include/asm/vdso/gettimeofday.h
+++ b/arch/mips/include/asm/vdso/gettimeofday.h
-@@ -36,12 +36,21 @@ static __always_inline long gettimeofday_fallback(
+@@ -30,12 +30,21 @@ static __always_inline long gettimeofday_fallback(
register long nr asm("v0") = __NR_gettimeofday;
register long error asm("a3");
@@ -56,7 +56,7 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
-@@ -60,12 +69,21 @@ static __always_inline long clock_gettime_fallback(
+@@ -54,12 +63,21 @@ static __always_inline long clock_gettime_fallback(
#endif
register long error asm("a3");
@@ -78,7 +78,7 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
-@@ -84,12 +102,21 @@ static __always_inline int clock_getres_fallback(
+@@ -78,12 +96,21 @@ static __always_inline int clock_getres_fallback(
#endif
register long error asm("a3");
@@ -100,7 +100,7 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
-@@ -108,12 +135,21 @@ static __always_inline long clock_gettime32_fallback(
+@@ -100,12 +127,21 @@ static __always_inline long clock_gettime32_fallback(
register long nr asm("v0") = __NR_clock_gettime;
register long error asm("a3");
@@ -122,7 +122,7 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
-@@ -128,12 +164,21 @@ static __always_inline int clock_getres32_fallback(
+@@ -120,12 +156,21 @@ static __always_inline int clock_getres32_fallback(
register long nr asm("v0") = __NR_clock_getres;
register long error asm("a3");
@@ -145,5 +145,5 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
--
-2.25.4
+2.17.1
diff --git a/board/qemu/mips64r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch b/board/qemu/mips64r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch
index ad2647e627..01d78f6ffe 100644
--- a/board/qemu/mips64r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch
+++ b/board/qemu/mips64r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch
@@ -1,4 +1,4 @@
-From cfb381d8f4b64f3752c95b4bdd787be63ef84fb2 Mon Sep 17 00:00:00 2001
+From b9af6f34e43bf5264d75933f2080f16b8741048d Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Sat, 25 Jul 2020 11:46:01 +0200
Subject: [PATCH] mips: Do not include hi and lo in clobber list for R6
@@ -31,10 +31,10 @@ Signed-off-by: Romain Naour <romain.naour@gmail.com>
1 file changed, 45 insertions(+)
diff --git a/arch/mips/include/asm/vdso/gettimeofday.h b/arch/mips/include/asm/vdso/gettimeofday.h
-index 0ae9b4cbc153..ea600e0ebfe7 100644
+index 2203e2d0ae2a..e28096faecf6 100644
--- a/arch/mips/include/asm/vdso/gettimeofday.h
+++ b/arch/mips/include/asm/vdso/gettimeofday.h
-@@ -36,12 +36,21 @@ static __always_inline long gettimeofday_fallback(
+@@ -30,12 +30,21 @@ static __always_inline long gettimeofday_fallback(
register long nr asm("v0") = __NR_gettimeofday;
register long error asm("a3");
@@ -56,7 +56,7 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
-@@ -60,12 +69,21 @@ static __always_inline long clock_gettime_fallback(
+@@ -54,12 +63,21 @@ static __always_inline long clock_gettime_fallback(
#endif
register long error asm("a3");
@@ -78,7 +78,7 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
-@@ -84,12 +102,21 @@ static __always_inline int clock_getres_fallback(
+@@ -78,12 +96,21 @@ static __always_inline int clock_getres_fallback(
#endif
register long error asm("a3");
@@ -100,7 +100,7 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
-@@ -108,12 +135,21 @@ static __always_inline long clock_gettime32_fallback(
+@@ -100,12 +127,21 @@ static __always_inline long clock_gettime32_fallback(
register long nr asm("v0") = __NR_clock_gettime;
register long error asm("a3");
@@ -122,7 +122,7 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
-@@ -128,12 +164,21 @@ static __always_inline int clock_getres32_fallback(
+@@ -120,12 +156,21 @@ static __always_inline int clock_getres32_fallback(
register long nr asm("v0") = __NR_clock_getres;
register long error asm("a3");
@@ -145,5 +145,5 @@ index 0ae9b4cbc153..ea600e0ebfe7 100644
return error ? -ret : ret;
}
--
-2.25.4
+2.17.1
diff --git a/board/qemu/post-image.sh b/board/qemu/post-image.sh
index 9a4d216274..88f0413496 100755
--- a/board/qemu/post-image.sh
+++ b/board/qemu/post-image.sh
@@ -19,14 +19,17 @@ if [ -z "${QEMU_CMD_LINE}" ]; then
exit 0
fi
-# Replace output/images path by ${IMAGE_DIR} since the script
-# will be in the same directory as the kernel and the rootfs images.
-QEMU_CMD_LINE="${QEMU_CMD_LINE//output\/images/\${IMAGE_DIR\}}"
+# Remove output/images path since the script will be in
+# the same directory as the kernel and the rootfs images.
+QEMU_CMD_LINE="${QEMU_CMD_LINE//output\/images\//}"
# Remove -serial stdio if present, keep it as default args
DEFAULT_ARGS="$(sed -r -e '/-serial stdio/!d; s/.*(-serial stdio).*/\1/' <<<"${QEMU_CMD_LINE}")"
QEMU_CMD_LINE="${QEMU_CMD_LINE//-serial stdio/}"
+# Remove any string before qemu-system-*
+QEMU_CMD_LINE="$(sed -r -e 's/^.*(qemu-system-)/\1/' <<<"${QEMU_CMD_LINE}")"
+
# Disable graphical output and redirect serial I/Os to console
case ${DEFCONFIG_NAME} in
(qemu_sh4eb_r2d_defconfig|qemu_sh4_r2d_defconfig)
@@ -40,7 +43,9 @@ esac
cat <<-_EOF_ > "${START_QEMU_SCRIPT}"
#!/bin/sh
- IMAGE_DIR="\${0%/*}/"
+ (
+ BINARIES_DIR="\${0%/*}/"
+ cd \${BINARIES_DIR}
if [ "\${1}" = "serial-only" ]; then
EXTRA_ARGS='${SERIAL_ARGS}'
@@ -50,6 +55,7 @@ cat <<-_EOF_ > "${START_QEMU_SCRIPT}"
export PATH="${HOST_DIR}/bin:\${PATH}"
exec ${QEMU_CMD_LINE} \${EXTRA_ARGS}
+ )
_EOF_
chmod +x "${START_QEMU_SCRIPT}"
diff --git a/board/qemu/ppc-mpc8544ds/patches/linux/0001-powerpc-Fix-mcpu-options-for-SPE-only-compiler.patch b/board/qemu/ppc-mpc8544ds/patches/linux/0001-powerpc-Fix-mcpu-options-for-SPE-only-compiler.patch
new file mode 100644
index 0000000000..b8c8a72587
--- /dev/null
+++ b/board/qemu/ppc-mpc8544ds/patches/linux/0001-powerpc-Fix-mcpu-options-for-SPE-only-compiler.patch
@@ -0,0 +1,53 @@
+From a0919e3177295f4aaa9006915adcddc31788d809 Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Wed, 26 Dec 2018 00:00:40 +0000
+Subject: [PATCH] powerpc: Fix -mcpu= options for SPE-only compiler
+
+GCC for Debian's "powerpcspe" architecture only supports 32-bit
+SPE targets, and using -mcpu=powerpc or -mcpu=powerpc64 is a fatal
+error.
+
+* Change the test for a biarch compiler to pass both the -m32 and -m64
+ options, so that it doesn't catch 32-bit-only compilers
+* Add an ifdef CONFIG_PPC64 around the 64-bit CPU option definitions
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+[Romain: Patch from Debian repository:
+https://salsa.debian.org/kernel-team/linux/-/blob/buster/debian/patches/bugfix/powerpc/powerpc-fix-mcpu-options-for-spe-only-compiler.patch]
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ arch/powerpc/Makefile | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
+index 5c8c06215dd4..e3dbea6d7ae0 100644
+--- a/arch/powerpc/Makefile
++++ b/arch/powerpc/Makefile
+@@ -12,7 +12,7 @@
+ # Rewritten by Cort Dougan and Paul Mackerras
+ #
+
+-HAS_BIARCH := $(call cc-option-yn, -m32)
++HAS_BIARCH := $(call cc-option-yn, -m32 -m64)
+
+ # Set default 32 bits cross compilers for vdso and boot wrapper
+ CROSS32_COMPILE ?=
+@@ -164,6 +164,7 @@ CFLAGS-$(CONFIG_PPC32) += $(call cc-option, $(MULTIPLEWORD))
+
+ CFLAGS-$(CONFIG_PPC32) += $(call cc-option,-mno-readonly-in-sdata)
+
++ifdef CONFIG_PPC64
+ ifdef CONFIG_PPC_BOOK3S_64
+ ifdef CONFIG_CPU_LITTLE_ENDIAN
+ CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power8
+@@ -175,6 +176,7 @@ endif
+ else
+ CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64
+ endif
++endif
+
+ ifdef CONFIG_FUNCTION_TRACER
+ CC_FLAGS_FTRACE := -pg
+--
+2.17.1
+
diff --git a/board/qemu/ppc-virtex-ml507/linux.config b/board/qemu/ppc-virtex-ml507/linux.config
deleted file mode 100644
index ed4eb792b6..0000000000
--- a/board/qemu/ppc-virtex-ml507/linux.config
+++ /dev/null
@@ -1,36 +0,0 @@
-CONFIG_44x=y
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_EBONY is not set
-CONFIG_XILINX_VIRTEX440_GENERIC_BOARD=y
-CONFIG_MATH_EMULATION=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=8192
-CONFIG_XILINX_SYSACE=y
-CONFIG_NETDEVICES=y
-CONFIG_SERIO_XILINX_XPS_PS2=y
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_UARTLITE=y
-CONFIG_SERIAL_UARTLITE_CONSOLE=y
-CONFIG_SERIAL_OF_PLATFORM=y
-CONFIG_XILINX_HWICAP=y
-CONFIG_GPIOLIB=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_XILINX=y
-CONFIG_FB=y
-CONFIG_FB_XILINX=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_EXT4_FS=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_TMPFS=y
diff --git a/board/qemu/ppc-virtex-ml507/readme.txt b/board/qemu/ppc-virtex-ml507/readme.txt
deleted file mode 100644
index feb4b2d7d6..0000000000
--- a/board/qemu/ppc-virtex-ml507/readme.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Run the emulation with:
-
- qemu-system-ppc -M virtex-ml507 -kernel output/images/vmlinux -m 256 -nographic -append "console=ttyS0" -dtb output/images/virtex440-ml507.dtb # qemu_ppc_virtex_ml507_defconfig
-
-The login prompt will appear in the terminal that started Qemu.
diff --git a/board/qemu/riscv64-virt/readme.txt b/board/qemu/riscv64-virt/readme.txt
index 81b5246e66..747a9ea674 100644
--- a/board/qemu/riscv64-virt/readme.txt
+++ b/board/qemu/riscv64-virt/readme.txt
@@ -1,5 +1,5 @@
Run Linux in emulation with:
- qemu-system-riscv64 -M virt -kernel output/images/fw_jump.elf -device loader,file=output/images/Image,addr=0x80200000 -append "rootwait root=/dev/vda ro" -drive file=output/images/rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,id=net0 -device virtio-net-device,netdev=net0 -nographic # qemu_riscv64_virt_defconfig
+ qemu-system-riscv64 -M virt -bios output/images/fw_jump.elf -kernel output/images/Image -append "rootwait root=/dev/vda ro" -drive file=output/images/rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,id=net0 -device virtio-net-device,netdev=net0 -nographic # qemu_riscv64_virt_defconfig
The login prompt will appear in the terminal that started Qemu.
diff --git a/board/qemu/s390x/readme.txt b/board/qemu/s390x/readme.txt
new file mode 100644
index 0000000000..63e899c760
--- /dev/null
+++ b/board/qemu/s390x/readme.txt
@@ -0,0 +1,8 @@
+Run the emulation with:
+
+ qemu-system-s390x -M s390-ccw-virtio -cpu max,zpci=on -m 4G -smp 2 \
+ -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw \
+ -append "rootwait root=/dev/vda net.ifnames=0 biosdevname=0" -display none -serial mon:stdio \
+ -net nic,model=virtio -net user # qemu_s390x_defconfig
+
+The login prompt will appear in the terminal that started Qemu.
diff --git a/board/qemu/sh4-r2d/patches/linux/0001-arch-sh-vmlinux.scr.patch b/board/qemu/sh4-r2d/patches/linux/0001-arch-sh-vmlinux.scr.patch
deleted file mode 100644
index 7543767a53..0000000000
--- a/board/qemu/sh4-r2d/patches/linux/0001-arch-sh-vmlinux.scr.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From fe657afd48fc67841d32207ef9eeeb5f099764cd Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@gmail.com>
-Date: Sat, 21 Dec 2019 11:52:04 +0100
-Subject: [PATCH] arch/sh: vmlinux.scr
-
-Building the kernel using a toolchain built with Binutils 2.33.1 prevent
-booting a sh4 system under Qemu.
-Apply the patch provided by Alan Modra [2] that fix alignment of rodata.
-
-[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ebd2263ba9a9124d93bbc0ece63d7e0fae89b40e
-[2] https://www.sourceware.org/ml/binutils/2019-12/msg00112.html
-
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- arch/sh/boot/compressed/vmlinux.scr | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/sh/boot/compressed/vmlinux.scr b/arch/sh/boot/compressed/vmlinux.scr
-index 862d74808236..dd292b4b9082 100644
---- a/arch/sh/boot/compressed/vmlinux.scr
-+++ b/arch/sh/boot/compressed/vmlinux.scr
-@@ -1,6 +1,6 @@
- SECTIONS
- {
-- .rodata..compressed : {
-+ .rodata..compressed : ALIGN(8) {
- input_len = .;
- LONG(input_data_end - input_data) input_data = .;
- *(.data)
---
-2.24.1
-
diff --git a/board/qemu/sh4-r2d/patches/linux/0002-include-asm-generic-vmlinux.lds.h.patch b/board/qemu/sh4-r2d/patches/linux/0002-include-asm-generic-vmlinux.lds.h.patch
deleted file mode 100644
index 1faffea63e..0000000000
--- a/board/qemu/sh4-r2d/patches/linux/0002-include-asm-generic-vmlinux.lds.h.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 7f92adbba385a4e512abfd6633ac0f9f0cdf91f8 Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@gmail.com>
-Date: Sat, 21 Dec 2019 11:54:07 +0100
-Subject: [PATCH] include/asm-generic: vmlinux.lds.h
-
-Building the kernel using a toolchain built with Binutils 2.33.1 prevent
-booting a sh4 system under Qemu.
-Apply the patch provided by Alan Modra [2] that fix alignment of rodata.
-
-[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ebd2263ba9a9124d93bbc0ece63d7e0fae89b40e
-[2] https://www.sourceware.org/ml/binutils/2019-12/msg00112.html
-
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- include/asm-generic/vmlinux.lds.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
-index d7701d466b60..1aa33597e91e 100644
---- a/include/asm-generic/vmlinux.lds.h
-+++ b/include/asm-generic/vmlinux.lds.h
-@@ -306,6 +306,7 @@
- */
- #ifndef RO_AFTER_INIT_DATA
- #define RO_AFTER_INIT_DATA \
-+ . = ALIGN(8); \
- __start_ro_after_init = .; \
- *(.data..ro_after_init) \
- __end_ro_after_init = .;
---
-2.24.1
-
diff --git a/board/qemu/sh4eb-r2d/patches/linux/0001-arch-sh-vmlinux.scr.patch b/board/qemu/sh4eb-r2d/patches/linux/0001-arch-sh-vmlinux.scr.patch
deleted file mode 100644
index 7543767a53..0000000000
--- a/board/qemu/sh4eb-r2d/patches/linux/0001-arch-sh-vmlinux.scr.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From fe657afd48fc67841d32207ef9eeeb5f099764cd Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@gmail.com>
-Date: Sat, 21 Dec 2019 11:52:04 +0100
-Subject: [PATCH] arch/sh: vmlinux.scr
-
-Building the kernel using a toolchain built with Binutils 2.33.1 prevent
-booting a sh4 system under Qemu.
-Apply the patch provided by Alan Modra [2] that fix alignment of rodata.
-
-[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ebd2263ba9a9124d93bbc0ece63d7e0fae89b40e
-[2] https://www.sourceware.org/ml/binutils/2019-12/msg00112.html
-
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- arch/sh/boot/compressed/vmlinux.scr | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/sh/boot/compressed/vmlinux.scr b/arch/sh/boot/compressed/vmlinux.scr
-index 862d74808236..dd292b4b9082 100644
---- a/arch/sh/boot/compressed/vmlinux.scr
-+++ b/arch/sh/boot/compressed/vmlinux.scr
-@@ -1,6 +1,6 @@
- SECTIONS
- {
-- .rodata..compressed : {
-+ .rodata..compressed : ALIGN(8) {
- input_len = .;
- LONG(input_data_end - input_data) input_data = .;
- *(.data)
---
-2.24.1
-
diff --git a/board/qemu/sh4eb-r2d/patches/linux/0002-include-asm-generic-vmlinux.lds.h.patch b/board/qemu/sh4eb-r2d/patches/linux/0002-include-asm-generic-vmlinux.lds.h.patch
deleted file mode 100644
index 445b71f40d..0000000000
--- a/board/qemu/sh4eb-r2d/patches/linux/0002-include-asm-generic-vmlinux.lds.h.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 7f92adbba385a4e512abfd6633ac0f9f0cdf91f8 Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@gmail.com>
-Date: Sat, 21 Dec 2019 11:54:07 +0100
-Subject: [PATCH] include/asm-generic: vmlinux.lds.h
-
-https://www.sourceware.org/ml/binutils/2019-12/msg00112.html
-
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- include/asm-generic/vmlinux.lds.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
-index d7701d466b60..1aa33597e91e 100644
---- a/include/asm-generic/vmlinux.lds.h
-+++ b/include/asm-generic/vmlinux.lds.h
-@@ -306,6 +306,7 @@
- */
- #ifndef RO_AFTER_INIT_DATA
- #define RO_AFTER_INIT_DATA \
-+ . = ALIGN(8); \
- __start_ro_after_init = .; \
- *(.data..ro_after_init) \
- __end_ro_after_init = .;
---
-2.24.1
-
diff --git a/board/roseapplepi/patches/linux/0001-arm-dts-owl-s500-Fix-incorrect-PPI.patch b/board/roseapplepi/patches/linux/0001-arm-dts-owl-s500-Fix-incorrect-PPI.patch
deleted file mode 100644
index 615be675ae..0000000000
--- a/board/roseapplepi/patches/linux/0001-arm-dts-owl-s500-Fix-incorrect-PPI.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
-Subject: [PATCH 1/4] arm: dts: owl-s500: Fix incorrect PPI interrupt specifiers
-To: Rob Herring <robh+dt@kernel.org>,
- Andreas Färber <afaerber@suse.de>,
- Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
-Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- linux-kernel@vger.kernel.org
-Date: Mon, 15 Jun 2020 03:19:08 +0300 (10 weeks, 3 days, 20 hours ago)
-X-Mailer: git-send-email 2.27.0
-
-The PPI interrupts for cortex-a9 were incorrectly specified, fix them.
-
-Fixes: fdfe7f4f9d85 ("ARM: dts: Add Actions Semi S500 and LeMaker Guitar")
-Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- arch/arm/boot/dts/owl-s500.dtsi | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm/boot/dts/owl-s500.dtsi b/arch/arm/boot/dts/owl-s500.dtsi
-index 5ceb6cc4451d..1dbe4e8b38ac 100644
---- a/arch/arm/boot/dts/owl-s500.dtsi
-+++ b/arch/arm/boot/dts/owl-s500.dtsi
-@@ -84,21 +84,21 @@ scu: scu@b0020000 {
- global_timer: timer@b0020200 {
- compatible = "arm,cortex-a9-global-timer";
- reg = <0xb0020200 0x100>;
-- interrupts = <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
-+ interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
- status = "disabled";
- };
-
- twd_timer: timer@b0020600 {
- compatible = "arm,cortex-a9-twd-timer";
- reg = <0xb0020600 0x20>;
-- interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
-+ interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
- status = "disabled";
- };
-
- twd_wdt: wdt@b0020620 {
- compatible = "arm,cortex-a9-twd-wdt";
- reg = <0xb0020620 0xe0>;
-- interrupts = <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
-+ interrupts = <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
- status = "disabled";
- };
-
---
-2.27.0
-
-
diff --git a/board/roseapplepi/patches/linux/0002-arm-dts-owl-s500-add-RoseapplePi.patch b/board/roseapplepi/patches/linux/0002-arm-dts-owl-s500-add-RoseapplePi.patch
deleted file mode 100644
index 87a6ee245f..0000000000
--- a/board/roseapplepi/patches/linux/0002-arm-dts-owl-s500-add-RoseapplePi.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
-Subject: [PATCH 4/4] arm: dts: owl-s500: Add RoseapplePi
-To: Rob Herring <robh+dt@kernel.org>,
- Andreas Färber <afaerber@suse.de>,
- Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- linux-arm-kernel@lists.infradead.org
-Date: Mon, 15 Jun 2020 03:19:11 +0300 (10 weeks, 3 days, 20 hours ago)
-X-Mailer: git-send-email 2.27.0
-
-Add a Device Tree for the RoseapplePi SBC.
-
-Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- arch/arm/boot/dts/Makefile | 1 +
- arch/arm/boot/dts/owl-s500-roseapplepi.dts | 47 ++++++++++++++++++++++
- 2 files changed, 48 insertions(+)
- create mode 100644 arch/arm/boot/dts/owl-s500-roseapplepi.dts
-
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index e8dd99201397..d0712e7275da 100644
---- a/arch/arm/boot/dts/Makefile
-+++ b/arch/arm/boot/dts/Makefile
-@@ -856,6 +856,7 @@ dtb-$(CONFIG_ARCH_ORION5X) += \
- dtb-$(CONFIG_ARCH_ACTIONS) += \
- owl-s500-cubieboard6.dtb \
- owl-s500-guitar-bb-rev-b.dtb \
-+ owl-s500-roseapplepi.dtb \
- owl-s500-sparky.dtb
- dtb-$(CONFIG_ARCH_PRIMA2) += \
- prima2-evb.dtb
-diff --git a/arch/arm/boot/dts/owl-s500-roseapplepi.dts b/arch/arm/boot/dts/owl-s500-roseapplepi.dts
-new file mode 100644
-index 000000000000..c61fbaa3821e
---- /dev/null
-+++ b/arch/arm/boot/dts/owl-s500-roseapplepi.dts
-@@ -0,0 +1,47 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Roseapple Pi
-+ *
-+ * Copyright (c) 2020 Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
-+ */
-+
-+/dts-v1/;
-+
-+#include "owl-s500.dtsi"
-+
-+/ {
-+ compatible = "roseapplepi,roseapplepi", "actions,s500";
-+ model = "Roseapple Pi";
-+
-+ aliases {
-+ serial2 = &uart2;
-+ };
-+
-+ chosen {
-+ stdout-path = "serial2:115200n8";
-+ };
-+
-+ memory@0 {
-+ device_type = "memory";
-+ reg = <0x0 0x80000000>; /* 2GB */
-+ };
-+
-+ uart2_clk: uart2-clk {
-+ compatible = "fixed-clock";
-+ clock-frequency = <921600>;
-+ #clock-cells = <0>;
-+ };
-+};
-+
-+&twd_timer {
-+ status = "okay";
-+};
-+
-+&timer {
-+ clocks = <&hosc>;
-+};
-+
-+&uart2 {
-+ status = "okay";
-+ clocks = <&uart2_clk>;
-+};
---
-2.27.0
-
-
diff --git a/board/sifive/hifive-unleashed/boot.cmd b/board/sifive/hifive-unleashed/boot.cmd
new file mode 100644
index 0000000000..7b5137d22c
--- /dev/null
+++ b/board/sifive/hifive-unleashed/boot.cmd
@@ -0,0 +1,4 @@
+setenv bootargs earlycon=sbi root=/dev/mmcblk0p3 rootwait
+load mmc 0:3 ${kernel_addr_r} boot/Image
+load mmc 0:3 ${fdt_addr_r} boot/hifive-unleashed-a00.dtb
+booti ${kernel_addr_r} - ${fdt_addr_r}
diff --git a/board/sifive/hifive-unleashed/genimage.cfg b/board/sifive/hifive-unleashed/genimage_sdcard.cfg
index 8eebc52355..e7f98a47ce 100644
--- a/board/sifive/hifive-unleashed/genimage.cfg
+++ b/board/sifive/hifive-unleashed/genimage_sdcard.cfg
@@ -3,15 +3,21 @@ image sdcard.img {
gpt = true
}
- partition bootloader {
- image = "fw_payload.bin"
- offset = 1M
- size = 32M
+ partition u-boot-spl {
+ image = "u-boot-spl.bin"
+ offset = 17K
+ partition-type-uuid = 5B193300-FC78-40CD-8002-E86C45580B47
+ }
+
+ partition u-boot {
+ image = "u-boot.itb"
+ offset = 1041K
partition-type-uuid = 2E54B353-1271-4842-806F-E436D6AF6985
}
partition rootfs {
image = "rootfs.ext4"
partition-type-uuid = 0FC63DAF-8483-4772-8E79-3D69D8477DE4
+ bootable = true
}
}
diff --git a/board/sifive/hifive-unleashed/genimage_spi-nor.cfg b/board/sifive/hifive-unleashed/genimage_spi-nor.cfg
new file mode 100644
index 0000000000..2e5d89bfe8
--- /dev/null
+++ b/board/sifive/hifive-unleashed/genimage_spi-nor.cfg
@@ -0,0 +1,19 @@
+image spi-nor.img {
+ size = 32M
+
+ hdimage {
+ gpt = true
+ }
+
+ partition u-boot-spl {
+ image = "u-boot-spl.bin"
+ offset = 20K
+ partition-type-uuid = 5B193300-FC78-40CD-8002-E86C45580B47
+ }
+
+ partition u-boot {
+ image = "u-boot.itb"
+ offset = 1044K
+ partition-type-uuid = 2E54B353-1271-4842-806F-E436D6AF6985
+ }
+}
diff --git a/board/sifive/hifive-unleashed/linux.config.fragment b/board/sifive/hifive-unleashed/linux.config.fragment
index f4f384088a..385a961dd4 100644
--- a/board/sifive/hifive-unleashed/linux.config.fragment
+++ b/board/sifive/hifive-unleashed/linux.config.fragment
@@ -1,16 +1,10 @@
CONFIG_HZ_100=y
-CONFIG_CMDLINE="earlycon=sbi root=/dev/mmcblk0p2 rootwait"
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_SERIAL_SIFIVE=y
-CONFIG_SERIAL_SIFIVE_CONSOLE=y
-CONFIG_SPI=y
-CONFIG_SPI_SIFIVE=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_SIFIVE=y
-CONFIG_MMC=y
-CONFIG_MMC_SPI=y
-CONFIG_CLK_U54_PRCI=y
-CONFIG_CLK_GEMGXL_MGMT=y
+CONFIG_POWER_RESET_GPIO_RESTART=y
+CONFIG_MTD=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_SPI_NOR=y
CONFIG_PWM=y
CONFIG_PWM_SIFIVE=y
diff --git a/board/sifive/hifive-unleashed/post-build.sh b/board/sifive/hifive-unleashed/post-build.sh
new file mode 100755
index 0000000000..b418120652
--- /dev/null
+++ b/board/sifive/hifive-unleashed/post-build.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+cp $BINARIES_DIR/boot.scr $TARGET_DIR/boot/boot.scr
diff --git a/board/sifive/hifive-unleashed/readme.txt b/board/sifive/hifive-unleashed/readme.txt
index 8d3fa6357f..3263913e9c 100644
--- a/board/sifive/hifive-unleashed/readme.txt
+++ b/board/sifive/hifive-unleashed/readme.txt
@@ -28,30 +28,41 @@ Result of the build
Once the build has finished you will have the following files:
output/images/
+ +-- boot.scr
+ +-- fw_dynamic.bin
+ +-- fw_dynamic.elf
+-- fw_jump.bin
+-- fw_jump.elf
- +-- fw_payload.bin
- +-- fw_payload.elf
+ +-- hifive-unleashed-a00.dtb
+-- Image
+ +-- rootfs.cpio
+-- rootfs.ext2
+-- rootfs.ext4
+-- rootfs.tar
+-- sdcard.img
+ +-- u-boot.bin
+ +-- u-boot.itb
+ +-- u-boot-spl.bin
Creating a bootable SD card with genimage
=========================================
-Buildroot builds a SD card image for you. All you need to do is dd the
-image to your SD card, which can be done with the following command:
+By default Buildroot builds a SD card image for you. All you need to do
+is dd the image to your SD card, which can be done with the following
+command on your development host:
- $ sudo dd if=output/images/sdcard.img of=/dev/mmcblk0 bs=4096
+ $ sudo dd if=output/images/sdcard.img of=/dev/sdb bs=4096
+
+The above example command assumes the SD card is accessed via a USB card
+reader and shows up as /dev/sdb on the host. Adjust it accordingly per
+your actual setup.
Booting the SD card on the board
================================
Make sure that the all DIP switches are set to the off position for
-default boot mode (MSEL mode = 1111), insert the SD card and power
+default boot mode (MSEL mode = 1011), insert the SD card and power
up the board.
Connect the USB cable and open minicom (/dev/ttyUSB1, 115200, 8N1).
@@ -60,16 +71,45 @@ See the 'SiFive HiFive Unleashed Getting Started Guide' for
more details (https://www.sifive.com/documentation).
You will get a warning reported by fdisk when you examine the SD card.
-This is because the genimage.cfg file doesn't specify the SD card size
-(as people will naturally have different sized cards), so the
+This is because the genimage_sdcard.cfg file doesn't specify the SD card
+size (as people will naturally have different sized cards), so the
secondary GPT header is placed after the rootfs rather than at the end
of the disk where it is expected to be.
You will see something like this at boot time:
-[ 2.318722] GPT:Primary header thinks Alt. header is not at the end of the disk.
-[ 2.325390] GPT:190496 != 122142719
-[ 2.328843] GPT:Alternate GPT header not at the end of the disk.
-[ 2.334824] GPT:190496 != 122142719
-[ 2.338302] GPT: Use GNU Parted to correct GPT errors.
-[ 2.343456] mmcblk0: p1 p2
+[ 0.989458] mmc0: host does not support reading read-only switch, assuming write-enable
+[ 0.996772] mmc0: new SDHC card on SPI
+[ 1.001634] mmcblk0: mmc0:0000 SD8GB 7.28 GiB
+[ 1.038079] GPT:Primary header thinks Alt. header is not at the end of the disk.
+[ 1.044759] GPT:52389 != 15264767
+[ 1.048051] GPT:Alternate GPT header not at the end of the disk.
+[ 1.054015] GPT:52389 != 15264767
+[ 1.057323] GPT: Use GNU Parted to correct GPT errors.
+[ 1.062479] mmcblk0: p1 p2 p3
+
+
+Creating a bootable SPI flash with genimage
+===========================================
+
+Adjust Buildroot configuration by:
+
+ $ make menuconfig
+
+Change "System configuration" -> "Extra arguments passed to custom scripts"
+value to "-c board/sifive/hifive-unleashed/genimage_spi-nor.cfg", save the
+configuration and build. This creates a output/images/spi-nor.img that can
+be programmed to the on-board SPI flash.
+
+Boot the board from the SD card prepared above, stop the U-Boot auto boot,
+and type the following commands to program the whole SPI flash:
+
+ => tftp 82000000 output/images/spi-nor.img
+ => sf probe
+ => sf update 82000000 0 2000000
+
+Booting the SPI flash on the board
+==================================
+
+Make sure that the all DIP switches are set to the off position for
+default boot mode (MSEL mode = 0110) to boot from SPI flash.
diff --git a/board/sinovoip/m1-plus/boot.cmd b/board/sinovoip/m1-plus/boot.cmd
new file mode 100644
index 0000000000..4829996474
--- /dev/null
+++ b/board/sinovoip/m1-plus/boot.cmd
@@ -0,0 +1,5 @@
+setenv fdt_high ffffffff
+setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
+fatload mmc 0 $kernel_addr_r zImage
+fatload mmc 0 $fdt_addr_r sun7i-a20-bananapi-m1-plus.dtb
+bootz $kernel_addr_r - $fdt_addr_r
diff --git a/board/sinovoip/m1-plus/genimage.cfg b/board/sinovoip/m1-plus/genimage.cfg
new file mode 100644
index 0000000000..3cba774c6f
--- /dev/null
+++ b/board/sinovoip/m1-plus/genimage.cfg
@@ -0,0 +1,37 @@
+# Minimal SD card image for the Banana Pi M1+
+# Based on the Banana Pro genimage.cfg
+
+image boot.vfat {
+ vfat {
+ files = {
+ "zImage",
+ "sun7i-a20-bananapi-m1-plus.dtb",
+ "boot.scr"
+ }
+ }
+ size = 10M
+}
+
+image sdcard.img {
+ hdimage {
+ }
+
+ partition u-boot {
+ in-partition-table = "no"
+ image = "u-boot-sunxi-with-spl.bin"
+ offset = 8192
+ size = 1040384 # 1MB - 8192
+ }
+
+ partition boot {
+ partition-type = 0xC
+ bootable = "true"
+ image = "boot.vfat"
+ }
+
+ partition rootfs {
+ partition-type = 0x83
+ image = "rootfs.ext4"
+ size = 512M
+ }
+}
diff --git a/board/sinovoip/m1-plus/linux-wifi.fragment b/board/sinovoip/m1-plus/linux-wifi.fragment
new file mode 100644
index 0000000000..5576d738ad
--- /dev/null
+++ b/board/sinovoip/m1-plus/linux-wifi.fragment
@@ -0,0 +1,10 @@
+# Networking support
+CONFIG_WIRELESS=y
+CONFIG_CFG80211=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_RFKILL=y
+
+# Network device support
+CONFIG_WLAN=y
+CONFIG_WLAN_VENDOR_BROADCOM=y
+CONFIG_BRCMFMAC=m
diff --git a/board/sinovoip/m1-plus/patches/linux/0001-ARM-dts-sun7i-bananapi-m1-plus-Disable-OOB-IRQ-for-b.patch b/board/sinovoip/m1-plus/patches/linux/0001-ARM-dts-sun7i-bananapi-m1-plus-Disable-OOB-IRQ-for-b.patch
new file mode 100644
index 0000000000..b01b6b2829
--- /dev/null
+++ b/board/sinovoip/m1-plus/patches/linux/0001-ARM-dts-sun7i-bananapi-m1-plus-Disable-OOB-IRQ-for-b.patch
@@ -0,0 +1,39 @@
+From 58bae4096a7bf8d5d3bfbddb82cb37dd0561c938 Mon Sep 17 00:00:00 2001
+From: Filip Skoneczny <fskoneczny@gmail.com>
+Date: Sun, 10 Jan 2021 19:07:14 +0100
+Subject: [PATCH] ARM: dts: sun7i: bananapi-m1-plus: Disable OOB IRQ for brcm
+ wifi module
+
+ Based on 23bc805.
+ BugLink: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908438
+
+Signed-off-by: Filip Skoneczny <fskoneczny@gmail.com>
+---
+ arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts b/arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts
+index 32d5d45a35c0..97f9987f51d7 100644
+--- a/arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts
++++ b/arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts
+@@ -193,9 +193,14 @@ &mmc3 {
+ brcmf: wifi@1 {
+ reg = <1>;
+ compatible = "brcm,bcm4329-fmac";
+- interrupt-parent = <&pio>;
+- interrupts = <7 15 IRQ_TYPE_LEVEL_LOW>;
+- interrupt-names = "host-wake";
++ /*
++ * OOB interrupt support is broken ATM, drv probe failing with:
++ * ieee80211 phy0: brcmf_attach: dongle is not responding: err=-110
++ *
++ * interrupt-parent = <&pio>;
++ * interrupts = <7 15 IRQ_TYPE_LEVEL_LOW>;
++ * interrupt-names = "host-wake";
++ */
+ };
+ };
+
+--
+2.25.1
+
diff --git a/board/sinovoip/m1-plus/post-build.sh b/board/sinovoip/m1-plus/post-build.sh
new file mode 100755
index 0000000000..4ee6fa3bc4
--- /dev/null
+++ b/board/sinovoip/m1-plus/post-build.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Remove all but the brcmfmac43362 firmware files
+find $TARGET_DIR/lib/firmware/brcm -type f -not -name "brcmfmac43362*" -delete
diff --git a/board/sinovoip/m1-plus/readme.txt b/board/sinovoip/m1-plus/readme.txt
new file mode 100644
index 0000000000..ae647c21a9
--- /dev/null
+++ b/board/sinovoip/m1-plus/readme.txt
@@ -0,0 +1,64 @@
+Banana Pi M1+
+
+Intro
+=====
+
+This default configuration will allow you to start experimenting with the
+Buildroot environment for the Banana Pi M1+. With the current configuration
+it will bring-up the board, and allow access through the serial console.
+
+How to build it
+===============
+
+Configure Buildroot:
+
+ $ make bananapi_m1_plus_defconfig
+
+Compile everything and build the SD card image:
+
+ $ make
+
+How to write the SD card
+========================
+
+Once the build process is finished you will have an image called "sdcard.img"
+in the output/images/ directory.
+
+Copy the bootable "sdcard.img" onto an SD card with "dd":
+
+ $ dd if=output/images/sdcard.img of=/dev/sdX
+
+Notes:
+ - replace 'sdX' with the actual device with your micro SD card
+ - you may need to be root to do that (use 'sudo')
+
+Insert the micro SD card in your Banana Pi M1+ and power it up. The console
+is on the debug TTL UART, 115200 8N1.
+
+Ethernet
+==========
+
+ # udhcpc -i eth0
+
+Wifi
+==========
+
+ # wpa_passphrase YOUR_SSID >> /etc/wpa_supplicant.conf
+ (enter the wifi password and press enter)
+ # wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B
+ # udhcpc -i wlan0
+
+Note:
+ - replace 'YOUR_SSID' with the actual SSID from your access point
+
+Audio
+==========
+
+For this example you need package alsa-utils.
+
+Connect a headphone to the 3.5mm jack (TRRS). Note, that the Banana Pi M1+
+has an on-board microphone, too.
+
+ # amixer cset name='Power Amplifier DAC Playback Switch' on
+ # amixer cset name='Power Amplifier Mute Switch' on
+ # amixer cset name='Power Amplifier Volume' 42
diff --git a/board/sinovoip/m1-plus/rootfs_overlay/lib/firmware/brcm/brcmfmac43362-sdio.sinovoip,bpi-m1-plus.txt b/board/sinovoip/m1-plus/rootfs_overlay/lib/firmware/brcm/brcmfmac43362-sdio.sinovoip,bpi-m1-plus.txt
new file mode 120000
index 0000000000..93947975ee
--- /dev/null
+++ b/board/sinovoip/m1-plus/rootfs_overlay/lib/firmware/brcm/brcmfmac43362-sdio.sinovoip,bpi-m1-plus.txt
@@ -0,0 +1 @@
+brcmfmac43362-sdio.txt \ No newline at end of file
diff --git a/board/sinovoip/m1-plus/rootfs_overlay/lib/firmware/brcm/brcmfmac43362-sdio.txt b/board/sinovoip/m1-plus/rootfs_overlay/lib/firmware/brcm/brcmfmac43362-sdio.txt
new file mode 100644
index 0000000000..14a554fdd8
--- /dev/null
+++ b/board/sinovoip/m1-plus/rootfs_overlay/lib/firmware/brcm/brcmfmac43362-sdio.txt
@@ -0,0 +1,56 @@
+#AP6210_NVRAM_V1.2_03192013
+manfid=0x2d0
+prodid=0x492
+vendid=0x14e4
+devid=0x4343
+boardtype=0x0598
+
+# Board Revision is P307, same nvram file can be used for P304, P305, P306 and P307 as the tssi pa params used are same
+#Please force the automatic RX PER data to the respective board directory if not using P307 board, for e.g. for P305 boards force the data into the following directory /projects/BCM43362/a1_labdata/boardtests/results/sdg_rev0305
+boardrev=0x1307
+boardnum=777
+xtalfreq=26000
+boardflags=0x80201
+boardflags2=0x80
+sromrev=3
+wl0id=0x431b
+macaddr=00:90:4c:07:71:12
+aa2g=1
+ag0=2
+maxp2ga0=74
+cck2gpo=0x2222
+ofdm2gpo=0x44444444
+mcs2gpo0=0x6666
+mcs2gpo1=0x6666
+pa0maxpwr=56
+
+#P207 PA params
+#pa0b0=5447
+#pa0b1=-658
+#pa0b2=-175
+
+#Same PA params for P304,P305, P306, P307
+
+pa0b0=5447
+pa0b1=-607
+pa0b2=-160
+pa0itssit=62
+pa1itssit=62
+
+
+cckPwrOffset=5
+ccode=0
+rssismf2g=0xa
+rssismc2g=0x3
+rssisav2g=0x7
+triso2g=0
+noise_cal_enable_2g=0
+noise_cal_po_2g=0
+swctrlmap_2g=0x04040404,0x02020202,0x02020202,0x010101,0x1ff
+temp_add=29767
+temp_mult=425
+
+btc_flags=0x6
+btc_params0=5000
+btc_params1=1000
+btc_params6=63
diff --git a/board/solidrun/mx6cubox/boot.scr.txt b/board/solidrun/mx6cubox/boot.scr.txt
index 7a8aa4bd54..e4cf814783 100644
--- a/board/solidrun/mx6cubox/boot.scr.txt
+++ b/board/solidrun/mx6cubox/boot.scr.txt
@@ -1,7 +1,7 @@
-setenv finduuid "part uuid mmc 0:1 uuid"
+setenv finduuid "part uuid mmc 1:1 uuid"
run finduuid
run findfdt
setenv bootargs "console=ttymxc0,115200 root=PARTUUID=${uuid} rootwait rootfstype=ext4"
-load mmc 0:1 ${fdt_addr} boot/${fdtfile}
-load mmc 0:1 ${loadaddr} boot/zImage
+load mmc 1:1 ${fdt_addr} boot/${fdtfile}
+load mmc 1:1 ${loadaddr} boot/zImage
bootz ${loadaddr} - ${fdt_addr}
diff --git a/board/stmicroelectronics/common/stm32mp157/genimage.cfg b/board/stmicroelectronics/common/stm32mp157/genimage.cfg.template
index d1ce530cc5..f341c19f2f 100644
--- a/board/stmicroelectronics/common/stm32mp157/genimage.cfg
+++ b/board/stmicroelectronics/common/stm32mp157/genimage.cfg.template
@@ -4,20 +4,19 @@ image sdcard.img {
}
partition fsbl1 {
- image = "u-boot-spl.stm32"
+ image = "%ATFBIN%"
}
partition fsbl2 {
- image = "u-boot-spl.stm32"
+ image = "%ATFBIN%"
}
partition ssbl {
- image = "u-boot.img"
+ image = "u-boot.stm32"
}
partition rootfs {
image = "rootfs.ext4"
- partition-type = 0x83
bootable = "yes"
}
}
diff --git a/board/stmicroelectronics/common/stm32mp157/post-image.sh b/board/stmicroelectronics/common/stm32mp157/post-image.sh
new file mode 100755
index 0000000000..363c3127cf
--- /dev/null
+++ b/board/stmicroelectronics/common/stm32mp157/post-image.sh
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+
+#
+# atf_image extracts the ATF binary image from DTB_FILE_NAME that appears in
+# BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES in ${BR_CONFIG},
+# then prints the corresponding file name for the genimage
+# configuration file
+#
+atf_image()
+{
+ local ATF_VARIABLES="$(sed -n 's/^BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="\([\/a-zA-Z0-9_=. \-]*\)"$/\1/p' ${BR2_CONFIG})"
+
+ if grep -Eq "DTB_FILE_NAME=stm32mp157c-dk2.dtb" <<< ${ATF_VARIABLES}; then
+ echo "tf-a-stm32mp157c-dk2.stm32"
+ elif grep -Eq "DTB_FILE_NAME=stm32mp157a-dk1.dtb" <<< ${ATF_VARIABLES}; then
+ echo "tf-a-stm32mp157a-dk1.stm32"
+ elif grep -Eq "DTB_FILE_NAME=stm32mp157a-avenger96.dtb" <<< ${ATF_VARIABLES}; then
+ echo "tf-a-stm32mp157a-avenger96.stm32"
+ fi
+}
+
+main()
+{
+ local ATFBIN="$(atf_image)"
+ local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
+ local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
+
+ sed -e "s/%ATFBIN%/${ATFBIN}/" \
+ board/stmicroelectronics/common/stm32mp157/genimage.cfg.template > ${GENIMAGE_CFG}
+
+ support/scripts/genimage.sh -c ${GENIMAGE_CFG}
+
+ rm -f ${GENIMAGE_CFG}
+
+ exit $?
+}
+
+main $@
diff --git a/board/udoo/neo/boot.scr.txt b/board/udoo/common/boot.scr.txt
index 7a8aa4bd54..7acceed0fb 100644
--- a/board/udoo/neo/boot.scr.txt
+++ b/board/udoo/common/boot.scr.txt
@@ -1,7 +1,7 @@
setenv finduuid "part uuid mmc 0:1 uuid"
run finduuid
run findfdt
-setenv bootargs "console=ttymxc0,115200 root=PARTUUID=${uuid} rootwait rootfstype=ext4"
+setenv bootargs "console=${console} root=PARTUUID=${uuid} rootwait rootfstype=ext4"
load mmc 0:1 ${fdt_addr} boot/${fdtfile}
load mmc 0:1 ${loadaddr} boot/zImage
bootz ${loadaddr} - ${fdt_addr}
diff --git a/board/udoo/common/post-build.sh b/board/udoo/common/post-build.sh
new file mode 100755
index 0000000000..d3f612f811
--- /dev/null
+++ b/board/udoo/common/post-build.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+cp $BINARIES_DIR/boot.scr $TARGET_DIR/boot/boot.scr
diff --git a/board/udoo/mx6qdl/linux.fragment b/board/udoo/mx6qdl/linux.fragment
deleted file mode 100644
index 1d2509982b..0000000000
--- a/board/udoo/mx6qdl/linux.fragment
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_USB is not set
diff --git a/board/udoo/mx6qdl/patches/linux/0000-udoo-disable-usbh1.patch b/board/udoo/mx6qdl/patches/linux/0000-udoo-disable-usbh1.patch
new file mode 100644
index 0000000000..d151a40d6e
--- /dev/null
+++ b/board/udoo/mx6qdl/patches/linux/0000-udoo-disable-usbh1.patch
@@ -0,0 +1,26 @@
+[PATCH] ARM: dts: imx6qdl-udoo: Disable usbh1 to avoid kernel hang
+
+Currently the kernel hangs when USB Host1 is enabled due to the lack of
+support for controlling the USB hub clock and GPIO reset line.
+
+Peter Chen has made several attempts to fix this problem, but his series
+has not been applied yet, so better disable USB host1 for now to avoid
+the kernel hang.
+
+Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
+---
+
+diff --git a/arch/arm/boot/dts/imx6qdl-udoo.dtsi b/arch/arm/boot/dts/imx6qdl-udoo.dtsi
+index 828dd20cd27d..c9e122865312 100644
+--- a/arch/arm/boot/dts/imx6qdl-udoo.dtsi
++++ b/arch/arm/boot/dts/imx6qdl-udoo.dtsi
+@@ -292,7 +292,8 @@ &usbh1 {
+ pinctrl-0 = <&pinctrl_usbh>;
+ vbus-supply = <&reg_usb_h1_vbus>;
+ clocks = <&clks IMX6QDL_CLK_CKO>;
+- status = "okay";
++ /* currently USB support causes a kernel hang. Disable it for now */
++ status = "disabled";
+ };
+
+ &usbotg {
diff --git a/board/udoo/mx6qdl/readme.txt b/board/udoo/mx6qdl/readme.txt
index cf1a610421..a7ca98cc8a 100644
--- a/board/udoo/mx6qdl/readme.txt
+++ b/board/udoo/mx6qdl/readme.txt
@@ -14,4 +14,4 @@ directory, ready to be dumped on a micro SD card:
dd if=output/images/sdcard.img of=/dev/<your-microsd-device>
For details about the medium image layout, see the definition in
-board/udoo/mx6qdl/genimage.cfg.
+board/freescale/common/imx/genimage.cfg.template_no_boot_part_spl.
diff --git a/board/udoo/neo/genimage.cfg b/board/udoo/neo/genimage.cfg
deleted file mode 100644
index 46209120f0..0000000000
--- a/board/udoo/neo/genimage.cfg
+++ /dev/null
@@ -1,32 +0,0 @@
-# Minimal SD card image for the MX6SX Udoo Neo board
-#
-# The SD card must have at least 1 MB free at the beginning.
-# U-Boot and its environment are dumped as is.
-# A single root filesystem partition is required (Ext4 in this case).
-#
-# For details about the layout, see:
-# http://wiki.wandboard.org/index.php/Boot-process
-
-image sdcard.img {
- hdimage {
- }
-
- partition spl {
- in-partition-table = "no"
- image = "SPL"
- offset = 1K
- }
-
- partition u-boot {
- in-partition-table = "no"
- image = "u-boot.img"
- offset = 69K
- }
-
- partition rootfs {
- partition-type = 0x83
- image = "rootfs.ext4"
- offset = 1M
- size = 512M
- }
-}
diff --git a/board/udoo/neo/post-build.sh b/board/udoo/neo/post-build.sh
deleted file mode 100755
index 6ccd87fafd..0000000000
--- a/board/udoo/neo/post-build.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-BOARD_DIR="$(dirname $0)"
-
-install -d -m 755 $TARGET_DIR/boot
-$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none \
- -n "boot script" -d $BOARD_DIR/boot.scr.txt $TARGET_DIR/boot/boot.scr
diff --git a/board/udoo/neo/post-image.sh b/board/udoo/neo/post-image.sh
deleted file mode 100755
index 18e76aa40d..0000000000
--- a/board/udoo/neo/post-image.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/env bash
-
-BOARD_DIR="$(dirname $0)"
-GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
-GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
-
-rm -rf "${GENIMAGE_TMP}"
-
-genimage \
- --rootpath "${TARGET_DIR}" \
- --tmppath "${GENIMAGE_TMP}" \
- --inputpath "${BINARIES_DIR}" \
- --outputpath "${BINARIES_DIR}" \
- --config "${GENIMAGE_CFG}"
-
diff --git a/board/udoo/neo/readme.txt b/board/udoo/neo/readme.txt
index f037ad484a..94ebcc12f2 100644
--- a/board/udoo/neo/readme.txt
+++ b/board/udoo/neo/readme.txt
@@ -13,4 +13,4 @@ directory, ready to be dumped on an SD card:
dd if=output/images/sdcard.img of=/dev/<your-microsd-device>
For details about the medium image layout, see the definition in
-board/udoo/neo/genimage.cfg.
+board/freescale/common/imx/genimage.cfg.template_no_boot_part_spl.