157 changes: 157 additions & 0 deletions .gitlab-ci.yml
@@ -0,0 +1,157 @@
image: registry.gitlab.com/pcengines/apu2-documentation:latest

services:
- docker:dind

variables:
RELEASE_DIR: ${CI_PROJECT_DIR}/apu2_fw_rel

stages:
- build_crosscompiler
- build_rom
- test_rom
- sign_rom
- publish_rom

build_crosscompiler:
stage: build_crosscompiler
tags:
- docker
script:
- test -e ${CI_PROJECT_DIR}/apu2_fw_rel/apu2/coreboot/util/crossgcc/xgcc || { make crossgcc-i386 CPUS=$(nproc) && mkdir -p ${CI_PROJECT_DIR}/apu2_fw_rel/apu2/coreboot/util/crossgcc/ && mv -f ${CI_PROJECT_DIR}/util/crossgcc/xgcc ${CI_PROJECT_DIR}/apu2_fw_rel/apu2/coreboot/util/crossgcc/ ; }
cache:
key: apu
paths:
- ${CI_PROJECT_DIR}/apu2_fw_rel/apu2/coreboot/util/crossgcc/xgcc
only:
- tags
- web

.build_rom_apu: &build_rom_apu
variables:
PLATFORM: apux
stage: build_rom
tags:
- docker
dependencies:
- build_crosscompiler
script:
- mkdir -p apu2_fw_rel && cd apu2_fw_rel
- repo init -u https://github.com/pcengines/release_manifests.git -b ${CI_COMMIT_REF_NAME}
- repo sync --force-sync
- cp ${CI_PROJECT_DIR}/configs/pcengines_${PLATFORM}.config ${CI_PROJECT_DIR}/apu2_fw_rel/apu2/coreboot/.config
- ${RELEASE_DIR}/apu2/apu2-documentation/scripts/build_release_img.sh build-ml
cache:
policy: pull
key: apu
paths:
- ${RELEASE_DIR}/apu2/coreboot/util/crossgcc/xgcc
artifacts:
name: ${PLATFORM}
paths:
- ${RELEASE_DIR}/${PLATFORM}_*
only:
- tags
- web

.test_rom: &test_rom
variables:
PLATFORM:
stage: test_rom
tags:
- docker
script:
- ls -la ${RELEASE_DIR}/${PLATFORM}_*.rom
only:
- tags
- web

.sign_rom: &sign_rom
variables:
PLATFORM:
stage: sign_rom
tags:
- docker
script:
- for rom in ${RELEASE_DIR}/${PLATFORM}_*.rom; do touch ${rom}_dummy_signature; done
- ls -la ${RELEASE_DIR}/${PLATFORM}_*.rom
artifacts:
name: ${PLATFORM}
paths:
- ${RELEASE_DIR}/${PLATFORM}_*
only:
- tags

.publish_rom: &publish_rom
variables:
PLATFORM:
stage: publish_rom
tags:
- docker
script:
- curl -u ${UPLOADER_USERNAME}:${UPLOADER_PASSWORD} -X MKCOL "${UPLOADER_URL}/${PLATFORM}/"; curl -u ${UPLOADER_USERNAME}:${UPLOADER_PASSWORD} -X MKCOL "${UPLOADER_URL}/${PLATFORM}/releases/"
- for file in ${RELEASE_DIR}/${PLATFORM}_*.tar.gz; do curl --fail -u ${UPLOADER_USERNAME}:${UPLOADER_PASSWORD} -T ${file} "${UPLOADER_URL}/${PLATFORM}/releases/"; done
only:
- tags

build:apu2:
<<: *build_rom_apu
variables:
PLATFORM: apu2

.test:apu2:
<<: *test_rom
variables:
PLATFORM: apu2

.sign:apu2:
<<: *sign_rom
variables:
PLATFORM: apu2

publish:apu2:
<<: *publish_rom
variables:
PLATFORM: apu2


build:apu3:
<<: *build_rom_apu
variables:
PLATFORM: apu3

.test:apu3:
<<: *test_rom
variables:
PLATFORM: apu3

.sign:apu3:
<<: *sign_rom
variables:
PLATFORM: apu3

publish:apu3:
<<: *publish_rom
variables:
PLATFORM: apu3


build:apu5:
<<: *build_rom_apu
variables:
PLATFORM: apu5

.test:apu5:
<<: *test_rom
variables:
PLATFORM: apu5

.sign:apu5:
<<: *sign_rom
variables:
PLATFORM: apu5

publish:apu5:
<<: *publish_rom
variables:
PLATFORM: apu5
7 changes: 6 additions & 1 deletion CHANGELOG.md
Expand Up @@ -14,6 +14,10 @@ Releases 4.5.x and 4.6.x are based on mainline support submitted in

## [Unreleased]

## [v4.6.3] - 2017-10-30
### Added
- Runtime configuration of UARTc/d, EHCI and mPCIe2 CLK for APU2/3/5

## [v4.6.2] - 2017-09-29
### Added
- "Disable retrieving SPD info" feature in Memtest86+
Expand Down Expand Up @@ -113,7 +117,8 @@ redundant code which was similar for APU2/3/5 boards.
- turn off D4 and D5 leds on boot
- enable power on after power failure

[Unreleased]: https://github.com/pcengines/coreboot/compare/v4.6.2...coreboot-4.6.x
[Unreleased]: https://github.com/pcengines/coreboot/compare/v4.6.3...coreboot-4.6.x
[v4.6.3]: https://github.com/pcengines/coreboot/compare/v4.6.2...v4.6.3
[v4.6.2]: https://github.com/pcengines/coreboot/compare/v4.6.1...v4.6.2
[v4.6.1]: https://github.com/pcengines/coreboot/compare/v4.6.0...v4.6.1
[v4.6.0]: https://github.com/pcengines/coreboot/compare/v4.5.8...v4.6.0
Expand Down
8 changes: 5 additions & 3 deletions configs/pcengines_apu2.config
Expand Up @@ -17,7 +17,7 @@ CONFIG_COMPILER_GCC=y
# CONFIG_UTIL_GENPARSER is not set
CONFIG_COMPRESS_RAMSTAGE=y
CONFIG_INCLUDE_CONFIG_FILE=y
CONFIG_COLLECT_TIMESTAMPS=y
# CONFIG_COLLECT_TIMESTAMPS is not set
CONFIG_USE_BLOBS=y
# CONFIG_COVERAGE is not set
# CONFIG_UPDATE_IMAGE is not set
Expand Down Expand Up @@ -126,7 +126,7 @@ CONFIG_MMCONF_BASE_ADDRESS=0xF8000000
CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="PC Engines"
CONFIG_HUDSON_XHCI_FWM=y
CONFIG_POST_IO=y
CONFIG_DEVICETREE="devicetree.cb"
CONFIG_DEVICETREE="variants/$(CONFIG_VARIANT_DIR)/devicetree.cb"
CONFIG_MAX_REBOOT_CNT=3
CONFIG_ID_SECTION_OFFSET=0x80
# CONFIG_BOARD_EMULATION_QEMU_ARMV7 is not set
Expand All @@ -136,6 +136,7 @@ CONFIG_ID_SECTION_OFFSET=0x80
# CONFIG_BOARD_EMULATION_QEMU_UCB_RISCV is not set
# CONFIG_BOARD_EMULATION_SPIKE_UCB_RISCV is not set
CONFIG_POST_DEVICE=y
CONFIG_VARIANT_DIR="apu2"
# CONFIG_VBOOT is not set
CONFIG_DIMM_MAX=4
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
Expand Down Expand Up @@ -587,7 +588,7 @@ CONFIG_SEABIOS_STABLE=y
# CONFIG_SEABIOS_MASTER is not set
# CONFIG_SEABIOS_REVISION is not set
# CONFIG_SEABIOS_THREAD_OPTIONROMS is not set
CONFIG_SEABIOS_BOOTORDER_FILE="$(top)/src/mainboard/$(MAINBOARDDIR)/bootorder"
CONFIG_SEABIOS_BOOTORDER_FILE="$(top)/src/mainboard/$(MAINBOARDDIR)/variants/$(CONFIG_VARIANT_DIR)/bootorder"
CONFIG_SEABIOS_BOOTORDER_MAP_FILE="$(top)/src/mainboard/$(MAINBOARDDIR)/bootorder_map"
CONFIG_SEABIOS_BOOTORDER_DEF_FILE="$(top)/src/mainboard/$(MAINBOARDDIR)/bootorder_def"
CONFIG_SEABIOS_BOOTMENU_KEY_FILE="$(top)/src/mainboard/$(MAINBOARDDIR)/boot-menu-key"
Expand Down Expand Up @@ -621,6 +622,7 @@ CONFIG_COMPRESSED_PAYLOAD_LZMA=y
CONFIG_MEMTEST_SECONDARY_PAYLOAD=y
CONFIG_MEMTEST_STABLE=y
# CONFIG_MEMTEST_MASTER is not set
CONFIG_MEMTEST_DISABLE_SPD=y
# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set
# CONFIG_TINT_SECONDARY_PAYLOAD is not set
CONFIG_SORTBOOTORDER_SECONDARY_PAYLOAD=y
Expand Down
22 changes: 12 additions & 10 deletions configs/pcengines_apu3.config
Expand Up @@ -17,7 +17,7 @@ CONFIG_COMPILER_GCC=y
# CONFIG_UTIL_GENPARSER is not set
CONFIG_COMPRESS_RAMSTAGE=y
CONFIG_INCLUDE_CONFIG_FILE=y
CONFIG_COLLECT_TIMESTAMPS=y
# CONFIG_COLLECT_TIMESTAMPS is not set
CONFIG_USE_BLOBS=y
# CONFIG_COVERAGE is not set
# CONFIG_UPDATE_IMAGE is not set
Expand Down Expand Up @@ -100,7 +100,7 @@ CONFIG_VENDOR_PCENGINES=y
# CONFIG_VENDOR_WINENT is not set
# CONFIG_VENDOR_WYSE is not set
CONFIG_BOARD_SPECIFIC_OPTIONS=y
CONFIG_MAINBOARD_DIR="pcengines/apu3"
CONFIG_MAINBOARD_DIR="pcengines/apu2"
CONFIG_MAINBOARD_PART_NUMBER="PC Engines apu3"
CONFIG_IRQ_SLOT_COUNT=11
CONFIG_MAINBOARD_VENDOR="PC Engines"
Expand All @@ -126,7 +126,7 @@ CONFIG_MMCONF_BASE_ADDRESS=0xF8000000
CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="PC Engines"
CONFIG_HUDSON_XHCI_FWM=y
CONFIG_POST_IO=y
CONFIG_DEVICETREE="devicetree.cb"
CONFIG_DEVICETREE="variants/$(CONFIG_VARIANT_DIR)/devicetree.cb"
CONFIG_MAX_REBOOT_CNT=3
CONFIG_ID_SECTION_OFFSET=0x80
# CONFIG_BOARD_EMULATION_QEMU_ARMV7 is not set
Expand All @@ -136,6 +136,7 @@ CONFIG_ID_SECTION_OFFSET=0x80
# CONFIG_BOARD_EMULATION_QEMU_UCB_RISCV is not set
# CONFIG_BOARD_EMULATION_SPIKE_UCB_RISCV is not set
CONFIG_POST_DEVICE=y
CONFIG_VARIANT_DIR="apu3"
# CONFIG_VBOOT is not set
CONFIG_DIMM_MAX=4
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
Expand All @@ -157,13 +158,13 @@ CONFIG_BOARD_PCENGINES_APU3=y
# CONFIG_BOARD_PCENGINES_APU5 is not set
# CONFIG_DRIVERS_PS2_KEYBOARD is not set
CONFIG_AGESA_BINARY_PI_FILE="3rdparty/blobs/mainboard/pcengines/apu2/AGESA.bin"
# CONFIG_APU2_PINMUX_OFF_C is not set
# CONFIG_APU2_PINMUX_GPIO0 is not set
CONFIG_APU2_PINMUX_UART_C=y
# CONFIG_APU2_PINMUX_OFF_D is not set
# CONFIG_APU2_PINMUX_GPIO1 is not set
CONFIG_APU2_PINMUX_UART_D=y
# CONFIG_FORCE_MPCIE2_CLK is not set
# CONFIG_APU3_PINMUX_OFF_C is not set
# CONFIG_APU3_PINMUX_GPIO0 is not set
CONFIG_APU3_PINMUX_UART_C=y
# CONFIG_APU3_PINMUX_OFF_D is not set
# CONFIG_APU3_PINMUX_GPIO1 is not set
CONFIG_APU3_PINMUX_UART_D=y
# CONFIG_NO_POST is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set
Expand Down Expand Up @@ -587,7 +588,7 @@ CONFIG_SEABIOS_STABLE=y
# CONFIG_SEABIOS_MASTER is not set
# CONFIG_SEABIOS_REVISION is not set
# CONFIG_SEABIOS_THREAD_OPTIONROMS is not set
CONFIG_SEABIOS_BOOTORDER_FILE="$(top)/src/mainboard/$(MAINBOARDDIR)/bootorder"
CONFIG_SEABIOS_BOOTORDER_FILE="$(top)/src/mainboard/$(MAINBOARDDIR)/variants/$(CONFIG_VARIANT_DIR)/bootorder"
CONFIG_SEABIOS_BOOTORDER_MAP_FILE="$(top)/src/mainboard/$(MAINBOARDDIR)/bootorder_map"
CONFIG_SEABIOS_BOOTORDER_DEF_FILE="$(top)/src/mainboard/$(MAINBOARDDIR)/bootorder_def"
CONFIG_SEABIOS_BOOTMENU_KEY_FILE="$(top)/src/mainboard/$(MAINBOARDDIR)/boot-menu-key"
Expand Down Expand Up @@ -621,6 +622,7 @@ CONFIG_COMPRESSED_PAYLOAD_LZMA=y
CONFIG_MEMTEST_SECONDARY_PAYLOAD=y
CONFIG_MEMTEST_STABLE=y
# CONFIG_MEMTEST_MASTER is not set
CONFIG_MEMTEST_DISABLE_SPD=y
# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set
# CONFIG_TINT_SECONDARY_PAYLOAD is not set
CONFIG_SORTBOOTORDER_SECONDARY_PAYLOAD=y
Expand Down
22 changes: 12 additions & 10 deletions configs/pcengines_apu5.config
Expand Up @@ -17,7 +17,7 @@ CONFIG_COMPILER_GCC=y
# CONFIG_UTIL_GENPARSER is not set
CONFIG_COMPRESS_RAMSTAGE=y
CONFIG_INCLUDE_CONFIG_FILE=y
CONFIG_COLLECT_TIMESTAMPS=y
# CONFIG_COLLECT_TIMESTAMPS is not set
CONFIG_USE_BLOBS=y
# CONFIG_COVERAGE is not set
# CONFIG_UPDATE_IMAGE is not set
Expand Down Expand Up @@ -100,7 +100,7 @@ CONFIG_VENDOR_PCENGINES=y
# CONFIG_VENDOR_WINENT is not set
# CONFIG_VENDOR_WYSE is not set
CONFIG_BOARD_SPECIFIC_OPTIONS=y
CONFIG_MAINBOARD_DIR="pcengines/apu5"
CONFIG_MAINBOARD_DIR="pcengines/apu2"
CONFIG_MAINBOARD_PART_NUMBER="PC Engines apu5"
CONFIG_IRQ_SLOT_COUNT=11
CONFIG_MAINBOARD_VENDOR="PC Engines"
Expand All @@ -126,7 +126,7 @@ CONFIG_MMCONF_BASE_ADDRESS=0xF8000000
CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="PC Engines"
CONFIG_HUDSON_XHCI_FWM=y
CONFIG_POST_IO=y
CONFIG_DEVICETREE="devicetree.cb"
CONFIG_DEVICETREE="variants/$(CONFIG_VARIANT_DIR)/devicetree.cb"
CONFIG_MAX_REBOOT_CNT=3
CONFIG_ID_SECTION_OFFSET=0x80
# CONFIG_BOARD_EMULATION_QEMU_ARMV7 is not set
Expand All @@ -136,6 +136,7 @@ CONFIG_ID_SECTION_OFFSET=0x80
# CONFIG_BOARD_EMULATION_QEMU_UCB_RISCV is not set
# CONFIG_BOARD_EMULATION_SPIKE_UCB_RISCV is not set
CONFIG_POST_DEVICE=y
CONFIG_VARIANT_DIR="apu5"
# CONFIG_VBOOT is not set
CONFIG_DIMM_MAX=4
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
Expand All @@ -157,13 +158,13 @@ CONFIG_MAINBOARD_VERSION="1.0"
CONFIG_BOARD_PCENGINES_APU5=y
# CONFIG_DRIVERS_PS2_KEYBOARD is not set
CONFIG_AGESA_BINARY_PI_FILE="3rdparty/blobs/mainboard/pcengines/apu2/AGESA.bin"
# CONFIG_APU2_PINMUX_OFF_C is not set
# CONFIG_APU2_PINMUX_GPIO0 is not set
CONFIG_APU2_PINMUX_UART_C=y
# CONFIG_APU2_PINMUX_OFF_D is not set
# CONFIG_APU2_PINMUX_GPIO1 is not set
CONFIG_APU2_PINMUX_UART_D=y
# CONFIG_FORCE_MPCIE2_CLK is not set
# CONFIG_APU5_PINMUX_OFF_C is not set
# CONFIG_APU5_PINMUX_GPIO0 is not set
CONFIG_APU5_PINMUX_UART_C=y
# CONFIG_APU5_PINMUX_OFF_D is not set
# CONFIG_APU5_PINMUX_GPIO1 is not set
CONFIG_APU5_PINMUX_UART_D=y
# CONFIG_NO_POST is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set
Expand Down Expand Up @@ -587,7 +588,7 @@ CONFIG_SEABIOS_STABLE=y
# CONFIG_SEABIOS_MASTER is not set
# CONFIG_SEABIOS_REVISION is not set
# CONFIG_SEABIOS_THREAD_OPTIONROMS is not set
CONFIG_SEABIOS_BOOTORDER_FILE="$(top)/src/mainboard/$(MAINBOARDDIR)/bootorder"
CONFIG_SEABIOS_BOOTORDER_FILE="$(top)/src/mainboard/$(MAINBOARDDIR)/variants/$(CONFIG_VARIANT_DIR)/bootorder"
CONFIG_SEABIOS_BOOTORDER_MAP_FILE="$(top)/src/mainboard/$(MAINBOARDDIR)/bootorder_map"
CONFIG_SEABIOS_BOOTORDER_DEF_FILE="$(top)/src/mainboard/$(MAINBOARDDIR)/bootorder_def"
CONFIG_SEABIOS_BOOTMENU_KEY_FILE="$(top)/src/mainboard/$(MAINBOARDDIR)/boot-menu-key"
Expand Down Expand Up @@ -621,6 +622,7 @@ CONFIG_COMPRESSED_PAYLOAD_LZMA=y
CONFIG_MEMTEST_SECONDARY_PAYLOAD=y
CONFIG_MEMTEST_STABLE=y
# CONFIG_MEMTEST_MASTER is not set
CONFIG_MEMTEST_DISABLE_SPD=y
# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set
# CONFIG_TINT_SECONDARY_PAYLOAD is not set
CONFIG_SORTBOOTORDER_SECONDARY_PAYLOAD=y
Expand Down
2 changes: 1 addition & 1 deletion payloads/external/SeaBIOS/Kconfig
Expand Up @@ -72,7 +72,7 @@ config PAYLOAD_CONFIGFILE

config SEABIOS_BOOTORDER_FILE
string "SeaBIOS bootorder file"
default "$(top)/src/mainboard/$(MAINBOARDDIR)/bootorder"
default "$(top)/src/mainboard/$(MAINBOARDDIR)/variants/$(CONFIG_VARIANT_DIR)/bootorder"
help
Add a SeaBIOS bootorder file. From the wiki:
"The bootorder file may be used to configure the boot up order. The file
Expand Down
2 changes: 1 addition & 1 deletion payloads/external/sortbootorder/Makefile
@@ -1,4 +1,4 @@
version=4.5.7
version=4.6.3
branch_name=v$(version)
project_url=https://github.com/pcengines/sortbootorder/archive/$(branch_name).tar.gz
archive_name=$(branch_name).tar.gz
Expand Down