diff --git a/devices/Makefile b/devices/Makefile index acb21ce9..c6105c97 100644 --- a/devices/Makefile +++ b/devices/Makefile @@ -7,3 +7,8 @@ # OBJS += $(addprefix $(PREFIX_O)devices/, devs.o) + +PLO_DEVICES ?= $(PLO_ALLDEVICES) + +PLO_USED_DEVS = $(filter $(PLO_ALLDEVICES), $(PLO_DEVICES)) +include $(foreach dev, $(PLO_USED_DEVS), devices/$(dev)/Makefile) diff --git a/hal/armv7a/imx6ull/Makefile b/hal/armv7a/imx6ull/Makefile index 7c76b14e..f1789f04 100644 --- a/hal/armv7a/imx6ull/Makefile +++ b/hal/armv7a/imx6ull/Makefile @@ -21,17 +21,33 @@ CFLAGS += -DVADDR_KERNEL_INIT=$(VADDR_KERNEL_INIT) PLO_COMMANDS ?= alias app call console copy dump echo erase go help jffs2 kernel map mem phfs script \ test-dev test-ddr wait -ifeq ($(PLO_NAND), y) - include devices/nand-imx6ull/Makefile +PLO_ALLDEVICES := nand-imx6ull flash-imx6ull uart-imx6ull usbc-cdc + +ifdef PLO_NAND + $(warning Usage of PLO_NAND is deprecated, devices should be passed explicitly) + PLO_DEVCFG_DEPRECATED = y endif -ifeq ($(PLO_NOR), y) - include devices/flash-imx6ull/Makefile + +ifdef PLO_NOR + $(warning Usage of PLO_NOR is deprecated, devices should be passed explicitly) + PLO_DEVCFG_DEPRECATED = y endif + +ifdef PLO_DEVCFG_DEPRECATED + PLO_ALLDEVICES := $(filter-out nand-imx6ull flash-imx6ull, $(PLO_ALLDEVICES)) + ifeq ($(PLO_NAND), y) + PLO_ALLDEVICES += nand-imx6ull + endif + + ifeq ($(PLO_NOR), y) + PLO_ALLDEVICES += flash-imx6ull + endif +endif + + ifeq ($(PLO_NOR_BOOT), y) CFLAGS += -DPLO_NOR_BOOT endif -include devices/uart-imx6ull/Makefile -include devices/usbc-cdc/Makefile OBJS += $(addprefix $(PREFIX_O)hal/$(TARGET_SUFF)/$(TARGET_SUBFAMILY)/, _init.o imx6ull.o hal.o timer.o \ interrupts.o console.o) diff --git a/hal/armv7a/zynq7000/Makefile b/hal/armv7a/zynq7000/Makefile index e1aa910f..e00b89b7 100644 --- a/hal/armv7a/zynq7000/Makefile +++ b/hal/armv7a/zynq7000/Makefile @@ -17,11 +17,7 @@ CFLAGS += -DVADDR_KERNEL_INIT=$(VADDR_KERNEL_INIT) PLO_COMMANDS ?= alias app bitstream call console copy dump echo erase go help jffs2 kernel map mem \ phfs reboot script test-ddr test-dev wait -include devices/gpio-zynq7000/Makefile -include devices/usbc-cdc/Makefile -include devices/uart-zynq7000/Makefile -include devices/flash-zynq7000/Makefile -include devices/sdcard-zynq7000/Makefile +PLO_ALLDEVICES := gpio-zynq7000 usbc-cdc uart-zynq7000 flash-zynq7000 sdcard-zynq7000 OBJS += $(addprefix $(PREFIX_O)hal/$(TARGET_SUFF)/$(TARGET_SUBFAMILY)/, _init.o hal.o zynq.o timer.o \ interrupts.o console.o) diff --git a/hal/armv7m/imxrt/10xx/105x/Makefile b/hal/armv7m/imxrt/10xx/105x/Makefile index 0fa10870..b8e425ca 100644 --- a/hal/armv7m/imxrt/10xx/105x/Makefile +++ b/hal/armv7m/imxrt/10xx/105x/Makefile @@ -15,9 +15,6 @@ CFLAGS+= -mfloat-abi=soft PLO_COMMANDS ?= alias app call console copy dump echo erase go help kernel kernelimg map \ mem mpu otp phfs reboot script wait -#include devices/pipe-rtt/Makefile -include devices/usbc-cdc/Makefile -include devices/uart-imxrt106x/Makefile -include devices/flash-imxrt/Makefile +PLO_ALLDEVICES := usbc-cdc uart-imxrt106x flash-imxrt # pipe-rtt OBJS += $(addprefix $(PREFIX_O)hal/$(TARGET_SUFF)/imxrt/10xx/105x/, _init.o imxrt.o) diff --git a/hal/armv7m/imxrt/10xx/106x/Makefile b/hal/armv7m/imxrt/10xx/106x/Makefile index 0c64ceec..64ae2da8 100644 --- a/hal/armv7m/imxrt/10xx/106x/Makefile +++ b/hal/armv7m/imxrt/10xx/106x/Makefile @@ -15,9 +15,6 @@ CFLAGS+= -mfloat-abi=soft PLO_COMMANDS ?= alias app bootrom call console copy dump echo erase go help kernel kernelimg map \ mem mpu otp phfs reboot script wait -include devices/pipe-rtt/Makefile -include devices/usbc-cdc/Makefile -include devices/uart-imxrt106x/Makefile -include devices/flash-imxrt/Makefile +PLO_ALLDEVICES := pipe-rtt usbc-cdc uart-imxrt106x flash-imxrt OBJS += $(addprefix $(PREFIX_O)hal/$(TARGET_SUFF)/imxrt/10xx/106x/, _init.o imxrt.o bootrom.o) diff --git a/hal/armv7m/imxrt/117x/Makefile b/hal/armv7m/imxrt/117x/Makefile index c3f7a291..98ebe0c9 100644 --- a/hal/armv7m/imxrt/117x/Makefile +++ b/hal/armv7m/imxrt/117x/Makefile @@ -15,9 +15,6 @@ CFLAGS += -mfloat-abi=soft PLO_COMMANDS ?= alias app bootcm4 bootrom call console copy dump echo erase go help kernel kernelimg \ map mem mpu otp phfs reboot script wait -include devices/pipe-rtt/Makefile -include devices/usbc-cdc/Makefile -include devices/uart-imxrt117x/Makefile -include devices/flash-imxrt/Makefile +PLO_ALLDEVICES := pipe-rtt usbc-cdc uart-imxrt117x flash-imxrt OBJS += $(addprefix $(PREFIX_O)hal/$(TARGET_SUFF)/imxrt/117x/, _init.o imxrt.o timer.o console.o bootrom.o otp.o) diff --git a/hal/armv7m/stm32/l4/Makefile b/hal/armv7m/stm32/l4/Makefile index 3bb39a37..d1f8f399 100644 --- a/hal/armv7m/stm32/l4/Makefile +++ b/hal/armv7m/stm32/l4/Makefile @@ -15,9 +15,6 @@ CFLAGS += -mfloat-abi=soft PLO_COMMANDS ?= alias app bankswitch call console copy dump echo go help kernelimg map mem mpu \ phfs reboot script wait -#include devices/pipe-rtt/Makefile -include devices/uart-stm32l4x6/Makefile -include devices/flash-stm32/Makefile -include devices/ram-storage/Makefile +PLO_ALLDEVICES := uart-stm32l4x6 flash-stm32 ram-storage # pipe-rtt OBJS += $(addprefix $(PREFIX_O)hal/$(TARGET_SUFF)/stm32/l4/, _init.o stm32l4.o timer.o console.o) diff --git a/hal/armv8m/nrf/91/Makefile b/hal/armv8m/nrf/91/Makefile index fa159d42..b03472e6 100644 --- a/hal/armv8m/nrf/91/Makefile +++ b/hal/armv8m/nrf/91/Makefile @@ -15,7 +15,6 @@ CFLAGS += -mfloat-abi=soft PLO_COMMANDS ?= alias app call console copy dump echo go help kernel kernelimg map mem phfs \ reboot script wait -include devices/uart-nrf9160/Makefile -include devices/flash-nrf9160/Makefile +PLO_ALLDEVICES := uart-nrf9160 flash-nrf9160 OBJS += $(addprefix $(PREFIX_O)hal/$(TARGET_SUFF)/nrf/91/, _init.o nrf91.o timer.o console.o) diff --git a/hal/ia32/Makefile b/hal/ia32/Makefile index 8e9d10ad..8ab1a52c 100644 --- a/hal/ia32/Makefile +++ b/hal/ia32/Makefile @@ -11,9 +11,7 @@ CFLAGS += -Ihal/ia32 PLO_COMMANDS ?= alias app call console copy dump echo go help kernel lspci map mem phfs script reboot syspage wait -include devices/disk-bios/Makefile -include devices/tty-bios/Makefile -include devices/uart-16550/Makefile +PLO_ALLDEVICES := disk-bios tty-bios uart-16550 OBJS += $(addprefix $(PREFIX_O)hal/$(TARGET_SUFF)/, _exceptions.o _init.o _interrupts.o cpu.o exceptions.o hal.o interrupts.o memory.o pci.o string.o timer.o acpi.o) diff --git a/hal/riscv64/generic/Makefile b/hal/riscv64/generic/Makefile index 4a2ad369..268bfd7e 100644 --- a/hal/riscv64/generic/Makefile +++ b/hal/riscv64/generic/Makefile @@ -12,11 +12,12 @@ GCCLIB := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name) PLO_COMMANDS ?= alias app call console copy dump echo go help kernel map mem phfs reboot script wait -include devices/ram-storage/Makefile +# TODO: Consider how conflicting devices should be handled +PLO_ALLDEVICES := ram-storage ifeq ($(TARGET_PROJECT),spike) - include devices/tty-spike/Makefile + PLO_ALLDEVICES += tty-spike else - include devices/uart-16550/Makefile + PLO_ALLDEVICES += uart-16550 endif OBJS += $(addprefix $(PREFIX_O)hal/$(TARGET_SUFF)/$(TARGET_SUBFAMILY)/, hal.o) diff --git a/hal/sparcv8leon3/gaisler/gr712rc/Makefile b/hal/sparcv8leon3/gaisler/gr712rc/Makefile index 459c2102..d8049ae5 100644 --- a/hal/sparcv8leon3/gaisler/gr712rc/Makefile +++ b/hal/sparcv8leon3/gaisler/gr712rc/Makefile @@ -10,7 +10,6 @@ CFLAGS += -DVADDR_KERNEL_INIT=$(VADDR_KERNEL_INIT) PLO_COMMANDS ?= alias app call console copy dump echo go help jffs2 kernel map mem phfs reboot script wait test-dev -include devices/uart-grlib/Makefile -include devices/flash-gr712rc/Makefile +PLO_ALLDEVICES := uart-grlib flash-gr712rc OBJS += $(addprefix $(PREFIX_O)hal/$(TARGET_SUFF)/gaisler/$(TARGET_SUBFAMILY)/, _init.o hal.o gr712rc.o) diff --git a/hal/sparcv8leon3/gaisler/gr716/Makefile b/hal/sparcv8leon3/gaisler/gr716/Makefile index 54c0e515..5f32ba51 100644 --- a/hal/sparcv8leon3/gaisler/gr716/Makefile +++ b/hal/sparcv8leon3/gaisler/gr716/Makefile @@ -16,10 +16,10 @@ CFLAGS += -DVADDR_KERNEL_INIT=$(VADDR_KERNEL_INIT) PLO_COMMANDS ?= alias app call console copy dump echo go help kernel map mem phfs reboot script wait -include devices/gpio-gr716/Makefile -include devices/uart-grlib/Makefile +PLO_ALLDEVICES := gpio-gr716 uart-grlib +# TODO: Move device configuration to project files ifeq ($(TARGET_PROJECT), mini) - include devices/flash-gr716/Makefile + PLO_ALLDEVICES += flash-gr716 endif OBJS += $(addprefix $(PREFIX_O)hal/$(TARGET_SUFF)/gaisler/$(TARGET_SUBFAMILY)/, _init.o hal.o gr716.o)