aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/image
diff options
context:
space:
mode:
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-02-08 21:58:55 +0100
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-02-14 14:10:51 +0100
commit7d7aa2fd924c27829ec25f825481554dd81bce97 (patch)
tree658b87b89331670266163e522ea5fb52535633cb /target/linux/bcm27xx/image
parente7bfda2c243e66a75ff966ba04c28b1590b5d24c (diff)
downloadupstream-7d7aa2fd924c27829ec25f825481554dd81bce97.tar.gz
upstream-7d7aa2fd924c27829ec25f825481554dd81bce97.tar.bz2
upstream-7d7aa2fd924c27829ec25f825481554dd81bce97.zip
brcm2708: rename target to bcm27xx
This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Despite, since subtargets range from bcm2708 to bcm2711, it seems appropriate to use bcm27xx instead of bcm2708 (again, as already done for BOARDNAME). This also renames the packages brcm2708-userland and brcm2708-gpu-fw. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm27xx/image')
-rw-r--r--target/linux/bcm27xx/image/Makefile154
-rw-r--r--target/linux/bcm27xx/image/cmdline.txt1
-rw-r--r--target/linux/bcm27xx/image/config.txt14
-rw-r--r--target/linux/bcm27xx/image/distroconfig.txt14
-rwxr-xr-xtarget/linux/bcm27xx/image/gen_rpi_sdcard_img.sh29
5 files changed, 212 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/image/Makefile b/target/linux/bcm27xx/image/Makefile
new file mode 100644
index 0000000000..421a89263d
--- /dev/null
+++ b/target/linux/bcm27xx/image/Makefile
@@ -0,0 +1,154 @@
+#
+# Copyright (C) 2012-2019 OpenWrt.org
+# Copyright (C) 2016-2017 LEDE project
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/image.mk
+
+FAT32_BLOCK_SIZE=1024
+FAT32_BLOCKS=$(shell echo $$(($(CONFIG_TARGET_KERNEL_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE))))
+
+define Build/Compile
+ $(CP) $(LINUX_DIR)/COPYING $(KDIR)/COPYING.linux
+endef
+
+### Image scripts ###
+define Build/boot-common
+ rm -f $@.boot
+ mkfs.fat -C $@.boot $(FAT32_BLOCKS)
+ mcopy -i $@.boot $(KDIR)/COPYING.linux ::
+ mcopy -i $@.boot $(KDIR)/LICENCE.broadcom ::
+ mcopy -i $@.boot cmdline.txt ::
+ mcopy -i $@.boot config.txt ::
+ mcopy -i $@.boot distroconfig.txt ::
+ mcopy -i $@.boot $(IMAGE_KERNEL) ::$(KERNEL_IMG)
+ $(foreach dts,$(shell echo $(DEVICE_DTS)),mcopy -i $@.boot $(DTS_DIR)/$(dts).dtb ::;)
+ mmd -i $@.boot ::/overlays
+ mcopy -i $@.boot $(DTS_DIR)/overlays/*.dtbo ::/overlays/
+ mcopy -i $@.boot $(DTS_DIR)/overlays/README ::/overlays/
+endef
+
+define Build/boot-2708
+ mcopy -i $@.boot $(KDIR)/bootcode.bin ::
+ mcopy -i $@.boot $(KDIR)/start.elf ::
+ mcopy -i $@.boot $(KDIR)/start_cd.elf ::
+ mcopy -i $@.boot $(KDIR)/start_x.elf ::
+ mcopy -i $@.boot $(KDIR)/fixup.dat ::
+ mcopy -i $@.boot $(KDIR)/fixup_cd.dat ::
+ mcopy -i $@.boot $(KDIR)/fixup_x.dat ::
+endef
+
+define Build/boot-2711
+ mcopy -i $@.boot $(KDIR)/start4.elf ::
+ mcopy -i $@.boot $(KDIR)/start4cd.elf ::
+ mcopy -i $@.boot $(KDIR)/start4x.elf ::
+ mcopy -i $@.boot $(KDIR)/fixup4.dat ::
+ mcopy -i $@.boot $(KDIR)/fixup4cd.dat ::
+ mcopy -i $@.boot $(KDIR)/fixup4x.dat ::
+endef
+
+define Build/sdcard-img
+ ./gen_rpi_sdcard_img.sh $@ $@.boot $(IMAGE_ROOTFS) \
+ $(CONFIG_TARGET_KERNEL_PARTSIZE) $(CONFIG_TARGET_ROOTFS_PARTSIZE)
+endef
+
+### Devices ###
+define Device/Default
+ DEVICE_VENDOR := Raspberry Pi
+ KERNEL := kernel-bin
+ KERNEL_IMG := kernel.img
+ IMAGES := factory.img.gz sysupgrade.img.gz
+ IMAGE/sysupgrade.img.gz := boot-common | boot-2708 | sdcard-img | gzip | append-metadata
+ IMAGE/factory.img.gz := boot-common | boot-2708 | sdcard-img | gzip
+endef
+
+define Device/rpi
+ DEVICE_MODEL := B/B+/CM/Zero/ZeroW
+ DEVICE_DTS := \
+ bcm2708-rpi-b bcm2708-rpi-b-plus \
+ bcm2708-rpi-cm \
+ bcm2708-rpi-zero bcm2708-rpi-zero-w
+ SUPPORTED_DEVICES := \
+ rpi-b rpi-b-plus rpi-cm rpi-zero rpi-zero-w \
+ raspberrypi,model-b raspberrypi,model-b-plus raspberrypi,model-b-rev2 \
+ raspberrypi,compute-module raspberrypi,compute-module-1 \
+ raspberrypi,model-zero raspberrypi,model-zero-w
+ DEVICE_PACKAGES := \
+ cypress-firmware-43430-sdio \
+ cypress-nvram-43430-sdio-rpi-zero-w \
+ kmod-brcmfmac wpad-basic
+endef
+ifeq ($(SUBTARGET),bcm2708)
+ TARGET_DEVICES += rpi
+endif
+
+define Device/rpi-2
+ DEVICE_MODEL := 2B/3B/3B+/3CM/4B
+ DEVICE_DTS := \
+ bcm2709-rpi-2-b bcm2710-rpi-2-b \
+ bcm2710-rpi-3-b bcm2710-rpi-3-b-plus \
+ bcm2711-rpi-4-b \
+ bcm2710-rpi-cm3
+ SUPPORTED_DEVICES := \
+ rpi-2-b rpi-3-b rpi-3-b-plus rpi-cm \
+ raspberrypi,2-model-b raspberrypi,2-model-b-rev2 \
+ raspberrypi,3-model-b raspberrypi,3-model-b-plus \
+ raspberrypi,3-compute-module raspberrypi,compute-module-3 \
+ raspberrypi,4-model-b
+ DEVICE_PACKAGES := \
+ cypress-firmware-43430-sdio \
+ cypress-nvram-43430-sdio-rpi-3b \
+ cypress-firmware-43455-sdio \
+ cypress-nvram-43455-sdio-rpi-3b-plus cypress-nvram-43455-sdio-rpi-4b \
+ kmod-brcmfmac wpad-basic
+ IMAGE/sysupgrade.img.gz := boot-common | boot-2708 | boot-2711 | sdcard-img | gzip | append-metadata
+ IMAGE/factory.img.gz := boot-common | boot-2708 | boot-2711 | sdcard-img | gzip
+endef
+ifeq ($(SUBTARGET),bcm2709)
+ TARGET_DEVICES += rpi-2
+endif
+
+define Device/rpi-3
+ DEVICE_MODEL := 2B-1.2/3B/3B+/3CM
+ KERNEL_IMG := kernel8.img
+ DEVICE_DTS := \
+ broadcom/bcm2710-rpi-2-b \
+ broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-3-b-plus \
+ broadcom/bcm2710-rpi-cm3
+ SUPPORTED_DEVICES := \
+ rpi-3-b rpi-3-b-plus \
+ raspberrypi,2-model-b-rev2 \
+ raspberrypi,3-model-b raspberrypi,3-model-b-plus \
+ raspberrypi,3-compute-module raspberrypi,compute-module-3
+ DEVICE_PACKAGES := \
+ cypress-firmware-43430-sdio \
+ cypress-nvram-43430-sdio-rpi-3b \
+ cypress-firmware-43455-sdio \
+ cypress-nvram-43455-sdio-rpi-3b-plus \
+ kmod-brcmfmac wpad-basic
+endef
+ifeq ($(SUBTARGET),bcm2710)
+ TARGET_DEVICES += rpi-3
+endif
+
+define Device/rpi-4
+ DEVICE_MODEL := 4B
+ KERNEL_IMG := kernel8.img
+ DEVICE_DTS := broadcom/bcm2711-rpi-4-b
+ SUPPORTED_DEVICES := \
+ raspberrypi,4-model-b
+ DEVICE_PACKAGES := \
+ cypress-firmware-43455-sdio \
+ cypress-nvram-43455-sdio-rpi-4b \
+ kmod-brcmfmac wpad-basic
+ IMAGE/sysupgrade.img.gz := boot-common | boot-2711 | sdcard-img | gzip | append-metadata
+ IMAGE/factory.img.gz := boot-common | boot-2711 | sdcard-img | gzip
+endef
+ifeq ($(SUBTARGET),bcm2711)
+ TARGET_DEVICES += rpi-4
+endif
+
+$(eval $(call BuildImage))
diff --git a/target/linux/bcm27xx/image/cmdline.txt b/target/linux/bcm27xx/image/cmdline.txt
new file mode 100644
index 0000000000..d9b7d867a7
--- /dev/null
+++ b/target/linux/bcm27xx/image/cmdline.txt
@@ -0,0 +1 @@
+console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=squashfs,ext4 rootwait
diff --git a/target/linux/bcm27xx/image/config.txt b/target/linux/bcm27xx/image/config.txt
new file mode 100644
index 0000000000..f8ca1bf2d4
--- /dev/null
+++ b/target/linux/bcm27xx/image/config.txt
@@ -0,0 +1,14 @@
+################################################################################
+# Bootloader configuration - config.txt
+################################################################################
+
+################################################################################
+# For overclocking and various other settings, see:
+# https://www.raspberrypi.org/documentation/configuration/config-txt/README.md
+################################################################################
+
+# OpenWrt config
+include distroconfig.txt
+
+[all]
+# Place your custom settings here.
diff --git a/target/linux/bcm27xx/image/distroconfig.txt b/target/linux/bcm27xx/image/distroconfig.txt
new file mode 100644
index 0000000000..54cf44346f
--- /dev/null
+++ b/target/linux/bcm27xx/image/distroconfig.txt
@@ -0,0 +1,14 @@
+################################################################################
+# Bootloader configuration - distroconfig.txt
+################################################################################
+
+# Restore PL011 (ttyAMA0) to GPIOs 14 & 15, instead of Mini UART (ttyS0).
+# Mini UART is disabled by default unless "enable_uart=1" is specified,
+# which changes the core frequency to a fixed value and impacts performance.
+# See https://www.raspberrypi.org/documentation/configuration/uart.md
+[pi0w]
+dtoverlay=disable-bt
+[pi3]
+dtoverlay=disable-bt
+[pi4]
+dtoverlay=disable-bt
diff --git a/target/linux/bcm27xx/image/gen_rpi_sdcard_img.sh b/target/linux/bcm27xx/image/gen_rpi_sdcard_img.sh
new file mode 100755
index 0000000000..5e8fb2769c
--- /dev/null
+++ b/target/linux/bcm27xx/image/gen_rpi_sdcard_img.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+set -x
+[ $# -eq 5 ] || {
+ echo "SYNTAX: $0 <file> <bootfs image> <rootfs image> <bootfs size> <rootfs size>"
+ exit 1
+}
+
+OUTPUT="$1"
+BOOTFS="$2"
+ROOTFS="$3"
+BOOTFSSIZE="$4"
+ROOTFSSIZE="$5"
+
+head=4
+sect=63
+
+set $(ptgen -o $OUTPUT -h $head -s $sect -l 4096 -t c -p ${BOOTFSSIZE}M -t 83 -p ${ROOTFSSIZE}M)
+
+BOOTOFFSET="$(($1 / 512))"
+BOOTSIZE="$(($2 / 512))"
+ROOTFSOFFSET="$(($3 / 512))"
+ROOTFSSIZE="$(($4 / 512))"
+
+dd bs=512 if="$BOOTFS" of="$OUTPUT" seek="$BOOTOFFSET" conv=notrunc
+dd bs=512 if="$ROOTFS" of="$OUTPUT" seek="$ROOTFSOFFSET" conv=notrunc
+
+
+