Squashed 'import-layers/meta-raspberrypi/' content from commit 2745399

Change-Id: I8a89d81813dea98209d089ef500a403ea4da5d9d
git-subtree-dir: import-layers/meta-raspberrypi
git-subtree-split: 2745399f75d7564fcc586d0365ff73be47849d0e
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/import-layers/meta-raspberrypi/conf/layer.conf b/import-layers/meta-raspberrypi/conf/layer.conf
new file mode 100644
index 0000000..bea5a65
--- /dev/null
+++ b/import-layers/meta-raspberrypi/conf/layer.conf
@@ -0,0 +1,14 @@
+# 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"
+
+# Additional license directories.
+LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
+
diff --git a/import-layers/meta-raspberrypi/conf/machine/include/rpi-base.inc b/import-layers/meta-raspberrypi/conf/machine/include/rpi-base.inc
new file mode 100644
index 0000000..56ca83e
--- /dev/null
+++ b/import-layers/meta-raspberrypi/conf/machine/include/rpi-base.inc
@@ -0,0 +1,53 @@
+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"
+
+XSERVER = " \
+    xserver-xorg \
+    xf86-input-evdev \
+    xf86-input-mouse \
+    xf86-input-keyboard \
+    xf86-video-fbdev \
+    "
+
+# Really supported starting from linux-raspberrypi 3.18.y only
+KERNEL_DEVICETREE ?= " \
+    bcm2708-rpi-b.dtb \
+    bcm2708-rpi-b-plus.dtb \
+    bcm2709-rpi-2-b.dtb \
+    bcm2710-rpi-3-b.dtb \
+    \
+    overlays/hifiberry-amp-overlay.dtb \
+    overlays/hifiberry-dac-overlay.dtb \
+    overlays/hifiberry-dacplus-overlay.dtb \
+    overlays/hifiberry-digi-overlay.dtb \
+    overlays/i2c-rtc-overlay.dtb \
+    overlays/iqaudio-dac-overlay.dtb \
+    overlays/iqaudio-dacplus-overlay.dtb \
+    overlays/lirc-rpi-overlay.dtb \
+    overlays/pitft22-overlay.dtb \
+    overlays/pitft28-resistive-overlay.dtb \
+    overlays/pps-gpio-overlay.dtb \
+    overlays/rpi-ft5406-overlay.dtb \
+    overlays/w1-gpio-overlay.dtb \
+    overlays/w1-gpio-pullup-overlay.dtb \
+    overlays/pi3-miniuart-bt-overlay.dtb \
+    "
+KERNEL_IMAGETYPE ?= "Image"
+
+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"
+
+# Set Raspberrypi splash image
+SPLASH = "psplash-raspberrypi"
+
+IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* ${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}"
diff --git a/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc b/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc
new file mode 100644
index 0000000..359870d
--- /dev/null
+++ b/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc
@@ -0,0 +1,9 @@
+# RaspberryPi BSP default providers
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-raspberrypi"
+PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
+PREFERRED_PROVIDER_virtual/egl ?= "userland"
+PREFERRED_PROVIDER_virtual/libgles2 ?= "userland"
+PREFERRED_PROVIDER_virtual/libgl ?= "mesa-gl"
+PREFERRED_PROVIDER_virtual/mesa ?= "mesa-gl"
+PREFERRED_PROVIDER_jpeg ?= "jpeg"
diff --git a/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-settings.inc b/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-settings.inc
new file mode 100644
index 0000000..716a8bb
--- /dev/null
+++ b/import-layers/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/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc b/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
new file mode 100644
index 0000000..c879dde
--- /dev/null
+++ b/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
@@ -0,0 +1,3 @@
+# RaspberryPi BSP default versions
+
+PREFERRED_VERSION_linux-raspberrypi ?= "4.1.%"
diff --git a/import-layers/meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc b/import-layers/meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc
new file mode 100644
index 0000000..b6fcc59
--- /dev/null
+++ b/import-layers/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/import-layers/meta-raspberrypi/conf/machine/raspberrypi.conf b/import-layers/meta-raspberrypi/conf/machine/raspberrypi.conf
new file mode 100644
index 0000000..72beeb8
--- /dev/null
+++ b/import-layers/meta-raspberrypi/conf/machine/raspberrypi.conf
@@ -0,0 +1,12 @@
+#@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"
diff --git a/import-layers/meta-raspberrypi/conf/machine/raspberrypi0.conf b/import-layers/meta-raspberrypi/conf/machine/raspberrypi0.conf
new file mode 100644
index 0000000..ccf9ae7
--- /dev/null
+++ b/import-layers/meta-raspberrypi/conf/machine/raspberrypi0.conf
@@ -0,0 +1,8 @@
+#@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"
diff --git a/import-layers/meta-raspberrypi/conf/machine/raspberrypi2.conf b/import-layers/meta-raspberrypi/conf/machine/raspberrypi2.conf
new file mode 100644
index 0000000..d50ef70
--- /dev/null
+++ b/import-layers/meta-raspberrypi/conf/machine/raspberrypi2.conf
@@ -0,0 +1,12 @@
+#@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"
diff --git a/import-layers/meta-raspberrypi/conf/machine/raspberrypi3.conf b/import-layers/meta-raspberrypi/conf/machine/raspberrypi3.conf
new file mode 100644
index 0000000..cb6056e
--- /dev/null
+++ b/import-layers/meta-raspberrypi/conf/machine/raspberrypi3.conf
@@ -0,0 +1,11 @@
+#@TYPE: Machine
+#@NAME: RaspberryPi 3 Development Board
+#@DESCRIPTION: Machine configuration for the RaspberryPi 3
+
+MACHINEOVERRIDES = "raspberrypi2:${MACHINE}"
+
+MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-brcm43430"
+
+include conf/machine/raspberrypi2.conf
+
+SERIAL_CONSOLE = "115200 ttyS0"