Initial support for raspberry pi 4 40/28440/1
authorNaoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
Mon, 30 Jan 2023 16:31:34 +0000 (01:31 +0900)
committerNaoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
Mon, 30 Jan 2023 16:31:34 +0000 (01:31 +0900)
AGL IC container is supporting R-Car board.
This patch add raspberry pi4 support that aim to easy use hobbyists.

Bug-AGL: SPEC-4678

Change-Id: Ia0175d57b956d763f1ac8a81ae624a4b93b5f727
Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
meta-agl-ic-container/conf/layer.conf
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-cluster-demo/mount.in [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bbappend [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo/network.in [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bbappend [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/multi-display.inc [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-graphics/drm-lease-manager/drm-lease-manager-init.bbappend [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-graphics/drm-lease-manager/drm-lease-manager-init/drm-lease-manager.ini [new file with mode: 0644]

index acf7dbb..7b4552a 100644 (file)
@@ -12,6 +12,8 @@ BBFILE_PRIORITY_aglcontainermc = "100"
 BBFILES_DYNAMIC += " \
     rcar-gen3:${LAYERDIR}/dynamic-layers/meta-rcar-gen3/*/*/*.bb \
     rcar-gen3:${LAYERDIR}/dynamic-layers/meta-rcar-gen3/*/*/*.bbappend \
+    raspberrypi:${LAYERDIR}/dynamic-layers/meta-raspberrypi/*/*/*.bb \
+    raspberrypi:${LAYERDIR}/dynamic-layers/meta-raspberrypi/*/*/*.bbappend \
 "
 
 LAYERSERIES_COMPAT_aglcontainermc = "kirkstone"
diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-cluster-demo/mount.in b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-cluster-demo/mount.in
new file mode 100644 (file)
index 0000000..fdb5187
--- /dev/null
@@ -0,0 +1,13 @@
+# lxc mount setting
+lxc.mount.entry = /var/lib/lxc/cluster-demo/system.conf etc/systemd/system.conf.d/10-environment.conf none bind,optional,create=file
+
+lxc.mount.auto = cgroup:mixed proc:mixed sys:mixed
+lxc.mount.entry = /sys/kernel/security sys/kernel/security none ro,bind,optional 0 0
+
+lxc.cgroup.devices.allow = c 226:* rwm
+lxc.mount.entry = /dev/dri dev/dri none bind,optional,create=dir
+
+lxc.mount.entry = /run/drm-lease-manager/lease-cluster var/display/drm-lease-manager/lease none bind,create=file
+
+lxc.mount.entry = /run/pipewire/icipc-0 var/icipc-0 none bind,optional,create=file
+
diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bbappend b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bbappend
new file mode 100644 (file)
index 0000000..92888ba
--- /dev/null
@@ -0,0 +1,8 @@
+require multi-display.inc
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
+
+# If you want to change display assign in your board, please change this line in your recipe.
+DRM_LEASE_DEVICE ?= "${@bb.utils.contains("HAS_MULTI_DISPLAY", "1", "card0-HDMI-A-2", "card0-HDMI-A-1" ,d)}"
+
+LXC_AUTO_START ?= "1"
diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in
new file mode 100644 (file)
index 0000000..ab6f754
--- /dev/null
@@ -0,0 +1,18 @@
+# lxc mount setting
+lxc.mount.entry = /var/lib/lxc/ivi-demo/system.conf etc/systemd/system.conf.d/10-environment.conf none bind,optional,create=file
+
+lxc.mount.auto = cgroup:mixed proc:mixed sys:mixed
+lxc.mount.entry = /sys/kernel/security sys/kernel/security none ro,bind,optional 0 0
+lxc.mount.entry = tmpfs run tmpfs defaults
+lxc.mount.entry = /run/udev/data run/udev/data none ro,bind,optional,create=dir
+
+lxc.cgroup.devices.allow = c 226:* rwm
+lxc.mount.entry = /dev/dri dev/dri none bind,optional,create=dir
+
+lxc.mount.entry = /run/drm-lease-manager/lease-ivi var/display/drm-lease-manager/lease none bind,create=file
+
+lxc.cgroup.devices.allow = c 13:* rwm
+lxc.mount.entry = /dev/input dev/input none bind,optional,create=dir
+
+lxc.mount.entry = /run/pipewire/pipewire-0 var/pipewire-0 none bind,optional,create=file
+
diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo/network.in b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo/network.in
new file mode 100644 (file)
index 0000000..6545b1a
--- /dev/null
@@ -0,0 +1,5 @@
+# lxc network setting
+lxc.net.0.type = veth
+lxc.net.0.link = lxcbr0
+lxc.net.0.flags = up
+lxc.net.0.hwaddr = 00:16:3e:69:87:a4
diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bbappend b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bbappend
new file mode 100644 (file)
index 0000000..f58fe2c
--- /dev/null
@@ -0,0 +1,5 @@
+require multi-display.inc
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
+
+LXC_AUTO_START ?= "${@bb.utils.contains("HAS_MULTI_DISPLAY", "1", "1", "0" ,d)}"
diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/multi-display.inc b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/multi-display.inc
new file mode 100644 (file)
index 0000000..f6856db
--- /dev/null
@@ -0,0 +1 @@
+HAS_MULTI_DISPLAY ?= "1"
diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-graphics/drm-lease-manager/drm-lease-manager-init.bbappend b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-graphics/drm-lease-manager/drm-lease-manager-init.bbappend
new file mode 100644 (file)
index 0000000..371f653
--- /dev/null
@@ -0,0 +1,2 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+SRC_URI = "file://drm-lease-manager.ini"
diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-graphics/drm-lease-manager/drm-lease-manager-init/drm-lease-manager.ini b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-graphics/drm-lease-manager/drm-lease-manager-init/drm-lease-manager.ini
new file mode 100644 (file)
index 0000000..45ecfc2
--- /dev/null
@@ -0,0 +1,7 @@
+[[lease]]
+name="lease-ivi"
+connectors=["HDMI-A-1"]
+
+[[lease]]
+name="lease-cluster"
+connectors=["HDMI-A-2"]