From dd7df191b6c8c3bbbece31b6946018dbaef553b4 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 5 Sep 2021 22:45:08 +0200 Subject: gnu: u-boot-nintendo-nes-classic-edition: Make it actually boot again. * gnu/packages/patches/u-boot-nintendo-nes-serial.patch: New file. * gnu/local.mk (dist_patch_DATA): Add u-boot-nintendo-nes-serial.patch. * gnu/packages/bootloaders.scm (u-boot-nintendo-nes-classic-edition): Downgrade to 2018.11. [source]: Add patch. [description]: Modify. [native-inputs]: Add python-2. --- gnu/local.mk | 1 + gnu/packages/bootloaders.scm | 29 +++++++++++++++++++++- .../patches/u-boot-nintendo-nes-serial.patch | 14 +++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/u-boot-nintendo-nes-serial.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9abaf0cfec..f848a8c61f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1801,6 +1801,7 @@ dist_patch_DATA = \ %D%/packages/patches/tup-unbundle-dependencies.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/twinkle-bcg729.patch \ + %D%/packages/patches/u-boot-nintendo-nes-serial.patch \ %D%/packages/patches/u-boot-rockchip-inno-usb.patch \ %D%/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch \ %D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \ diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 2889a90d54..5f7dfa0f8f 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -802,7 +802,34 @@ it fits within common partitioning schemes.") (make-u-boot-package "A20-OLinuXino_MICRO" "arm-linux-gnueabihf")) (define-public u-boot-nintendo-nes-classic-edition - (make-u-boot-package "Nintendo_NES_Classic_Edition" "arm-linux-gnueabihf")) + (let ((base (make-u-boot-package "Nintendo_NES_Classic_Edition" + "arm-linux-gnueabihf"))) + (package + (inherit base) + ;; Starting with 2019.01, FEL doesn't work anymore on A33. + (version "2018.11") + (source (origin + (method url-fetch) + (uri (string-append + "https://ftp.denx.de/pub/u-boot/" + "u-boot-" version ".tar.bz2")) + (sha256 + (base32 + "0znkwljfwwn4y7j20pzz4ilqw8znphrfxns0x1lwdzh3xbr96z3k")) + (patches (search-patches + "u-boot-nintendo-nes-serial.patch")))) + (description "U-Boot is a bootloader used mostly for ARM boards. It +also initializes the boards (RAM etc). + +This version is for the Nintendo NES Classic Edition. It is assumed that +you have added a serial port to pins PB0 and PB1 as described on +@url{https://linux-sunxi.org/Nintendo_NES_Classic_Edition}. + +In order to use FEL mode on the device, hold the Reset button on the +device while it's being turned on (and a while longer).") + (native-inputs + `(("python" ,python-2) + ,@(package-native-inputs base)))))) (define-public u-boot-wandboard (make-u-boot-package "wandboard" "arm-linux-gnueabihf")) diff --git a/gnu/packages/patches/u-boot-nintendo-nes-serial.patch b/gnu/packages/patches/u-boot-nintendo-nes-serial.patch new file mode 100644 index 0000000000..3588236803 --- /dev/null +++ b/gnu/packages/patches/u-boot-nintendo-nes-serial.patch @@ -0,0 +1,14 @@ +Date: Sun, 5 Sep 2021 23:24:00 +0200 +Author: Danny Milosavljevic +Description: Set console UART to use pins PB0 and PB1. +--- u-boot-2018.11/configs/Nintendo_NES_Classic_Edition_defconfig.orig 2021-09-05 23:09:15.905846467 +0200 ++++ u-boot-2018.11/configs/Nintendo_NES_Classic_Edition_defconfig 2021-09-05 23:12:21.562774694 +0200 +@@ -21,7 +21,7 @@ + CONFIG_SYS_NAND_OOBSIZE=0x40 + CONFIG_AXP_DLDO1_VOLT=3300 + CONFIG_AXP_ELDO2_VOLT=1800 +-CONFIG_CONS_INDEX=5 ++CONFIG_CONS_INDEX=1 + CONFIG_USB_MUSB_GADGET=y + CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y + CONFIG_USB_FUNCTION_MASS_STORAGE=y -- cgit v1.2.3