summaryrefslogtreecommitdiffstats
path: root/meta-raspberrypi/conf
diff options
context:
space:
mode:
Diffstat (limited to 'meta-raspberrypi/conf')
-rw-r--r--meta-raspberrypi/conf/layer.conf25
-rw-r--r--meta-raspberrypi/conf/machine/include/rpi-base.inc114
-rw-r--r--meta-raspberrypi/conf/machine/include/rpi-default-providers.inc10
-rw-r--r--meta-raspberrypi/conf/machine/include/rpi-default-settings.inc3
-rw-r--r--meta-raspberrypi/conf/machine/include/rpi-default-versions.inc3
-rw-r--r--meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc15
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi-cm.conf6
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi-cm3.conf6
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi.conf13
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf17
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi0.conf9
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi2.conf13
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi3-64.conf54
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi3.conf19
14 files changed, 307 insertions, 0 deletions
diff --git a/meta-raspberrypi/conf/layer.conf b/meta-raspberrypi/conf/layer.conf
new file mode 100644
index 000000000..cfc22342f
--- /dev/null
+++ b/meta-raspberrypi/conf/layer.conf
@@ -0,0 +1,25 @@
+# We have a conf and classes directory, append to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have a recipes directory containing .bb and .bbappend files, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes*/*/*.bb \
+ ${LAYERDIR}/recipes*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "raspberrypi"
+BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
+BBFILE_PRIORITY_raspberrypi = "9"
+
+LAYERSERIES_COMPAT_raspberrypi = "sumo"
+
+# Additional license directories.
+LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
+
+# The dynamic-layers directory hosts the extensions and layer specific
+# modifications.
+#
+# The .bbappend and .bb files are included if the respective layer
+# collection is available.
+BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bbappend' % layer \
+ for layer in BBFILE_COLLECTIONS.split())}"
+BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bb' % layer \
+ for layer in BBFILE_COLLECTIONS.split())}"
diff --git a/meta-raspberrypi/conf/machine/include/rpi-base.inc b/meta-raspberrypi/conf/machine/include/rpi-base.inc
new file mode 100644
index 000000000..d76495a68
--- /dev/null
+++ b/meta-raspberrypi/conf/machine/include/rpi-base.inc
@@ -0,0 +1,114 @@
+include conf/machine/include/rpi-default-settings.inc
+include conf/machine/include/rpi-default-versions.inc
+include conf/machine/include/rpi-default-providers.inc
+
+SOC_FAMILY = "rpi"
+include conf/machine/include/soc-family.inc
+
+IMAGE_FSTYPES ?= "tar.bz2 ext3 rpi-sdimg"
+WKS_FILE ?= "sdimage-raspberrypi.wks"
+
+XSERVER = " \
+ xserver-xorg \
+ ${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "xserver-xorg-extension-glx", "", d)} \
+ ${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "xf86-video-modesetting", "xf86-video-fbdev", d)} \
+ "
+
+KERNEL_DEVICETREE ?= " \
+ bcm2708-rpi-0-w.dtb \
+ bcm2708-rpi-b.dtb \
+ bcm2708-rpi-b-plus.dtb \
+ bcm2709-rpi-2-b.dtb \
+ bcm2710-rpi-3-b.dtb \
+ bcm2710-rpi-3-b-plus.dtb \
+ bcm2708-rpi-cm.dtb \
+ bcm2710-rpi-cm3.dtb \
+ \
+ overlays/dwc2.dtbo \
+ overlays/hifiberry-amp.dtbo \
+ overlays/hifiberry-dac.dtbo \
+ overlays/hifiberry-dacplus.dtbo \
+ overlays/hifiberry-digi.dtbo \
+ overlays/i2c-rtc.dtbo \
+ overlays/iqaudio-dac.dtbo \
+ overlays/iqaudio-dacplus.dtbo \
+ overlays/lirc-rpi.dtbo \
+ overlays/pitft22.dtbo \
+ overlays/pitft28-resistive.dtbo \
+ overlays/pitft35-resistive.dtbo \
+ overlays/pps-gpio.dtbo \
+ overlays/rpi-ft5406.dtbo \
+ overlays/w1-gpio.dtbo \
+ overlays/w1-gpio-pullup.dtbo \
+ overlays/pi3-disable-bt.dtbo \
+ overlays/pi3-miniuart-bt.dtbo \
+ overlays/vc4-kms-v3d.dtbo \
+ "
+
+# By default:
+#
+# * When u-boot is disabled use the "Image" format which can be directly loaded
+# by the rpi firmware.
+#
+# * When u-boot is enabled use the "uImage" format and the "bootm" command
+# within u-boot to load the kernel.
+KERNEL_BOOTCMD ??= "bootm"
+KERNEL_IMAGETYPE_UBOOT ??= "uImage"
+KERNEL_IMAGETYPE_DIRECT ??= "zImage"
+KERNEL_IMAGETYPE ?= "${@bb.utils.contains('RPI_USE_U_BOOT', '1', \
+ '${KERNEL_IMAGETYPE_UBOOT}', '${KERNEL_IMAGETYPE_DIRECT}', d)}"
+
+MACHINE_FEATURES += "apm usbhost keyboard vfat ext2 screen touchscreen alsa bluetooth wifi sdio"
+
+# Raspberry Pi has no hardware clock
+MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
+
+MACHINE_EXTRA_RRECOMMENDS += " kernel-modules udev-rules-rpi"
+
+# Set Raspberrypi splash image
+SPLASH = "psplash-raspberrypi"
+
+def make_dtb_boot_files(d):
+ # Generate IMAGE_BOOT_FILES entries for device tree files listed in
+ # KERNEL_DEVICETREE.
+ alldtbs = d.getVar('KERNEL_DEVICETREE')
+ imgtyp = d.getVar('KERNEL_IMAGETYPE')
+
+ def transform(dtb):
+ if dtb.endswith('dtb'):
+ # eg: whatever/bcm2708-rpi-b.dtb has:
+ # DEPLOYDIR file: ${KERNEL_IMAGETYPE}-bcm2708-rpi-b.dtb
+ # destination: bcm2708-rpi-b.dtb
+ base = os.path.basename(dtb)
+ src = '{}-{}'.format(imgtyp, base)
+ dst = base
+ return '{};{}'.format(src, dst)
+ elif dtb.endswith('dtbo'):
+ # overlay dtb:
+ # eg: overlays/hifiberry-amp.dtbo has:
+ # DEPLOYDIR file: ${KERNEL_IMAGETYPE}-hifiberry-amp.dtbo
+ # destination: overlays/hifiberry-amp.dtbo
+ base = os.path.basename(dtb)
+ src = '{}-{}'.format(imgtyp, base)
+ dst = dtb
+ return '{};{}'.format(src, dtb)
+
+ return ' '.join([transform(dtb) for dtb in alldtbs.split(' ') if dtb])
+
+
+IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* \
+ ${@make_dtb_boot_files(d)} \
+ ${@bb.utils.contains('RPI_USE_U_BOOT', '1', \
+ '${KERNEL_IMAGETYPE} u-boot.bin;${SDIMG_KERNELIMAGE} boot.scr', \
+ '${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}', d)} \
+ "
+do_image_wic[depends] += " \
+ bcm2835-bootfiles:do_deploy \
+ ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
+ "
+
+do_image_wic[recrdeps] = "do_build"
+
+# The kernel image is installed into the FAT32 boot partition and does not need
+# to also be installed into the rootfs.
+RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
diff --git a/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc b/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc
new file mode 100644
index 000000000..5b2658ba3
--- /dev/null
+++ b/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc
@@ -0,0 +1,10 @@
+# RaspberryPi BSP default providers
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-raspberrypi"
+PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
+PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}"
+PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}"
+PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
+PREFERRED_PROVIDER_virtual/mesa ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
+PREFERRED_PROVIDER_libgbm ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
+PREFERRED_PROVIDER_jpeg ?= "jpeg"
diff --git a/meta-raspberrypi/conf/machine/include/rpi-default-settings.inc b/meta-raspberrypi/conf/machine/include/rpi-default-settings.inc
new file mode 100644
index 000000000..716a8bbb7
--- /dev/null
+++ b/meta-raspberrypi/conf/machine/include/rpi-default-settings.inc
@@ -0,0 +1,3 @@
+# RaspberryPi BSP default settings
+
+IMAGE_CLASSES += "sdcard_image-rpi"
diff --git a/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc b/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
new file mode 100644
index 000000000..a5fe6d707
--- /dev/null
+++ b/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
@@ -0,0 +1,3 @@
+# RaspberryPi BSP default versions
+
+PREFERRED_VERSION_linux-raspberrypi ??= "4.14.%"
diff --git a/meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc b/meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc
new file mode 100644
index 000000000..b6fcc59cc
--- /dev/null
+++ b/meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc
@@ -0,0 +1,15 @@
+DEFAULTTUNE ?= "armv6"
+
+require conf/machine/include/arm/arch-armv6.inc
+
+TUNEVALID[arm1176jzfs] = "Enable arm1176jzfs specific processor optimizations"
+TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "arm1176jzfs", "-mtune=arm1176jzf-s", "", d)}"
+TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "vfp", "-mfpu=vfp", "", d)}"
+
+AVAILTUNES += "arm1176jzfs arm1176jzfshf"
+ARMPKGARCH_tune-arm1176jzfs = "arm1176jzfs"
+ARMPKGARCH_tune-arm1176jzfshf = "arm1176jzfs"
+TUNE_FEATURES_tune-arm1176jzfs = "${TUNE_FEATURES_tune-armv6} arm1176jzfs"
+TUNE_FEATURES_tune-arm1176jzfshf = "${TUNE_FEATURES_tune-arm1176jzfs} callconvention-hard"
+PACKAGE_EXTRA_ARCHS_tune-arm1176jzfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6}"
+PACKAGE_EXTRA_ARCHS_tune-arm1176jzfshf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} arm1176jzfshf-vfp"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi-cm.conf b/meta-raspberrypi/conf/machine/raspberrypi-cm.conf
new file mode 100644
index 000000000..2da7d50b7
--- /dev/null
+++ b/meta-raspberrypi/conf/machine/raspberrypi-cm.conf
@@ -0,0 +1,6 @@
+#@TYPE: Machine
+#@NAME: RaspberryPi Compute Module (CM1)
+#@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module (CM1)
+
+MACHINEOVERRIDES = "raspberrypi:${MACHINE}"
+include conf/machine/raspberrypi.conf
diff --git a/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf b/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
new file mode 100644
index 000000000..153d5d5bb
--- /dev/null
+++ b/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
@@ -0,0 +1,6 @@
+#@TYPE: Machine
+#@NAME: RaspberryPi Compute Module 3 (CM3)
+#@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module 3 (CM3)
+
+MACHINEOVERRIDES = "raspberrypi2:${MACHINE}"
+include conf/machine/raspberrypi2.conf
diff --git a/meta-raspberrypi/conf/machine/raspberrypi.conf b/meta-raspberrypi/conf/machine/raspberrypi.conf
new file mode 100644
index 000000000..ddd380161
--- /dev/null
+++ b/meta-raspberrypi/conf/machine/raspberrypi.conf
@@ -0,0 +1,13 @@
+#@TYPE: Machine
+#@NAME: RaspberryPi Development Board
+#@DESCRIPTION: Machine configuration for the RaspberryPi http://www.raspberrypi.org/ Board
+
+DEFAULTTUNE ?= "arm1176jzfshf"
+
+require conf/machine/include/tune-arm1176jzf-s.inc
+include conf/machine/include/rpi-base.inc
+
+SERIAL_CONSOLE ?= "115200 ttyAMA0"
+
+UBOOT_MACHINE = "rpi_config"
+VC4_CMA_SIZE_raspberrypi ?= "cma-64"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf b/meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf
new file mode 100644
index 000000000..accdf3ce3
--- /dev/null
+++ b/meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf
@@ -0,0 +1,17 @@
+#@TYPE: Machine
+#@NAME: RaspberryPi Zero WiFi Development Board
+#@DESCRIPTION: Machine configuration for the RaspberryPi Zero WiFi board (https://www.raspberrypi.org/blog/raspberry-pi-zero-w-joins-family/)
+
+DEFAULTTUNE ?= "arm1176jzfshf"
+require conf/machine/include/tune-arm1176jzf-s.inc
+include conf/machine/include/rpi-base.inc
+
+MACHINE_EXTRA_RRECOMMENDS += "\
+ linux-firmware-bcm43430 \
+ linux-firmware-bcm43430a1-hcd \
+"
+
+SDIMG_KERNELIMAGE ?= "kernel.img"
+UBOOT_MACHINE ?= "rpi_0_w_defconfig"
+SERIAL_CONSOLE ?= "115200 ttyS0"
+VC4_CMA_SIZE ?= "cma-128"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi0.conf b/meta-raspberrypi/conf/machine/raspberrypi0.conf
new file mode 100644
index 000000000..3bd9e956e
--- /dev/null
+++ b/meta-raspberrypi/conf/machine/raspberrypi0.conf
@@ -0,0 +1,9 @@
+#@TYPE: Machine
+#@NAME: RaspberryPi Zero Development Board
+#@DESCRIPTION: Machine configuration for the RaspberryPi Zero board (https://www.raspberrypi.org/blog/raspberry-pi-zero)
+
+MACHINEOVERRIDES = "raspberrypi:${MACHINE}"
+include conf/machine/raspberrypi.conf
+
+SERIAL_CONSOLE ?= "115200 ttyAMA0"
+VC4_CMA_SIZE ?= "cma-128"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi2.conf b/meta-raspberrypi/conf/machine/raspberrypi2.conf
new file mode 100644
index 000000000..a17289ce9
--- /dev/null
+++ b/meta-raspberrypi/conf/machine/raspberrypi2.conf
@@ -0,0 +1,13 @@
+#@TYPE: Machine
+#@NAME: RaspberryPi 2 Development Board
+#@DESCRIPTION: Machine configuration for the RaspberryPi 2
+
+DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
+
+require conf/machine/include/tune-cortexa7.inc
+include conf/machine/include/rpi-base.inc
+
+SERIAL_CONSOLE ?= "115200 ttyAMA0"
+
+UBOOT_MACHINE = "rpi_2_config"
+VC4_CMA_SIZE ?= "cma-256"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi3-64.conf b/meta-raspberrypi/conf/machine/raspberrypi3-64.conf
new file mode 100644
index 000000000..5163320da
--- /dev/null
+++ b/meta-raspberrypi/conf/machine/raspberrypi3-64.conf
@@ -0,0 +1,54 @@
+#@TYPE: Machine
+#@NAME: RaspberryPi 3 Development Board
+#@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 64 bits mode
+
+MACHINEOVERRIDES = "raspberrypi3:${MACHINE}"
+
+MACHINE_EXTRA_RRECOMMENDS += "\
+ linux-firmware-bcm43430 \
+ linux-firmware-bcm43455 \
+ linux-firmware-bcm43430a1-hcd \
+ linux-firmware-bcm4345c0-hcd \
+"
+
+require conf/machine/include/arm/arch-armv8.inc
+include conf/machine/include/rpi-base.inc
+
+KERNEL_DEVICETREE = " \
+ broadcom/bcm2710-rpi-3-b.dtb \
+ broadcom/bcm2710-rpi-3-b-plus.dtb \
+ broadcom/bcm2837-rpi-3-b.dtb \
+ \
+ overlays/hifiberry-amp.dtbo \
+ overlays/hifiberry-dac.dtbo \
+ overlays/hifiberry-dacplus.dtbo \
+ overlays/hifiberry-digi.dtbo \
+ overlays/i2c-rtc.dtbo \
+ overlays/iqaudio-dac.dtbo \
+ overlays/iqaudio-dacplus.dtbo \
+ overlays/lirc-rpi.dtbo \
+ overlays/pitft22.dtbo \
+ overlays/pitft28-resistive.dtbo \
+ overlays/pitft35-resistive.dtbo \
+ overlays/pps-gpio.dtbo \
+ overlays/rpi-ft5406.dtbo \
+ overlays/w1-gpio.dtbo \
+ overlays/w1-gpio-pullup.dtbo \
+ overlays/pi3-disable-bt.dtbo \
+ overlays/pi3-miniuart-bt.dtbo \
+ overlays/vc4-kms-v3d.dtbo \
+ overlays/vc4-fkms-v3d.dtbo \
+ "
+
+SERIAL_CONSOLE ?= "115200 ttyS0"
+VC4_CMA_SIZE ?= "cma-256"
+
+UBOOT_MACHINE = "rpi_3_config"
+MACHINE_FEATURES_append = " vc4graphics"
+
+# When u-boot is enabled we need to use the "Image" format and the "booti"
+# command to load the kernel
+KERNEL_IMAGETYPE_UBOOT ?= "Image"
+# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet
+KERNEL_IMAGETYPE_DIRECT ?= "Image"
+KERNEL_BOOTCMD ?= "booti"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi3.conf b/meta-raspberrypi/conf/machine/raspberrypi3.conf
new file mode 100644
index 000000000..8b5cce51f
--- /dev/null
+++ b/meta-raspberrypi/conf/machine/raspberrypi3.conf
@@ -0,0 +1,19 @@
+#@TYPE: Machine
+#@NAME: RaspberryPi 3 Development Board
+#@DESCRIPTION: Machine configuration for the RaspberryPi 3
+
+DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
+require conf/machine/include/tune-cortexa7.inc
+include conf/machine/include/rpi-base.inc
+
+MACHINE_EXTRA_RRECOMMENDS += "\
+ linux-firmware-bcm43430 \
+ linux-firmware-bcm43455 \
+ linux-firmware-bcm43430a1-hcd \
+ linux-firmware-bcm4345c0-hcd \
+"
+
+SDIMG_KERNELIMAGE ?= "kernel7.img"
+UBOOT_MACHINE = "rpi_3_32b_config"
+SERIAL_CONSOLE ?= "115200 ttyS0"
+VC4_CMA_SIZE ?= "cma-256"
OpenPOWER on IntegriCloud