summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNaoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>2024-07-24 07:18:48 +0900
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2024-09-17 08:58:22 +0000
commit6debcd5420b798dd8c0b3052620cc5d8f3bcbff7 (patch)
tree3283a34242e08477560db7fc33904a4b60ec3e0c
parent28b6f10df1bb46d266463ffd7f4bc260644e14a2 (diff)
Add support NanoPC-T6(RK3588) board
This patch add NanoPC-T6 board support to AGL that board is manufactured by FriendlyElec. Board info. https://wiki.friendlyelec.com/wiki/index.php/NanoPC-T6 Bug-AGL: SPEC-5208 Change-Id: Id1b6d9c6f73ece2b3a2f602405f534473e8bcbf2 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/30168 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Tested-by: Jenkins Job builder account
-rw-r--r--meta-agl-bsp/conf/include/agl_rk3588.inc12
-rw-r--r--meta-agl-bsp/meta-rockchip/recipes-bsp/alsa-state/alsa-state.bbappend3
-rw-r--r--meta-agl-bsp/meta-rockchip/recipes-bsp/alsa-state/alsa-state/asound.state525
-rw-r--r--meta-agl-bsp/meta-rockchip/recipes-graphics/wayland/agl-compositor-init.bbappend7
-rw-r--r--meta-agl-bsp/meta-rockchip/recipes-graphics/wayland/agl-compositor-init/agl-compositor-rockchip.conf2
-rw-r--r--meta-agl-bsp/meta-rockchip/recipes-graphics/wayland/weston-ini-conf.bbappend7
-rw-r--r--meta-agl-bsp/meta-rockchip/recipes-graphics/wayland/weston-ini-conf/nanopct6_output.cfg7
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/30-AGL-alsa.conf10
-rw-r--r--templates/machine/nanopc-t6/50_bblayers.conf.inc4
-rw-r--r--templates/machine/nanopc-t6/50_local.conf.inc3
-rw-r--r--templates/machine/nanopc-t6/README_machine_nanopc-t6.md9
11 files changed, 589 insertions, 0 deletions
diff --git a/meta-agl-bsp/conf/include/agl_rk3588.inc b/meta-agl-bsp/conf/include/agl_rk3588.inc
new file mode 100644
index 000000000..4c3f6990f
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_rk3588.inc
@@ -0,0 +1,12 @@
+# Add for gstreamer plugins ugly
+LICENSE_FLAGS_ACCEPTED:append = " commercial"
+MACHINE_FEATURES:append:rk3588 = " multimedia"
+
+BBMASK += " \
+ meta-rockchip/recipes-multimedia/gstreamer \
+ meta-rockchip/recipes-graphics/wayland/weston_%.bbappend \
+ "
+
+MACHINE_EXTRA_RRECOMMENDS:append = " \
+ alsa-state \
+"
diff --git a/meta-agl-bsp/meta-rockchip/recipes-bsp/alsa-state/alsa-state.bbappend b/meta-agl-bsp/meta-rockchip/recipes-bsp/alsa-state/alsa-state.bbappend
new file mode 100644
index 000000000..784560131
--- /dev/null
+++ b/meta-agl-bsp/meta-rockchip/recipes-bsp/alsa-state/alsa-state.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta-agl-bsp/meta-rockchip/recipes-bsp/alsa-state/alsa-state/asound.state b/meta-agl-bsp/meta-rockchip/recipes-bsp/alsa-state/alsa-state/asound.state
new file mode 100644
index 000000000..c4039455a
--- /dev/null
+++ b/meta-agl-bsp/meta-rockchip/recipes-bsp/alsa-state/alsa-state/asound.state
@@ -0,0 +1,525 @@
+state.realtekrt5616co {
+ control.1 {
+ iface CARD
+ name 'Headphone Jack'
+ value true
+ comment {
+ access read
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.2 {
+ iface MIXER
+ name 'I2STDM Digital Loopback Mode'
+ value Disabled
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Disabled
+ item.1 Mode1
+ item.2 Mode2
+ item.3 'Mode2 Swap'
+ }
+ }
+ control.3 {
+ iface MIXER
+ name 'HP Playback Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.4 {
+ iface MIXER
+ name 'HPVOL Playback Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.5 {
+ iface MIXER
+ name 'HP Playback Volume'
+ value.0 0
+ value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 39'
+ dbmin -4650
+ dbmax 1200
+ dbvalue.0 -4650
+ dbvalue.1 -4650
+ }
+ }
+ control.6 {
+ iface MIXER
+ name 'OUT Playback Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.7 {
+ iface MIXER
+ name 'OUT Channel Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.8 {
+ iface MIXER
+ name 'OUT Playback Volume'
+ value.0 31
+ value.1 31
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 39'
+ dbmin -4650
+ dbmax 1200
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.9 {
+ iface MIXER
+ name 'DAC1 Playback Volume'
+ value.0 175
+ value.1 175
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 175'
+ dbmin -65625
+ dbmax 0
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.10 {
+ iface MIXER
+ name 'IN1 Boost Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 8'
+ dbmin 0
+ dbmax 5200
+ dbvalue.0 0
+ }
+ }
+ control.11 {
+ iface MIXER
+ name 'IN2 Boost Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 8'
+ dbmin 0
+ dbmax 5200
+ dbvalue.0 0
+ }
+ }
+ control.12 {
+ iface MIXER
+ name 'IN Capture Volume'
+ value.0 23
+ value.1 23
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 31'
+ dbmin -3450
+ dbmax 1200
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.13 {
+ iface MIXER
+ name 'ADC Capture Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.14 {
+ iface MIXER
+ name 'ADC Capture Volume'
+ value.0 47
+ value.1 47
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 127'
+ dbmin -17625
+ dbmax 30000
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.15 {
+ iface MIXER
+ name 'ADC Boost Volume'
+ value.0 0
+ value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 3'
+ dbmin 0
+ dbmax 3600
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.16 {
+ iface MIXER
+ name 'RECMIXL INL1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.17 {
+ iface MIXER
+ name 'RECMIXL BST2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.18 {
+ iface MIXER
+ name 'RECMIXL BST1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.19 {
+ iface MIXER
+ name 'RECMIXR INR1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.20 {
+ iface MIXER
+ name 'RECMIXR BST2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.21 {
+ iface MIXER
+ name 'RECMIXR BST1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.22 {
+ iface MIXER
+ name 'Stereo1 ADC MIXL ADC1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.23 {
+ iface MIXER
+ name 'Stereo1 ADC MIXR ADC1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.24 {
+ iface MIXER
+ name 'DAC MIXL Stereo ADC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.25 {
+ iface MIXER
+ name 'DAC MIXL INF1 Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.26 {
+ iface MIXER
+ name 'DAC MIXR Stereo ADC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.27 {
+ iface MIXER
+ name 'DAC MIXR INF1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.28 {
+ iface MIXER
+ name 'Stereo DAC MIXL DAC L1 Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.29 {
+ iface MIXER
+ name 'Stereo DAC MIXL DAC R1 Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.30 {
+ iface MIXER
+ name 'Stereo DAC MIXR DAC R1 Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.31 {
+ iface MIXER
+ name 'Stereo DAC MIXR DAC L1 Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.32 {
+ iface MIXER
+ name 'OUT MIXL BST1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.33 {
+ iface MIXER
+ name 'OUT MIXL BST2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.34 {
+ iface MIXER
+ name 'OUT MIXL INL1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.35 {
+ iface MIXER
+ name 'OUT MIXL REC MIXL Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.36 {
+ iface MIXER
+ name 'OUT MIXL DAC L1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.37 {
+ iface MIXER
+ name 'OUT MIXR BST2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.38 {
+ iface MIXER
+ name 'OUT MIXR BST1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.39 {
+ iface MIXER
+ name 'OUT MIXR INR1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.40 {
+ iface MIXER
+ name 'OUT MIXR REC MIXR Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.41 {
+ iface MIXER
+ name 'OUT MIXR DAC R1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.42 {
+ iface MIXER
+ name 'HPO MIX DAC1 Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.43 {
+ iface MIXER
+ name 'HPO MIX HPVOL Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.44 {
+ iface MIXER
+ name 'LOUT MIX DAC L1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.45 {
+ iface MIXER
+ name 'LOUT MIX DAC R1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.46 {
+ iface MIXER
+ name 'LOUT MIX OUTVOL L Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.47 {
+ iface MIXER
+ name 'LOUT MIX OUTVOL R Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+}
diff --git a/meta-agl-bsp/meta-rockchip/recipes-graphics/wayland/agl-compositor-init.bbappend b/meta-agl-bsp/meta-rockchip/recipes-graphics/wayland/agl-compositor-init.bbappend
new file mode 100644
index 000000000..ab14bdbc2
--- /dev/null
+++ b/meta-agl-bsp/meta-rockchip/recipes-graphics/wayland/agl-compositor-init.bbappend
@@ -0,0 +1,7 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+SRC_URI:append = " file://agl-compositor-rockchip.conf "
+
+do_install:append() {
+ install -m644 ${WORKDIR}/agl-compositor-rockchip.conf ${D}/${systemd_system_unitdir}/agl-compositor.service.d/agl-compositor-rockchip.conf
+}
diff --git a/meta-agl-bsp/meta-rockchip/recipes-graphics/wayland/agl-compositor-init/agl-compositor-rockchip.conf b/meta-agl-bsp/meta-rockchip/recipes-graphics/wayland/agl-compositor-init/agl-compositor-rockchip.conf
new file mode 100644
index 000000000..e85d7fa91
--- /dev/null
+++ b/meta-agl-bsp/meta-rockchip/recipes-graphics/wayland/agl-compositor-init/agl-compositor-rockchip.conf
@@ -0,0 +1,2 @@
+[Service]
+Environment=LD_PRELOAD=/usr/lib/libmali.so.1
diff --git a/meta-agl-bsp/meta-rockchip/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/meta-rockchip/recipes-graphics/wayland/weston-ini-conf.bbappend
new file mode 100644
index 000000000..a7bebe3fc
--- /dev/null
+++ b/meta-agl-bsp/meta-rockchip/recipes-graphics/wayland/weston-ini-conf.bbappend
@@ -0,0 +1,7 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+SRC_URI:append = " \
+ file://nanopct6_output.cfg \
+"
+
+WESTON_FRAGMENTS:append:nanopct6 = " nanopct6_output"
diff --git a/meta-agl-bsp/meta-rockchip/recipes-graphics/wayland/weston-ini-conf/nanopct6_output.cfg b/meta-agl-bsp/meta-rockchip/recipes-graphics/wayland/weston-ini-conf/nanopct6_output.cfg
new file mode 100644
index 000000000..fbee86693
--- /dev/null
+++ b/meta-agl-bsp/meta-rockchip/recipes-graphics/wayland/weston-ini-conf/nanopct6_output.cfg
@@ -0,0 +1,7 @@
+[output]
+name=HDMI-A-2
+mode=off
+
+[output]
+name=DP-1
+transform=rotate-90
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/30-AGL-alsa.conf b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/30-AGL-alsa.conf
index fc03ceb38..9af95413b 100644
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/30-AGL-alsa.conf
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/30-AGL-alsa.conf
@@ -63,6 +63,11 @@ monitor.alsa.rules = [
node.name = "~alsa_output.*"
api.alsa.pcm.name = "bcm2835 ALSA"
}
+ # nanopc-t6
+ {
+ node.name = "~alsa_output.*"
+ api.alsa.card.id = "realtekrt5616co"
+ }
]
actions = {
update-props = {
@@ -90,6 +95,11 @@ monitor.alsa.rules = [
node.name = "~alsa_input.*"
api.alsa.card.id = "rcarsound"
}
+ # nanopc-t6
+ {
+ node.name = "~alsa_input.*"
+ api.alsa.card.id = "realtekrt5616co"
+ }
]
actions = {
update-props = {
diff --git a/templates/machine/nanopc-t6/50_bblayers.conf.inc b/templates/machine/nanopc-t6/50_bblayers.conf.inc
new file mode 100644
index 000000000..721a5dca0
--- /dev/null
+++ b/templates/machine/nanopc-t6/50_bblayers.conf.inc
@@ -0,0 +1,4 @@
+BBLAYERS =+ "\
+ ${METADIR}/bsp/meta-rockchip \
+ ${METADIR}/bsp/meta-rockchip-extra \
+ "
diff --git a/templates/machine/nanopc-t6/50_local.conf.inc b/templates/machine/nanopc-t6/50_local.conf.inc
new file mode 100644
index 000000000..aa95de143
--- /dev/null
+++ b/templates/machine/nanopc-t6/50_local.conf.inc
@@ -0,0 +1,3 @@
+MACHINE = "rockchip-rk3588-nanopc-t6"
+
+require conf/include/agl_rk3588.inc
diff --git a/templates/machine/nanopc-t6/README_machine_nanopc-t6.md b/templates/machine/nanopc-t6/README_machine_nanopc-t6.md
new file mode 100644
index 000000000..04d4dc44d
--- /dev/null
+++ b/templates/machine/nanopc-t6/README_machine_nanopc-t6.md
@@ -0,0 +1,9 @@
+---
+description: Machine NanoPC-T6
+authors: Naoto Yamaguchi <naoto.yamaguchi@automotivelinux.org>
+---
+
+### Machine nanopc-t6
+
+Rockchip RK3588 SBC. Manufactured by FriendlyElec.
+