summaryrefslogtreecommitdiff
path: root/grapeboard_support_lsdk-1712.patch
blob: 40d49b7cee4dcec5993e2a94986623d491f9cc66 (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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
diff --git a/configs/build_lsdk.cfg b/configs/build_lsdk.cfg
index a3cf0ed..671ff60 100644
--- a/configs/build_lsdk.cfg
+++ b/configs/build_lsdk.cfg
@@ -7,10 +7,10 @@ GIT_REPOSITORY_URL="https://github.com/qoriq-open-source"
 lsdk_version=1712
 
 # set default components to be built automatically
-CONFIG_BUILD_RCW=y
-CONFIG_BUILD_UBOOT=y
-CONFIG_BUILD_UEFI=y
-CONFIG_BUILD_PPA=y
+CONFIG_BUILD_RCW=n
+CONFIG_BUILD_UBOOT=n
+CONFIG_BUILD_UEFI=n
+CONFIG_BUILD_PPA=y
 CONFIG_BUILD_LINUX=y
 CONFIG_BUILD_RESTOOL=y
 CONFIG_BUILD_FLIB=y
@@ -37,16 +37,18 @@ CONFIG_BUILD_CRCONF=y
 CONFIG_BUILD_EDGESCALE_EDS=n
 CONFIG_BUILD_EDS_KUBELET=n
 CONFIG_BUILD_EDS_PUPPET=n
+CONFIG_BUILD_RTL8723BU=y
 
 # default machines list
-CONFIG_MACHINE_LS1012ARDB=y
-CONFIG_MACHINE_LS1012AFRDM=y
-CONFIG_MACHINE_LS1021ATWR=y
-CONFIG_MACHINE_LS1043ARDB=y
-CONFIG_MACHINE_LS1046ARDB=y
-CONFIG_MACHINE_LS1088ARDB=y
-CONFIG_MACHINE_LS2088ARDB=y
+CONFIG_MACHINE_LS1012ARDB=n
+CONFIG_MACHINE_LS1012AFRDM=n
+CONFIG_MACHINE_LS1021ATWR=n
+CONFIG_MACHINE_LS1043ARDB=n
+CONFIG_MACHINE_LS1046ARDB=n
+CONFIG_MACHINE_LS1088ARDB=n
+CONFIG_MACHINE_LS2088ARDB=n
 CONFIG_MACHINE_LA1575ARDB=n
+CONFIG_MACHINE_GRAPEBOARD=y
 
 # default build option
 BUILD_GUESTRFS=y
@@ -69,7 +71,7 @@ fbdockerimgversion=16.04
 
 # component repository list
 firmware_repo_list="u-boot rcw rcw-bin qoriq-uefi-binary qoriq-fm-ucode mc-utils qoriq-mc-binary ppa-generic qoriq-qe-ucode qoriq-firmware-cortina qoriq-engine-pfe-bin"
-linux_repo_list="linux cryptodev-linux lttng-modules"
+linux_repo_list="linux cryptodev-linux lttng-modules rtl8723bu"
 apps_repo_list="restool flib fmlib fmc openssl odp ofp dpdk ovs-dpdk gpp-aioptool cst aiopsl ptpd ceetm qbman_userspace eth-config crconf optee_os optee_client optee_test edgescale-eds eds-kubelet eds-puppet"
 
 # default git tree and branch
@@ -78,8 +80,8 @@ default_linux_tree=linux
 
 # linux config list
 BUILD_DUAL_KERNEL=y
-linux_config_list_arm64="defconfig lsdk.config"
-linux_config_list_arm32v8="multi_v7_defconfig multi_v7_lpae.config multi_v8.config lsdk.config"
+linux_config_list_arm64="defconfig lsdk.config grapeboard_wireless.config"
+linux_config_list_arm32v8="multi_v7_defconfig multi_v7_lpae.config multi_v8.config lsdk.config grapeboard_wireless.config"
 linux_config_list_arm32v7="multi_v7_defconfig multi_v7_lpae.config lsdk.config"
 
 # uefi machine list
@@ -107,11 +109,15 @@ qoriq_engine_pfe_bin_url=https://github.com/nxp/qoriq-engine-pfe-bin.git
 qoriq_engine_pfe_bin_tag=LSDK-17.12
 
 # linux git tree
-linux_tag=LSDK-17.12-V4.9
+linux_url=http://git.scalys.com/lsdk/linux
+linux_branch=grapeboard-proto
+# url will be changed on final release
 secondary_linux_tag=LSDK-17.12-V4.4
 cryptodev_linux_tag=LSDK-17.12
 lttng_modules_url=git://git.lttng.org/lttng-modules.git
 lttng_modules_tag=v2.10.2
+rtl8723bu_url=https://github.com/lwfinger/rtl8723bu.git
+rtl8723bu_branch=master
 
 # apps git tree
 restool_tag=LSDK-17.12
diff --git a/manifest/grapeboard.manifest b/manifest/grapeboard.manifest
new file mode 100755
index 0000000..a5d9bcd
--- /dev/null
+++ b/manifest/grapeboard.manifest
@@ -0,0 +1,39 @@
+# [general]
+machine=grapeboard
+
+# [firmware images]
+rcw_qspi=null
+rcw_qspi_sec=null
+uboot_qspiboot=null
+uboot_qspiboot_sec=null
+secureboot_headers_qspi=null
+uefi_norboot=null
+uefi_sdboot=null
+uefi_env=null
+ppa=build/firmware/ppa/soc-ls1012/ppa.itb
+pfe_fw=build/firmware/engine-pfe-bin/ls1012a/u-boot/pfe_fw_sbl.itb
+pfe_kernel=build/firmware/engine-pfe-bin/ls1012a/slow_path/ppfe*.elf
+fman_ucode=null
+qe_firmware=null
+phy_firmware=null
+dpaa2_mc_fw=null
+dpaa2_mc_dpc=null
+dpaa2_mc_dpl=null
+rtl8723bu_fw=build/linux/linux/arm64/lib/firmware/rtl_bt/rtl8723b_fw.bin
+
+# [linux, dtb, rfs]
+kernel_img=build/linux/kernel/arm64/Image
+kernel_uimg=build/linux/kernel/arm64/uImage
+kernel_vmlinux=build/linux/kernel/arm32/vmlinux
+device_tree=build/linux/kernel/arm64/grapeboard.dtb
+ramdiskrfs=build/images/ramdisk_rootfs_arm64.ext4.gz.uboot
+kernelrfs_continuous=yes
+
+# [distro autoboot script]
+uboot_scr=null
+bootscript_dec=null
+
+distroboot=null
+
+# [secure boot scripts in cst]
+qspi_script=scripts/platforms/ls104x_1012_qspi.sh
diff --git a/packages/apt-packages/additional_packages_list_full_grapeboard b/packages/apt-packages/additional_packages_list_full_grapeboard
new file mode 100644
index 0000000..e98cd53
--- /dev/null
+++ b/packages/apt-packages/additional_packages_list_full_grapeboard
@@ -0,0 +1,22 @@
+# full additional package list
+
+additional_packages_list="apt git gcc vim ethtool wget ftp make makedev
+ build-essential gdb u-boot-tools device-tree-compiler python python-dev
+ zip libxml2-dev libsensors4-dev libssl-dev libedit-dev liblzma-dev tree
+ binutils-dev autoconf automake dh-autoreconf libnuma-dev libpcap-dev lxc
+ gdb bc qemu-kvm libvirt-bin virt-manager bridge-utils libtool lm-sensors
+ libncurses5-dev bison libelf-dev curl docker.io libcunit1-dev python-pip
+ iperf netperf flex autotools-dev openssh-server openssh-client hugepages
+ tcpdump vlan ifenslave linux-tools-generic blktrace tftp-hpa tftpd-hpa
+ strace debootstrap sysfsutils cpufrequtils iozone3 fio mdadm vsftpd telnet
+ ipsec-tools lmbench sysstat in.telnetd watchdog glibc-locale rdate lxd
+ initramfs-tools libtclap-dev i2c-tools mtd-utils dosfstools lttng-tools
+ net-tools xterm can-utils bluez iw wpasupplicant"
+
+
+# install extrinsic package needed by user but unavailable from official ubuntu
+extrinsic_packages_list=""
+
+
+# setup source packages depended by some custom components.
+source_packages_list="iproute2"
diff --git a/packages/installer/linux_arm32.its b/packages/installer/linux_arm32.its
index e85769c..7e88acd 100644
--- a/packages/installer/linux_arm32.its
+++ b/packages/installer/linux_arm32.its
@@ -88,6 +88,15 @@
                         compression = "none";
                         load = <0x9ffe0000>;
                 };
+
+                grapeboard-dtb {
+                        description = "Flattened Device Tree blob";
+                        data = /incbin/("../../build/linux/kernel/arm32/grapeboard.dtb");
+                        type = "flat_dt";
+                        arch = "arm";
+                        compression = "none";
+                        load = <0x9ffe0000>;
+                };
 	};
 
 	configurations {
@@ -125,5 +134,12 @@
                         fdt = "ls1012afrdm-dtb";
                         ramdisk = "initrd-installer";
 		};
+
+		grapeboard {
+                        description = "Boot Linux kernel";
+                        kernel = "kernel-v8";
+                        fdt = "grapeboard-dtb";
+                        ramdisk = "initrd-installer";
+		};
 	};
 };
diff --git a/packages/installer/linux_arm64.its b/packages/installer/linux_arm64.its
index 5b5d507..dc19b1a 100644
--- a/packages/installer/linux_arm64.its
+++ b/packages/installer/linux_arm64.its
@@ -129,6 +129,19 @@
 				algo = "crc32";
 			};
 		};
+
+		grapeboard-dtb {
+			description = "grapeboard-dtb";
+			data = /incbin/("../../build/linux/kernel/arm64/grapeboard.dtb");
+			type = "flat_dt";
+			arch = "arm64";
+			os = "linux";
+			compression = "none";
+			load = <0x90000000>;
+			hash@1 {
+				algo = "crc32";
+			};
+		};
 	};
 
 	configurations {
@@ -181,5 +194,12 @@
 			fdt = "ls1012afrdm-dtb";
 		};
 
+		grapeboard {
+			description = "config for grapeboard";
+			kernel = "kernel";
+			ramdisk = "initrd-installer";
+			fdt = "grapeboard-dtb";
+		};
+
 	};
 };
diff --git a/packages/linux/Makefile b/packages/linux/Makefile
index 00067e1..ff65d31 100644
--- a/packages/linux/Makefile
+++ b/packages/linux/Makefile
@@ -10,7 +10,9 @@ include $(TOPDIR)/include/repo.mk
 
 LINUX_REPO_LIST = $(KERNEL_TREE) cryptodev-linux
 
-all: setup-repo build-linux
+
+
+all: setup-repo build-linux rtl8723bu
 
 setup-repo:
 	@$(call fetch-git-tree,$(KERNEL_TREE))
@@ -44,11 +46,12 @@ ifeq ($(CONFIG_BUILD_LINUX), y)
 	freescale/fsl-ls1046a-rdb-sdk.dtb freescale/fsl-ls1012a-rdb.dtb \
 	freescale/fsl-ls1012a-frdm.dtb -C $(KERNEL_PATH) O=$$opdir; fi && \
 	if [ $(DESTARCH) = arm64 ]; then cp $$opdir/arch/$$locarch/boot/Image* \
-	$(TOPDIR)/build/linux/$(KERNEL_TREE)/$(DESTARCH); fi && \
+	$(TOPDIR)/build/linux/$(KERNEL_TREE)/$(DESTARCH) && \
+	mkimage -A $(DESTARCH) -O linux -T kernel -C gzip -a 0x80080000 -e 0x80080000 -n Linux -d $(TOPDIR)/build/linux/$(KERNEL_TREE)/$(DESTARCH)/Image.gz $(TOPDIR)/build/linux/$(KERNEL_TREE)/$(DESTARCH)/uImage; fi && \
 	if [ $(DESTARCH) = arm32 ]; then cp $$opdir/arch/$$locarch/boot/uImage \
 	$(TOPDIR)/build/linux/$(KERNEL_TREE)/$(DESTARCH)/uImage.$$extname; \
 	cp $$opdir/arch/$$locarch/boot/zImage $(TOPDIR)/build/linux/$(KERNEL_TREE)/$(DESTARCH)/zImage.$$extname; fi && \
-	ls $$opdir/arch/$$locarch/boot/dts/$$dtbstr | grep -E 'rdb|frdm|twr|qds' | xargs -I {} cp {} \
+	ls $$opdir/arch/$$locarch/boot/dts/$$dtbstr | grep -E 'rdb|frdm|twr|qds|grapeboard' | xargs -I {} cp {} \
 	$(TOPDIR)/build/linux/$(KERNEL_TREE)/$(DESTARCH) && \
 	if [ $(DESTARCH) = arm32 ]; then rm -f $(TOPDIR)/build/linux/$(KERNEL_TREE)/arm32/fsl-ls2*.dtb; fi && \
 	cd $(TOPDIR)/build/linux/$(KERNEL_TREE)/$(DESTARCH) && if [ -f fsl-ls1043a-rdb-sdk.dtb ]; then \
@@ -104,6 +107,24 @@
 	 echo build LTTng modules done!
 endif
 
+.PHONY: rtl8723bu
+rtl8723bu:
+ifeq ($(CONFIG_BUILD_RTL8723BU), y)
+	@$(call fetch-git-tree,rtl8723bu)
+	@$(call fetch-git-tree,$(KERNEL_TREE))
+	@if [ ! -d $(TOPDIR)/build/linux/kernel/$(DESTARCH) ]; then cd $(TOPDIR) && \
+	 flex-builder -c linux -a $(DESTARCH) -f $(CONFIGLIST) && cd -; fi && \
+	 echo -e "\nBuilding RTL8723BU module ..." && \
+	 sed -i 's/EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE/#EXTRA_CFLAGS  += -DCONFIG_CONCURRENT_MODE/g' rtl8723bu/Makefile && \
+	 sed -i 's/#define CONFIG_IPS	1/\/\/#define CONFIG_IPS	   1/g' rtl8723bu/include/autoconf.h && \
+	 cd rtl8723bu && \
+	 curbrch=`cd $(KERNEL_PATH) && git branch -v | grep '^*' | cut -d' ' -f2` && \
+	 $(MAKE) KSRC=$(TOPDIR)/build/linux/$(KERNEL_TREE)/$(DESTARCH)/output/$$curbrch && \
+	 $(MAKE) -C $(TOPDIR)/build/linux/$(KERNEL_TREE)/$(DESTARCH)/output/$$curbrch M=$(TOPDIR)/packages/linux/rtl8723bu modules_install && \
+	 install rtl8723b_fw.bin -D $(TOPDIR)/build/linux/$(KERNEL_TREE)/$(DESTARCH)/lib/firmware/rtl_bt/rtl8723b_fw.bin && \
+	 echo build and installed RTL8723BU module+firmware done!
+endif
+
 
 repo_fetch:
 	@echo -e "\nfetch linux repositories ..."
diff --git a/tools/flex-builder b/tools/flex-builder
index 5a70197..6d2b25c 100755
--- a/tools/flex-builder
+++ b/tools/flex-builder
@@ -805,7 +805,7 @@ merge_components() {
     fi
 
     #install PFE firmware to $RFSDIR/lib/firmware
-    if [ $CONFIG_MACHINE_LS1012ARDB = y -o $CONFIG_MACHINE_LS1012AFRDM = y ]; then
+    if [ $CONFIG_MACHINE_LS1012ARDB = y -o $CONFIG_MACHINE_LS1012AFRDM = y -o $CONFIG_MACHINE_GRAPEBOARD = y ]; then
 	if [ ! -f $TOPDIR/build/firmware/qoriq-engine-pfe-bin/ls1012a/slow_path/ppfe_class_ls1012a.elf ]; then
 	    flex-builder -c qoriq-engine-pfe-bin
 	fi
@@ -816,6 +816,27 @@ merge_components() {
 	tar cvzf $TOPDIR/build/images/linux-lib-firmware.tgz firmware
 	cd $TOPDIR
     fi
+    
+    #install RTL8723BU firmware to $RFSDIR/lib/firmware/
+    if [ $CONFIG_MACHINE_GRAPEBOARD = y ]; then
+    	if [ ! -f $TOPDIR/build/linux/linux/arm64/lib/firmware/rtl_bt/rtl8723b_fw.bin  ]; then
+	    flex-builder -c linux -a arm64 -m grapeboard
+	fi
+        sudo mkdir -p $RFSDIR/lib/firmware/rtl_bt
+        . $TOPDIR/manifest/grapeboard.manifest
+        sudo cp -f $TOPDIR/$rtl8723bu_fw $RFSDIR/lib/firmware/rtl_bt/
+    fi
+    
+        
+    #install kernel, and dtb to $RFSDIR/boot/
+    if [ $CONFIG_MACHINE_GRAPEBOARD = y ]; then
+    	if [ ! -f $TOPDIR/build/linux/kernel/$DESTARCH/grapeboard.dtb -o ! -f $TOPDIR/build/linux/kernel/$DESTARCH/uImage ]; then
+	    flex-builder -c linux -a arm64 -m grapeboard
+	fi
+        sudo mkdir -p $RFSDIR/boot/
+        sudo cp -f $TOPDIR/build/linux/kernel/$DESTARCH/uImage $RFSDIR/boot/
+        sudo cp -f $TOPDIR/build/linux/kernel/$DESTARCH/grapeboard.dtb $RFSDIR/boot/
+    fi
 
     if [ -f $TOPDIR/build/linux/kernel/$DESTARCH/perf ]; then
         sudo cp -f $TOPDIR/build/linux/kernel/$DESTARCH/perf $RFSDIR/usr/bin