Makefile 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # Copyright (C) 2024 Bootlin
  4. #
  5. include $(TOPDIR)/rules.mk
  6. include $(INCLUDE_DIR)/image.mk
  7. define Build/boot-img-ext4
  8. rm -fR [email protected]
  9. mkdir -p [email protected]
  10. $(foreach dts,$(DEVICE_DTS), $(CP) $(KDIR)/image-$(dts).dtb [email protected]/$(dts).dtb;)
  11. $(CP) $(IMAGE_KERNEL) [email protected]/$(KERNEL_IMG)
  12. $(INSTALL_DIR) [email protected]/extlinux
  13. $(CP) ./extlinux.conf [email protected]/extlinux/
  14. $(SED) 's/@KERNEL@/$(KERNEL_IMG)/' [email protected]/extlinux/extlinux.conf
  15. $(SED) 's/@DEVICE@/$(DEVICE_NAME)/' [email protected]/extlinux/extlinux.conf
  16. $(SED) 's/@DTS@/$(DEVICE_DTS)/' [email protected]/extlinux/extlinux.conf
  17. $(SED) 's/@ROOT@/PARTUUID=$(shell echo $(IMG_PART_DISKGUID) | sed 's/00$$/05/')/' [email protected]/extlinux/extlinux.conf
  18. make_ext4fs -J -L kernel -l $(CONFIG_TARGET_KERNEL_PARTSIZE)M \
  19. $(if $(SOURCE_DATE_EPOCH),-T $(SOURCE_DATE_EPOCH)) \
  20. [email protected] [email protected]
  21. endef
  22. define Build/sdcard-img
  23. GUID=$(IMG_PART_DISKGUID) ./gen_stm32_sdcard_img.sh \
  24. $@ $(STAGING_DIR_IMAGE)/tf-a-$(DEVICE_NAME).stm32 \
  25. $(STAGING_DIR_IMAGE)/fip-$(DEVICE_NAME).bin [email protected] $(IMAGE_ROOTFS) \
  26. $(ENV_SIZE) $(CONFIG_TARGET_KERNEL_PARTSIZE) $(CONFIG_TARGET_ROOTFS_PARTSIZE)
  27. endef
  28. define Device/Default
  29. PROFILES := Default
  30. DEVICE_VENDOR := STMicroelectronics
  31. IMAGES := factory.img.gz sysupgrade.img.gz
  32. IMAGE/factory.img.gz := boot-img-ext4 | sdcard-img | gzip
  33. IMAGE/sysupgrade.img.gz := boot-img-ext4 | sdcard-img | gzip | append-metadata
  34. KERNEL := kernel-bin
  35. KERNEL_NAME := zImage
  36. KERNEL_IMG := zImage
  37. DEVICE_DTS_DIR := $(DTS_DIR)/st
  38. ENV_SIZE := 0x200000
  39. DEVICE_PACKAGES := kmod-brcmfmac \
  40. murata-firmware-43430-sdio \
  41. murata-nvram-43430-sdio \
  42. wpad-basic-mbedtls \
  43. kmod-phy-stm32-usbphyc \
  44. kmod-usb2 \
  45. kmod-usb-storage \
  46. kmod-usb-ledtrig-usbport \
  47. -mtd
  48. endef
  49. define Device/stm32mp135f-dk
  50. DEVICE_MODEL := STM32MP135F-DK
  51. DEVICE_DTS := stm32mp135f-dk
  52. SUPPORTED_DEVICES := st,stm32mp135f-dk
  53. endef
  54. define Device/stm32mp157c-dk2
  55. DEVICE_MODEL := STM32MP157C-DK2
  56. DEVICE_DTS := stm32mp157c-dk2
  57. SUPPORTED_DEVICES := st,stm32mp157c-dk2 \
  58. st,stm32mp157f-dk2
  59. endef
  60. define Device/stm32mp157c-dk2-scmi
  61. DEVICE_MODEL := STM32MP157C-DK2
  62. DEVICE_VARIANT := SCMI
  63. DEVICE_DTS := stm32mp157c-dk2-scmi
  64. SUPPORTED_DEVICES := st,stm32mp157c-dk2-scmi \
  65. st,stm32mp157f-dk2-scmi
  66. endef
  67. TARGET_DEVICES += stm32mp135f-dk \
  68. stm32mp157c-dk2 \
  69. stm32mp157c-dk2-scmi
  70. $(eval $(call BuildImage))