xref: /OK3568_Linux_fs/buildroot/boot/lpc32xxcdl/lpc32xxcdl.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# lpc32xxcdl
4#
5################################################################################
6
7LPC32XXCDL_VERSION = 2.11
8LPC32XXCDL_SOURCE = lpc32xx_cdl-v$(LPC32XXCDL_VERSION).zip
9LPC32XXCDL_SITE = https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/lpcware-archive/61/2
10
11LPC32XXCDL_INSTALL_TARGET = NO
12LPC32XXCDL_INSTALL_IMAGES = YES
13
14ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"ea3250")
15LPC32XXCDL_KICKSTART = kickstart/nand
16LPC32XXCDL_KICKSTART_BURNER = nand/kickstart
17LPC32XXCDL_S1L = s1l
18LPC32XXCDL_S1L_BURNER = nand/s1lapp
19endif
20
21ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"phy3250")
22LPC32XXCDL_KICKSTART = kickstart/kickstart_nand
23LPC32XXCDL_KICKSTART_BURNER = nand/kickstart
24LPC32XXCDL_S1L = s1l/s1l_nand_boot
25LPC32XXCDL_S1L_BURNER = nand/s1lapp
26endif
27
28ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"fdi3250")
29LPC32XXCDL_KICKSTART = kickstart/nand
30LPC32XXCDL_KICKSTART_BURNER = nand/kickstart_jtag
31LPC32XXCDL_S1L = s1l
32LPC32XXCDL_S1L_BURNER = nand/s1lapp_jtag
33endif
34
35LPC32XXCDL_BUILD_FLAGS = \
36	CROSS_COMPILE=$(TARGET_CROSS) \
37	NXPMCU_WINBASE=$(@D) \
38	NXPMCU_SOFTWARE=$(@D) \
39	BSP=$(BR2_TARGET_LPC32XXCDL_BOARDNAME) \
40	CSP=lpc32xx TOOL=gnu GEN=lpc
41
42LPC32XXCDL_BOARD_STARTUP_DIR = \
43	csps/lpc32xx/bsps/$(BR2_TARGET_LPC32XXCDL_BOARDNAME)/startup/examples/
44
45# Source files are with dos newlines, which our patch infrastructure doesn't
46# handle. Work around it by converting the affected files to unix newlines
47# before patching
48define LPC32XXCDL_EXTRACT_CMDS
49	unzip $(LPC32XXCDL_DL_DIR)/$(LPC32XXCDL_SOURCE) -d $(@D)
50	mv $(@D)/lpc3xxx_cdl/* $(@D)
51	rmdir $(@D)/lpc3xxx_cdl/
52	sed -n 's|^[+-]\{3\} [^/]\+\([^ \t]*\)\(.*\)|$(@D)\1|p' \
53		boot/lpc32xxcdl/*.patch| sort -u | xargs $(SED) 's/\x0D$$//'
54endef
55
56define LPC32XXCDL_BUILD_CMDS
57	$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)
58	$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_KICKSTART_BURNER)
59	$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_KICKSTART)
60	$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_S1L_BURNER)
61	$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_S1L)
62endef
63
64define LPC32XXCDL_INSTALL_IMAGES_CMDS
65	cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_KICKSTART_BURNER)/*gnu.bin $(BINARIES_DIR)
66	cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_KICKSTART)/*gnu.bin $(BINARIES_DIR)
67	cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_S1L_BURNER)/*gnu.bin $(BINARIES_DIR)
68	cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_S1L)/*gnu.bin $(BINARIES_DIR)
69endef
70
71$(eval $(generic-package))
72