[LEDE-DEV] [RFC 0/6 v2] Add the PC Engines APU2 to LEDE

Chris Blake chrisrblake93 at gmail.com
Sat Oct 22 10:39:22 PDT 2016

This is the 2nd RFC to port the PC Engines APU2 board to LEDE. The last RFC can be found at http://lists.infradead.org/pipermail/lede-dev/2016-October/003326.html

Things Working:
 - board detection
 - USB ports
 - LED/Button support
 - ath9k and ath10k - to support both wireless cards sold via PC Engines
 - SP5100 Watchdog
 - NCT5104D GPIO Driver
 - PC Buzzer
 - AES-NI Acceleration

Not Working:
 - You tell me?

Default Packages:
 - flashrom - BIOS Upgrades
 - lm-sensors - Temp Monitoring
 - wpad-mini - Wireless AP support
 - beep - PC Speaker support
 - usbutils - lsusb and other tools

Changes added from the last RFC:
 - Unsquashed SP5100_TCO patches and moved them to generic
 - Added "beep" package, as well as the required kmods to use it. - Patch for adding beep can be found at http://lists.infradead.org/pipermail/lede-dev/2016-October/003455.html
 - Added AES-NI patch from http://lists.infradead.org/pipermail/lede-dev/2016-October/003332.html to linux/generic - Thanks Ben!
 - Enabled AES-NI into the x86_64 config-default
 - Removed CONFIG_INPUT_PCSPKR from x86 config
 - Added lsusb utility
 - Removed hwmon definition from x86_64 config-default (thanks to https://github.com/lede-project/source/commit/5f9598a432d92c1b60f4f2c724da0912cd3369a1)
 - Remove unused default modules at the profile level
 - Removed hwclock package as it's included in busybox
 - Updates to the led-apu2.c driver around board detection

Changes rejected from the last RFC:
 - add usb-serial-kmod - The goal of this port is to add support for all sold hardware via PC Engines. As they do not sell 2G/3G/4G PCI-E modems, this will not be included.
 - add AES_NI_INTEL to crypto-aes - http://lists.infradead.org/pipermail/lede-dev/2016-October/003331.html is no longer relevant as crypto-aes was removed from crypto.mk

Things that still need working out:
 - Default Packages - Currently the "goal" of my unofficial port was to make sure all features of the device, and hardware sold via PC Engines, is supported. Is this the path LEDE wants to take, or should it be more of a "minimal" approach? AKA, no packages/ath*k
 - Profile Specific Images - So far the ./image/Makefile does not seem to support 'profiles'. This will need to be fixed, so APU2 & Generic images can build without merging.
 - x86_64 kernel config - GPIO support had to be added. Should this be done here, or in the root target kernel config like other targets? Also, DEVMEM was added for flashrom. Is this an issue, or would it be OK to keep this in?
 - AES-NI - Currently we are enabling it via the kernel config as the crypto-aes module was removed from being a kmod. Do we want to try to re-add it as a module?

If there are any comments, suggestions, or visible improvements please let me know/reply with some patches.

Cc: Jo-Philipp Wich <jo at mein.io>
Cc: Felix Fietkau <nbd at nbd.name>

Signed-off-by: Chris Blake <chrisrblake93 at gmail.com>

Chris Blake (6):
  Generic: Backport sp5100_tco patches for AMD platforms
  x86: Add LED & GPIO drivers for the PC Engines APU2 board
  x86: Add sp5100_tco as a kernel module
  Generic: Crypto - aesni - add ccm(aes) algorithm implementation
  x86: Update the x86_64 kernel config
  x86: Add a Profile for the PC Engines APU2 board

 ...5100_tco-Add-AMD-Mullins-platform-support.patch |  30 ++
 ...5100_tco-Add-AMD-Carrizo-platform-support.patch |  31 ++
 ...device-check-for-SB800-and-later-chipsets.patch |  80 +++
 ...5100_tco-properly-check-for-new-register-.patch |  76 +++
 ...esni-add-ccm-aes-algorithm-implementation.patch | 552 +++++++++++++++++++++
 target/linux/x86/64/config-default                 |  14 +-
 target/linux/x86/64/profiles/001-PCEngines.mk      |  21 +
 target/linux/x86/base-files/etc/board.d/01_leds    |  22 +
 target/linux/x86/base-files/etc/board.d/02_network |  26 +
 target/linux/x86/base-files/etc/diag.sh            |  37 ++
 target/linux/x86/base-files/lib/x86.sh             |  13 +
 .../linux/x86/files/drivers/gpio/gpio-nct5104d.c   | 432 ++++++++++++++++
 target/linux/x86/files/drivers/leds/leds-apu2.c    | 374 ++++++++++++++
 target/linux/x86/modules.mk                        |  36 ++
 .../x86/patches-4.4/800-add-apu2-led-driver.patch  |  29 ++
 .../patches-4.4/801-add-nct5104d-gpio-driver.patch |  27 +
 16 files changed, 1799 insertions(+), 1 deletion(-)
 create mode 100644 target/linux/generic/patches-4.4/097-0001-sp5100_tco-Add-AMD-Mullins-platform-support.patch
 create mode 100644 target/linux/generic/patches-4.4/097-0002-sp5100_tco-Add-AMD-Carrizo-platform-support.patch
 create mode 100644 target/linux/generic/patches-4.4/097-0003-sp5100_tco-fix-the-device-check-for-SB800-and-later-chipsets.patch
 create mode 100644 target/linux/generic/patches-4.4/097-0004-watchdog-sp5100_tco-properly-check-for-new-register-.patch
 create mode 100644 target/linux/generic/patches-4.4/891-0001-crypto-aesni-add-ccm-aes-algorithm-implementation.patch
 create mode 100644 target/linux/x86/64/profiles/001-PCEngines.mk
 create mode 100755 target/linux/x86/base-files/etc/board.d/01_leds
 create mode 100755 target/linux/x86/base-files/etc/board.d/02_network
 create mode 100755 target/linux/x86/base-files/etc/diag.sh
 create mode 100755 target/linux/x86/base-files/lib/x86.sh
 create mode 100644 target/linux/x86/files/drivers/gpio/gpio-nct5104d.c
 create mode 100644 target/linux/x86/files/drivers/leds/leds-apu2.c
 create mode 100644 target/linux/x86/modules.mk
 create mode 100644 target/linux/x86/patches-4.4/800-add-apu2-led-driver.patch
 create mode 100644 target/linux/x86/patches-4.4/801-add-nct5104d-gpio-driver.patch


More information about the Lede-dev mailing list