Showing with 7,737 additions and 692 deletions.
  1. +194 −0 .gitlab-ci.yml
  2. +16 −4 CHANGELOG.md
  3. +1 −0 Makefile
  4. +46 −14 configs/pcengines_apu2.config
  5. +46 −14 configs/pcengines_apu3.config
  6. +455 −0 configs/pcengines_apu4.config
  7. +46 −14 configs/pcengines_apu5.config
  8. +2 −2 payloads/external/SeaBIOS/Kconfig
  9. +24 −2 src/Kconfig
  10. +6 −8 src/cpu/amd/pi/spi.c
  11. +44 −25 src/drivers/spi/Kconfig
  12. +27 −3 src/drivers/spi/Makefile.inc
  13. +15 −25 src/drivers/spi/adesto.c
  14. +14 −23 src/drivers/spi/amic.c
  15. +16 −25 src/drivers/spi/atmel.c
  16. +16 −17 src/drivers/spi/eon.c
  17. +33 −42 src/drivers/spi/gigadevice.c
  18. +24 −39 src/drivers/spi/macronix.c
  19. +83 −42 src/drivers/spi/spansion.c
  20. +177 −0 src/drivers/spi/spi-generic.c
  21. +202 −122 src/drivers/spi/spi_flash.c
  22. +15 −23 src/drivers/spi/spi_flash_internal.h
  23. +115 −26 src/drivers/spi/sst.c
  24. +80 −82 src/drivers/spi/stmicro.c
  25. +69 −29 src/drivers/spi/winbond.c
  26. +142 −29 src/include/spi-generic.h
  27. +67 −20 src/include/spi_flash.h
  28. +5 −0 src/mainboard/pcengines/Kconfig
  29. +2 −0 src/mainboard/pcengines/apu2/Kconfig
  30. +6 −6 src/mainboard/pcengines/apu2/devicetree.cb
  31. +106 −27 src/mainboard/pcengines/apu2/mainboard.c
  32. +3 −1 src/mainboard/pcengines/apu3/Kconfig
  33. +105 −27 src/mainboard/pcengines/apu3/mainboard.c
  34. +168 −0 src/mainboard/pcengines/apu4/BiosCallOuts.c
  35. +264 −0 src/mainboard/pcengines/apu4/HYNIX-2G-1333.spd.hex
  36. +261 −0 src/mainboard/pcengines/apu4/HYNIX-4G-1333-ECC.spd.hex
  37. +262 −0 src/mainboard/pcengines/apu4/HYNIX-4G-1333-NOECC.spd.hex
  38. +139 −0 src/mainboard/pcengines/apu4/Kconfig
  39. +128 −0 src/mainboard/pcengines/apu4/Makefile.inc
  40. +72 −0 src/mainboard/pcengines/apu4/OptionsIds.h
  41. +126 −0 src/mainboard/pcengines/apu4/PlatformGnbPcie.c
  42. +31 −0 src/mainboard/pcengines/apu4/PlatformGnbPcieComplex.h
  43. +84 −0 src/mainboard/pcengines/apu4/acpi/gpe.asl
  44. +1 −0 src/mainboard/pcengines/apu4/acpi/ide.asl
  45. +41 −0 src/mainboard/pcengines/apu4/acpi/mainboard.asl
  46. +475 −0 src/mainboard/pcengines/apu4/acpi/pci_int.asl
  47. +217 −0 src/mainboard/pcengines/apu4/acpi/routing.asl
  48. +1 −0 src/mainboard/pcengines/apu4/acpi/sata.asl
  49. +27 −0 src/mainboard/pcengines/apu4/acpi/si.asl
  50. +97 −0 src/mainboard/pcengines/apu4/acpi/sleep.asl
  51. +31 −0 src/mainboard/pcengines/apu4/acpi/superio.asl
  52. +1 −0 src/mainboard/pcengines/apu4/acpi/thermal.asl
  53. +41 −0 src/mainboard/pcengines/apu4/acpi/usb_oc.asl
  54. +289 −0 src/mainboard/pcengines/apu4/acpi_tables.c
  55. +760 −0 src/mainboard/pcengines/apu4/agesawrapper.c
  56. +62 −0 src/mainboard/pcengines/apu4/agesawrapper.h
  57. +59 −0 src/mainboard/pcengines/apu4/apu2.h
  58. +194 −0 src/mainboard/pcengines/apu4/bios_knobs.c
  59. +38 −0 src/mainboard/pcengines/apu4/bios_knobs.h
  60. +6 −0 src/mainboard/pcengines/apu4/board_info.txt
  61. BIN src/mainboard/pcengines/apu4/boot-menu-key
  62. +1 −0 src/mainboard/pcengines/apu4/boot-menu-message
  63. BIN src/mainboard/pcengines/apu4/boot-menu-wait
  64. BIN src/mainboard/pcengines/apu4/bootorder
  65. +18 −0 src/mainboard/pcengines/apu4/bootorder_def
  66. +10 −0 src/mainboard/pcengines/apu4/bootorder_map
  67. +13 −0 src/mainboard/pcengines/apu4/cmos.default
  68. +129 −0 src/mainboard/pcengines/apu4/cmos.layout
  69. +95 −0 src/mainboard/pcengines/apu4/devicetree.cb
  70. +94 −0 src/mainboard/pcengines/apu4/dsdt.asl
  71. +108 −0 src/mainboard/pcengines/apu4/irq_tables.c
  72. +341 −0 src/mainboard/pcengines/apu4/mainboard.c
  73. +202 −0 src/mainboard/pcengines/apu4/mptable.c
  74. +204 −0 src/mainboard/pcengines/apu4/rel_notes.txt
  75. +266 −0 src/mainboard/pcengines/apu4/romstage.c
  76. BIN src/mainboard/pcengines/apu4/sercon-port
  77. +2 −0 src/mainboard/pcengines/apu5/Kconfig
  78. +2 −1 src/southbridge/amd/pi/hudson/Makefile.inc
  79. +175 −0 src/southbridge/amd/pi/hudson/spi.c
194 changes: 194 additions & 0 deletions .gitlab-ci.yml
@@ -0,0 +1,194 @@
image: registry.gitlab.com/pcengines/apu2-documentation:latest

services:
- docker:dind

variables:
RELEASE_DIR: ${CI_PROJECT_DIR}/apu2_fw_rel

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

check_dependencies:
stage: check_dependencies
script:
- git ls-remote https://github.com/pcengines/release_manifests.git | grep ${CI_COMMIT_REF_NAME}
only:
- tags

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
MANIFEST_FALLBACK_BRANCH: coreboot-xxxx
stage: build_rom
tags:
- docker
dependencies:
- build_crosscompiler
script:
- mkdir -p apu2_fw_rel && cd apu2_fw_rel
- if [ -n "$CI_COMMIT_TAG" ]; then REPO_REVISION="refs/tags/$CI_COMMIT_REF_NAME"; else REPO_REVISION="$CI_COMMIT_REF_NAME"; fi
- git ls-remote https://github.com/pcengines/coreboot.git | grep ${REPO_REVISION} || REPO_REVISION="$MANIFEST_FALLBACK_BRANCH"
- repo init -u https://github.com/pcengines/release_manifests.git -b ${REPO_REVISION}
- 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
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
MANIFEST_FALLBACK_BRANCH: coreboot-4.0.x

.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
MANIFEST_FALLBACK_BRANCH: coreboot-4.0.x

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

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

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


build:apu4:
<<: *build_rom_apu
variables:
PLATFORM: apu4
MANIFEST_FALLBACK_BRANCH: coreboot-4.0.x

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

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

publish:apu4:
<<: *publish_rom
variables:
PLATFORM: apu4


build:apu5:
<<: *build_rom_apu
variables:
PLATFORM: apu5
MANIFEST_FALLBACK_BRANCH: coreboot-4.0.x

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

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

publish:apu5:
<<: *publish_rom
variables:
PLATFORM: apu5
20 changes: 16 additions & 4 deletions CHANGELOG.md
Expand Up @@ -8,18 +8,29 @@ Releases 4.5.x and 4.6.x are based on mainline support submitted in

## [Unreleased]

## [v4.0.16] - 2018-04-06
### Added
- APU4 target
- Enable serial console with S1 button feature

### Changed
- Updated SeaBIOS to rel-1.11.0.4

### Fixed
- `make distclean` affects payloads too

## [v4.0.15] - 2018-03-01
## Fixed
### Fixed
- SeaBIOS default repository URL
- coreboot default console loglevel
- SMBIOS part number format

## Changed
### Changed
- upgraded SeaBIOS to rel-1.11.0.3
- upgraded sortbootorder to v4.6.5
- iPXE is built from master branch

## Added
### Added
- network card PCI ID is set properly according to target board
- apu features can be now restored to deafults by pressing `R` in sortbootorder

Expand Down Expand Up @@ -146,7 +157,8 @@ Releases 4.5.x and 4.6.x are based on mainline support submitted in
- forced to use SD in 2.0 mode
- git repository in `Makefile`

[Unreleased]: https://github.com/pcengines/coreboot/compare/v4.0.15...coreboot-4.0.x
[Unreleased]: https://github.com/pcengines/coreboot/compare/v4.0.16...coreboot-4.0.x
[v4.0.16]: https://github.com/pcengines/coreboot/compare/v4.0.15...v4.0.16
[v4.0.15]: https://github.com/pcengines/coreboot/compare/v4.0.14...v4.0.15
[v4.0.14]: https://github.com/pcengines/coreboot/compare/v4.0.13...v4.0.14
[v4.0.13]: https://github.com/pcengines/coreboot/compare/v4.0.12...v4.0.13
Expand Down
1 change: 1 addition & 0 deletions Makefile
Expand Up @@ -281,5 +281,6 @@ clean-cscope:

distclean: clean
rm -f .config .config.old ..config.tmp .kconfig.d .tmpconfig* .ccwrap .xcompile
rm -rf payloads/external/SeaBIOS/seabios payloads/external/iPXE/ipxe payloads/external/sortbootorder/sortbootorder

.PHONY: $(PHONY) clean clean-for-update clean-cscope cscope distclean doxygen doxy doxygen_simple