diff --git a/rpi3.mk b/rpi3.mk index 328878de5ff6ac39697816e0dc9d1e4f08a64981..8f965c44b1e27c5082c3e6e6bc3c80b4382efbad 100644 --- a/rpi3.mk +++ b/rpi3.mk @@ -43,7 +43,8 @@ U-BOOT_JTAG_BIN ?= $(U-BOOT_PATH)/u-boot-jtag.bin RPI3_FIRMWARE_PATH ?= $(BUILD_PATH)/rpi3/firmware RPI3_HEAD_BIN ?= $(ROOT)/out/head.bin RPI3_BOOT_CONFIG ?= $(RPI3_FIRMWARE_PATH)/config.txt -RPI3_UBOOT_ENV ?= $(RPI3_FIRMWARE_PATH)/uboot.env +RPI3_UBOOT_ENV ?= $(ROOT)/out/uboot.env +RPI3_UBOOT_ENV_TXT ?= $(RPI3_FIRMWARE_PATH)/uboot.env.txt RPI3_STOCK_FW_PATH ?= $(ROOT)/rpi3_firmware OPTEE_OS_PAGER ?= $(OPTEE_OS_PATH)/out/arm/core/tee-pager.bin @@ -55,10 +56,10 @@ MODULE_OUTPUT ?= $(ROOT)/module_output ################################################################################ # Targets ################################################################################ -all: rpi3-firmware arm-tf optee-os optee-client xtest u-boot \ +all: rpi3-firmware arm-tf optee-os optee-client xtest u-boot u-boot-jtag-bin\ linux update_rootfs -all-clean: arm-tf-clean busybox-clean u-boot-clean optee-os-clean \ - optee-client-clean rpi3-firmware-clean head-bin-clean +all-clean: arm-tf-clean busybox-clean u-boot-clean u-boot-jtag-bin-clean \ + optee-os-clean optee-client-clean rpi3-firmware-clean head-bin-clean -include toolchain.mk @@ -100,11 +101,17 @@ U-BOOT_EXPORTS ?= CROSS_COMPILE=$(LEGACY_AARCH64_CROSS_COMPILE) ARCH=arm64 u-boot: $(RPI3_HEAD_BIN) $(U-BOOT_EXPORTS) $(MAKE) -C $(U-BOOT_PATH) rpi_3_defconfig $(U-BOOT_EXPORTS) $(MAKE) -C $(U-BOOT_PATH) all - cd $(U-BOOT_PATH) && cat $(RPI3_HEAD_BIN) $(U-BOOT_BIN) > $(U-BOOT_JTAG_BIN) + $(U-BOOT_EXPORTS) $(MAKE) -C $(U-BOOT_PATH) tools u-boot-clean: $(U-BOOT_EXPORTS) $(MAKE) -C $(U-BOOT_PATH) clean +u-boot-jtag-bin: $(RPI3_UBOOT_ENV) u-boot + cd $(U-BOOT_PATH) && cat $(RPI3_HEAD_BIN) $(U-BOOT_BIN) > $(U-BOOT_JTAG_BIN) + +u-boot-jtag-bin-clean: + rm -f $(U-BOOT_JTAG_BIN) + $(RPI3_HEAD_BIN): $(RPI3_FIRMWARE_PATH)/head.S mkdir -p $(ROOT)/out/ $(AARCH64_CROSS_COMPILE)as $< -o $(ROOT)/out/head.o @@ -113,6 +120,13 @@ $(RPI3_HEAD_BIN): $(RPI3_FIRMWARE_PATH)/head.S head-bin-clean: rm -f $(RPI3_HEAD_BIN) $(ROOT)/out/head.o +$(RPI3_UBOOT_ENV): $(RPI3_UBOOT_ENV_TXT) u-boot + mkdir -p $(ROOT)/out + $(U-BOOT_PATH)/tools/mkenvimage -s 0x4000 -o $(ROOT)/out/uboot.env $(RPI3_UBOOT_ENV_TXT) + +u-boot-env-clean: + rm -f $(RPI3_UBOOT_ENV) + ################################################################################ # Busybox ################################################################################ diff --git a/rpi3/firmware/uboot.env b/rpi3/firmware/uboot.env deleted file mode 100644 index 2b6867f39edc62d184e72822a81bc31ce60091cc..0000000000000000000000000000000000000000 Binary files a/rpi3/firmware/uboot.env and /dev/null differ diff --git a/rpi3/firmware/uboot.env.txt b/rpi3/firmware/uboot.env.txt new file mode 100644 index 0000000000000000000000000000000000000000..b402276de30896d3153f21b0a0a9f293018b9b56 --- /dev/null +++ b/rpi3/firmware/uboot.env.txt @@ -0,0 +1,28 @@ +bootdelay=3 +atf_load_addr=0x08400000 +atf_file=optee.bin +baudrate=115200 +boot_it=booti ${kernel_addr_r} - ${fdt_addr_r} +bootargs=console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootfs=ext4 ignore_loglevel dma.dmachans=0x7f35 rootwait 8250.nr_uarts=1 elevator=deadline fsck.repair=yes smsc95xx.macaddr=${ethaddr} bcm2708_fb.fbwidth=1920 bcm2708_fb.fbheight=1080 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000 +bootcmd=run load_kernel; run load_dtb; run load_firmware; run boot_it +bootdelay=2 +cpu=armv8 +fdt_addr_r=0x1700000 +fdtfile=bcm2710-rpi-3-b.dtb +filesize=5a65c +gatewayip=192.168.1.1 +initrd_high=ffffffff +kernel_addr_r=0x10000000 +load_dtb=fatload mmc 0:1 ${fdt_addr_r} ${fdtfile} +load_firmware=fatload mmc 0:1 ${atf_load_addr} ${atf_file} +load_kernel=fatload mmc 0:1 ${kernel_addr_r} Image +netmask=255.255.255.0 +serverip=192.168.1.164 +smp=on +stderr=serial,lcd +stdin=serial,usbkbd +stdout=serial,lcd + +#setenv optee 'usb start; dhcp ${kernel_addr_r} 192.168.1.164:Image; dhcp ${fdt_addr_r} 192.168.1.164:${fdtfile}; dhcp ${atf_load_addr} 192.168.1.164:${atf_file}; run boot_it' + +#setenv bootargs 'console=ttyS0,115200 root=/dev/nfs rw rootfstype=nfs nfsroot=192.168.1.164:/mnt/sshd/srv/nfs/debian-arm64,udp,vers=3 ip=dhcp ignore_loglevel dma.dmachans=0x7f35 rootwait 8250.nr_uarts=1 elevator=deadline fsck.repair=yes smsc95xx.macaddr=${ethaddr} bcm2708_fb.fbwidth=1920 bcm2708_fb.fbheight=1080 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000'