summaryrefslogtreecommitdiff
path: root/package/bcm28xx-bootloader/Makefile
blob: 83a594ad014a300d43d71d3bc53bc98b4f26cb64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.

include $(ADK_TOPDIR)/rules.mk

PKG_NAME:=		bcm28xx-bootloader
# not cloned, local src directory used
PKG_VERSION:=		1e403e23baab5673f0494a200f57cd01287d5b1a
PKG_RELEASE:=		3
PKG_DESCR:=		bootloader for bcm28xx
PKG_SECTION:=		base/boot
PKG_URL:=		https://github.com/raspberrypi/firmware
PKG_SITES:=		https://github.com/raspberrypi/firmware.git

PKG_SYSTEM_DEPENDS:=	raspberry-pi raspberry-pi0 raspberry-pi2 raspberry-pi3 raspberry-pi3-64 raspberry-pi4 raspberry-pi4-64 raspberry-pi5

PKG_CHOICES_BCM28XX_BOOTLOADER:=	DEFAULT EXTRA CUTDOWN
PKGCD_DEFAULT:=		default bootloader
PKGCD_EXTRA:=		bootloader with extra features and codecs
PKGCD_CUTDOWN:=		cut down bootloader

NO_DISTFILES:=		1

include $(ADK_TOPDIR)/mk/package.mk

$(eval $(call PKG_template,BCM28XX_BOOTLOADER,bcm28xx-bootloader,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))

CONFIG_STYLE:=          manual
BUILD_STYLE:=           manual
INSTALL_STYLE:=         manual

do-install:
	$(INSTALL_DIR) $(IDIR_BCM28XX_BOOTLOADER)/boot
	$(CP) $(WRKBUILD)/boot/bootcode.bin $(IDIR_BCM28XX_BOOTLOADER)/boot/
ifeq ($(ADK_RUNTIME_VERBOSE_KERNEL_SERIAL_ONLY),y)
	printf "console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" > \
			$(IDIR_BCM28XX_BOOTLOADER)/boot/cmdline.txt
endif
ifeq ($(ADK_RUNTIME_VERBOSE_KERNEL_VGA_ONLY),y)
	printf "console=tty0 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" > \
			$(IDIR_BCM28XX_BOOTLOADER)/boot/cmdline.txt
endif
	printf "kernel=kernel\n" > $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
	printf "dtparam=audio,i2s,spi,i2c\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
ifeq ($(ADK_PACKAGE_BCM28XX_BOOTLOADER_DEFAULT),y)
ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI4)$(ADK_TARGET_SYSTEM_RASPBERRY_PI4_64),y)
	$(CP) $(WRKBUILD)/boot/{start4.elf,fixup4.dat} $(IDIR_BCM28XX_BOOTLOADER)/boot/
	printf "start_file=start4.elf\n" >> $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
	printf "fixup_file=fixup4.dat\n" >> $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
else
	$(CP) $(WRKBUILD)/boot/{start.elf,fixup.dat} $(IDIR_BCM28XX_BOOTLOADER)/boot/
	printf "start_file=start.elf\n" >> $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
	printf "fixup_file=fixup.dat\n" >> $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
endif
ifeq ($(ADK_PACKAGE_BCM28XX_BOOTLOADER_EXTRA),y)
	$(CP) $(WRKBUILD)/boot/{start_x.elf,fixup_x.dat} $(IDIR_BCM28XX_BOOTLOADER)/boot/
	printf "start_file=start_x.elf\n" >> $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
	printf "fixup_file=fixup_x.dat\n" >> $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
ifeq ($(ADK_PACKAGE_BCM28XX_BOOTLOADER_CUTDOWN),y)
	$(CP) $(WRKBUILD)/boot/{start_cd.elf,fixup_cd.dat} $(IDIR_BCM28XX_BOOTLOADER)/boot/
	printf "start_file=start_cd.elf\n" >> $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
	printf "fixup_file=fixup_cd.dat\n" >> $(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
	printf "gpu_mem=$(ADK_TARGET_GPU_MEM)\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
ifeq ($(ADK_PACKAGE_KODI),y)
ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI4)$(ADK_TARGET_SYSTEM_RASPBERRY_PI4_64),y)
	printf "dtoverlay=vc4-kms-v3d-pi4\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI5),y)
	printf "dtoverlay=vc4-kms-v3d-pi5\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
endif
ifneq ($(ADK_TARGET_HARDWARE_HIFIBERRY_AMP),)
	printf "dtoverlay=hifiberry-amp\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
ifneq ($(ADK_TARGET_HARDWARE_HIFIBERRY_DAC),)
	printf "dtoverlay=hifiberry-dac\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
ifneq ($(ADK_TARGET_HARDWARE_HIFIBERRY_DACPLUS),)
	printf "dtoverlay=hifiberry-dacplus\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
ifneq ($(ADK_TARGET_HARDWARE_HIFIBERRY_DIGI),)
	printf "dtoverlay=hifiberry-digi\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
ifneq ($(ADK_TARGET_HARDWARE_RPI_DAC),)
	printf "dtoverlay=rpi-dac\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
ifneq ($(ADK_TARGET_HARDWARE_IQAUDIO_DAC),)
	printf "dtoverlay=iqaudio-dac\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
ifneq ($(ADK_TARGET_HARDWARE_RPI_PROTO),)
	printf "dtoverlay=rpi-proto\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
ifeq ($(ADK_TARGET_HARDWARE_RPI3_NO_WIFI),y)
	printf "dtoverlay=pi3-disable-wifi\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
ifeq ($(ADK_TARGET_HARDWARE_RPI3_NO_BT),y)
	printf "dtoverlay=pi3-disable-bt\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
ifeq ($(ADK_TARGET_HARDWARE_RPI3_SERIAL),y)
	printf "enable_uart=1\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI4),y)
	printf "enable_uart=1\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI3_64)$(ADK_TARGET_SYSTEM_RASPBERRY_PI4_64),y)
	printf "arm_control=0x200\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
	printf "enable_uart=1\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI5),y)
	printf "dtparam=fan_temp0=0\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
	printf "dtparam=fan_temp0_speed=64\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
	printf "dtparam=fan_temp1_speed=64\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
	printf "dtparam=fan_temp2_speed=64\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
	printf "dtparam=fan_temp3_speed=64\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
ifneq ($(ADK_RUNTIME_MPEG2_KEY),)
	printf "decode_MPG2=$(ADK_RUNTIME_MPEG2_KEY)\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif
ifneq ($(ADK_RUNTIME_VC1_KEY),)
	printf "decode_WVC1=$(ADK_RUNTIME_VC1_KEY)\n" >> \
		$(IDIR_BCM28XX_BOOTLOADER)/boot/config.txt
endif

include $(ADK_TOPDIR)/mk/pkg-bottom.mk