summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2025-04-09 17:10:14 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2025-04-12 11:27:07 +0200
commit151c074253e7a27933fd6964e2bb89a6371f8724 (patch)
tree5c0417e3f1e3d8dbe70e7ad6503925ac498868c0 /target
parent9e072df139f79dae5c2dab9e99f017a2bb1d86a0 (diff)
Linksys NSLU2: update kernel and system config
Diffstat (limited to 'target')
-rw-r--r--target/arm/Makefile12
-rw-r--r--target/arm/kernel/linksys-nslu2110
-rw-r--r--target/arm/systems/linksys-nslu26
-rw-r--r--target/config/Config.in.kernelfmt1
-rw-r--r--target/config/Config.in.rootfs7
-rw-r--r--target/config/Config.in.tools6
-rw-r--r--target/linux/config/Config.in.bus6
-rw-r--r--target/linux/config/Config.in.flash17
-rw-r--r--target/linux/config/Config.in.fs4
-rw-r--r--target/linux/config/Config.in.usb5
-rw-r--r--target/linux/config/Config.in.watchdog9
-rw-r--r--target/linux/patches/6.6.82/linksys-nslu2.patch12
12 files changed, 176 insertions, 19 deletions
diff --git a/target/arm/Makefile b/target/arm/Makefile
index 9ca6969a1..227cc97ca 100644
--- a/target/arm/Makefile
+++ b/target/arm/Makefile
@@ -129,10 +129,6 @@ ifeq ($(ADK_TARGET_FS),nfsroot)
targethelp:
@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
-ifeq ($(ADK_TARGET_SYSTEM_LINKSYS_NSLU2),y)
- @echo "Use following in RedBoot bootloader:"
- @echo "RedBoot> ip_address -l <localip> -h <serverip>; load -r -v -b 0x01d00000 ${TARGET_KERNEL}; exec 0x01d00000"
-endif
endif
ifeq ($(ADK_TARGET_FS),squashfs)
targethelp:
@@ -205,6 +201,9 @@ endif
ifeq ($(ADK_TARGET_SYSTEM_PCDUINO_3B),y)
VENDOR:=allwinner/
endif
+ifeq ($(ADK_TARGET_SYSTEM_LINKSYS_NSLU2),y)
+VENDOR:=intel/ixp/
+endif
endif
dtb-install:
@@ -272,6 +271,9 @@ endif
ifeq ($(ADK_TARGET_SYSTEM_ST_STM32F746G),y)
${KERNEL_MAKE} $(VENDOR)stm32f746-disco.dtb $(MAKE_TRACE)
endif
+ifeq ($(ADK_TARGET_SYSTEM_LINKSYS_NSLU2),y)
+ ${KERNEL_MAKE} $(VENDOR)intel-ixp42x-linksys-nslu2.dtb $(MAKE_TRACE)
+endif
for x in $(LINUX_DIR)/arch/arm/boot/dts/$(VENDOR)*.dtb; do \
[[ -e "$$x" ]] && cp $(LINUX_DIR)/arch/arm/boot/dts/$(VENDOR)*.dtb $(FW_DIR); \
break; \
@@ -294,7 +296,7 @@ ifeq (${ADK_TARGET_FS},genimage)
imageinstall: dtb-install $(FW_DIR)/$(GENIMAGE) targethelp
endif
ifeq ($(ADK_TARGET_FS),nfsroot)
-imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
+imageinstall: kernel-install dtb-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
endif
ifeq ($(ADK_TARGET_FS),squashfs)
imageinstall: $(BUILD_DIR)/root.squashfs kernel-install dtb-install targethelp
diff --git a/target/arm/kernel/linksys-nslu2 b/target/arm/kernel/linksys-nslu2
index a0a941721..39eb3e89f 100644
--- a/target/arm/kernel/linksys-nslu2
+++ b/target/arm/kernel/linksys-nslu2
@@ -1,4 +1,7 @@
CONFIG_ARM=y
+CONFIG_ARCH_MULTIPLATFORM=y
+CONFIG_ARCH_MULTI_V5=y
+CONFIG_ARCH_MULTI_V4_V5=y
CONFIG_ARCH_IXDP425=y
CONFIG_ARCH_IXDP4XX=y
CONFIG_ARCH_IXP4XX=y
@@ -7,6 +10,111 @@ CONFIG_ATAGS=y
CONFIG_CPU_XSCALE=y
CONFIG_IXP4XX_NPE=y
CONFIG_IXP4XX_QMGR=y
-CONFIG_IXP4XX_WATCHDOG=y
CONFIG_MACH_NSLU2=y
CONFIG_FPE_NWFPE=y
+CONFIG_ARM_APPENDED_DTB=y
+CONFIG_ARM_THUMB=y
+CONFIG_KUSER_HELPERS=y
+
+CONFIG_FW_LOADER=y
+CONFIG_FW_LOADER_USER_HELPER=y
+CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_MMIO=y
+CONFIG_INTEL_IXP4XX_EB=y
+CONFIG_MTD=y
+CONFIG_MTD_OF_PARTS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+CONFIG_MTD_OTP=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_UTIL=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_PHYSMAP_IXP4XX=y
+CONFIG_NET_VENDOR_XSCALE=y
+CONFIG_IXP4XX_ETH=y
+CONFIG_PHYLIB=y
+CONFIG_SWPHY=y
+CONFIG_PHYLIB_LEDS=y
+CONFIG_FIXED_PHY=y
+CONFIG_AMD_PHY=y
+CONFIG_REALTEK_PHY=y
+CONFIG_REALTEK_PHY_HWMON=y
+CONFIG_MDIO_DEVICE=y
+CONFIG_MDIO_BUS=y
+CONFIG_FWNODE_MDIO=y
+CONFIG_OF_MDIO=y
+CONFIG_MDIO_DEVRES=y
+CONFIG_IXP4XX_HSS=y
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_16550A_VARIANTS=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+CONFIG_SERIAL_8250_FSL=y
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_MCTRL_GPIO=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_IXP4XX=y
+CONFIG_DEVPORT=y
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_ALGOBIT=y
+CONFIG_I2C_GPIO=y
+CONFIG_I2C_IOP3XX=y
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_OF_GPIO=y
+CONFIG_GPIOLIB_IRQCHIP=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_GENERIC=y
+CONFIG_GPIO_IXP4XX=y
+CONFIG_GPIO_GW_PLD=y
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_GPIO=y
+CONFIG_HWMON=y
+CONFIG_RTC_LIB=y
+CONFIG_RTC_MC146818_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_I2C_AND_SPI=y
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_STAGING=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_IXP4XX_TIMER=y
+CONFIG_IXP4XX_QMGR=y
+CONFIG_IXP4XX_NPE=y
+CONFIG_IRQCHIP=y
+CONFIG_IXP4XX_IRQ=y
diff --git a/target/arm/systems/linksys-nslu2 b/target/arm/systems/linksys-nslu2
index 72f55eadd..18333a17c 100644
--- a/target/arm/systems/linksys-nslu2
+++ b/target/arm/systems/linksys-nslu2
@@ -4,15 +4,17 @@ config ADK_TARGET_SYSTEM_LINKSYS_NSLU2
select ADK_TARGET_BIG_ENDIAN
select ADK_TARGET_CPU_ARM_XSCALE
select ADK_TARGET_WITH_USB
- select ADK_TARGET_WITH_PCI
select ADK_TARGET_WITH_SERIAL
select ADK_TARGET_WITH_NET
select ADK_TARGET_WITH_NETDEVICE
- select ADK_TARGET_WITH_BLOCK
select ADK_TARGET_WITH_I2C
+ select ADK_TARGET_WITH_MTD
+ select ADK_TARGET_WITH_PCI
select ADK_TARGET_KERNEL_ZIMAGE
select ADK_TARGET_KERNEL_WITH_COMPRESSION
select ADK_PACKAGE_IXP4XX_MICROCODE
+ select ADK_PACKAGE_APEX
+ select ADK_HOST_BUILD_UPSLUG2
help
Linksys NSLU2
diff --git a/target/config/Config.in.kernelfmt b/target/config/Config.in.kernelfmt
index 2704b08ae..d4ea880ca 100644
--- a/target/config/Config.in.kernelfmt
+++ b/target/config/Config.in.kernelfmt
@@ -113,3 +113,4 @@ config ADK_TARGET_KERNEL_APPEND_DTB
string
default "armada-xp-synology-ds414" if ADK_TARGET_SYSTEM_SYNOLOGY_DS414 && !ADK_TARGET_KERNEL_VENDORED_DTB
default "marvell/armada-xp-synology-ds414" if ADK_TARGET_SYSTEM_SYNOLOGY_DS414 && ADK_TARGET_KERNEL_VENDORED_DTB
+ default "intel/ixp/intel-ixp42x-linksys-nslu2" if ADK_TARGET_SYSTEM_LINKSYS_NSLU2 && ADK_TARGET_KERNEL_VENDORED_DTB
diff --git a/target/config/Config.in.rootfs b/target/config/Config.in.rootfs
index 5c658fd02..403a2739f 100644
--- a/target/config/Config.in.rootfs
+++ b/target/config/Config.in.rootfs
@@ -59,8 +59,8 @@ config ADK_TARGET_ROOTFS_INITRAMFS
config ADK_TARGET_ROOTFS_SQUASHFS
bool "Compressed read-only root filesystem (squashfs)"
- select ADK_KERNEL_SQUASHFS
- select ADK_HOST_NEED_SQUASHFS
+ select ADK_LINUX_KERNEL_SQUASHFS
+ select ADK_HOST_NEED_SQUASHFS_TOOLS
select ADK_HOST_NEED_QEMU if ADK_TARGET_QEMU
select ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_QEMU
depends on ADK_TARGET_WITH_MTD \
@@ -101,8 +101,7 @@ config ADK_TARGET_ROOTFS_NFSROOT
select ADK_LINUX_KERNEL_IP_PNP_DHCP if ADK_TARGET_OS_LINUX
depends on !ADK_TARGET_QEMU && \
!ADK_TARGET_SIM && \
- !ADK_TARGET_SYSTEM_ARANYM_M68K && \
- !ADK_TARGET_SYSTEM_LINKSYS_NSLU2
+ !ADK_TARGET_SYSTEM_ARANYM_M68K
depends on ADK_TARGET_WITH_NETDEVICE
help
Root filesystem mounted via NFS. (DHCP)
diff --git a/target/config/Config.in.tools b/target/config/Config.in.tools
index b87827140..0a0a0ef81 100644
--- a/target/config/Config.in.tools
+++ b/target/config/Config.in.tools
@@ -284,13 +284,13 @@ config ADK_HOST_BUILD_OPKG
default y if ADK_HOST_NEED_OPKG
default n
-config ADK_HOST_NEED_SQUASHFS
+config ADK_HOST_NEED_SQUASHFS_TOOLS
bool
default n
-config ADK_HOST_BUILD_SQUASHFS
+config ADK_HOST_BUILD_SQUASHFS_TOOLS
bool
- default y if ADK_HOST_NEED_SQUASHFS
+ default y if ADK_HOST_NEED_SQUASHFS_TOOLS
default n
config ADK_HOST_NEED_SYSLINUX
diff --git a/target/linux/config/Config.in.bus b/target/linux/config/Config.in.bus
index 45c79e1eb..54eddce4a 100644
--- a/target/linux/config/Config.in.bus
+++ b/target/linux/config/Config.in.bus
@@ -25,3 +25,9 @@ config ADK_LINUX_KERNEL_PCI_IMX6
default y if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \
ADK_TARGET_SYSTEM_PHYTEC_IMX6
default n
+
+config ADK_LINUX_KERNEL_PCI_IXP4XX
+ bool
+ depends on ADK_TARGET_SYSTEM_LINKSYS_NSLU2
+ default y if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
+ default n
diff --git a/target/linux/config/Config.in.flash b/target/linux/config/Config.in.flash
index effa41d58..38c5cf7b2 100644
--- a/target/linux/config/Config.in.flash
+++ b/target/linux/config/Config.in.flash
@@ -91,6 +91,22 @@ config ADK_LINUX_KERNEL_ETRAX_AXISFLASHMAP
depends on ADK_TARGET_SYSTEM_FOXBOARD_LX832
default y if ADK_TARGET_SYSTEM_FOXBOARD_LX832
+config ADK_LINUX_KERNEL_MTD_PHYSMAP_IXP4XX
+ bool "Linksys NSLU2 Flashmap driver"
+ select ADK_LINUX_KERNEL_BLOCK
+ select ADK_LINUX_KERNEL_MTD
+ select ADK_LINUX_KERNEL_MTD_PARTITIONS
+ select ADK_LINUX_KERNEL_MTD_CHAR
+ select ADK_LINUX_KERNEL_MTD_BLKDEVS
+ select ADK_LINUX_KERNEL_MTD_BLOCK
+ select ADK_LINUX_KERNEL_MTD_ROOTFS_ROOT_DEV
+ select ADK_LINUX_KERNEL_MTD_CFI
+ select ADK_LINUX_KERNEL_MTD_CFI_INTELEXT
+ select ADK_LINUX_KERNEL_MTD_PHYSMAP
+ select ADK_LINUX_KERNEL_MTD_PHYSMAP_OF
+ depends on ADK_TARGET_SYSTEM_LINKSYS_NSLU2
+ default y if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
+
config ADK_LINUX_KERNEL_MTD_M25P80
bool "MTD M25P80 driver"
select ADK_LINUX_KERNEL_BLOCK
@@ -164,6 +180,7 @@ config ADK_TARGET_MTD_SIZE
depends on ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_S3ADSP1800 \
|| ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_ML605 \
|| ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9 \
+ || ADK_TARGET_SYSTEM_LINKSYS_NSLU2 \
|| ADK_TARGET_SYSTEM_MIKROTIK_RB532
default "16777216" if ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_S3ADSP1800
default "33554432" if ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_ML605
diff --git a/target/linux/config/Config.in.fs b/target/linux/config/Config.in.fs
index 1bed25ee6..ee4a0204e 100644
--- a/target/linux/config/Config.in.fs
+++ b/target/linux/config/Config.in.fs
@@ -43,9 +43,6 @@ config ADK_LINUX_KERNEL_FAT_DEFAULT_IOCHARSET
string
default "iso8859-1"
-config ADK_LINUX_KERNEL_SQUASHFS_XZ
- bool
-
config ADK_LINUX_KERNEL_JFFS2_COMPRESSION_OPTIONS
bool
@@ -253,7 +250,6 @@ config ADK_LINUX_KERNEL_JFFS2_FS
config ADK_LINUX_KERNEL_SQUASHFS
tristate "SquashFS filesystem"
select ADK_LINUX_KERNEL_MISC_FILESYSTEMS
- select ADK_LINUX_KERNEL_SQUASHFS_XZ
help
Squashfs compressed read-only filesystem
diff --git a/target/linux/config/Config.in.usb b/target/linux/config/Config.in.usb
index 157c2f222..e6e3351f6 100644
--- a/target/linux/config/Config.in.usb
+++ b/target/linux/config/Config.in.usb
@@ -78,6 +78,7 @@ config ADK_LINUX_KERNEL_USB
select ADK_LINUX_KERNEL_NLS
select ADK_LINUX_KERNEL_USB_SUPPORT
select ADK_LINUX_KERNEL_USB_ANNOUNCE_NEW_DEVICES
+ select ADK_LINUX_KERNEL_USB_PCI if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
default m if ADK_TARGET_SYSTEM_PCENGINES_APU
default m if ADK_TARGET_SYSTEM_PCENGINES_ALIX
default m if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
@@ -88,6 +89,7 @@ config ADK_LINUX_KERNEL_USB
default y if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
+ default y if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
default n
help
Universal Serial Bus (USB) is a specification for a serial bus
@@ -159,6 +161,7 @@ config ADK_LINUX_KERNEL_USB_EHCI_HCD
default y if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
+ default y if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
default n
help
The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
@@ -205,11 +208,13 @@ config ADK_LINUX_KERNEL_USB_OHCI_HCD
select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_PCENGINES_ALIX
select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_PCENGINES_APU
select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
default m if ADK_TARGET_SYSTEM_PCENGINES_APU
default m if ADK_TARGET_SYSTEM_PCENGINES_ALIX
default m if ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
default m if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ default y if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
default n
help
The Open Host Controller Interface (OHCI) is a standard for accessing
diff --git a/target/linux/config/Config.in.watchdog b/target/linux/config/Config.in.watchdog
index 59c60d94f..eaa07a65d 100644
--- a/target/linux/config/Config.in.watchdog
+++ b/target/linux/config/Config.in.watchdog
@@ -35,6 +35,15 @@ config ADK_LINUX_KERNEL_IMX2_WDT
help
Watchdog driver for IMX6 boards.
+config ADK_LINUX_KERNEL_IXP4XX_WATCHDOG
+ bool "Hardware Watchdog for Linksys NSLU2"
+ select ADK_LINUX_KERNEL_WATCHDOG
+ depends on ADK_TARGET_SYSTEM_LINKSYS_NSLU2
+ default y if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
+ default n
+ help
+ Watchdog driver for Linksys NSLU2.
+
config ADK_LINUX_KERNEL_SCx200_WDT
bool "Natsemi Hardware Watchdog"
depends on ADK_TARGET_SYSTEM_PCENGINES_WRAP
diff --git a/target/linux/patches/6.6.82/linksys-nslu2.patch b/target/linux/patches/6.6.82/linksys-nslu2.patch
new file mode 100644
index 000000000..20958062e
--- /dev/null
+++ b/target/linux/patches/6.6.82/linksys-nslu2.patch
@@ -0,0 +1,12 @@
+diff -Nur linux-6.6.82.orig/arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts linux-6.6.82/arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts
+--- linux-6.6.82.orig/arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts 2025-03-09 09:55:04.000000000 +0100
++++ linux-6.6.82/arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts 2025-04-08 19:11:26.464512676 +0200
+@@ -21,7 +21,7 @@
+ };
+
+ chosen {
+- bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock2 rw rootfstype=squashfs,jffs2 rootwait";
++ bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock4 rootfstype=squashfs rootwait";
+ stdout-path = "uart0:115200n8";
+ };
+