├── Config.in ├── README.md ├── board └── boundarydevices │ ├── common │ ├── genimage.cfg │ ├── overlay-weston │ │ └── etc │ │ │ ├── init.d │ │ │ └── S70weston │ │ │ ├── profile.d │ │ │ └── weston.sh │ │ │ └── xdg │ │ │ └── weston │ │ │ └── weston.ini │ ├── overlay │ │ ├── etc │ │ │ ├── fw_env.config │ │ │ └── init.d │ │ │ │ ├── S40alsa │ │ │ │ ├── S50wpa-supplicant │ │ │ │ └── S60adbd │ │ ├── lib │ │ │ └── firmware │ │ │ │ ├── bcm4330.hcd │ │ │ │ ├── bcm43340.hcd │ │ │ │ ├── brcm │ │ │ │ ├── brcmfmac4330-sdio.bin │ │ │ │ ├── brcmfmac4330-sdio.txt │ │ │ │ ├── brcmfmac43340-sdio.bin │ │ │ │ └── brcmfmac43340-sdio.txt │ │ │ │ └── ti-connectivity │ │ │ │ ├── TIInit_7.2.31.bts │ │ │ │ └── TIInit_7.6.15.bts │ │ └── var │ │ │ └── lib │ │ │ └── alsa │ │ │ └── asound.state │ └── post-image.sh │ ├── mainline │ ├── 6x_bootscript.txt │ ├── 6x_upgrade.txt │ ├── bootscript-mainline.txt │ └── post-build.sh │ └── nitrogen8ulp │ ├── m33_image.bin │ └── mcore-binary-copy.sh ├── configs ├── nitrogen6sx_qt5_gst1_defconfig ├── nitrogen6x_qt5_gst1_defconfig ├── nitrogen6x_qt5_gst1_mainline_defconfig ├── nitrogen7_gst1_defconfig ├── nitrogen8m_qt5_gst1_defconfig ├── nitrogen8mm_qt5_gst1_defconfig ├── nitrogen8mn_qt5_gst1_defconfig ├── nitrogen8mp_qt5_gst1_defconfig ├── nitrogen8ulp_qt5_gst1_defconfig └── nitrogen93_gst1_defconfig ├── external.desc ├── external.mk ├── package ├── basler-camera │ ├── Config.in │ ├── basler-camera.hash │ └── basler-camera.mk ├── bdsdmac-firmware │ ├── Config.in │ └── bdsdmac-firmware.mk ├── cypress-firmware │ ├── Config.in │ └── cypress-firmware.mk ├── gst1-imx-v2 │ ├── Config.in │ ├── gst1-imx-v2.hash │ └── gst1-imx-v2.mk ├── if573-sdio-firmware │ ├── Config.in │ └── if573-sdio-firmware.mk ├── isp-imx │ ├── 0001-imx219-initial-addition.patch │ ├── 0002-imx-add-imx219-to-startup-scripts.patch │ ├── 0003-imx-add-dual-imx219-support.patch │ ├── 0004-imx-start_isp.sh-always-use-1080p-for-Basler.patch │ ├── 0005-imx-run.sh-never-load-the-modules-manually.patch │ ├── 0006-imx-run.sh-remove-bashism.patch │ ├── 0007-imx-imx8-isp.service-switch-to-usr-share.patch │ ├── 0008-WlDisplay-fix-include-path-of-dma-heap-to-be-imx-hea.patch │ ├── Config.in │ ├── S80isp │ ├── isp-imx.hash │ └── isp-imx.mk ├── kernel-module-bdsdmac-backports │ ├── Config.in │ └── kernel-module-bdsdmac-backports.mk ├── kernel-module-isp-vvcam │ ├── Config.in │ ├── kernel-module-isp-vvcam.hash │ └── kernel-module-isp-vvcam.mk ├── libimxdmabuffer │ ├── Config.in │ ├── libimxdmabuffer.hash │ └── libimxdmabuffer.mk ├── libimxvpuapi-v2 │ ├── Config.in │ ├── libimxvpuapi-v2.hash │ └── libimxvpuapi-v2.mk ├── linux-imx-headers │ ├── Config.in │ └── linux-imx-headers.mk ├── lwb5plus-sdio-sa-firmware │ ├── Config.in │ └── lwb5plus-sdio-sa-firmware.mk ├── qca-firmware │ ├── Config.in │ └── qca-firmware.mk └── qcacld-module │ ├── Config.in │ └── qcacld-module.mk └── patches ├── bluez5_utils ├── 0002-hciattach-add-QCA9377-Tuffello-support.patch └── 0003-Makefile.in-add-autoreconf-d-file.patch ├── gst1-imx └── 0001-blitter.c-fix-data-types.patch ├── gst1-plugins-bad ├── 0001-MMFMWK-7954-waylandsink-change-to-using-GCond-to-avo.patch ├── 0002-MMFMWK-7954-waylandsink-add-fps-print.patch ├── 0003-MMFMWK-7954-waylandsink-pass-dmabuf-modifier-to-west.patch ├── 0004-MMFMWK-8030-waylandsink-support-video-crop-meta-usin.patch ├── 0005-MMFMWK-7954-waylandsink-implement-alpha-blending-for.patch ├── 0006-MMFMWK-7954-waylandsink-apply-surface-buffer-scale-f.patch ├── 0007-MMFMWK-7954-waylandsink-default-to-play-video-fullsc.patch └── 0008-MMFMWK-7954-waylandsink-add-property-to-set-window-r.patch ├── gst1-plugins-base ├── 0001-allocators-Add-GstDmabufMeta.patch ├── 0002-Move-gstimxcommon.h-into-gst-plugins-base.patch ├── 0003-ionmemory-dmabuf-memory-allocator-based-on-ion-drive.patch ├── 0004-MMFMWK-7895-MX8MQ-Enable-Hantro-video-tiled-and.patch ├── 0005-Add-imx-physical-memory-allocator.patch └── 0006-Fix-build-break-casued-by-GST_EXPORT-GST_API_EXPORT.patch ├── libdrm └── 0001-libdrm-amphion-Add-Amphion-VPU-tiled-format.patch ├── qt5cinex └── 0002-content-remove-unsupported-views.patch └── wayland-protocols └── 0001-unstable-Add-alpha-compositing-protocol.patch /Config.in: -------------------------------------------------------------------------------- 1 | source "$BR2_EXTERNAL_BOUNDARY_PATH/package/basler-camera/Config.in" 2 | source "$BR2_EXTERNAL_BOUNDARY_PATH/package/bdsdmac-firmware/Config.in" 3 | source "$BR2_EXTERNAL_BOUNDARY_PATH/package/cypress-firmware/Config.in" 4 | source "$BR2_EXTERNAL_BOUNDARY_PATH/package/gst1-imx-v2/Config.in" 5 | source "$BR2_EXTERNAL_BOUNDARY_PATH/package/if573-sdio-firmware/Config.in" 6 | source "$BR2_EXTERNAL_BOUNDARY_PATH/package/isp-imx/Config.in" 7 | source "$BR2_EXTERNAL_BOUNDARY_PATH/package/kernel-module-bdsdmac-backports/Config.in" 8 | source "$BR2_EXTERNAL_BOUNDARY_PATH/package/kernel-module-isp-vvcam/Config.in" 9 | source "$BR2_EXTERNAL_BOUNDARY_PATH/package/libimxdmabuffer/Config.in" 10 | source "$BR2_EXTERNAL_BOUNDARY_PATH/package/libimxvpuapi-v2/Config.in" 11 | source "$BR2_EXTERNAL_BOUNDARY_PATH/package/linux-imx-headers/Config.in" 12 | source "$BR2_EXTERNAL_BOUNDARY_PATH/package/lwb5plus-sdio-sa-firmware/Config.in" 13 | source "$BR2_EXTERNAL_BOUNDARY_PATH/package/qcacld-module/Config.in" 14 | source "$BR2_EXTERNAL_BOUNDARY_PATH/package/qca-firmware/Config.in" 15 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | buildroot-external-boundary 2 | =========================== 3 | 4 | Buildroot external layer for Boundary Devices platforms and modules. 5 | Contains support for BD-SDMAC Wi-Fi/BT module as well as some demo configurations. 6 | 7 | Configurations details 8 | ---------------------- 9 | 10 | Here are some details about the configurations available: 11 | * `nitrogen8m_qt5_gst1_defconfig`: 12 | * For i.MX 8MQ based [Nitrogen8M][nitrogen8m], [Nitrogen8M SOM][nitrogen8m-som] 13 | * Qt5 modules (+ Cinematic Experience demo) 14 | * GStreamer1.0 with all its plugins 15 | * NXP proprietary packages (VPU, GPU, SDMA) 16 | * NXP-based kernel (5.4.x_2.3.0_ga) 17 | * [BD-SDMAC][bd-sdmac] WiFi/BT modules support 18 | * Miscellaneous tools (adbd, CAN, I2C, IIO, etc...) 19 | * `nitrogen8mm_qt5_gst1_defconfig`: 20 | * For i.MX 8M Mini based [Nitrogen8M Mini][nitrogen8mm], [Nitrogen8M Mini SOM][nitrogen8mm-som] 21 | * Same set of packages as `nitrogen8m_qt5_gst1_defconfig` 22 | * `nitrogen8mn_qt5_gst1_defconfig`: 23 | * For i.MX 8M Nano based [Nitrogen8M Nano][nitrogen8mn], [Nitrogen8M Nano SOM][nitrogen8mn-som] 24 | * Same set of packages as `nitrogen8m_qt5_gst1_defconfig` 25 | * `nitrogen8ulp_qt5_gst1_defconfig`: 26 | * For i.MX 8ULP based [Nitrogen8ULP SOM][nitrogen8ulp] 27 | * Same set of packages as `nitrogen8m_qt5_gst1_defconfig` 28 | * `nitrogen93_gst1_defconfig`: 29 | * For i.MX 93 based [Nitrogen93 SMARC][nitrogen93smarc] 30 | * Same set of packages as `nitrogen8m_qt5_gst1_defconfig`, except without Qt5 modules 31 | * `nitrogen8mp_qt5_gst1_defconfig`: 32 | * For i.MX 8M Plus based [Nitrogen8M Plus SOM][nitrogen8mp-som] 33 | * Same set of packages as `nitrogen8m_qt5_gst1_defconfig` 34 | * `nitrogen6x_qt5_gst1_defconfig`: 35 | * For [BD-SL-i.MX6 (SABRE Lite)][sabrelite], [Nitrogen6X][nitrogen6x], [Nitrogen6X SOM v2][nitrogen6x-somv2], [Nitrogen6 Lite][nitrogen6-lite], [Nitrogen6 MAX][nitrogen6-max], [Nitrogen6 VM][nitrogen6-vm] 36 | * TiWi-BLE and Murata WiFi/BT modules support 37 | * Same set of packages as `nitrogen8m_qt5_gst1_defconfig` 38 | * `nitrogen6sx_qt5_gst1_defconfig`: 39 | * For [Nitrogen6_SoloX][nitrogen6-sx] 40 | * Same set of packages as `nitrogen6x_qt5_gst1_defconfig` 41 | * `nitrogen7_gst1_defconfig`: 42 | * For [Nitrogen7][nitrogen7] 43 | * Same set of packages as `nitrogen6x_qt5_gst1_defconfig` minus Qt5 44 | * `nitrogen6x_qt5_gst1_mainline_defconfig`: 45 | * For [BD-SL-i.MX6 (SABRE Lite)][sabrelite], [Nitrogen6X][nitrogen6x], [Nitrogen6X SOM v2][nitrogen6x-somv2], [Nitrogen6 Lite][nitrogen6-lite], [Nitrogen6 MAX][nitrogen6-max] 46 | * Same set of packages as `nitrogen6x_qt5_gst1_defconfig` 47 | * Mainline kernel 48 | 49 | Build procedure 50 | --------------- 51 | 52 | This procedure requires you to [have the repo tool installed on your system][repo]. 53 | 54 | 1. Download the latest Buildroot and BD external trees: 55 | ``` 56 | $ repo init -u https://github.com/boundarydevices/buildroot-manifest -b master 57 | $ repo sync -c 58 | ``` 59 | 60 | 2. Create an output folder for your build: 61 | ``` 62 | $ make BR2_EXTERNAL=$PWD/buildroot-external-boundary/ -C buildroot/ \ 63 | O=$PWD/output nitrogen8m_qt5_gst1_defconfig 64 | $ cd output 65 | ``` 66 | 67 | 3. Build the image: 68 | ``` 69 | $ make 70 | ``` 71 | 72 | 4. Your rootfs image is ready! 73 | ``` 74 | $ ls -l images/sdcard.img 75 | ``` 76 | 77 | 5. Create the SDK for this image (optional): 78 | ``` 79 | $ make sdk 80 | ``` 81 | 82 | Flashing procedure 83 | ------------------ 84 | 85 | You can simply use `dd` to flash an SD card: 86 | ``` 87 | $ sudo dd if=images/sdcard.img of=/dev/sdX bs=1M 88 | ``` 89 | 90 | If you want to flash the eMMC on your board, you can use the U-Boot UMS gadget as explained in [this blog post][emmc-flashing]. 91 | ``` 92 | => ums 0 mmc 1 93 | ``` 94 | 95 | Using the image 96 | --------------- 97 | 98 | ### Login information 99 | The login for this image is `root` with no password. 100 | ``` 101 | Welcome to Buildroot 102 | buildroot login: root 103 | # 104 | ``` 105 | 106 | ### GPU testing 107 | 108 | ##### NXP proprietary driver 109 | If the configuration/platform supports 3D GPU, the Vivante example can be tested: 110 | ``` 111 | # cd /usr/share/examples/viv_samples/vdk/ 112 | # ./tutorial7 113 | fps: 496.61 114 | ``` 115 | 116 | ##### Mainline driver (etnaviv) 117 | If the configuration/platform supports 3D GPU, make sure to try `kmscube`: 118 | ``` 119 | # kmscube -D /dev/dri/card1 120 | ``` 121 | 122 | ### Qt5 demo 123 | If the configuration includes Qt5 support, the Cinematic demo can be tested. 124 | 125 | ##### i.MX 8M (Quad, Mini, Nano) 126 | Then the demo can be started: 127 | ``` 128 | # CinematicExperience-demo -platform wayland 129 | ``` 130 | 131 | ##### i.MX 6/7 (Quad, Dual, Solo) 132 | The NXP proprietary drivers require to setup the following variables: 133 | ``` 134 | # export FB_MULTI_BUFFER=3 135 | # export QT_QPA_EGLFS_INTEGRATION=eglfs_viv 136 | ``` 137 | 138 | Then the demo can be started: 139 | ``` 140 | # CinematicExperience-demo -platform eglfs 141 | ``` 142 | 143 | ### Gstreamer demo 144 | 145 | If the configuration includes GStreamer support, the following pipelines can be tested: 146 | 147 | ##### i.MX 8M (Quad, Mini, Nano) 148 | * VPU testing 149 | ``` 150 | # wget http://linode.boundarydevices.com/videos/trailer_1080p_h264_mp3.avi -P /root/ 151 | # gst-launch-1.0 filesrc location=/root/trailer_1080p_h264_mp3.avi ! \ 152 | decodebin ! waylandsink 153 | ``` 154 | * Camera (MIPI) Streaming 155 | ``` 156 | # gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720 ! \ 157 | waylandsink 158 | ``` 159 | 160 | ##### i.MX 6/7 (Quad, Dual, Solo) NXP-based kernel 161 | * VPU testing 162 | ``` 163 | # wget http://linode.boundarydevices.com/videos/trailer_1080p_h264_mp3.avi -P /root/ 164 | # gst-launch-1.0 playbin uri=file:///root/trailer_1080p_h264_mp3.avi 165 | # gst-launch-1.0 filesrc location=/root/trailer_1080p_h264_mp3.avi ! \ 166 | avidemux ! decodebin ! imxeglvivsink 167 | ``` 168 | * Camera (MIPI) Streaming to display using 3D GPU: 169 | ``` 170 | # gst-launch-1.0 imxv4l2videosrc device=/dev/video1 ! imxeglvivsink 171 | ``` 172 | * Camera (Parallel) Streaming to display using IPU: 173 | ``` 174 | # gst-launch-1.0 imxv4l2videosrc device=/dev/video0 ! \ 175 | imxipuvideosink use-vsync=true 176 | ``` 177 | * Camera Streaming to display using PXP (i.MX7 / i.MX6SX): 178 | ``` 179 | # gst-launch-1.0 imxv4l2videosrc device=/dev/video1 ! \ 180 | imxpxpvideosink use-vsync=true 181 | ``` 182 | 183 | ##### i.MX 6/7 (Quad, Dual, Solo) Mainline kernel 184 | ``` 185 | # wget http://linode.boundarydevices.com/videos/trailer_1080p_h264_mp3.avi -P /root/ 186 | # gst-launch-1.0 filesrc location=/root/trailer_1080p_h264_mp3.avi ! avidemux ! \ 187 | decodebin ! kmssink name=imx-drm sync=0 188 | ``` 189 | 190 | [bd-sdmac]: https://boundarydevices.com/product/bd_sdmac_wifi/ "BD-SDMAC WiFi/BT module" 191 | [emmc-flashing]:https://boundarydevices.com/programming-emmc-on-i-mx-platforms "Programming eMMC on i.MX" 192 | [nitrogen6x]:http://boundarydevices.com/nitrogen6x-board-imx6-arm-cortex-a9-sbc "Nitrogen6X product page" 193 | [nitrogen6x-som]:http://boundarydevices.com/products/nitrogen6x-som "Nitrogen6X SOM product page" 194 | [nitrogen6x-somv2]:http://boundarydevices.com/product/nit6x-som-v2/ "Nitrogen6X SOM v2 product page" 195 | [nitrogen6-lite]:http://boundarydevices.com/products/nitrogen6_lite "Nitrogen6_Lite product page" 196 | [nitrogen6-max]:http://boundarydevices.com/product/nitrogen6max "Nitrogen6_MAX product page" 197 | [nitrogen6-vm]:http://boundarydevices.com/product/nitrogen6_vm_imx6 "Nitrogen6_VM product page" 198 | [nitrogen6-sx]:http://boundarydevices.com/product/nit6_solox-imx6 "Nit6_SoloX product page" 199 | [nitrogen7]:https://boundarydevices.com/product/nitrogen7 "Nitrogen7 product page" 200 | [nitrogen8m]:https://boundarydevices.com/wiki/nitrogen8m-sbc "Nitrogen8M product page" 201 | [nitrogen8m-som]:https://boundarydevices.com/wiki/nitrogen8m-som "Nitrogen8M SOM product page" 202 | [nitrogen8mm]:https://boundarydevices.com/wiki/nitrogen8m-mini-sbc "Nitrogen8M_Mini product page" 203 | [nitrogen8mm-som]:https://boundarydevices.com/wiki/Nitrogen8M_Mini-SOM "Nitrogen8M_Mini SOM product page" 204 | [nitrogen8mn]:https://boundarydevices.com/wiki/nitrogen8m-nano-sbc "Nitrogen8M Nano product page" 205 | [nitrogen8mn-som]:https://boundarydevices.com/wiki/nitrogen8m-nano-som "Nitrogen8M Nano SOM product page" 206 | [nitrogen8mp-som]:https://boundarydevices.com/wiki/nitrogen8m-plus-som "Nitrogen8M Plus SOM product page" 207 | [nitrogen8ulp]:https://www.ezurio.com/system-on-module/nxp-imx8/nitrogen8ulp-som "Nitrogen8ULP SOM product page" 208 | [nitrogen93smarc]:https://www.ezurio.com/system-on-module/nxp-imx9/nitrogen93-smarc "Nitrogen93 SMARC product page" 209 | [private-git]:https://boundarydevices.com/private-git-access/ "Private Git server access" 210 | [sabrelite]:http://boundarydevices.com/sabre-lite-imx6-sbc "SABRE Lite product page" 211 | [repo]:https://source.android.com/setup/develop#installing-repo "Installing repo" 212 | -------------------------------------------------------------------------------- /board/boundarydevices/common/genimage.cfg: -------------------------------------------------------------------------------- 1 | # Minimal SD card image for Boundary Devices platforms 2 | # 3 | # It does not need a boot section for a bootloader since it is booted 4 | # from its NOR flash memory. 5 | # 6 | # To update the bootloader, execute the following from U-Boot prompt: 7 | # => run upgradeu 8 | 9 | image sdcard.img { 10 | hdimage { 11 | } 12 | 13 | partition rootfs { 14 | partition-type = 0x83 15 | image = "rootfs.ext4" 16 | size = 1280M 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /board/boundarydevices/common/overlay-weston/etc/init.d/S70weston: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | case "$1" in 4 | start|"") 5 | export XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` 6 | if ! test -d "$XDG_RUNTIME_DIR"; then 7 | mkdir --parents $XDG_RUNTIME_DIR 8 | chmod 0700 $XDG_RUNTIME_DIR 9 | fi 10 | weston --log=${XDG_RUNTIME_DIR}/weston.log --debug & 11 | ;; 12 | stop) 13 | killall weston 14 | ;; 15 | restart|reload) 16 | $0 stop 17 | sleep 1 18 | $0 start 19 | ;; 20 | *) 21 | echo "Usage: $0 {start|stop}" >&2 22 | exit 1 23 | ;; 24 | esac 25 | -------------------------------------------------------------------------------- /board/boundarydevices/common/overlay-weston/etc/profile.d/weston.sh: -------------------------------------------------------------------------------- 1 | export XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` 2 | export WAYLAND_DISPLAY=wayland-1 3 | -------------------------------------------------------------------------------- /board/boundarydevices/common/overlay-weston/etc/xdg/weston/weston.ini: -------------------------------------------------------------------------------- 1 | [core] 2 | #gbm-format=argb8888 3 | idle-time=0 4 | #use-g2d=1 5 | #xwayland=true 6 | repaint-window=16 7 | 8 | [shell] 9 | background-image=/usr/share/weston/background.png 10 | background-type=scale 11 | #size=1920x1080 12 | 13 | #[output] 14 | #name=HDMI-A-1 15 | #mode=1920x1080@60 16 | #transform=90 17 | 18 | #[output] 19 | #name=HDMI-A-2 20 | #mode=off 21 | # WIDTHxHEIGHT Resolution size width and height in pixels 22 | # off Disables the output 23 | # preferred Uses the preferred mode 24 | # current Uses the current crt controller mode 25 | #transform=90 26 | 27 | [screen-share] 28 | command=@bindir@/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize 29 | -------------------------------------------------------------------------------- /board/boundarydevices/common/overlay/etc/fw_env.config: -------------------------------------------------------------------------------- 1 | /dev/mtd1 0x00000 0x2000 0x1000 2 2 | -------------------------------------------------------------------------------- /board/boundarydevices/common/overlay/etc/init.d/S40alsa: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | case "$1" in 3 | start|"") 4 | /usr/sbin/alsactl restore 5 | ;; 6 | stop) 7 | /usr/sbin/alsactl store 8 | ;; 9 | restart|reload) 10 | $0 stop 11 | sleep 1 12 | $0 start 13 | ;; 14 | *) 15 | echo "Usage: $0 {start|stop}" >&2 16 | exit 1 17 | ;; 18 | esac 19 | # 20 | -------------------------------------------------------------------------------- /board/boundarydevices/common/overlay/etc/init.d/S50wpa-supplicant: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | DAEMON=wpa_supplicant 3 | CONFIG_FILE=/etc/wpa_supplicant.conf 4 | PID_FILE=/var/run/wpa_supplicant/pid 5 | INTERFACE=wlan0 6 | DRIVER=nl80211 7 | DAEMON_OPTIONS="-B -c $CONFIG_FILE -P $PID_FILE -i$INTERFACE -D$DRIVER" 8 | 9 | case "$1" in 10 | start) 11 | echo -n "Starting wpa_supplicant: " 12 | if ! ifconfig -a $INTERFACE 2&>1 > /dev/null; then 13 | echo '[FAIL]' 14 | echo "--- Interface '$INTERFACE' not found ---" 15 | exit 1 16 | fi 17 | $DAEMON $DAEMON_OPTIONS && \ 18 | echo '[ OK ]' || echo '[FAIL]' 19 | ;; 20 | stop) 21 | if [ -f $PID_FILE ]; then 22 | echo -n "Stopping wpa_supplicant: " 23 | read PID < $PID_FILE 24 | wpa_cli term; 25 | kill $PID && \ 26 | echo '[ OK ]' || echo '[FAIL]' 27 | else 28 | echo "pid file not found... is wpa_supplicant running?" 29 | fi 30 | ;; 31 | restart|reload) 32 | $0 stop 33 | sleep 1 34 | $0 start 35 | ;; 36 | *) 37 | echo "usage: $0 {start|stop|restart}" 38 | ;; 39 | esac 40 | 41 | -------------------------------------------------------------------------------- /board/boundarydevices/common/overlay/etc/init.d/S60adbd: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | case "$1" in 4 | start|"") 5 | modprobe g_ffs idVendor=0x18d1 idProduct=0x4e42 iSerialNumber="buildroot" 6 | mkdir -p /dev/usb-ffs/adb 7 | mount -t functionfs adb /dev/usb-ffs/adb -o uid=2000,gid=2000 8 | adbd & 9 | ;; 10 | stop) 11 | killall adbd 12 | umount /dev/usb-ffs/adb 13 | modprobe -r g_ffs 14 | ;; 15 | restart|reload) 16 | $0 stop 17 | sleep 1 18 | $0 start 19 | ;; 20 | *) 21 | echo "Usage: adbd {start|stop}" >&2 22 | exit 1 23 | ;; 24 | esac 25 | -------------------------------------------------------------------------------- /board/boundarydevices/common/overlay/lib/firmware/bcm4330.hcd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boundarydevices/buildroot-external-boundary/e3b0a31313c53f87044c38050e9b27ce3e81593f/board/boundarydevices/common/overlay/lib/firmware/bcm4330.hcd -------------------------------------------------------------------------------- /board/boundarydevices/common/overlay/lib/firmware/bcm43340.hcd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boundarydevices/buildroot-external-boundary/e3b0a31313c53f87044c38050e9b27ce3e81593f/board/boundarydevices/common/overlay/lib/firmware/bcm43340.hcd -------------------------------------------------------------------------------- /board/boundarydevices/common/overlay/lib/firmware/brcm/brcmfmac4330-sdio.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boundarydevices/buildroot-external-boundary/e3b0a31313c53f87044c38050e9b27ce3e81593f/board/boundarydevices/common/overlay/lib/firmware/brcm/brcmfmac4330-sdio.bin -------------------------------------------------------------------------------- /board/boundarydevices/common/overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt: -------------------------------------------------------------------------------- 1 | #Sample variables file for BCM94330 SD FC AGB board 2 | manfid=0x2d0 3 | prodid=0x0547 4 | vendid=0x14e4 5 | devid=0x4360 6 | boardtype=0x05e1 7 | boardrev=0x1202 8 | boardflags=0x0080200 9 | nocrc=1 10 | xtalfreq=37400 11 | boardnum=22 12 | macaddr=00:90:4c:c5:12:38 13 | ag0=254 14 | aa2g=1 15 | ccode=ALL 16 | pa0itssit=0x20 17 | pa0b0=5367 18 | pa0b1=-633 19 | pa0b2=-158 20 | rssismf2g=0xa 21 | rssismc2g=0x3 22 | rssisav2g=0x7 23 | #rssi params for 5GHz 24 | rssismf5g=0x4 25 | rssismc5g=0x3 26 | rssisav5g=0x7 27 | #PA parameters for lower a-band 28 | pa1lob0=4378 29 | pa1lob1=-596 30 | pa1lob2=-180 31 | #PA parameters for midband 32 | pa1b0=4672 33 | pa1b1=-603 34 | pa1b2=-172 35 | #PA parameters for high band 36 | pa1hib0=4752 37 | pa1hib1=-609 38 | pa1hib2=-173 39 | rxpo5g=0 40 | maxp2ga0=76 41 | maxp5ga0=0x42 42 | maxp5gla0=0x42 43 | maxp5gha0=0x42 44 | # 2.4G Tx Power offsets 45 | cck2gpo=0x4444 46 | ofdm2gpo=0x66666666 47 | mcs2gpo0=0x8888 48 | mcs2gpo1=0x8888 49 | # 5G Tx Power offsets 50 | ofdm5gpo=0x44444444 51 | ofdm5glpo=0x44444444 52 | ofdm5ghpo=0x44444444 53 | mcs5gpo0=0x6666 54 | mcs5gpo1=0x6666 55 | mcs5glpo0=0x6666 56 | mcs5glpo1=0x6666 57 | mcs5ghpo0=0x6666 58 | mcs5ghpo1=0x46666 59 | sromrev=3 60 | il0macaddr=00:90:4c:c5:12:38 61 | wl0id=0x431b 62 | cckPwrOffset=4 63 | swctrlmap_2g=0x44844484,0x42824282,0x40804484,0x18282,0x1ff 64 | triso5g=0 65 | swctrlmap_5g=0x00100010,0x20202020,0x20202020,0x14202,0x0f0 66 | rfreg033=0x19 67 | rfreg033_cck=0x1f 68 | dacrate2g=160 69 | dacrate5g=160 70 | txalpfbyp2g=1 71 | bphyscale=17 72 | cckPwrIdxCorr=-15 73 | pacalidx2g=50 74 | #pacalidx5g=20 75 | noise_cal_ref_2g=53 76 | noise_cal_po_2g=0 77 | noise_cal_ref_5g=52 78 | noise_cal_po_5g=5,0,0 79 | 80 | 81 | -------------------------------------------------------------------------------- /board/boundarydevices/common/overlay/lib/firmware/brcm/brcmfmac43340-sdio.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boundarydevices/buildroot-external-boundary/e3b0a31313c53f87044c38050e9b27ce3e81593f/board/boundarydevices/common/overlay/lib/firmware/brcm/brcmfmac43340-sdio.bin -------------------------------------------------------------------------------- /board/boundarydevices/common/overlay/lib/firmware/brcm/brcmfmac43340-sdio.txt: -------------------------------------------------------------------------------- 1 | # Originally NVRAM file for BCM943341WLAGB_2 P203 board 2 | # For Murata 1BV 3 | manfid=0x2d0 4 | prodid=0x0653 5 | vendid=0x14e4 6 | devid=0x4386 7 | boardtype=0x0653 8 | boardrev=0x1203 9 | boardnum=22 10 | macaddr=00:90:4c:c5:12:38 11 | sromrev=3 12 | boardflags=0x0080201 13 | xtalfreq=37400 14 | nocrc=1 15 | ag0=255 16 | aa2g=1 17 | ccode=ALL 18 | #PA parameters for 2.4GHz 19 | pa0b0=6806 20 | pa0b1=-814 21 | pa0b2=-191 22 | tssifloor2g=64 23 | # rssi params for 2.4GHz 24 | rssismf2g=0xf 25 | rssismc2g=0x8 26 | rssisav2g=0x1 27 | cckPwrOffset=1 28 | PwrOffset40mhz2g=8 29 | # rssi params for 5GHz 30 | rssismf5g=0xf 31 | rssismc5g=0x7 32 | #rssisav5g=0x1 33 | rssisav5g=0x3 34 | #PA parameters for lower a-band 35 | pa1lob0=5765 36 | pa1lob1=-714 37 | pa1lob2=-172 38 | tssifloor5gl=32 39 | #PA parameters for midband 40 | pa1b0=5860 41 | pa1b1=-721 42 | pa1b2=-174 43 | tssifloor5gm=34 44 | #PA paramasdeters for high band 45 | pa1hib0=6266 46 | pa1hib1=-722 47 | pa1hib2=-147 48 | tssifloor5gh=32 49 | rxpo5g=0 50 | maxp2ga0=0x48 51 | # 18dBm board limit; 17dBm target 52 | #Per rate power back-offs for g band, in .5 dB steps. Set it once you have the right numbers. 53 | cck2gpo=0x0000 54 | ofdm2gpo=0x88888888 55 | # R54 13 dBm; R48 13 dBm; R6~R36 13dBm board limit; 15/16/16.5 dBm target 56 | mcs2gpo0=0xaaaa 57 | # M0~M3 12 dBm board limit; 17 dBm target 58 | mcs2gpo1=0xaaaa 59 | # M7 12 dBm; M6 12 dBm; M5 12 dBm; M4 12 dBm board limit; 13.5/15/16/16.5 dBm target 60 | # max power for 5G 17 dBm 61 | maxp5ga0=0x40 62 | # 17 dBm board limit; 16 dBm target 63 | maxp5gla0=0x40 64 | maxp5gha0=0x40 65 | #Per rate power back-offs for a band, in .5 dB steps. Set it once you have the right numbers. 66 | ofdm5gpo=0x44444444 67 | # R54 14.5dBm; R48 16 dBm; R6~R36 16.5 dBm board limit; 13.5/15/15.5 dBm target 68 | ofdm5glpo=0x44444444 69 | ofdm5ghpo=0x44444444 70 | mcs5gpo0=0x6666 71 | # M0~M4 17dBm max ; 16 dBm target (1dB higher than ofdm) 72 | mcs5gpo1=0x6666 73 | # M7 14 dBm; M6 14.5 dBm; M5 15.5 dBm board limit; 13/13.5/14.5 dBm target 74 | mcs5glpo0=0x6666 75 | mcs5glpo1=0x6666 76 | mcs5ghpo0=0x6666 77 | mcs5ghpo1=0x6666 78 | swctrlmap_2g=0x00080008,0x00100010,0x00080008,0x011010,0x11f 79 | #swctrlmap_5g=0x00020002,0x00040004,0x00020002,0x011010,0x2fe 80 | ## For GN04100 81 | swctrlmap_5g=0x00040004,0x00020002,0x00040004,0x011010,0x2fe 82 | gain=32 83 | triso2g=8 84 | triso5g=8 85 | #hw oob for SDIO (comment out accordingly, for the final products) 86 | #muxenab=0x11 87 | #tx parameters 88 | loflag=0 89 | iqlocalidx5g=40 90 | dlocalidx5g=70 91 | iqcalidx5g=50 92 | lpbckmode5g=1 93 | txiqlopapu5g=0 94 | txiqlopapu2g=0 95 | dlorange_lowlimit=5 96 | txalpfbyp=1 97 | txalpfpu=1 98 | dacrate2xen=1 99 | papden2g=1 100 | papden5g=1 101 | #rx parameters 102 | gain_settle_dly_2g=4 103 | gain_settle_dly_5g=4 104 | noise_cal_po_2g=-1 105 | noise_cal_po_40_2g=-1 106 | noise_cal_high_gain_2g=73 107 | noise_cal_nf_substract_val_2g=346 108 | noise_cal_po_5g=-1 109 | noise_cal_po_40_5g=-1 110 | noise_cal_high_gain_5g=73 111 | noise_cal_nf_substract_val_5g=346 112 | cckpapden=1 113 | aci_detect_en_2g=1 114 | interference=3 115 | sd_gpout=0 116 | sd_oobonly=1 117 | sd_gpval=1 118 | sd_gpdc=0 -------------------------------------------------------------------------------- /board/boundarydevices/common/overlay/lib/firmware/ti-connectivity/TIInit_7.2.31.bts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boundarydevices/buildroot-external-boundary/e3b0a31313c53f87044c38050e9b27ce3e81593f/board/boundarydevices/common/overlay/lib/firmware/ti-connectivity/TIInit_7.2.31.bts -------------------------------------------------------------------------------- /board/boundarydevices/common/overlay/lib/firmware/ti-connectivity/TIInit_7.6.15.bts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boundarydevices/buildroot-external-boundary/e3b0a31313c53f87044c38050e9b27ce3e81593f/board/boundarydevices/common/overlay/lib/firmware/ti-connectivity/TIInit_7.6.15.bts -------------------------------------------------------------------------------- /board/boundarydevices/common/post-image.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | support/scripts/genimage.sh -c $(dirname $0)/genimage.cfg 4 | 5 | exit $? 6 | -------------------------------------------------------------------------------- /board/boundarydevices/mainline/6x_bootscript.txt: -------------------------------------------------------------------------------- 1 | setenv bootargs '' 2 | 3 | setenv initrd_high 0xffffffff 4 | a_base=0x10000000 5 | if itest.s x51 == "x${cpu}" ; then 6 | a_base=0x90000000 7 | elif itest.s x53 == "x${cpu}"; then 8 | a_base=0x70000000 9 | elif itest.s x6SX == "x${cpu}" || itest.s x7D == "x${cpu}"; then 10 | a_base=0x80000000 11 | fi 12 | 13 | setexpr a_script ${a_base} + 0x00800000 14 | setexpr a_zImage ${a_base} + 0x00800000 15 | setexpr a_fdt ${a_base} + 0x03000000 16 | setexpr a_ramdisk ${a_base} + 0x03800000 17 | setexpr a_initrd ${a_base} + 0x03a00000 18 | setexpr a_reset_cause_marker ${a_base} + 0x80 19 | setexpr a_reset_cause ${a_base} + 0x84 20 | 21 | if itest.s "x" == "x${board}" ; then 22 | echo "!!!! Error: Your u-boot is outdated. Please upgrade."; 23 | exit; 24 | fi 25 | 26 | if itest.s "x" == "x${dtbname}" ; then 27 | if itest.s x6SOLO == "x${cpu}" ; then 28 | dtbname=imx6dl-${board}.dtb; 29 | elif itest.s x6DL == "x${cpu}" ; then 30 | dtbname=imx6dl-${board}.dtb; 31 | elif itest.s x6QP == "x${cpu}" ; then 32 | dtbname=imx6qp-${board}.dtb; 33 | elif itest.s x6SX == "x${cpu}" ; then 34 | dtbname=imx6sx-${board}.dtb; 35 | elif itest.s x7D == "x${cpu}" ; then 36 | dtbname=imx7d-${board}.dtb; 37 | elif itest.s x51 == "x${cpu}" ; then 38 | dtbname=imx51-${board}${m4}.dtb; 39 | elif itest.s x53 == "x${cpu}" ; then 40 | dtbname=imx53-${board}${m4}.dtb; 41 | else 42 | dtbname=imx6q-${board}.dtb; 43 | fi 44 | fi 45 | 46 | if load ${dtype} ${disk}:1 ${a_script} uEnv.txt ; then 47 | env import -t ${a_script} ${filesize} 48 | fi 49 | 50 | if itest.s x == x${bootdir} ; then 51 | bootdir=/boot/ 52 | fi 53 | 54 | if itest.s x${bootpart} == x ; then 55 | bootpart=1 56 | fi 57 | 58 | if load ${dtype} ${disk}:${bootpart} ${a_fdt} ${bootdir}${dtbname} ; then 59 | fdt addr ${a_fdt} 60 | setenv fdt_high 0xffffffff 61 | else 62 | echo "!!!! Error loading ${bootdir}${dtbname}"; 63 | exit; 64 | fi 65 | 66 | fdt resize 67 | if itest.s "x" != "x${cmd_custom}" ; then 68 | run cmd_custom 69 | fi 70 | 71 | ## HDMI ## 72 | if itest.s "xoff" == "x$fb_hdmi" ; then 73 | setenv bootargs $bootargs video=HDMI-A-1:d 74 | else 75 | if itest.s "x" != "x$force_edid" ; then 76 | echo "------ forcing EDID to /lib/firmware/$force_edid" 77 | setenv bootargs $bootargs drm_kms_helper.edid_firmware=$force_edid 78 | fi 79 | fi 80 | 81 | ## LVDS ## 82 | if itest.s "xoff" == "x$fb_lvds" ; then 83 | setenv bootargs $bootargs video=LVDS-1:d 84 | elif itest.s "xhannstar7" == "x$fb_lvds" ; then 85 | fdt set /panel-lvds0 compatible "hannstar,hsd070pww1" 86 | elif itest.s "xtm070jdhg30" == "x$fb_lvds" ; then 87 | fdt set /panel-lvds0 compatible "tianma,tm070jdhg30" 88 | elif itest.s "xdt070btft" == "x$fb_lvds" ; then 89 | fdt set /panel-lvds0 compatible "innolux,zj070na-01p" 90 | fi 91 | 92 | if itest.s "xoff" == "x$fb_lvds2" ; then 93 | setenv bootargs $bootargs video=LVDS-2:d 94 | elif itest.s "xhannstar7" == "x$fb_lvds2" ; then 95 | fdt set /panel-lvds1 compatible "hannstar,hsd070pww1" 96 | elif itest.s "xtm070jdhg30" == "x$fb_lvds2" ; then 97 | fdt set /panel-lvds1 compatible "tianma,tm070jdhg30" 98 | elif itest.s "xdt070btft" == "x$fb_lvds2" ; then 99 | fdt set /panel-lvds1 compatible "innolux,zj070na-01p" 100 | fi 101 | 102 | ## LCD ## 103 | if itest.s "xoff" == "x$fb_lcd" ; then 104 | setenv bootargs $bootargs video=VGA-1:d 105 | fi 106 | 107 | if itest.s x${rfspart} == x ; then 108 | rfspart=1 109 | fi 110 | 111 | if itest.s "x" == "x${root}"; then 112 | part uuid ${dtype} ${disk}:${rfspart} uuid 113 | if itest.s "x" != "x${uuid}"; then 114 | root=PARTUUID=${uuid} 115 | elif test "sata" = "${dtype}" || test "usb" = "${dtype}" ; then 116 | root=/dev/sda${rfspart} 117 | else 118 | root=/dev/mmcblk${disk}p${rfspart} 119 | fi 120 | fi 121 | 122 | if itest.s "x" == "x$cma" ; then 123 | cma=256M 124 | fi 125 | 126 | if itest.s "x" == "x$vmalloc" ; then 127 | vmalloc=400M 128 | fi 129 | 130 | if itest.s "x" != "x$show_fdt" ; then 131 | fdt print / 132 | fi 133 | 134 | if itest.s "x" != "x$show_env" ; then 135 | printenv 136 | fi 137 | 138 | setenv bootargs "$bootargs console=${console},115200 vmalloc=${vmalloc}" 139 | setenv bootargs "$bootargs cma=${cma} consoleblank=0 root=${root} rootwait" 140 | 141 | if itest.s "x" != "x${loglevel}" ; then 142 | setenv bootargs ${bootargs} loglevel=${loglevel} 143 | fi 144 | 145 | if itest *${a_reset_cause_marker} == 12345678 ; then 146 | setexpr.l reset_cause *${a_reset_cause} 147 | setenv bootargs $bootargs reset_cause=0x${reset_cause} 148 | fi 149 | 150 | if load ${dtype} ${disk}:${bootpart} ${a_zImage} ${bootdir}zImage ; then 151 | bootz ${a_zImage} - ${a_fdt} 152 | fi 153 | echo "Error loading kernel image" 154 | -------------------------------------------------------------------------------- /board/boundarydevices/mainline/6x_upgrade.txt: -------------------------------------------------------------------------------- 1 | if itest.s a$uboot_defconfig == a; then 2 | echo "Please set uboot_defconfig to the appropriate value" 3 | exit 4 | fi 5 | 6 | offset=0x400 7 | a_uImage1=0x12000000 8 | a_uImage2=0x12400000 9 | 10 | if itest.s x6SX == "x${cpu}" || itest.s x7D == "x${cpu}"; then 11 | a_uImage1=0x82000000 12 | a_uImage2=0x82400000 13 | fi 14 | 15 | setenv stdout serial,vga 16 | echo "check U-Boot" ; 17 | 18 | if load ${dtype} ${disk}:1 ${a_uImage1} u-boot.$uboot_defconfig ; then 19 | else 20 | echo "No U-Boot image found on SD card" ; 21 | exit 22 | fi 23 | echo "read $filesize bytes from SD card" ; 24 | if sf probe || sf probe || sf probe 1 27000000 || sf probe 1 27000000 ; then 25 | echo "probed SPI ROM" ; 26 | else 27 | echo "Error initializing EEPROM" ; 28 | exit 29 | fi ; 30 | if sf read ${a_uImage2} $offset $filesize ; then 31 | else 32 | echo "Error reading boot loader from EEPROM" ; 33 | exit 34 | fi 35 | if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then 36 | echo "------- U-Boot versions match" ; 37 | exit 38 | fi 39 | echo "Need U-Boot upgrade" ; 40 | echo "Program in 5 seconds" ; 41 | for n in 5 4 3 2 1 ; do 42 | echo $n ; 43 | sleep 1 ; 44 | done 45 | echo "erasing" ; 46 | sf erase 0 0xC0000 ; 47 | 48 | # two steps to prevent bricking 49 | echo "programming" ; 50 | setexpr a1 ${a_uImage1} + 0x400 51 | setexpr o1 ${offset} + 0x400 52 | setexpr s1 ${filesize} - 0x400 53 | sf write ${a1} ${o1} ${s1} ; 54 | sf write ${a_uImage1} $offset 0x400 ; 55 | 56 | echo "verifying" ; 57 | if sf read ${a_uImage2} $offset $filesize ; then 58 | else 59 | echo "Error re-reading EEPROM" ; 60 | exit 61 | fi 62 | if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then 63 | else 64 | echo "Read verification error" ; 65 | exit 66 | fi 67 | while echo "---- U-Boot upgraded. reset" ; do 68 | sleep 120 69 | done 70 | -------------------------------------------------------------------------------- /board/boundarydevices/mainline/bootscript-mainline.txt: -------------------------------------------------------------------------------- 1 | setenv bootargs '' 2 | 3 | setenv initrd_high 0xffffffff 4 | a_base=0x10000000 5 | if itest.s x51 == "x${imx_cpu}" ; then 6 | a_base=0x90000000 7 | elif itest.s x53 == "x${imx_cpu}"; then 8 | a_base=0x70000000 9 | elif itest.s x6SX == "x${imx_cpu}" || itest.s x7D == "x${imx_cpu}"; then 10 | a_base=0x80000000 11 | fi 12 | 13 | setexpr a_script ${a_base} + 0x00800000 14 | setexpr a_zImage ${a_base} + 0x00800000 15 | setexpr a_fdt ${a_base} + 0x03000000 16 | setexpr a_ramdisk ${a_base} + 0x03800000 17 | setexpr a_initrd ${a_base} + 0x03a00000 18 | setexpr a_reset_cause_marker ${a_base} + 0x80 19 | setexpr a_reset_cause ${a_base} + 0x84 20 | 21 | if itest.s "x" == "x${board}" ; then 22 | echo "!!!! Error: Your u-boot is outdated. Please upgrade."; 23 | exit; 24 | fi 25 | 26 | if itest.s "x" == "x${fdt_file}" ; then 27 | if itest.s x6SOLO == "x${imx_cpu}" ; then 28 | fdt_file=imx6dl-${board}.dtb; 29 | elif itest.s x6DL == "x${imx_cpu}" ; then 30 | fdt_file=imx6dl-${board}.dtb; 31 | elif itest.s x6QP == "x${imx_cpu}" ; then 32 | fdt_file=imx6qp-${board}.dtb; 33 | elif itest.s x6SX == "x${imx_cpu}" ; then 34 | fdt_file=imx6sx-${board}.dtb; 35 | elif itest.s x7D == "x${imx_cpu}" ; then 36 | fdt_file=imx7d-${board}.dtb; 37 | elif itest.s x51 == "x${imx_cpu}" ; then 38 | fdt_file=imx51-${board}${m4}.dtb; 39 | elif itest.s x53 == "x${imx_cpu}" ; then 40 | fdt_file=imx53-${board}${m4}.dtb; 41 | else 42 | fdt_file=imx6q-${board}.dtb; 43 | fi 44 | fi 45 | 46 | if load ${devtype} ${devnum}:1 ${a_script} uEnv.txt ; then 47 | env import -t ${a_script} ${filesize} 48 | fi 49 | 50 | if itest.s x${distro_bootpart} == x ; then 51 | distro_bootpart=1 52 | fi 53 | 54 | if load ${devtype} ${devnum}:${distro_bootpart} ${a_fdt} ${prefix}${fdt_file} ; then 55 | fdt addr ${a_fdt} 56 | setenv fdt_high 0xffffffff 57 | else 58 | echo "!!!! Error loading ${prefix}${fdt_file}"; 59 | exit; 60 | fi 61 | 62 | fdt resize 63 | if itest.s "x" != "x${cmd_custom}" ; then 64 | run cmd_custom 65 | fi 66 | 67 | ## HDMI ## 68 | if itest.s "xoff" == "x$fb_hdmi" ; then 69 | setenv bootargs $bootargs video=HDMI-A-1:d 70 | else 71 | if itest.s "x" != "x$force_edid" ; then 72 | echo "------ forcing EDID to /lib/firmware/$force_edid" 73 | setenv bootargs $bootargs drm_kms_helper.edid_firmware=$force_edid 74 | fi 75 | fi 76 | 77 | ## LVDS ## 78 | if itest.s "xoff" == "x$fb_lvds" ; then 79 | setenv bootargs $bootargs video=LVDS-1:d 80 | elif itest.s "xhannstar7" == "x$fb_lvds" ; then 81 | fdt set /panel-lvds0 compatible "hannstar,hsd070pww1" 82 | elif itest.s "xtm070jdhg30" == "x$fb_lvds" ; then 83 | fdt set /panel-lvds0 compatible "tianma,tm070jdhg30" 84 | elif itest.s "xdt070btft" == "x$fb_lvds" ; then 85 | fdt set /panel-lvds0 compatible "innolux,zj070na-01p" 86 | fi 87 | 88 | if itest.s "xoff" == "x$fb_lvds2" ; then 89 | setenv bootargs $bootargs video=LVDS-2:d 90 | elif itest.s "xhannstar7" == "x$fb_lvds2" ; then 91 | fdt set /panel-lvds1 compatible "hannstar,hsd070pww1" 92 | elif itest.s "xtm070jdhg30" == "x$fb_lvds2" ; then 93 | fdt set /panel-lvds1 compatible "tianma,tm070jdhg30" 94 | elif itest.s "xdt070btft" == "x$fb_lvds2" ; then 95 | fdt set /panel-lvds1 compatible "innolux,zj070na-01p" 96 | fi 97 | 98 | ## LCD ## 99 | if itest.s "xoff" == "x$fb_lcd" ; then 100 | setenv bootargs $bootargs video=VGA-1:d 101 | fi 102 | 103 | if itest.s x${rfspart} == x ; then 104 | rfspart=1 105 | fi 106 | 107 | if itest.s "x" == "x${root}"; then 108 | part uuid ${devtype} ${devnum}:${rfspart} uuid 109 | if itest.s "x" != "x${uuid}"; then 110 | root=PARTUUID=${uuid} 111 | elif test "sata" = "${devtype}" || test "usb" = "${devtype}" ; then 112 | root=/dev/sda${rfspart} 113 | else 114 | root=/dev/mmcblk${devnum}p${rfspart} 115 | fi 116 | fi 117 | 118 | if itest.s "x" == "x$cma" ; then 119 | cma=256M 120 | fi 121 | 122 | if itest.s "x" == "x$vmalloc" ; then 123 | vmalloc=400M 124 | fi 125 | 126 | if itest.s "x" != "x$show_fdt" ; then 127 | fdt print / 128 | fi 129 | 130 | if itest.s "x" != "x$show_env" ; then 131 | printenv 132 | fi 133 | 134 | setenv bootargs "$bootargs console=${console},115200 vmalloc=${vmalloc}" 135 | setenv bootargs "$bootargs cma=${cma} consoleblank=0 root=${root} rootwait" 136 | 137 | if itest.s "x" != "x${loglevel}" ; then 138 | setenv bootargs ${bootargs} loglevel=${loglevel} 139 | fi 140 | 141 | if itest *${a_reset_cause_marker} == 12345678 ; then 142 | setexpr.l reset_cause *${a_reset_cause} 143 | setenv bootargs $bootargs reset_cause=0x${reset_cause} 144 | fi 145 | setenv bootargs ${bootargs} snd.slots=,snd-soc-imx-hdmi 146 | 147 | if load ${devtype} ${devnum}:${distro_bootpart} ${a_zImage} ${prefix}zImage ; then 148 | bootz ${a_zImage} - ${a_fdt} 149 | fi 150 | echo "Error loading kernel image" 151 | -------------------------------------------------------------------------------- /board/boundarydevices/mainline/post-build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # post-build fixups 3 | # for further details, see 4 | # 5 | # http://boundarydevices.com/u-boot-on-i-mx6/ 6 | # 7 | 8 | BOARD_DIR="$(dirname $0)" 9 | BOOTSCRIPTS_DIR="$UBOOT_DIR/board/boundary/bootscripts" 10 | 11 | # bd u-boot looks for standard bootscript 12 | install -m 0644 -D $BINARIES_DIR/boot.scr $TARGET_DIR/boot/ 13 | # legacy 6x_bootscript script 14 | $HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ 15 | -n "boot script" -d $BOARD_DIR/6x_bootscript.txt $TARGET_DIR/6x_bootscript 16 | 17 | # u-boot / update script for bd upgradeu command 18 | if [ -e $BINARIES_DIR/u-boot.imx ]; 19 | then 20 | install -D -m 0644 $BINARIES_DIR/u-boot.imx $TARGET_DIR/u-boot.imx 21 | $HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ 22 | -n "upgrade script" -d $BOOTSCRIPTS_DIR/upgrade.txt $TARGET_DIR/upgrade.scr 23 | # legacy 6x_upgrade script 24 | install -D -m 0644 $BINARIES_DIR/u-boot.imx $TARGET_DIR/u-boot.imx 25 | $HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ 26 | -n "upgrade script" -d $BOARD_DIR/6x_upgrade.txt $TARGET_DIR/6x_upgrade 27 | fi 28 | -------------------------------------------------------------------------------- /board/boundarydevices/nitrogen8ulp/m33_image.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boundarydevices/buildroot-external-boundary/e3b0a31313c53f87044c38050e9b27ce3e81593f/board/boundarydevices/nitrogen8ulp/m33_image.bin -------------------------------------------------------------------------------- /board/boundarydevices/nitrogen8ulp/mcore-binary-copy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | install -D -m 0644 ${BR2_EXTERNAL_BOUNDARY_PATH}/board/boundarydevices/nitrogen8ulp/m33_image.bin $BINARIES_DIR 3 | -------------------------------------------------------------------------------- /configs/nitrogen6sx_qt5_gst1_defconfig: -------------------------------------------------------------------------------- 1 | # architecture 2 | BR2_arm=y 3 | BR2_cortex_a9=y 4 | BR2_ARM_ENABLE_NEON=y 5 | BR2_ARM_ENABLE_VFP=y 6 | BR2_ARM_FPU_VFPV3=y 7 | 8 | # system 9 | BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BOUNDARY_PATH)/patches/" 10 | BR2_PACKAGE_HOST_GENIMAGE=y 11 | BR2_PACKAGE_HOST_UBOOT_TOOLS=y 12 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 13 | BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BOUNDARY_PATH)/board/boundarydevices/common/overlay" 14 | BR2_ROOTFS_POST_BUILD_SCRIPT="board/boundarydevices/common/post-build.sh" 15 | BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BOUNDARY_PATH)/board/boundarydevices/common/post-image.sh" 16 | BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" 17 | BR2_TARGET_GENERIC_GETTY=y 18 | 19 | # toolchain 20 | BR2_TOOLCHAIN_EXTERNAL=y 21 | BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY=y 22 | 23 | # filesystem 24 | BR2_TARGET_ROOTFS_EXT2=y 25 | BR2_TARGET_ROOTFS_EXT2_4=y 26 | BR2_TARGET_ROOTFS_EXT2_SIZE="1280M" 27 | 28 | # Linux headers same as kernel, a 6.1 series 29 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y 30 | 31 | # bootloader 32 | BR2_TARGET_UBOOT=y 33 | BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y 34 | BR2_TARGET_UBOOT_CUSTOM_TARBALL=y 35 | # Latest revision of branch boundary-v2022.04 36 | BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/e3228228.tar.gz" 37 | BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen6sx" 38 | BR2_TARGET_UBOOT_FORMAT_IMX=y 39 | BR2_PACKAGE_HOST_UBOOT_TOOLS=y 40 | BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y 41 | BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/boundarydevices/common/boot.cmd" 42 | 43 | # kernel 44 | BR2_LINUX_KERNEL=y 45 | BR2_LINUX_KERNEL_CUSTOM_TARBALL=y 46 | # Latest revision of branch boundary-imx_6.1.y 47 | BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/f789d32c.tar.gz" 48 | BR2_LINUX_KERNEL_DEFCONFIG="boundary" 49 | BR2_LINUX_KERNEL_INSTALL_TARGET=y 50 | BR2_LINUX_KERNEL_DTS_SUPPORT=y 51 | BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sx-nitrogen6sx imx6sx-nitrogen6sx-m4" 52 | BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 53 | 54 | # NXP packages 55 | BR2_PACKAGE_FREESCALE_IMX=y 56 | BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q=y 57 | BR2_PACKAGE_IMX_CODEC=y 58 | BR2_PACKAGE_IMX_LIB=y 59 | BR2_PACKAGE_IMX_GPU_VIV=y 60 | BR2_PACKAGE_IMX_GPU_VIV_EXAMPLES=y 61 | BR2_PACKAGE_IMX_GPU_VIV_GMEM_INFO=y 62 | BR2_PACKAGE_IMX_GPU_G2D=y 63 | BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV=y 64 | 65 | # networking tools 66 | BR2_PACKAGE_BLUEZ5_UTILS=y 67 | BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y 68 | BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y 69 | BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y 70 | BR2_PACKAGE_CRDA=y 71 | BR2_PACKAGE_ETHTOOL=y 72 | BR2_PACKAGE_IPERF3=y 73 | BR2_PACKAGE_IW=y 74 | BR2_PACKAGE_NTP=y 75 | BR2_PACKAGE_NTP_NTPDATE=y 76 | BR2_PACKAGE_NTP_NTPTIME=y 77 | BR2_PACKAGE_OPENSSH=y 78 | BR2_PACKAGE_RSYNC=y 79 | BR2_PACKAGE_WPA_SUPPLICANT=y 80 | BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y 81 | BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y 82 | BR2_PACKAGE_WPA_SUPPLICANT_CLI=y 83 | BR2_PACKAGE_WPA_SUPPLICANT_EAP=y 84 | BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y 85 | BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y 86 | BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY=y 87 | 88 | # audio tools 89 | BR2_PACKAGE_ALSA_UTILS=y 90 | BR2_PACKAGE_ALSA_UTILS_ALSACONF=y 91 | BR2_PACKAGE_ALSA_UTILS_AMIXER=y 92 | BR2_PACKAGE_ALSA_UTILS_APLAY=y 93 | 94 | # miscellaneous tools 95 | BR2_PACKAGE_ANDROID_TOOLS=y 96 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 97 | BR2_PACKAGE_CAN_UTILS=y 98 | BR2_PACKAGE_I2C_TOOLS=y 99 | BR2_PACKAGE_LIBIIO_TESTS=y 100 | BR2_PACKAGE_LIBIIO=y 101 | BR2_PACKAGE_LIBV4L_UTILS=y 102 | BR2_PACKAGE_LIBV4L=y 103 | BR2_PACKAGE_STRACE=y 104 | BR2_PACKAGE_UBOOT_TOOLS=y 105 | 106 | # fonts 107 | BR2_PACKAGE_BITSTREAM_VERA=y 108 | BR2_PACKAGE_CANTARELL=y 109 | BR2_PACKAGE_DEJAVU=y 110 | BR2_PACKAGE_FONT_AWESOME=y 111 | BR2_PACKAGE_GHOSTSCRIPT_FONTS=y 112 | BR2_PACKAGE_INCONSOLATA=y 113 | BR2_PACKAGE_LIBERATION=y 114 | 115 | # Qt5 116 | BR2_PACKAGE_QT5=y 117 | BR2_PACKAGE_QT53D=y 118 | BR2_PACKAGE_QT5BASE_MYSQL=y 119 | BR2_PACKAGE_QT5BASE_PSQL=y 120 | BR2_PACKAGE_QT5BASE_EXAMPLES=y 121 | BR2_PACKAGE_QT5BASE_FONTCONFIG=y 122 | BR2_PACKAGE_QT5BASE_GIF=y 123 | BR2_PACKAGE_QT5BASE_JPEG=y 124 | BR2_PACKAGE_QT5BASE_TSLIB=y 125 | BR2_PACKAGE_QT5CONNECTIVITY=y 126 | BR2_PACKAGE_QT5IMAGEFORMATS=y 127 | BR2_PACKAGE_QT5LOCATION=y 128 | BR2_PACKAGE_QT5MULTIMEDIA=y 129 | BR2_PACKAGE_QT5QUICKCONTROLS=y 130 | BR2_PACKAGE_QT5QUICKCONTROLS2=y 131 | BR2_PACKAGE_QT5SCRIPT=y 132 | BR2_PACKAGE_QT5SENSORS=y 133 | BR2_PACKAGE_QT5SERIALBUS=y 134 | BR2_PACKAGE_QT5TOOLS=y 135 | BR2_PACKAGE_QT5VIRTUALKEYBOARD=y 136 | BR2_PACKAGE_QT5VIRTUALKEYBOARD_HANDWRITING=y 137 | 138 | # gstreamer-1.0 139 | BR2_PACKAGE_GSTREAMER1=y 140 | BR2_PACKAGE_GST1_PLUGINS_BASE_INSTALL_TOOLS=y 141 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER=y 142 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER=y 143 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE=y 144 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC=y 145 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_COMPOSITOR=y 146 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING=y 147 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERTSCALE=y 148 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_GIO=y 149 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OVERLAYCOMPOSITION=y 150 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_RAWPARSE=y 151 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_SUBPARSE=y 152 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TCP=y 153 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC=y 154 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE=y 155 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y 156 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG=y 157 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_THEORA=y 158 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VORBIS=y 159 | BR2_PACKAGE_GST1_PLUGINS_BAYER2RGB_NEON=y 160 | BR2_PACKAGE_GST1_PLUGINS_GOOD_JPEG=y 161 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PNG=y 162 | BR2_PACKAGE_GST1_PLUGINS_GOOD_BZ2=y 163 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ALPHA=y 164 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_APETAG=y 165 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOFX=y 166 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS=y 167 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUPARSE=y 168 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT=y 169 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CUTTER=y 170 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEBUGUTILS=y 171 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEINTERLACE=y 172 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DTMF=y 173 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_EFFECTV=y 174 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_EQUALIZER=y 175 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLV=y 176 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLX=y 177 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GOOM=y 178 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GOOM2K1=y 179 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ICYDEMUX=y 180 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX=y 181 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_IMAGEFREEZE=y 182 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_INTERLEAVE=y 183 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAW=y 184 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LEVEL=y 185 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA=y 186 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MONOSCOPE=y 187 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIFILE=y 188 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIPART=y 189 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_REPLAYGAIN=y 190 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP=y 191 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SHAPEWIPE=y 192 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SMPTE=y 193 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SPECTRUM=y 194 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOBOX=y 195 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOCROP=y 196 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOFILTER=y 197 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOMIXER=y 198 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVENC=y 199 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_Y4M=y 200 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME=y 201 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MPG123=y 202 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS=y 203 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL=y 204 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y 205 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y 206 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ACCURIP=y 207 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMDEC=y 208 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMENC=y 209 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AIFF=y 210 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASFMUX=y 211 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOBUFFERSPLIT=y 212 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOFXBAD=y 213 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOLATENCY=y 214 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXMATRIX=y 215 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOVISUALIZERS=y 216 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUTOCONVERT=y 217 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BAYER=y 218 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CAMERABIN2=y 219 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COLOREFFECTS=y 220 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS=y 221 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVBSUBOVERLAY=y 222 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVDSPU=y 223 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FACEOVERLAY=y 224 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FESTIVAL=y 225 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FIELDANALYSIS=y 226 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREEVERB=y 227 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREI0R=y 228 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GAUDIEFFECTS=y 229 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GEOMETRICTRANSFORM=y 230 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GDP=y 231 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ID3TAG=y 232 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTER=y 233 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTERLACE=y 234 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IVFPARSE=y 235 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IVTC=y 236 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JP2KDECIMATOR=y 237 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JPEGFORMAT=y 238 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBRFB=y 239 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MIDI=y 240 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGDEMUX=y 241 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX=y 242 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSMUX=y 243 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGPSMUX=y 244 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MXF=y 245 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NETSIM=y 246 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ONVIF=y 247 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PCAPPARSE=y 248 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PNM=y 249 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PROXY=y 250 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RAWPARSE=y 251 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REMOVESILENCE=y 252 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTMP=y 253 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDP=y 254 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SEGMENTCLIP=y 255 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SIREN=y 256 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SMOOTH=y 257 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SPEED=y 258 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SUBENC=y 259 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TIMECODE=y 260 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFILTERS=y 261 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFRAME_AUDIOLEVEL=y 262 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y 263 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOSIGNAL=y 264 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VMNC=y 265 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_Y4M=y 266 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BLUEZ=y 267 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BZ2=y 268 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CURL=y 269 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FBDEV=y 270 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS=y 271 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DTLS=y 272 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MUSEPACK=y 273 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NEON=y 274 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENH264=y 275 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENJPEG=y 276 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265=y 277 | BR2_PACKAGE_GST1_PLUGINS_UGLY=y 278 | BR2_PACKAGE_GST1_IMX=y 279 | BR2_PACKAGE_GST1_IMX_EGLVISINK=y 280 | BR2_PACKAGE_GST1_IMX_G2D=y 281 | BR2_PACKAGE_GST1_IMX_IPU=y 282 | BR2_PACKAGE_GST1_IMX_MP3ENCODER=y 283 | BR2_PACKAGE_GST1_IMX_PXP=y 284 | BR2_PACKAGE_GST1_IMX_UNIAUDIODEC=y 285 | BR2_PACKAGE_GST1_IMX_VPU=y 286 | BR2_PACKAGE_GST1_IMX_V4L2VIDEOSRC=y 287 | BR2_PACKAGE_GST1_LIBAV=y 288 | BR2_PACKAGE_GST1_RTSP_SERVER=y 289 | -------------------------------------------------------------------------------- /configs/nitrogen6x_qt5_gst1_defconfig: -------------------------------------------------------------------------------- 1 | # architecture 2 | BR2_arm=y 3 | BR2_cortex_a9=y 4 | BR2_ARM_ENABLE_NEON=y 5 | BR2_ARM_ENABLE_VFP=y 6 | BR2_ARM_FPU_VFPV3=y 7 | 8 | # system 9 | BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BOUNDARY_PATH)/patches/" 10 | BR2_PACKAGE_HOST_GENIMAGE=y 11 | BR2_PACKAGE_HOST_UBOOT_TOOLS=y 12 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 13 | BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BOUNDARY_PATH)/board/boundarydevices/common/overlay" 14 | BR2_ROOTFS_POST_BUILD_SCRIPT="board/boundarydevices/common/post-build.sh" 15 | BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BOUNDARY_PATH)/board/boundarydevices/common/post-image.sh" 16 | BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" 17 | BR2_TARGET_GENERIC_GETTY=y 18 | 19 | # toolchain 20 | BR2_TOOLCHAIN_EXTERNAL=y 21 | BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY=y 22 | 23 | # filesystem 24 | BR2_TARGET_ROOTFS_EXT2=y 25 | BR2_TARGET_ROOTFS_EXT2_4=y 26 | BR2_TARGET_ROOTFS_EXT2_SIZE="1280M" 27 | 28 | # Linux headers same as kernel, a 6.1 series 29 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y 30 | 31 | # bootloader 32 | BR2_TARGET_UBOOT=y 33 | BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y 34 | BR2_TARGET_UBOOT_CUSTOM_TARBALL=y 35 | # Latest revision of branch boundary-v2022.04 36 | BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/e3228228.tar.gz" 37 | BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen6q" 38 | BR2_TARGET_UBOOT_FORMAT_IMX=y 39 | BR2_PACKAGE_HOST_UBOOT_TOOLS=y 40 | BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y 41 | BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/boundarydevices/common/boot.cmd" 42 | 43 | # kernel 44 | BR2_LINUX_KERNEL=y 45 | BR2_LINUX_KERNEL_CUSTOM_TARBALL=y 46 | # Latest revision of branch boundary-imx_6.1.y 47 | BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/f789d32c.tar.gz" 48 | BR2_LINUX_KERNEL_DEFCONFIG="boundary" 49 | BR2_LINUX_KERNEL_INSTALL_TARGET=y 50 | BR2_LINUX_KERNEL_DTS_SUPPORT=y 51 | BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-nit6xlite imx6dl-nitrogen6_vm imx6dl-nitrogen6_vm-pt imx6dl-nitrogen6x imx6q-nitrogen6x imx6dl-nitrogen6_som2 imx6q-nitrogen6_som2 imx6qp-nitrogen6_som2 imx6q-nitrogen6_max imx6qp-nitrogen6_max imx6q-sabrelite" 52 | BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 53 | 54 | # NXP packages 55 | BR2_PACKAGE_FREESCALE_IMX=y 56 | BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q=y 57 | BR2_PACKAGE_IMX_CODEC=y 58 | BR2_PACKAGE_IMX_LIB=y 59 | BR2_PACKAGE_IMX_GPU_VIV=y 60 | BR2_PACKAGE_IMX_GPU_VIV_EXAMPLES=y 61 | BR2_PACKAGE_IMX_GPU_VIV_GMEM_INFO=y 62 | BR2_PACKAGE_IMX_GPU_G2D=y 63 | BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV=y 64 | BR2_PACKAGE_LIBIMXVPUAPI=y 65 | 66 | # WiFi/BT packages 67 | BR2_PACKAGE_QCA_FIRMWARE=y 68 | BR2_PACKAGE_QCACLD_MODULE=y 69 | BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X=y 70 | BR2_PACKAGE_LINUX_FIRMWARE=y 71 | 72 | # networking tools 73 | BR2_PACKAGE_BLUEZ5_UTILS=y 74 | BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y 75 | BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y 76 | BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y 77 | BR2_PACKAGE_CRDA=y 78 | BR2_PACKAGE_ETHTOOL=y 79 | BR2_PACKAGE_IPERF3=y 80 | BR2_PACKAGE_IW=y 81 | BR2_PACKAGE_NTP=y 82 | BR2_PACKAGE_NTP_NTPDATE=y 83 | BR2_PACKAGE_NTP_NTPTIME=y 84 | BR2_PACKAGE_OPENSSH=y 85 | BR2_PACKAGE_RSYNC=y 86 | BR2_PACKAGE_WPA_SUPPLICANT=y 87 | BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y 88 | BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y 89 | BR2_PACKAGE_WPA_SUPPLICANT_CLI=y 90 | BR2_PACKAGE_WPA_SUPPLICANT_EAP=y 91 | BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y 92 | BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y 93 | BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY=y 94 | 95 | # audio tools 96 | BR2_PACKAGE_ALSA_UTILS=y 97 | BR2_PACKAGE_ALSA_UTILS_ALSACONF=y 98 | BR2_PACKAGE_ALSA_UTILS_AMIXER=y 99 | BR2_PACKAGE_ALSA_UTILS_APLAY=y 100 | 101 | # miscellaneous tools 102 | BR2_PACKAGE_ANDROID_TOOLS=y 103 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 104 | BR2_PACKAGE_CAN_UTILS=y 105 | BR2_PACKAGE_I2C_TOOLS=y 106 | BR2_PACKAGE_LIBIIO_TESTS=y 107 | BR2_PACKAGE_LIBIIO=y 108 | BR2_PACKAGE_LIBV4L_UTILS=y 109 | BR2_PACKAGE_LIBV4L=y 110 | BR2_PACKAGE_STRACE=y 111 | BR2_PACKAGE_UBOOT_TOOLS=y 112 | 113 | # fonts 114 | BR2_PACKAGE_BITSTREAM_VERA=y 115 | BR2_PACKAGE_CANTARELL=y 116 | BR2_PACKAGE_DEJAVU=y 117 | BR2_PACKAGE_FONT_AWESOME=y 118 | BR2_PACKAGE_GHOSTSCRIPT_FONTS=y 119 | BR2_PACKAGE_INCONSOLATA=y 120 | BR2_PACKAGE_LIBERATION=y 121 | 122 | # Qt5 123 | BR2_PACKAGE_QT5=y 124 | BR2_PACKAGE_QT53D=y 125 | BR2_PACKAGE_QT5BASE_MYSQL=y 126 | BR2_PACKAGE_QT5BASE_PSQL=y 127 | BR2_PACKAGE_QT5BASE_EXAMPLES=y 128 | BR2_PACKAGE_QT5BASE_FONTCONFIG=y 129 | BR2_PACKAGE_QT5BASE_GIF=y 130 | BR2_PACKAGE_QT5BASE_JPEG=y 131 | BR2_PACKAGE_QT5BASE_TSLIB=y 132 | BR2_PACKAGE_QT5CONNECTIVITY=y 133 | BR2_PACKAGE_QT5IMAGEFORMATS=y 134 | BR2_PACKAGE_QT5MULTIMEDIA=y 135 | BR2_PACKAGE_QT5QUICKCONTROLS=y 136 | BR2_PACKAGE_QT5QUICKCONTROLS2=y 137 | BR2_PACKAGE_QT5SCRIPT=y 138 | BR2_PACKAGE_QT5SENSORS=y 139 | BR2_PACKAGE_QT5SERIALBUS=y 140 | BR2_PACKAGE_QT5TOOLS=y 141 | BR2_PACKAGE_QT5VIRTUALKEYBOARD=y 142 | BR2_PACKAGE_QT5VIRTUALKEYBOARD_HANDWRITING=y 143 | 144 | # gstreamer-1.0 145 | BR2_PACKAGE_GSTREAMER1=y 146 | BR2_PACKAGE_GST1_PLUGINS_BASE_INSTALL_TOOLS=y 147 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER=y 148 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER=y 149 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE=y 150 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC=y 151 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_COMPOSITOR=y 152 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING=y 153 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERTSCALE=y 154 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_GIO=y 155 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OVERLAYCOMPOSITION=y 156 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_RAWPARSE=y 157 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_SUBPARSE=y 158 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TCP=y 159 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC=y 160 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE=y 161 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y 162 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG=y 163 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_THEORA=y 164 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VORBIS=y 165 | BR2_PACKAGE_GST1_PLUGINS_BAYER2RGB_NEON=y 166 | BR2_PACKAGE_GST1_PLUGINS_GOOD_JPEG=y 167 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PNG=y 168 | BR2_PACKAGE_GST1_PLUGINS_GOOD_BZ2=y 169 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ALPHA=y 170 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_APETAG=y 171 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOFX=y 172 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS=y 173 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUPARSE=y 174 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT=y 175 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CUTTER=y 176 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEBUGUTILS=y 177 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEINTERLACE=y 178 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DTMF=y 179 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_EFFECTV=y 180 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_EQUALIZER=y 181 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLV=y 182 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLX=y 183 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GOOM=y 184 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GOOM2K1=y 185 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ICYDEMUX=y 186 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX=y 187 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_IMAGEFREEZE=y 188 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_INTERLEAVE=y 189 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAW=y 190 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LEVEL=y 191 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA=y 192 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MONOSCOPE=y 193 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIFILE=y 194 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIPART=y 195 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_REPLAYGAIN=y 196 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP=y 197 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SHAPEWIPE=y 198 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SMPTE=y 199 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SPECTRUM=y 200 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOBOX=y 201 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOCROP=y 202 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOFILTER=y 203 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOMIXER=y 204 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVENC=y 205 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_Y4M=y 206 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME=y 207 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MPG123=y 208 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS=y 209 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL=y 210 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y 211 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y 212 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ACCURIP=y 213 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMDEC=y 214 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMENC=y 215 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AIFF=y 216 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASFMUX=y 217 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOBUFFERSPLIT=y 218 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOFXBAD=y 219 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOLATENCY=y 220 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXMATRIX=y 221 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOVISUALIZERS=y 222 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUTOCONVERT=y 223 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BAYER=y 224 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CAMERABIN2=y 225 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COLOREFFECTS=y 226 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS=y 227 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVBSUBOVERLAY=y 228 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVDSPU=y 229 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FACEOVERLAY=y 230 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FESTIVAL=y 231 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FIELDANALYSIS=y 232 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREEVERB=y 233 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREI0R=y 234 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GAUDIEFFECTS=y 235 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GEOMETRICTRANSFORM=y 236 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GDP=y 237 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ID3TAG=y 238 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTER=y 239 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTERLACE=y 240 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IVFPARSE=y 241 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IVTC=y 242 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JP2KDECIMATOR=y 243 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JPEGFORMAT=y 244 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBRFB=y 245 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MIDI=y 246 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGDEMUX=y 247 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX=y 248 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSMUX=y 249 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGPSMUX=y 250 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MXF=y 251 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NETSIM=y 252 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ONVIF=y 253 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PCAPPARSE=y 254 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PNM=y 255 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PROXY=y 256 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RAWPARSE=y 257 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REMOVESILENCE=y 258 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTMP=y 259 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDP=y 260 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SEGMENTCLIP=y 261 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SIREN=y 262 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SMOOTH=y 263 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SPEED=y 264 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SUBENC=y 265 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TIMECODE=y 266 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFILTERS=y 267 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFRAME_AUDIOLEVEL=y 268 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y 269 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOSIGNAL=y 270 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VMNC=y 271 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_Y4M=y 272 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BLUEZ=y 273 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BZ2=y 274 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CURL=y 275 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FBDEV=y 276 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS=y 277 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DTLS=y 278 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MUSEPACK=y 279 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NEON=y 280 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENH264=y 281 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENJPEG=y 282 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265=y 283 | BR2_PACKAGE_GST1_PLUGINS_UGLY=y 284 | BR2_PACKAGE_GST1_IMX=y 285 | BR2_PACKAGE_GST1_IMX_EGLVISINK=y 286 | BR2_PACKAGE_GST1_IMX_G2D=y 287 | BR2_PACKAGE_GST1_IMX_IPU=y 288 | BR2_PACKAGE_GST1_IMX_MP3ENCODER=y 289 | BR2_PACKAGE_GST1_IMX_PXP=y 290 | BR2_PACKAGE_GST1_IMX_UNIAUDIODEC=y 291 | BR2_PACKAGE_GST1_IMX_VPU=y 292 | BR2_PACKAGE_GST1_IMX_V4L2VIDEOSRC=y 293 | BR2_PACKAGE_GST1_LIBAV=y 294 | BR2_PACKAGE_GST1_RTSP_SERVER=y 295 | -------------------------------------------------------------------------------- /configs/nitrogen6x_qt5_gst1_mainline_defconfig: -------------------------------------------------------------------------------- 1 | # architecture 2 | BR2_arm=y 3 | BR2_cortex_a9=y 4 | BR2_ARM_ENABLE_NEON=y 5 | BR2_ARM_ENABLE_VFP=y 6 | BR2_ARM_FPU_VFPV3=y 7 | 8 | # system 9 | BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BOUNDARY_PATH)/patches/" 10 | BR2_PACKAGE_HOST_GENIMAGE=y 11 | BR2_PACKAGE_HOST_UBOOT_TOOLS=y 12 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 13 | BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BOUNDARY_PATH)/board/boundarydevices/common/overlay" 14 | BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_BOUNDARY_PATH)/board/boundarydevices/mainline/post-build.sh" 15 | BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BOUNDARY_PATH)/board/boundarydevices/common/post-image.sh" 16 | BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" 17 | BR2_TARGET_GENERIC_GETTY=y 18 | 19 | # toolchain 20 | BR2_TOOLCHAIN_EXTERNAL=y 21 | BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY=y 22 | 23 | # filesystem 24 | BR2_TARGET_ROOTFS_EXT2=y 25 | BR2_TARGET_ROOTFS_EXT2_4=y 26 | BR2_TARGET_ROOTFS_EXT2_SIZE="1280M" 27 | 28 | # bootloader 29 | BR2_TARGET_UBOOT=y 30 | BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y 31 | BR2_TARGET_UBOOT_CUSTOM_TARBALL=y 32 | # Latest revision of branch boundary-v2022.04 33 | BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/5eef54c7.tar.gz" 34 | BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen6q" 35 | BR2_TARGET_UBOOT_FORMAT_IMX=y 36 | BR2_PACKAGE_HOST_UBOOT_TOOLS=y 37 | BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y 38 | BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_BOUNDARY_PATH)/board/boundarydevices/mainline/bootscript-mainline.txt" 39 | 40 | # kernel 41 | BR2_LINUX_KERNEL=y 42 | BR2_LINUX_KERNEL_LATEST_VERSION=y 43 | BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" 44 | BR2_LINUX_KERNEL_DTS_SUPPORT=y 45 | BR2_LINUX_KERNEL_INSTALL_TARGET=y 46 | BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-nit6xlite imx6dl-nitrogen6x imx6q-nitrogen6x imx6q-nitrogen6_som2 imx6qp-nitrogen6_som2 imx6q-nitrogen6_max imx6qp-nitrogen6_max imx6q-sabrelite" 47 | BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 48 | 49 | # NXP packages 50 | BR2_PACKAGE_FREESCALE_IMX=y 51 | BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q=y 52 | BR2_PACKAGE_FIRMWARE_IMX=y 53 | 54 | # etnaviv packages 55 | BR2_PACKAGE_MESA3D=y 56 | BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV=y 57 | BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y 58 | BR2_PACKAGE_MESA3D_OPENGL_ES=y 59 | BR2_PACKAGE_GLMARK2=y 60 | BR2_PACKAGE_KMSCUBE=y 61 | BR2_PACKAGE_MESA3D_DEMOS=y 62 | 63 | # WiFi/BT packages 64 | #BR2_PACKAGE_QCA_FIRMWARE=y 65 | #BR2_PACKAGE_QCACLD_MODULE=y 66 | BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X=y 67 | BR2_PACKAGE_LINUX_FIRMWARE=y 68 | 69 | # networking tools 70 | BR2_PACKAGE_BLUEZ5_UTILS=y 71 | BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y 72 | BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y 73 | BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y 74 | BR2_PACKAGE_CRDA=y 75 | BR2_PACKAGE_ETHTOOL=y 76 | BR2_PACKAGE_IPERF3=y 77 | BR2_PACKAGE_IW=y 78 | BR2_PACKAGE_NTP=y 79 | BR2_PACKAGE_NTP_NTPDATE=y 80 | BR2_PACKAGE_NTP_NTPTIME=y 81 | BR2_PACKAGE_OPENSSH=y 82 | BR2_PACKAGE_RSYNC=y 83 | BR2_PACKAGE_WPA_SUPPLICANT=y 84 | BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y 85 | BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y 86 | BR2_PACKAGE_WPA_SUPPLICANT_CLI=y 87 | BR2_PACKAGE_WPA_SUPPLICANT_EAP=y 88 | BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y 89 | BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y 90 | BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY=y 91 | 92 | # audio tools 93 | BR2_PACKAGE_ALSA_UTILS=y 94 | BR2_PACKAGE_ALSA_UTILS_ALSACONF=y 95 | BR2_PACKAGE_ALSA_UTILS_AMIXER=y 96 | BR2_PACKAGE_ALSA_UTILS_APLAY=y 97 | 98 | # miscellaneous tools 99 | BR2_PACKAGE_ANDROID_TOOLS=y 100 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 101 | BR2_PACKAGE_CAN_UTILS=y 102 | BR2_PACKAGE_I2C_TOOLS=y 103 | BR2_PACKAGE_LIBIIO_TESTS=y 104 | BR2_PACKAGE_LIBIIO=y 105 | BR2_PACKAGE_LIBV4L_UTILS=y 106 | BR2_PACKAGE_LIBV4L=y 107 | BR2_PACKAGE_STRACE=y 108 | BR2_PACKAGE_UBOOT_TOOLS=y 109 | 110 | # fonts 111 | BR2_PACKAGE_BITSTREAM_VERA=y 112 | BR2_PACKAGE_CANTARELL=y 113 | BR2_PACKAGE_DEJAVU=y 114 | BR2_PACKAGE_FONT_AWESOME=y 115 | BR2_PACKAGE_GHOSTSCRIPT_FONTS=y 116 | BR2_PACKAGE_INCONSOLATA=y 117 | BR2_PACKAGE_LIBERATION=y 118 | 119 | # Qt5 120 | BR2_PACKAGE_QT5=y 121 | BR2_PACKAGE_QT53D=y 122 | BR2_PACKAGE_QT5BASE_MYSQL=y 123 | BR2_PACKAGE_QT5BASE_PSQL=y 124 | BR2_PACKAGE_QT5BASE_EXAMPLES=y 125 | BR2_PACKAGE_QT5BASE_FONTCONFIG=y 126 | BR2_PACKAGE_QT5BASE_GIF=y 127 | BR2_PACKAGE_QT5BASE_JPEG=y 128 | BR2_PACKAGE_QT5BASE_TSLIB=y 129 | BR2_PACKAGE_QT5CONNECTIVITY=y 130 | BR2_PACKAGE_QT5IMAGEFORMATS=y 131 | BR2_PACKAGE_QT5LOCATION=y 132 | BR2_PACKAGE_QT5MULTIMEDIA=y 133 | BR2_PACKAGE_QT5QUICKCONTROLS=y 134 | BR2_PACKAGE_QT5QUICKCONTROLS2=y 135 | BR2_PACKAGE_QT5SCRIPT=y 136 | BR2_PACKAGE_QT5SENSORS=y 137 | BR2_PACKAGE_QT5SERIALBUS=y 138 | BR2_PACKAGE_QT5TOOLS=y 139 | BR2_PACKAGE_QT5VIRTUALKEYBOARD=y 140 | BR2_PACKAGE_QT5VIRTUALKEYBOARD_HANDWRITING=y 141 | 142 | # gstreamer-1.0 143 | BR2_PACKAGE_GSTREAMER1=y 144 | BR2_PACKAGE_GST1_PLUGINS_BASE_INSTALL_TOOLS=y 145 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER=y 146 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER=y 147 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE=y 148 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC=y 149 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_COMPOSITOR=y 150 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING=y 151 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERTSCALE=y 152 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_GIO=y 153 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OVERLAYCOMPOSITION=y 154 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_RAWPARSE=y 155 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_SUBPARSE=y 156 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TCP=y 157 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC=y 158 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE=y 159 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y 160 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG=y 161 | BR2_PACKAGE_GST1_PLUGINS_BAYER2RGB_NEON=y 162 | BR2_PACKAGE_GST1_PLUGINS_GOOD_JPEG=y 163 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PNG=y 164 | BR2_PACKAGE_GST1_PLUGINS_GOOD_BZ2=y 165 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ALPHA=y 166 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_APETAG=y 167 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOFX=y 168 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS=y 169 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUPARSE=y 170 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT=y 171 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CUTTER=y 172 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEBUGUTILS=y 173 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEINTERLACE=y 174 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DTMF=y 175 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_EFFECTV=y 176 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_EQUALIZER=y 177 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLV=y 178 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLX=y 179 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GOOM=y 180 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GOOM2K1=y 181 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ICYDEMUX=y 182 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX=y 183 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_IMAGEFREEZE=y 184 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_INTERLEAVE=y 185 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAW=y 186 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LEVEL=y 187 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA=y 188 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MONOSCOPE=y 189 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIFILE=y 190 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIPART=y 191 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_REPLAYGAIN=y 192 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP=y 193 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SHAPEWIPE=y 194 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SMPTE=y 195 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SPECTRUM=y 196 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOBOX=y 197 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOCROP=y 198 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOFILTER=y 199 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOMIXER=y 200 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVENC=y 201 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_Y4M=y 202 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MPG123=y 203 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS=y 204 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL=y 205 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y 206 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y 207 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_XINGMUX=y 208 | BR2_PACKAGE_GST1_PLUGINS_BAD=y 209 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ACCURIP=y 210 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMDEC=y 211 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMENC=y 212 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AIFF=y 213 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASFMUX=y 214 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOBUFFERSPLIT=y 215 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOFXBAD=y 216 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOLATENCY=y 217 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXMATRIX=y 218 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOVISUALIZERS=y 219 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUTOCONVERT=y 220 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BAYER=y 221 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CAMERABIN2=y 222 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COLOREFFECTS=y 223 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS=y 224 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVBSUBOVERLAY=y 225 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVDSPU=y 226 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FACEOVERLAY=y 227 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FESTIVAL=y 228 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FIELDANALYSIS=y 229 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREEVERB=y 230 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREI0R=y 231 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GAUDIEFFECTS=y 232 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GEOMETRICTRANSFORM=y 233 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GDP=y 234 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ID3TAG=y 235 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTER=y 236 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTERLACE=y 237 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IVFPARSE=y 238 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IVTC=y 239 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JP2KDECIMATOR=y 240 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JPEGFORMAT=y 241 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBRFB=y 242 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MIDI=y 243 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGDEMUX=y 244 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX=y 245 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSMUX=y 246 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGPSMUX=y 247 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MXF=y 248 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NETSIM=y 249 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ONVIF=y 250 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PCAPPARSE=y 251 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PNM=y 252 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PROXY=y 253 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RAWPARSE=y 254 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REMOVESILENCE=y 255 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTMP=y 256 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDP=y 257 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SEGMENTCLIP=y 258 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SIREN=y 259 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SMOOTH=y 260 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SPEED=y 261 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SUBENC=y 262 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TIMECODE=y 263 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFILTERS=y 264 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFRAME_AUDIOLEVEL=y 265 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y 266 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOSIGNAL=y 267 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VMNC=y 268 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_Y4M=y 269 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BLUEZ=y 270 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BZ2=y 271 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CURL=y 272 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FBDEV=y 273 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS=y 274 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MUSEPACK=y 275 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NEON=y 276 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENH264=y 277 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENJPEG=y 278 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SRTP=y 279 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265=y 280 | BR2_PACKAGE_GST1_PLUGINS_UGLY=y 281 | BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_ASFDEMUX=y 282 | BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDLPCMDEC=y 283 | BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDSUB=y 284 | BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_REALMEDIA=y 285 | BR2_PACKAGE_GST1_LIBAV=y 286 | BR2_PACKAGE_GST1_RTSP_SERVER=y 287 | -------------------------------------------------------------------------------- /configs/nitrogen7_gst1_defconfig: -------------------------------------------------------------------------------- 1 | # architecture 2 | BR2_arm=y 3 | BR2_cortex_a7=y 4 | BR2_ARM_FPU_NEON_VFPV4=y 5 | 6 | # system 7 | BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BOUNDARY_PATH)/patches/" 8 | BR2_PACKAGE_HOST_GENIMAGE=y 9 | BR2_PACKAGE_HOST_UBOOT_TOOLS=y 10 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 11 | BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BOUNDARY_PATH)/board/boundarydevices/common/overlay" 12 | BR2_ROOTFS_POST_BUILD_SCRIPT="board/boundarydevices/common/post-build.sh" 13 | BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BOUNDARY_PATH)/board/boundarydevices/common/post-image.sh" 14 | BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" 15 | BR2_TARGET_GENERIC_GETTY=y 16 | 17 | # toolchain 18 | BR2_TOOLCHAIN_EXTERNAL=y 19 | BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY=y 20 | 21 | # filesystem 22 | BR2_TARGET_ROOTFS_EXT2=y 23 | BR2_TARGET_ROOTFS_EXT2_4=y 24 | BR2_TARGET_ROOTFS_EXT2_SIZE="1280M" 25 | 26 | # Linux headers same as kernel, a 6.1 series 27 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y 28 | 29 | # bootloader 30 | BR2_TARGET_UBOOT=y 31 | BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y 32 | BR2_TARGET_UBOOT_CUSTOM_TARBALL=y 33 | # Latest revision of branch boundary-v2022.04 34 | BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/e3228228.tar.gz" 35 | BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen7" 36 | BR2_TARGET_UBOOT_FORMAT_IMX=y 37 | BR2_PACKAGE_HOST_UBOOT_TOOLS=y 38 | BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y 39 | BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/boundarydevices/common/boot.cmd" 40 | 41 | # kernel 42 | BR2_LINUX_KERNEL=y 43 | BR2_LINUX_KERNEL_CUSTOM_TARBALL=y 44 | # Latest revision of branch boundary-imx_6.1.y 45 | BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/f789d32c.tar.gz" 46 | BR2_LINUX_KERNEL_DEFCONFIG="boundary" 47 | BR2_LINUX_KERNEL_INSTALL_TARGET=y 48 | BR2_LINUX_KERNEL_DTS_SUPPORT=y 49 | BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7d-nitrogen7 imx7d-nitrogen7-m4" 50 | BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 51 | 52 | # NXP packages 53 | BR2_PACKAGE_FREESCALE_IMX=y 54 | BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7=y 55 | BR2_PACKAGE_IMX_CODEC=y 56 | BR2_PACKAGE_IMX_LIB=y 57 | 58 | # WiFi/BT packages 59 | BR2_PACKAGE_QCA_FIRMWARE=y 60 | BR2_PACKAGE_QCACLD_MODULE=y 61 | BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X=y 62 | BR2_PACKAGE_LINUX_FIRMWARE=y 63 | 64 | # networking tools 65 | BR2_PACKAGE_BLUEZ5_UTILS=y 66 | BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y 67 | BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y 68 | BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y 69 | BR2_PACKAGE_CRDA=y 70 | BR2_PACKAGE_ETHTOOL=y 71 | BR2_PACKAGE_IPERF3=y 72 | BR2_PACKAGE_IW=y 73 | BR2_PACKAGE_NTP=y 74 | BR2_PACKAGE_NTP_NTPDATE=y 75 | BR2_PACKAGE_NTP_NTPTIME=y 76 | BR2_PACKAGE_OPENSSH=y 77 | BR2_PACKAGE_RSYNC=y 78 | BR2_PACKAGE_WPA_SUPPLICANT=y 79 | BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y 80 | BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y 81 | BR2_PACKAGE_WPA_SUPPLICANT_CLI=y 82 | BR2_PACKAGE_WPA_SUPPLICANT_EAP=y 83 | BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y 84 | BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y 85 | BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY=y 86 | 87 | # audio tools 88 | BR2_PACKAGE_ALSA_UTILS=y 89 | BR2_PACKAGE_ALSA_UTILS_ALSACONF=y 90 | BR2_PACKAGE_ALSA_UTILS_AMIXER=y 91 | BR2_PACKAGE_ALSA_UTILS_APLAY=y 92 | 93 | # miscellaneous tools 94 | BR2_PACKAGE_ANDROID_TOOLS=y 95 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 96 | BR2_PACKAGE_CAN_UTILS=y 97 | BR2_PACKAGE_I2C_TOOLS=y 98 | BR2_PACKAGE_LIBIIO_TESTS=y 99 | BR2_PACKAGE_LIBIIO=y 100 | BR2_PACKAGE_LIBV4L_UTILS=y 101 | BR2_PACKAGE_LIBV4L=y 102 | BR2_PACKAGE_STRACE=y 103 | BR2_PACKAGE_UBOOT_TOOLS=y 104 | 105 | # fonts 106 | BR2_PACKAGE_BITSTREAM_VERA=y 107 | BR2_PACKAGE_CANTARELL=y 108 | BR2_PACKAGE_DEJAVU=y 109 | BR2_PACKAGE_FONT_AWESOME=y 110 | BR2_PACKAGE_GHOSTSCRIPT_FONTS=y 111 | BR2_PACKAGE_INCONSOLATA=y 112 | BR2_PACKAGE_LIBERATION=y 113 | 114 | # gstreamer-1.0 115 | BR2_PACKAGE_GSTREAMER1=y 116 | BR2_PACKAGE_GST1_PLUGINS_BASE_INSTALL_TOOLS=y 117 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER=y 118 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER=y 119 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE=y 120 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC=y 121 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_COMPOSITOR=y 122 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING=y 123 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERTSCALE=y 124 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_GIO=y 125 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OVERLAYCOMPOSITION=y 126 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_RAWPARSE=y 127 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_SUBPARSE=y 128 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TCP=y 129 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC=y 130 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE=y 131 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y 132 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG=y 133 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_THEORA=y 134 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VORBIS=y 135 | BR2_PACKAGE_GST1_PLUGINS_BAYER2RGB_NEON=y 136 | BR2_PACKAGE_GST1_PLUGINS_GOOD_JPEG=y 137 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PNG=y 138 | BR2_PACKAGE_GST1_PLUGINS_GOOD_BZ2=y 139 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ALPHA=y 140 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_APETAG=y 141 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOFX=y 142 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS=y 143 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUPARSE=y 144 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT=y 145 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CUTTER=y 146 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEBUGUTILS=y 147 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEINTERLACE=y 148 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DTMF=y 149 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_EFFECTV=y 150 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_EQUALIZER=y 151 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLV=y 152 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLX=y 153 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GOOM=y 154 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GOOM2K1=y 155 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ICYDEMUX=y 156 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX=y 157 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_IMAGEFREEZE=y 158 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_INTERLEAVE=y 159 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAW=y 160 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LEVEL=y 161 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA=y 162 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MONOSCOPE=y 163 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIFILE=y 164 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIPART=y 165 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_REPLAYGAIN=y 166 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP=y 167 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SHAPEWIPE=y 168 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SMPTE=y 169 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SPECTRUM=y 170 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOBOX=y 171 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOCROP=y 172 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOFILTER=y 173 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOMIXER=y 174 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVENC=y 175 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_Y4M=y 176 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME=y 177 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MPG123=y 178 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS=y 179 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL=y 180 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y 181 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y 182 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ACCURIP=y 183 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMDEC=y 184 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMENC=y 185 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AIFF=y 186 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASFMUX=y 187 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOBUFFERSPLIT=y 188 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOFXBAD=y 189 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOLATENCY=y 190 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXMATRIX=y 191 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOVISUALIZERS=y 192 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUTOCONVERT=y 193 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BAYER=y 194 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CAMERABIN2=y 195 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COLOREFFECTS=y 196 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS=y 197 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVBSUBOVERLAY=y 198 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVDSPU=y 199 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FACEOVERLAY=y 200 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FESTIVAL=y 201 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FIELDANALYSIS=y 202 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREEVERB=y 203 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREI0R=y 204 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GAUDIEFFECTS=y 205 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GEOMETRICTRANSFORM=y 206 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GDP=y 207 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ID3TAG=y 208 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTER=y 209 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTERLACE=y 210 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IVFPARSE=y 211 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IVTC=y 212 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JP2KDECIMATOR=y 213 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JPEGFORMAT=y 214 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBRFB=y 215 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MIDI=y 216 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGDEMUX=y 217 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX=y 218 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSMUX=y 219 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGPSMUX=y 220 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MXF=y 221 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NETSIM=y 222 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ONVIF=y 223 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PCAPPARSE=y 224 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PNM=y 225 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PROXY=y 226 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RAWPARSE=y 227 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REMOVESILENCE=y 228 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTMP=y 229 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDP=y 230 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SEGMENTCLIP=y 231 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SIREN=y 232 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SMOOTH=y 233 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SPEED=y 234 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SUBENC=y 235 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TIMECODE=y 236 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFILTERS=y 237 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFRAME_AUDIOLEVEL=y 238 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y 239 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOSIGNAL=y 240 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VMNC=y 241 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_Y4M=y 242 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BLUEZ=y 243 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BZ2=y 244 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CURL=y 245 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FBDEV=y 246 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS=y 247 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DTLS=y 248 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MUSEPACK=y 249 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NEON=y 250 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENH264=y 251 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENJPEG=y 252 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265=y 253 | BR2_PACKAGE_GST1_PLUGINS_UGLY=y 254 | BR2_PACKAGE_GST1_IMX=y 255 | BR2_PACKAGE_GST1_IMX_MP3ENCODER=y 256 | BR2_PACKAGE_GST1_IMX_PXP=y 257 | BR2_PACKAGE_GST1_IMX_UNIAUDIODEC=y 258 | BR2_PACKAGE_GST1_IMX_V4L2VIDEOSRC=y 259 | BR2_PACKAGE_GST1_LIBAV=y 260 | BR2_PACKAGE_GST1_RTSP_SERVER=y 261 | -------------------------------------------------------------------------------- /configs/nitrogen93_gst1_defconfig: -------------------------------------------------------------------------------- 1 | # Architecture 2 | BR2_aarch64=y 3 | BR2_cortex_a55=y 4 | 5 | # System 6 | BR2_TARGET_GENERIC_GETTY=y 7 | BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0" 8 | BR2_ROOTFS_POST_BUILD_SCRIPT="board/freescale/common/imx/imx9-bootloader-prepare.sh board/boundarydevices/common/post-build.sh" 9 | BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BOUNDARY_PATH)/board/boundarydevices/common/post-image.sh" 10 | BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx93-nitrogen-smarc.dtb" 11 | BR2_PACKAGE_HOST_GENIMAGE=y 12 | BR2_PACKAGE_HOST_IMX_MKIMAGE=y 13 | BR2_PACKAGE_HOST_UBOOT_TOOLS=y 14 | BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y 15 | BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BOUNDARY_PATH)/patches/" 16 | BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y 17 | BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BOUNDARY_PATH)/board/boundarydevices/common/overlay $(BR2_EXTERNAL_BOUNDARY_PATH)/board/boundarydevices/common/overlay-weston" 18 | 19 | # toolchain 20 | BR2_TOOLCHAIN_EXTERNAL=y 21 | BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY=y 22 | 23 | # Filesystem 24 | BR2_TARGET_ROOTFS_EXT2=y 25 | BR2_TARGET_ROOTFS_EXT2_4=y 26 | BR2_TARGET_ROOTFS_EXT2_SIZE="1280M" 27 | 28 | # Linux headers same as kernel, a 6.1 series 29 | BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y 30 | 31 | # DDR training binaries 32 | BR2_PACKAGE_FREESCALE_IMX=y 33 | BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93=y 34 | BR2_PACKAGE_FIRMWARE_ELE_IMX=y 35 | BR2_PACKAGE_FIRMWARE_IMX=y 36 | 37 | # ARM Trusted Firmware 38 | BR2_TARGET_ARM_TRUSTED_FIRMWARE=y 39 | BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y 40 | BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.1.55-2.2.0)/imx-atf-lf-6.1.55-2.2.0.tar.gz" 41 | BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx93" 42 | BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y 43 | 44 | # Bootloader 45 | BR2_TARGET_UBOOT=y 46 | BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx93_nitrogen_smarc" 47 | BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y 48 | BR2_TARGET_UBOOT_CUSTOM_TARBALL=y 49 | # Latest revision of branch boundary-lf_v2023.04 50 | BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/73dcd1c4.tar.gz" 51 | BR2_TARGET_UBOOT_FORMAT_CUSTOM=y 52 | BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" 53 | BR2_TARGET_UBOOT_NEEDS_DTC=y 54 | BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y 55 | BR2_TARGET_UBOOT_NEEDS_OPENSSL=y 56 | BR2_TARGET_UBOOT_SPL=y 57 | 58 | # Kernel 59 | BR2_LINUX_KERNEL=y 60 | BR2_LINUX_KERNEL_CUSTOM_TARBALL=y 61 | # Latest revision of branch boundary-imx_6.1.y 62 | BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/f789d32c.tar.gz" 63 | BR2_LINUX_KERNEL_DEFCONFIG="boundary" 64 | BR2_LINUX_KERNEL_DTS_SUPPORT=y 65 | BR2_LINUX_KERNEL_INSTALL_TARGET=y 66 | BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx93-nitrogen-smarc freescale/imx93-nitrogen-smarc-lvds" 67 | BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 68 | 69 | # NXP packages 70 | BR2_PACKAGE_IMX_CODEC=y 71 | 72 | # WiFi/BT packages 73 | BR2_PACKAGE_BDSDMAC_FIRMWARE=y 74 | BR2_PACKAGE_IF573_SDIO_FIRMWARE=y 75 | BR2_PACKAGE_KERNEL_MODULE_BDSDMAC_BACKPORTS=y 76 | BR2_PACKAGE_LWB5PLUS_SDIO_SA_FIRMWARE=y 77 | 78 | # networking tools 79 | BR2_PACKAGE_BLUEZ5_UTILS=y 80 | BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y 81 | BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y 82 | BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y 83 | BR2_PACKAGE_CRDA=y 84 | BR2_PACKAGE_ETHTOOL=y 85 | BR2_PACKAGE_IPERF3=y 86 | BR2_PACKAGE_IW=y 87 | BR2_PACKAGE_NTP=y 88 | BR2_PACKAGE_NTP_NTPDATE=y 89 | BR2_PACKAGE_NTP_NTPTIME=y 90 | BR2_PACKAGE_OPENSSH=y 91 | BR2_PACKAGE_RSYNC=y 92 | BR2_PACKAGE_WPA_SUPPLICANT=y 93 | BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y 94 | BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y 95 | BR2_PACKAGE_WPA_SUPPLICANT_CLI=y 96 | BR2_PACKAGE_WPA_SUPPLICANT_EAP=y 97 | BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y 98 | BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y 99 | BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY=y 100 | 101 | # audio tools 102 | BR2_PACKAGE_ALSA_UTILS=y 103 | BR2_PACKAGE_ALSA_UTILS_ALSACONF=y 104 | BR2_PACKAGE_ALSA_UTILS_AMIXER=y 105 | BR2_PACKAGE_ALSA_UTILS_APLAY=y 106 | 107 | # miscellaneous tools 108 | BR2_PACKAGE_ANDROID_TOOLS=y 109 | BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y 110 | BR2_PACKAGE_CAN_UTILS=y 111 | BR2_PACKAGE_I2C_TOOLS=y 112 | BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y 113 | BR2_PACKAGE_LIBIIO_TESTS=y 114 | BR2_PACKAGE_LIBIIO=y 115 | BR2_PACKAGE_LIBV4L_UTILS=y 116 | BR2_PACKAGE_LIBV4L=y 117 | BR2_PACKAGE_STRACE=y 118 | BR2_PACKAGE_UBOOT_TOOLS=y 119 | 120 | # fonts 121 | BR2_PACKAGE_BITSTREAM_VERA=y 122 | BR2_PACKAGE_CANTARELL=y 123 | BR2_PACKAGE_DEJAVU=y 124 | BR2_PACKAGE_FONT_AWESOME=y 125 | BR2_PACKAGE_GHOSTSCRIPT_FONTS=y 126 | BR2_PACKAGE_INCONSOLATA=y 127 | BR2_PACKAGE_LIBERATION=y 128 | 129 | # Weston 130 | BR2_PACKAGE_WESTON=y 131 | BR2_PACKAGE_WESTON_DEFAULT_DRM=y 132 | BR2_PACKAGE_WESTON_RDP=y 133 | BR2_PACKAGE_WESTON_DEMO_CLIENTS=y 134 | 135 | # gstreamer-1.0 136 | BR2_PACKAGE_GSTREAMER1=y 137 | BR2_PACKAGE_GST1_PLUGINS_BASE_INSTALL_TOOLS=y 138 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER=y 139 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER=y 140 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE=y 141 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC=y 142 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_COMPOSITOR=y 143 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING=y 144 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERTSCALE=y 145 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_GIO=y 146 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OVERLAYCOMPOSITION=y 147 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_RAWPARSE=y 148 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_SUBPARSE=y 149 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TCP=y 150 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC=y 151 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE=y 152 | BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL=y 153 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y 154 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG=y 155 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_THEORA=y 156 | BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VORBIS=y 157 | BR2_PACKAGE_GST1_PLUGINS_GOOD_JPEG=y 158 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PNG=y 159 | BR2_PACKAGE_GST1_PLUGINS_GOOD_BZ2=y 160 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ALPHA=y 161 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_APETAG=y 162 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOFX=y 163 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS=y 164 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUPARSE=y 165 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT=y 166 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CUTTER=y 167 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEBUGUTILS=y 168 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEINTERLACE=y 169 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DTMF=y 170 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_EFFECTV=y 171 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_EQUALIZER=y 172 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLV=y 173 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLX=y 174 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GOOM=y 175 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GOOM2K1=y 176 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ICYDEMUX=y 177 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX=y 178 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_IMAGEFREEZE=y 179 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_INTERLEAVE=y 180 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAW=y 181 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LEVEL=y 182 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA=y 183 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MONOSCOPE=y 184 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIFILE=y 185 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIPART=y 186 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_REPLAYGAIN=y 187 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP=y 188 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SHAPEWIPE=y 189 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SMPTE=y 190 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SPECTRUM=y 191 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOBOX=y 192 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOCROP=y 193 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOFILTER=y 194 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOMIXER=y 195 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVENC=y 196 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_Y4M=y 197 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME=y 198 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MPG123=y 199 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS=y 200 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL=y 201 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y 202 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y 203 | BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_XINGMUX=y 204 | BR2_PACKAGE_GST1_PLUGINS_BAD=y 205 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ACCURIP=y 206 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMDEC=y 207 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMENC=y 208 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AIFF=y 209 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASFMUX=y 210 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOBUFFERSPLIT=y 211 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOFXBAD=y 212 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOLATENCY=y 213 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXMATRIX=y 214 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOVISUALIZERS=y 215 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUTOCONVERT=y 216 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BAYER=y 217 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CAMERABIN2=y 218 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COLOREFFECTS=y 219 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS=y 220 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVBSUBOVERLAY=y 221 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVDSPU=y 222 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FACEOVERLAY=y 223 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FESTIVAL=y 224 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FIELDANALYSIS=y 225 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREEVERB=y 226 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREI0R=y 227 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GAUDIEFFECTS=y 228 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GEOMETRICTRANSFORM=y 229 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GDP=y 230 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ID3TAG=y 231 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTER=y 232 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTERLACE=y 233 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IVFPARSE=y 234 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IVTC=y 235 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JP2KDECIMATOR=y 236 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JPEGFORMAT=y 237 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBRFB=y 238 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MIDI=y 239 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGDEMUX=y 240 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX=y 241 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSMUX=y 242 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGPSMUX=y 243 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MXF=y 244 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NETSIM=y 245 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ONVIF=y 246 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PCAPPARSE=y 247 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PNM=y 248 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PROXY=y 249 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RAWPARSE=y 250 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REMOVESILENCE=y 251 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTMP=y 252 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDP=y 253 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SEGMENTCLIP=y 254 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SIREN=y 255 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SMOOTH=y 256 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SPEED=y 257 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SUBENC=y 258 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TIMECODE=y 259 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFILTERS=y 260 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFRAME_AUDIOLEVEL=y 261 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y 262 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOSIGNAL=y 263 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VMNC=y 264 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_Y4M=y 265 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BLUEZ=y 266 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BZ2=y 267 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CURL=y 268 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FBDEV=y 269 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS=y 270 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MUSEPACK=y 271 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NEON=y 272 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENH264=y 273 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENJPEG=y 274 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SRTP=y 275 | BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265=y 276 | BR2_PACKAGE_GST1_PLUGINS_UGLY=y 277 | BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_ASFDEMUX=y 278 | BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDLPCMDEC=y 279 | BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDSUB=y 280 | BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_REALMEDIA=y 281 | BR2_PACKAGE_GST1_LIBAV=y 282 | BR2_PACKAGE_GST1_RTSP_SERVER=y 283 | BR2_PACKAGE_GST1_IMX_V2=y 284 | BR2_PACKAGE_GST1_IMX_V2_G2D=y 285 | -------------------------------------------------------------------------------- /external.desc: -------------------------------------------------------------------------------- 1 | name: BOUNDARY 2 | -------------------------------------------------------------------------------- /external.mk: -------------------------------------------------------------------------------- 1 | include $(sort $(wildcard $(BR2_EXTERNAL_BOUNDARY_PATH)/package/*/*.mk)) 2 | -------------------------------------------------------------------------------- /package/basler-camera/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_BASLER_CAMERA 2 | bool "basler-camera" 3 | help 4 | Basler daA3840 camera binary blobs for Verisilicon ISP. 5 | -------------------------------------------------------------------------------- /package/basler-camera/basler-camera.hash: -------------------------------------------------------------------------------- 1 | # Locally computed: 2 | sha256 ad3e98ee0c10f2b3e74af8923f44b8d5908e42eedbca12a702e35cee9328d8cf basler-camera-4.2.2.24.0.bin 3 | sha256 24d7cb3a7e51011466a149bd99acf89387b832be2d0890ce2e183dfbc9d7cb84 COPYING 4 | sha256 3282d88fad766897f93b0827297a70c2707d9358db24cccd5777abf7c997da77 EULA 5 | -------------------------------------------------------------------------------- /package/basler-camera/basler-camera.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # basler-camera 4 | # 5 | ################################################################################ 6 | 7 | BASLER_CAMERA_VERSION = 4.2.2.24.0 8 | BASLER_CAMERA_SITE = $(FREESCALE_IMX_SITE) 9 | BASLER_CAMERA_SOURCE = basler-camera-$(BASLER_CAMERA_VERSION).bin 10 | BASLER_CAMERA_DEPENDENCIES = linux 11 | 12 | BASLER_CAMERA_LICENSE = NXP Semiconductor Software License Agreement 13 | BASLER_CAMERA_LICENSE_FILES = EULA COPYING 14 | BASLER_CAMERA_REDISTRIBUTE = NO 15 | 16 | define BASLER_CAMERA_EXTRACT_CMDS 17 | $(call NXP_EXTRACT_HELPER,$(BASLER_CAMERA_DL_DIR)/$(BASLER_CAMERA_SOURCE)) 18 | endef 19 | 20 | define BASLER_CAMERA_INSTALL_TARGET_CMDS 21 | cp -r $(@D)/opt/* $(TARGET_DIR)/usr/share/ 22 | ln -sf /usr/share/imx8-isp/bin/daA3840_30mc.drv $(TARGET_DIR)/usr/lib64/daA3840_30mc.drv 23 | cp -r $(@D)/usr/* $(TARGET_DIR)/usr/ 24 | endef 25 | 26 | $(eval $(generic-package)) 27 | -------------------------------------------------------------------------------- /package/bdsdmac-firmware/Config.in: -------------------------------------------------------------------------------- 1 | menuconfig BR2_PACKAGE_BDSDMAC_FIRMWARE 2 | bool "bdsdmac-firmware" 3 | help 4 | This module adds firmware files for the BDSDMAC Wi-Fi/BT module. 5 | -------------------------------------------------------------------------------- /package/bdsdmac-firmware/bdsdmac-firmware.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # bdsdmac-firmware 4 | # 5 | ################################################################################ 6 | 7 | BDSDMAC_FIRMWARE_VERSION = 11.171.0.28 8 | BDSDMAC_FIRMWARE_SITE = "https://github.com/LairdCP/BDSDMAC-Release-Packages/releases/download/LRD-REL-"$(BDSDMAC_FIRMWARE_VERSION) 9 | BDSDMAC_FIRMWARE_SOURCE = laird-bdsdmac-firmware-$(BDSDMAC_FIRMWARE_VERSION).tar.bz2 10 | BDSDMAC_FIRMWARE_LICENSE = GPL-2.0 11 | 12 | define BDSDMAC_FIRMWARE_INSTALL_TARGET_CMDS 13 | cp -r $(@D)/firmware/* $(TARGET_DIR)/lib/firmware/ 14 | endef 15 | 16 | $(eval $(generic-package)) 17 | -------------------------------------------------------------------------------- /package/cypress-firmware/Config.in: -------------------------------------------------------------------------------- 1 | menuconfig BR2_PACKAGE_CYPRESS_FIRMWARE 2 | bool "cypress-firmware" 3 | help 4 | This modules adds firmware files for the Cypress-based 5 | Wi-Fi/BT modules such as the LWB5+ 6 | 7 | if BR2_PACKAGE_CYPRESS_FIRMWARE 8 | choice 9 | prompt "WiFi/BT module" 10 | 11 | config BR2_PACKAGE_CYPRESS_FIRMWARE_LWB5P_SDIO_SA 12 | bool "lwb5+ sdio single antenna" 13 | 14 | endchoice 15 | endif 16 | -------------------------------------------------------------------------------- /package/cypress-firmware/cypress-firmware.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # cypress-firmware 4 | # 5 | ################################################################################ 6 | 7 | CYPRESS_FIRMWARE_VERSION = e8d385cd0ce002f49be9b73cd6684e84ae15d603 8 | CYPRESS_FIRMWARE_SITE = \ 9 | $(call github,boundarydevices,cypress-firmware,$(CYPRESS_FIRMWARE_VERSION)) 10 | CYPRESS_FIRMWARE_LICENSE = Proprietary 11 | CYPRESS_FIRMWARE_LICENSE_FILES = LICENSE 12 | 13 | define CYPRESS_FIRMWARE_INSTALL_TARGET_CMDS 14 | cd $(@D); \ 15 | $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) install 16 | endef 17 | 18 | $(eval $(generic-package)) 19 | -------------------------------------------------------------------------------- /package/gst1-imx-v2/Config.in: -------------------------------------------------------------------------------- 1 | comment "gst1-imx-v2 needs an i.MX8 platform with VPU support" 2 | depends on BR2_aarch64 3 | depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO 4 | 5 | config BR2_PACKAGE_GST1_IMX_V2 6 | bool "gst1-imx-v2" 7 | depends on BR2_aarch64 # Only relevant for i.MX8M 8 | depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO 9 | select BR2_PACKAGE_GST1_PLUGINS_BASE 10 | select BR2_PACKAGE_LIBIMXVPUAPI_V2 11 | select BR2_PACKAGE_IMX_CODEC 12 | help 13 | This is a set of GStreamer 1.0 plugins for NXP's i.MX8M 14 | platforms, which make use of their multimedia capabilities. 15 | 16 | https://github.com/Freescale/gstreamer-imx/tree/v2 17 | 18 | config BR2_PACKAGE_GST1_IMX_V2_G2D 19 | bool "imxg2d" 20 | depends on BR2_PACKAGE_IMX_GPU_G2D 21 | help 22 | Elements leveraging the 2D GPU 23 | -------------------------------------------------------------------------------- /package/gst1-imx-v2/gst1-imx-v2.hash: -------------------------------------------------------------------------------- 1 | # locally computed hash 2 | sha256 bb6433b8ea54ea6b75d8e851adc6b96cf94c613d9feda29ccf2a71fa0a5bbc9c gst1-imx-v2-2.2.0.tar.gz 3 | sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 LICENSE 4 | -------------------------------------------------------------------------------- /package/gst1-imx-v2/gst1-imx-v2.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # gst1-imx-v2 4 | # 5 | ################################################################################ 6 | 7 | GST1_IMX_V2_VERSION = 2.2.0 8 | GST1_IMX_V2_SITE = $(call github,Freescale,gstreamer-imx,$(GST1_IMX_V2_VERSION)) 9 | GST1_IMX_V2_LICENSE = LGPL-2.0+ 10 | GST1_IMX_V2_LICENSE_FILES = LICENSE 11 | GST1_IMX_V2_INSTALL_STAGING = YES 12 | 13 | GST1_IMX_V2_DEPENDENCIES += \ 14 | host-pkgconf \ 15 | gstreamer1 \ 16 | gst1-plugins-base \ 17 | imx-codec \ 18 | libimxvpuapi-v2 19 | 20 | ifeq ($(BR2_PACKAGE_IMX_GPU_G2D),y) 21 | GST1_IMX_V2_DEPENDENCIES += imx-gpu-g2d 22 | endif 23 | 24 | ifeq ($(BR2_PACKAGE_GST1_IMX_V2_G2D),y) 25 | GST1_IMX_V2_CONF_OPTS += -Dg2d=enabled 26 | else 27 | GST1_IMX_V2_CONF_OPTS += -Dg2d=disabled 28 | endif 29 | 30 | $(eval $(meson-package)) 31 | -------------------------------------------------------------------------------- /package/if573-sdio-firmware/Config.in: -------------------------------------------------------------------------------- 1 | menuconfig BR2_PACKAGE_IF573_SDIO_FIRMWARE 2 | bool "if573-sdio-firmware" 3 | help 4 | This module adds firmware files for the IF573 Wi-Fi/BT module. 5 | -------------------------------------------------------------------------------- /package/if573-sdio-firmware/if573-sdio-firmware.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # if573-sdio-firmware 4 | # 5 | ################################################################################ 6 | 7 | IF573_SDIO_FIRMWARE_VERSION = 11.171.0.24 8 | IF573_SDIO_FIRMWARE_SITE = "https://github.com/LairdCP/Sterling-LWB-and-LWB5-Release-Packages/releases/download/LRD-REL-"$(IF573_SDIO_FIRMWARE_VERSION) 9 | IF573_SDIO_FIRMWARE_SOURCE = laird-if573-sdio-firmware-$(IF573_SDIO_FIRMWARE_VERSION).tar.bz2 10 | IF573_SDIO_FIRMWARE_LICENSE = GPL-2.0 11 | 12 | define IF573_SDIO_FIRMWARE_INSTALL_TARGET_CMDS 13 | cp -r $(@D)/firmware/* $(TARGET_DIR)/lib/firmware/ 14 | endef 15 | 16 | $(eval $(generic-package)) 17 | -------------------------------------------------------------------------------- /package/isp-imx/0002-imx-add-imx219-to-startup-scripts.patch: -------------------------------------------------------------------------------- 1 | From aa9a29de7f5b960f9418fa0af5c2cf62928e2c9a Mon Sep 17 00:00:00 2001 2 | From: Gary Bisson 3 | Date: Tue, 6 Jun 2023 14:02:16 +0200 4 | Subject: [PATCH 2/8] imx: add imx219 to startup scripts 5 | 6 | Signed-off-by: Gary Bisson 7 | --- 8 | imx/run.sh | 23 ++++++++++++++++++++++- 9 | imx/start_isp.sh | 13 ++++++++++++- 10 | 2 files changed, 34 insertions(+), 2 deletions(-) 11 | 12 | diff --git a/imx/run.sh b/imx/run.sh 13 | index 4ed3669b0..b8ca8c420 100755 14 | --- a/imx/run.sh 15 | +++ b/imx/run.sh 16 | @@ -34,6 +34,8 @@ USAGE+="\tos08a20_1080p30hdr - single os08a20 camera on MIPI-CSI1, 1920x108 17 | USAGE+="\tdual_os08a20_1080p30hdr - dual os08a20 cameras on MIPI-CSI1/2, 1920x1080, 30 fps, HDR configuration\n" 18 | USAGE+="\tos08a20_4khdr - single os08a20 camera on MIPI-CSI1, 3840x2160, 15 fps, HDR configuration\n" 19 | 20 | +USAGE+="\timx219_1080p60 - single imx219 camera on MIPI-CSI1, 1920x1080, 60 fps\n" 21 | + 22 | # parse command line arguments 23 | while [ "$1" != "" ]; do 24 | case $1 in 25 | @@ -58,6 +60,15 @@ while [ "$1" != "" ]; do 26 | done 27 | 28 | write_default_mode_files () { 29 | + # IMX219 modes file - only mode 0 is supported 30 | + echo -n "" > IMX219_MODES.txt 31 | + echo "[mode.0]" >> IMX219_MODES.txt 32 | + echo "xml = \"IMX219_8M_02_1080p_linear.xml\"" >> IMX219_MODES.txt 33 | + echo "dwe = \"dewarp_config/sensor_dwe_imx219_1080P_config.json\"" >> IMX219_MODES.txt 34 | + echo "[mode.1]" >> IMX219_MODES.txt 35 | + echo "xml = \"IMX219_8M_02_1080p_linear.xml\"" >> IMX219_MODES.txt 36 | + echo "dwe = \"dewarp_config/sensor_dwe_imx219_1080P_config.json\"" >> IMX219_MODES.txt 37 | + 38 | # OS08A20 modes file - only mode 2 is supported 39 | echo -n "" > OS08A20_MODES.txt 40 | echo "[mode.0]" >> OS08A20_MODES.txt 41 | @@ -194,7 +205,7 @@ load_modules () { 42 | write_default_mode_files 43 | 44 | echo "Trying configuration \"$ISP_CONFIG\"..." 45 | -MODULES_TO_REMOVE=("basler-camera-driver-vvcam" "os08a20" "ov2775" "${MODULES[@]}") 46 | +MODULES_TO_REMOVE=("basler-camera-driver-vvcam" "os08a20" "ov2775" "imx219" "${MODULES[@]}") 47 | case "$ISP_CONFIG" in 48 | basler_4k ) 49 | MODULES=("basler-camera-driver-vvcam" "${MODULES[@]}") 50 | @@ -308,6 +319,16 @@ case "$ISP_CONFIG" in 51 | write_sensor_cfg_file "Sensor0_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 52 | write_sensor_cfg_file "Sensor1_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 53 | ;; 54 | + imx219_1080p60 ) 55 | + MODULES=("imx219" "${MODULES[@]}") 56 | + RUN_OPTION="CAMERA0" 57 | + CAM_NAME="imx219" 58 | + DRV_FILE="imx219.drv" 59 | + MODE_FILE="IMX219_MODES.txt" 60 | + MODE="0" 61 | + write_sensor_cfg_file "Sensor0_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 62 | + ;; 63 | + 64 | *) 65 | echo "ISP configuration \"$ISP_CONFIG\" unsupported." 66 | echo -e "$USAGE" >&2 67 | diff --git a/imx/start_isp.sh b/imx/start_isp.sh 68 | index d544b4ca2..4addbbb59 100755 69 | --- a/imx/start_isp.sh 70 | +++ b/imx/start_isp.sh 71 | @@ -10,7 +10,7 @@ RUNTIME_DIR="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" 72 | NR_DEVICE_TREE_BASLER=$(grep basler-camera-vvcam `find /sys/firmware/devicetree/base/soc@0/ -name compatible | grep i2c` -l | wc -l 2> /dev/null) 73 | NR_DEVICE_TREE_OV5640=$(grep ov5640 `find /sys/firmware/devicetree/base/soc@0/ -name compatible | grep i2c` -l | wc -l 2> /dev/null) 74 | NR_DEVICE_TREE_OS08A20=$(grep os08a20 `find /sys/firmware/devicetree/base/soc@0/ -name compatible | grep i2c` -l | wc -l 2> /dev/null) 75 | - 76 | +NR_DEVICE_TREE_IMX219=$(grep imx219 `find /sys/firmware/devicetree/base/soc@0/ -name compatible | grep i2c` -l | wc -l 2> /dev/null) 77 | 78 | # check if the basler device has been enabled in the device tree 79 | if [ $NR_DEVICE_TREE_BASLER -eq 1 ]; then 80 | @@ -40,6 +40,17 @@ elif [ $NR_DEVICE_TREE_BASLER -eq 2 ]; then 81 | # Default configuration for Basler daA3840-30mc: dual_basler_1080p60 82 | # Available configurations: dual_basler_1080p60, dual_basler_1080p60hdr 83 | exec ./run.sh -c dual_basler_1080p60 -lm 84 | + 85 | +# check if the imx219 device has been enabled in the device tree 86 | +elif [ $NR_DEVICE_TREE_IMX219 -eq 1 ]; then 87 | + 88 | + echo "Starting isp_media_server for Single imx219" 89 | + 90 | + cd $RUNTIME_DIR 91 | + # Default configuration for Imx219: imx219_1080p60 92 | + # Available configurations: imx219_1080p60 93 | + exec ./run.sh -c imx219_1080p60 -lm 94 | + 95 | # check if the os08a20 device has been enabled in the device tree 96 | elif [ $NR_DEVICE_TREE_OS08A20 -eq 1 ]; then 97 | 98 | -- 99 | 2.39.2 100 | 101 | -------------------------------------------------------------------------------- /package/isp-imx/0003-imx-add-dual-imx219-support.patch: -------------------------------------------------------------------------------- 1 | From 0d9352ab004ffad9bca3b2c01e975304e8655e92 Mon Sep 17 00:00:00 2001 2 | From: Gary Bisson 3 | Date: Tue, 6 Jun 2023 17:25:47 +0200 4 | Subject: [PATCH 3/8] imx: add dual imx219 support 5 | 6 | Signed-off-by: Gary Bisson 7 | --- 8 | imx/run.sh | 11 ++++++++++- 9 | imx/start_isp.sh | 9 +++++++++ 10 | 2 files changed, 19 insertions(+), 1 deletion(-) 11 | 12 | diff --git a/imx/run.sh b/imx/run.sh 13 | index b8ca8c420..f5a510e1b 100755 14 | --- a/imx/run.sh 15 | +++ b/imx/run.sh 16 | @@ -328,7 +328,16 @@ case "$ISP_CONFIG" in 17 | MODE="0" 18 | write_sensor_cfg_file "Sensor0_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 19 | ;; 20 | - 21 | + dual_imx219_1080p60 ) 22 | + MODULES=("imx219" "${MODULES[@]}") 23 | + RUN_OPTION="DUAL_CAMERA" 24 | + CAM_NAME="imx219" 25 | + DRV_FILE="imx219.drv" 26 | + MODE_FILE="IMX219_MODES.txt" 27 | + MODE="0" 28 | + write_sensor_cfg_file "Sensor0_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 29 | + write_sensor_cfg_file "Sensor1_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 30 | + ;; 31 | *) 32 | echo "ISP configuration \"$ISP_CONFIG\" unsupported." 33 | echo -e "$USAGE" >&2 34 | diff --git a/imx/start_isp.sh b/imx/start_isp.sh 35 | index 4addbbb59..e73cb1548 100755 36 | --- a/imx/start_isp.sh 37 | +++ b/imx/start_isp.sh 38 | @@ -51,6 +51,15 @@ elif [ $NR_DEVICE_TREE_IMX219 -eq 1 ]; then 39 | # Available configurations: imx219_1080p60 40 | exec ./run.sh -c imx219_1080p60 -lm 41 | 42 | +elif [ $NR_DEVICE_TREE_IMX219 -eq 2 ]; then 43 | + 44 | + echo "Starting isp_media_server for Dual imx219" 45 | + 46 | + cd $RUNTIME_DIR 47 | + # Default configuration for Imx219: imx219_1080p60 48 | + # Available configurations: imx219_1080p60 49 | + exec ./run.sh -c dual_imx219_1080p60 -lm 50 | + 51 | # check if the os08a20 device has been enabled in the device tree 52 | elif [ $NR_DEVICE_TREE_OS08A20 -eq 1 ]; then 53 | 54 | -- 55 | 2.39.2 56 | 57 | -------------------------------------------------------------------------------- /package/isp-imx/0004-imx-start_isp.sh-always-use-1080p-for-Basler.patch: -------------------------------------------------------------------------------- 1 | From 066b0621b435029781aa9a149f116149fd6a2734 Mon Sep 17 00:00:00 2001 2 | From: Gary Bisson 3 | Date: Tue, 6 Jun 2023 17:57:44 +0200 4 | Subject: [PATCH 4/8] imx/start_isp.sh: always use 1080p for Basler 5 | 6 | Signed-off-by: Gary Bisson 7 | --- 8 | imx/start_isp.sh | 15 +++------------ 9 | 1 file changed, 3 insertions(+), 12 deletions(-) 10 | 11 | diff --git a/imx/start_isp.sh b/imx/start_isp.sh 12 | index e73cb1548..56661cbba 100755 13 | --- a/imx/start_isp.sh 14 | +++ b/imx/start_isp.sh 15 | @@ -19,18 +19,9 @@ if [ $NR_DEVICE_TREE_BASLER -eq 1 ]; then 16 | 17 | cd $RUNTIME_DIR 18 | 19 | - if [ $NR_DEVICE_TREE_OV5640 -eq 0 ]; then 20 | - 21 | - # Default configuration for Basler daA3840-30mc: basler_4k 22 | - # Available configurations: basler_4k, basler_1080p60, basler_4khdr, basler_1080p60hdr 23 | - exec ./run.sh -c basler_4k -lm 24 | - 25 | - elif [ $NR_DEVICE_TREE_OV5640 -eq 1 ]; then 26 | - 27 | - # Default configuration for Basler daA3840-30mc: basler_1080p60 28 | - # Available configurations: basler_1080p60, basler_1080p60hdr 29 | - exec ./run.sh -c basler_1080p60 -lm 30 | - fi 31 | + # Default configuration for Basler daA3840-30mc: basler_1080p60 32 | + # Available configurations: basler_1080p60, basler_1080p60hdr 33 | + exec ./run.sh -c basler_1080p60 -lm 34 | 35 | elif [ $NR_DEVICE_TREE_BASLER -eq 2 ]; then 36 | 37 | -- 38 | 2.39.2 39 | 40 | -------------------------------------------------------------------------------- /package/isp-imx/0005-imx-run.sh-never-load-the-modules-manually.patch: -------------------------------------------------------------------------------- 1 | From 8a81ca0ef471543ec4b62f6a4f1b2105e3179f78 Mon Sep 17 00:00:00 2001 2 | From: Gary Bisson 3 | Date: Tue, 6 Jun 2023 17:55:52 +0200 4 | Subject: [PATCH 5/8] imx/run.sh: never load the modules manually 5 | 6 | Unnecessary as we properly probe the ISP driver. 7 | 8 | Signed-off-by: Gary Bisson 9 | --- 10 | imx/run.sh | 4 ---- 11 | 1 file changed, 4 deletions(-) 12 | 13 | diff --git a/imx/run.sh b/imx/run.sh 14 | index f5a510e1b..07c9814b2 100755 15 | --- a/imx/run.sh 16 | +++ b/imx/run.sh 17 | @@ -356,10 +356,6 @@ fi 18 | # Need a sure way to wait untill all the above processes terminated 19 | sleep 1 20 | 21 | -if [ "$LOAD_MODULES" == "1" ]; then 22 | - load_modules 23 | -fi 24 | - 25 | if [ "$LOCAL_RUN" == "1" ]; then 26 | set_libs_path "libmedia_server.so" 27 | fi 28 | -- 29 | 2.39.2 30 | 31 | -------------------------------------------------------------------------------- /package/isp-imx/0006-imx-run.sh-remove-bashism.patch: -------------------------------------------------------------------------------- 1 | From dcf710848050d4c3e20328399f0f3bbdc16dbd70 Mon Sep 17 00:00:00 2001 2 | From: Chris Dimich 3 | Date: Tue, 12 Sep 2023 09:20:56 -0700 4 | Subject: [PATCH 6/8] imx/run.sh: remove bashism 5 | 6 | Signed-off-by: Gary Bisson 7 | --- 8 | imx/run.sh | 79 ++++++++++++++++++++++++++---------------------------- 9 | 1 file changed, 38 insertions(+), 41 deletions(-) 10 | 11 | diff --git a/imx/run.sh b/imx/run.sh 12 | index 52041c0..faae748 100755 13 | --- a/imx/run.sh 14 | +++ b/imx/run.sh 15 | @@ -5,7 +5,7 @@ 16 | # (c) Basler 2020 17 | # 18 | 19 | -RUN_SCRIPT=`realpath -s $0` 20 | +RUN_SCRIPT=`realpath $0` 21 | RUN_SCRIPT_PATH=`dirname $RUN_SCRIPT` 22 | echo "RUN_SCRIPT=$RUN_SCRIPT" 23 | echo "RUN_SCRIPT_PATH=$RUN_SCRIPT_PATH" 24 | @@ -15,26 +15,26 @@ LOCAL_RUN="0" # search modules in /lib/modules and libraries in /usr/lib 25 | RUN_OPTION="" 26 | LOCAL_RUN="0" 27 | # an array with the modules to load, insertion order 28 | -declare -a MODULES=("imx8-media-dev" "vvcam-dwe" "vvcam-isp" "vvcam-video") 29 | +MODULES="imx8-media-dev vvcam-video vvcam-dwe vvcam-isp" 30 | 31 | USAGE="Usage:\n" 32 | -USAGE+="run.sh -c &\n" 33 | -USAGE+="Supported configurations:\n" 34 | -USAGE+="\tbasler_1080p60 - single basler camera on MIPI-CSI1, 1920x1080, 60 fps\n" 35 | -USAGE+="\tdual_basler_1080p60 - dual basler cameras on MIPI-CSI1/2, 1920x1080, 60 fps\n" 36 | -USAGE+="\tbasler_4k - single basler camera on MIPI-CSI1, 3840x2160, 30 fps\n" 37 | -USAGE+="\tbasler_1080p60hdr - single basler camera on MIPI-CSI1, 1920x1080, 60 fps, HDR configuration\n" 38 | -USAGE+="\tdual_basler_1080p60hdr - dual basler cameras on MIPI-CSI1/2, 1920x1080, 60 fps, HDR configuration\n" 39 | -USAGE+="\tbasler_4khdr - single basler camera on MIPI-CSI1, 3840x2160, 30 fps, HDR configuration\n" 40 | +USAGE=$USAGE"run.sh -c &\n" 41 | +USAGE=$USAGE"Supported configurations:\n" 42 | +USAGE=$USAGE"\tbasler_1080p60 - single basler camera on MIPI-CSI1, 1920x1080, 60 fps\n" 43 | +USAGE=$USAGE"\tdual_basler_1080p60 - dual basler cameras on MIPI-CSI1/2, 1920x1080, 60 fps\n" 44 | +USAGE=$USAGE"\tbasler_4k - single basler camera on MIPI-CSI1, 3840x2160, 30 fps\n" 45 | +USAGE=$USAGE"\tbasler_1080p60hdr - single basler camera on MIPI-CSI1, 1920x1080, 60 fps, HDR configuration\n" 46 | +USAGE=$USAGE"\tdual_basler_1080p60hdr - dual basler cameras on MIPI-CSI1/2, 1920x1080, 60 fps, HDR configuration\n" 47 | +USAGE=$USAGE"\tbasler_4khdr - single basler camera on MIPI-CSI1, 3840x2160, 30 fps, HDR configuration\n" 48 | 49 | -USAGE+="\tos08a20_1080p60 - single os08a20 camera on MIPI-CSI1, 1920x1080, 60 fps\n" 50 | -USAGE+="\tdual_os08a20_1080p60 - dual os08a20 cameras on MIPI-CSI1/2, 1920x1080, 60 fps\n" 51 | -USAGE+="\tos08a20_4k - single os08a20 camera on MIPI-CSI1, 3840x2160, 30 fps\n" 52 | -USAGE+="\tos08a20_1080p30hdr - single os08a20 camera on MIPI-CSI1, 1920x1080, 30 fps, HDR configuration\n" 53 | -USAGE+="\tdual_os08a20_1080p30hdr - dual os08a20 cameras on MIPI-CSI1/2, 1920x1080, 30 fps, HDR configuration\n" 54 | -USAGE+="\tos08a20_4khdr - single os08a20 camera on MIPI-CSI1, 3840x2160, 15 fps, HDR configuration\n" 55 | +USAGE=$USAGE"\tos08a20_1080p60 - single os08a20 camera on MIPI-CSI1, 1920x1080, 60 fps\n" 56 | +USAGE=$USAGE"\tdual_os08a20_1080p60 - dual os08a20 cameras on MIPI-CSI1/2, 1920x1080, 60 fps\n" 57 | +USAGE=$USAGE"\tos08a20_4k - single os08a20 camera on MIPI-CSI1, 3840x2160, 30 fps\n" 58 | +USAGE=$USAGE"\tos08a20_1080p30hdr - single os08a20 camera on MIPI-CSI1, 1920x1080, 30 fps, HDR configuration\n" 59 | +USAGE=$USAGE"\tdual_os08a20_1080p30hdr - dual os08a20 cameras on MIPI-CSI1/2, 1920x1080, 30 fps, HDR configuration\n" 60 | +USAGE=$USAGE"\tos08a20_4khdr - single os08a20 camera on MIPI-CSI1, 3840x2160, 15 fps, HDR configuration\n" 61 | 62 | -USAGE+="\timx219_1080p60 - single imx219 camera on MIPI-CSI1, 1920x1080, 60 fps\n" 63 | +USAGE=$USAGE"\timx219_1080p60 - single imx219 camera on MIPI-CSI1, 1920x1080, 60 fps\n" 64 | 65 | # parse command line arguments 66 | while [ "$1" != "" ]; do 67 | @@ -181,21 +181,18 @@ load_module () { 68 | 69 | load_modules () { 70 | # remove any previous instances of the modules 71 | - n=${#MODULES_TO_REMOVE[*]} 72 | - for (( i = n-1; i >= 0; i-- )) 73 | + for i in "${MODULES_TO_REMOVE}" 74 | do 75 | - echo "Removing ${MODULES_TO_REMOVE[i]}..." 76 | - rmmod ${MODULES_TO_REMOVE[i]} &>/dev/null 77 | - #LSMOD_STATUS=`lsmod | grep "${MODULES[i]}"` 78 | - #echo "LSMOD_STATUS=$LSMOD_STATUS" 79 | - if lsmod | grep "${MODULES_TO_REMOVE[i]}" ; then 80 | - echo "Removing ${MODULES_TO_REMOVE[i]} failed!" 81 | + echo "Removing $i..." 82 | + rmmod $i &>/dev/null 83 | + if lsmod | grep "$i" ; then 84 | + echo "Removing $i failed!" 85 | exit 1 86 | fi 87 | done 88 | 89 | # and now clean load the modules 90 | - for i in "${MODULES[@]}" 91 | + for i in "${MODULES}" 92 | do 93 | echo "Loading module $i ..." 94 | load_module $i 95 | @@ -205,10 +202,10 @@ load_modules () { 96 | write_default_mode_files 97 | 98 | echo "Trying configuration \"$ISP_CONFIG\"..." 99 | -MODULES_TO_REMOVE=("basler-camera-driver-vvcam" "os08a20" "ov2775" "imx219" "${MODULES[@]}") 100 | +MODULES_TO_REMOVE="basler-camera-driver-vvcam os08a20 ov2775 imx219 ${MODULES}" 101 | case "$ISP_CONFIG" in 102 | basler_4k ) 103 | - MODULES=("basler-camera-driver-vvcam" "${MODULES[@]}") 104 | + MODULES="basler-camera-driver-vvcam ${MODULES}" 105 | RUN_OPTION="CAMERA0" 106 | CAM_NAME="basler-vvcam" 107 | DRV_FILE="daA3840_30mc.drv" 108 | @@ -217,7 +214,7 @@ case "$ISP_CONFIG" in 109 | write_sensor_cfg_file "Sensor0_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 110 | ;; 111 | basler_1080p60 ) 112 | - MODULES=("basler-camera-driver-vvcam" "${MODULES[@]}") 113 | + MODULES="basler-camera-driver-vvcam ${MODULES}" 114 | RUN_OPTION="CAMERA0" 115 | CAM_NAME="basler-vvcam" 116 | DRV_FILE="daA3840_30mc.drv" 117 | @@ -226,7 +223,7 @@ case "$ISP_CONFIG" in 118 | write_sensor_cfg_file "Sensor0_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 119 | ;; 120 | dual_basler_1080p60 ) 121 | - MODULES=("basler-camera-driver-vvcam" "${MODULES[@]}") 122 | + MODULES="basler-camera-driver-vvcam ${MODULES}" 123 | RUN_OPTION="DUAL_CAMERA" 124 | CAM_NAME="basler-vvcam" 125 | DRV_FILE="daA3840_30mc.drv" 126 | @@ -236,7 +233,7 @@ case "$ISP_CONFIG" in 127 | write_sensor_cfg_file "Sensor1_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 128 | ;; 129 | basler_4khdr ) 130 | - MODULES=("basler-camera-driver-vvcam" "${MODULES[@]}") 131 | + MODULES="basler-camera-driver-vvcam ${MODULES}" 132 | RUN_OPTION="CAMERA0" 133 | CAM_NAME="basler-vvcam" 134 | DRV_FILE="daA3840_30mc.drv" 135 | @@ -245,7 +242,7 @@ case "$ISP_CONFIG" in 136 | write_sensor_cfg_file "Sensor0_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 137 | ;; 138 | basler_1080p60hdr ) 139 | - MODULES=("basler-camera-driver-vvcam" "${MODULES[@]}") 140 | + MODULES="basler-camera-driver-vvcam ${MODULES}" 141 | RUN_OPTION="CAMERA0" 142 | CAM_NAME="basler-vvcam" 143 | DRV_FILE="daA3840_30mc.drv" 144 | @@ -254,7 +251,7 @@ case "$ISP_CONFIG" in 145 | write_sensor_cfg_file "Sensor0_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 146 | ;; 147 | dual_basler_1080p60hdr ) 148 | - MODULES=("basler-camera-driver-vvcam" "${MODULES[@]}") 149 | + MODULES="basler-camera-driver-vvcam ${MODULES}" 150 | RUN_OPTION="DUAL_CAMERA" 151 | CAM_NAME="basler-vvcam" 152 | DRV_FILE="daA3840_30mc.drv" 153 | @@ -264,7 +261,7 @@ case "$ISP_CONFIG" in 154 | write_sensor_cfg_file "Sensor1_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 155 | ;; 156 | os08a20_4k ) 157 | - MODULES=("os08a20" "${MODULES[@]}") 158 | + MODULES="os08a20 ${MODULES}" 159 | RUN_OPTION="CAMERA0" 160 | CAM_NAME="os08a20" 161 | DRV_FILE="os08a20.drv" 162 | @@ -273,7 +270,7 @@ case "$ISP_CONFIG" in 163 | write_sensor_cfg_file "Sensor0_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 164 | ;; 165 | os08a20_4khdr ) 166 | - MODULES=("os08a20" "${MODULES[@]}") 167 | + MODULES="os08a20 ${MODULES}" 168 | RUN_OPTION="CAMERA0" 169 | CAM_NAME="os08a20" 170 | DRV_FILE="os08a20.drv" 171 | @@ -282,7 +279,7 @@ case "$ISP_CONFIG" in 172 | write_sensor_cfg_file "Sensor0_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 173 | ;; 174 | os08a20_1080p60 ) 175 | - MODULES=("os08a20" "${MODULES[@]}") 176 | + MODULES="os08a20 ${MODULES}" 177 | RUN_OPTION="CAMERA0" 178 | CAM_NAME="os08a20" 179 | DRV_FILE="os08a20.drv" 180 | @@ -291,7 +288,7 @@ case "$ISP_CONFIG" in 181 | write_sensor_cfg_file "Sensor0_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 182 | ;; 183 | dual_os08a20_1080p60 ) 184 | - MODULES=("os08a20" "${MODULES[@]}") 185 | + MODULES="os08a20 ${MODULES}" 186 | RUN_OPTION="DUAL_CAMERA" 187 | CAM_NAME="os08a20" 188 | DRV_FILE="os08a20.drv" 189 | @@ -301,7 +298,7 @@ case "$ISP_CONFIG" in 190 | write_sensor_cfg_file "Sensor1_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 191 | ;; 192 | os08a20_1080p30hdr ) 193 | - MODULES=("os08a20" "${MODULES[@]}") 194 | + MODULES="os08a20 ${MODULES}" 195 | RUN_OPTION="CAMERA0" 196 | CAM_NAME="os08a20" 197 | DRV_FILE="os08a20.drv" 198 | @@ -310,7 +307,7 @@ case "$ISP_CONFIG" in 199 | write_sensor_cfg_file "Sensor0_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 200 | ;; 201 | dual_os08a20_1080p30hdr ) 202 | - MODULES=("os08a20" "${MODULES[@]}") 203 | + MODULES="os08a20 ${MODULES}" 204 | RUN_OPTION="DUAL_CAMERA" 205 | CAM_NAME="os08a20" 206 | DRV_FILE="os08a20.drv" 207 | @@ -320,7 +317,7 @@ case "$ISP_CONFIG" in 208 | write_sensor_cfg_file "Sensor1_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 209 | ;; 210 | imx219_1080p60 ) 211 | - MODULES=("imx219" "${MODULES[@]}") 212 | + MODULES="imx219 ${MODULES}" 213 | RUN_OPTION="CAMERA0" 214 | CAM_NAME="imx219" 215 | DRV_FILE="imx219.drv" 216 | @@ -329,7 +326,7 @@ case "$ISP_CONFIG" in 217 | write_sensor_cfg_file "Sensor0_Entry.cfg" $CAM_NAME $DRV_FILE $MODE_FILE $MODE 218 | ;; 219 | dual_imx219_1080p60 ) 220 | - MODULES=("imx219" "${MODULES[@]}") 221 | + MODULES="imx219 ${MODULES}" 222 | RUN_OPTION="DUAL_CAMERA" 223 | CAM_NAME="imx219" 224 | DRV_FILE="imx219.drv" 225 | -- 226 | 2.34.1 227 | 228 | -------------------------------------------------------------------------------- /package/isp-imx/0007-imx-imx8-isp.service-switch-to-usr-share.patch: -------------------------------------------------------------------------------- 1 | From 4a8fce0f973019514a32f5c3db400359fb669e37 Mon Sep 17 00:00:00 2001 2 | From: Chris Dimich 3 | Date: Tue, 13 Sep 2022 20:06:18 -0700 4 | Subject: [PATCH 7/8] imx/imx8-isp.service: switch to /usr/share/ 5 | 6 | As Buildroot doesn't want binaries under /opt/ 7 | 8 | Signed-off-by: Chris Dimich 9 | --- 10 | imx/imx8-isp.service | 2 +- 11 | 1 file changed, 1 insertion(+), 1 deletion(-) 12 | 13 | diff --git a/imx/imx8-isp.service b/imx/imx8-isp.service 14 | index 5fd683581..3244b96fb 100644 15 | --- a/imx/imx8-isp.service 16 | +++ b/imx/imx8-isp.service 17 | @@ -11,7 +11,7 @@ Restart=on-failure 18 | RestartSec=5s 19 | # ENXIO 20 | #RestartPreventExitStatus=6 21 | -ExecStart=/opt/imx8-isp/bin/start_isp.sh 22 | +ExecStart=/usr/share/imx8-isp/bin/start_isp.sh 23 | 24 | [Install] 25 | WantedBy=multi-user.target 26 | -- 27 | 2.39.2 28 | 29 | -------------------------------------------------------------------------------- /package/isp-imx/0008-WlDisplay-fix-include-path-of-dma-heap-to-be-imx-hea.patch: -------------------------------------------------------------------------------- 1 | From c9590ff0c87d177335138818d919e385e0739c95 Mon Sep 17 00:00:00 2001 2 | From: Chris Dimich 3 | Date: Tue, 13 Sep 2022 20:12:32 -0700 4 | Subject: [PATCH 8/8] WlDisplay: fix include path of dma-heap to be imx header 5 | 6 | to address error: 7 | 8 | fatal error: linux/dma-heap.h: No such file or directory 9 | 10 | Signed-off-by: Chris Dimich 11 | --- 12 | appshell/display/WlDisplay.cpp | 2 +- 13 | 1 file changed, 1 insertion(+), 1 deletion(-) 14 | 15 | diff --git a/appshell/display/WlDisplay.cpp b/appshell/display/WlDisplay.cpp 16 | index 3201be888..4f29e06a5 100644 17 | --- a/appshell/display/WlDisplay.cpp 18 | +++ b/appshell/display/WlDisplay.cpp 19 | @@ -10,7 +10,7 @@ 20 | #include 21 | #include 22 | #include 23 | -#include 24 | +#include 25 | #include 26 | 27 | #include "log.h" 28 | -- 29 | 2.39.2 30 | 31 | -------------------------------------------------------------------------------- /package/isp-imx/Config.in: -------------------------------------------------------------------------------- 1 | comment "isp-imx requires aarch64" 2 | depends on !BR2_aarch64 3 | 4 | config BR2_PACKAGE_ISP_IMX 5 | bool "isp-imx" 6 | depends on BR2_aarch64 # Only relevant for i.MX8 7 | select BR2_PACKAGE_LIBDRM 8 | select BR2_PACKAGE_LINUX_IMX_HEADERS 9 | select BR2_PACKAGE_PYTHON3 10 | select BR2_PACKAGE_TINYXML2 11 | select BR2_PACKAGE_BOOST 12 | select BR2_PACKAGE_BOOST_ATOMIC 13 | select BR2_PACKAGE_BOOST_THREAD 14 | help 15 | ISP daemon for the Verisilicon Software ISP as well as config 16 | files for some camera sensors (ov2775, IMX290, OS08a20). 17 | -------------------------------------------------------------------------------- /package/isp-imx/S80isp: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | case "$1" in 4 | start|"") 5 | /bin/sh /usr/share/imx8-isp/bin/start_isp.sh & 6 | ;; 7 | stop) 8 | killall -q isp_media_server 9 | ;; 10 | restart|reload) 11 | $0 stop 12 | sleep 1 13 | $0 start 14 | ;; 15 | *) 16 | echo "Usage: $0 {start|stop}" >&2 17 | exit 1 18 | ;; 19 | esac 20 | -------------------------------------------------------------------------------- /package/isp-imx/isp-imx.hash: -------------------------------------------------------------------------------- 1 | # Locally computed: 2 | sha256 34b23f5b9f0856a8f5722e339a7ad4ccf4d99614788598306ff8b20093c1e846 isp-imx-4.2.2.24.0.bin 3 | sha256 24d7cb3a7e51011466a149bd99acf89387b832be2d0890ce2e183dfbc9d7cb84 COPYING 4 | -------------------------------------------------------------------------------- /package/isp-imx/isp-imx.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # isp-imx 4 | # 5 | ################################################################################ 6 | 7 | ISP_IMX_VERSION = 4.2.2.24.0 8 | ISP_IMX_SITE = $(FREESCALE_IMX_SITE) 9 | ISP_IMX_SOURCE = isp-imx-$(ISP_IMX_VERSION).bin 10 | ISP_IMX_DEPENDENCIES = linux linux-imx-headers python3 libdrm tinyxml2 boost 11 | ISP_IMX_LICENSE = NXP Semiconductor Software License Agreement 12 | ISP_IMX_LICENSE_FILES = EULA COPYING 13 | ISP_IMX_REDISTRIBUTE = NO 14 | ISP_IMX_SUBDIR = appshell 15 | 16 | ISP_IMX_CONF_OPTS += \ 17 | -DCMAKE_BUILD_TYPE=release \ 18 | -DISP_VERSION=ISP8000NANO_V1802 \ 19 | -DPLATFORM=ARM64 \ 20 | -DAPPMODE=V4L2 \ 21 | -DQTLESS=1 \ 22 | -DFULL_SRC_COMPILE=1 \ 23 | -DWITH_DRM=1 \ 24 | -DWITH_DWE=1 \ 25 | -DSERVER_LESS=1 \ 26 | -DSUBDEV_V4L2=1 \ 27 | -DENABLE_IRQ=1 \ 28 | -DPARTITION_BUILD=0 \ 29 | -D3A_SRC_BUILD=0 \ 30 | -DSDKTARGETSYSROOT=$(STAGING_DIR) \ 31 | -Wno-dev 32 | 33 | ifeq ($(BR2_PACKAGE_IMX_GPU_G2D),y) 34 | ISP_IMX_CONF_OPTS += -DIMX_G2D=ON 35 | ISP_IMX_DEPENDENCIES += imx-gpu-g2d 36 | endif 37 | 38 | ISP_IMX_CONF_ENV += SDKTARGETSYSROOT=$(STAGING_DIR) 39 | 40 | define ISP_IMX_EXTRACT_CMDS 41 | $(call NXP_EXTRACT_HELPER,$(ISP_IMX_DL_DIR)/$(ISP_IMX_SOURCE)) 42 | endef 43 | 44 | define ISP_IMX_INSTALL_TARGET_CMDS 45 | mkdir -p $(TARGET_DIR)/usr/share/imx8-isp/bin 46 | cp -r $(@D)/$(ISP_IMX_SUBDIR)/generated/release/bin/*_test $(TARGET_DIR)/usr/share/imx8-isp/bin 47 | cp -r $(@D)/$(ISP_IMX_SUBDIR)/generated/release/bin/*.xml $(TARGET_DIR)/usr/share/imx8-isp/bin 48 | cp -r $(@D)/$(ISP_IMX_SUBDIR)/generated/release/bin/isp_media_server $(TARGET_DIR)/usr/share/imx8-isp/bin 49 | cp -r $(@D)/$(ISP_IMX_SUBDIR)/generated/release/bin/vvext $(TARGET_DIR)/usr/share/imx8-isp/bin 50 | cp -r $(@D)/$(ISP_IMX_SUBDIR)/generated/release/bin/*.drv $(TARGET_DIR)/usr/share/imx8-isp/bin 51 | cp -r $(@D)/$(ISP_IMX_SUBDIR)/generated/release/bin/*.drv $(TARGET_DIR)/usr/lib64 52 | cp -r $(@D)/$(ISP_IMX_SUBDIR)/generated/release/lib/*.so* $(TARGET_DIR)/usr/lib/ 53 | cp -r $(@D)/dewarp/dewarp_config $(TARGET_DIR)/usr/share/imx8-isp/bin 54 | cp -r $(@D)/mediacontrol/case/ $(TARGET_DIR)/usr/share/imx8-isp/bin 55 | 56 | cp $(@D)/imx/run.sh $(TARGET_DIR)/usr/share/imx8-isp/bin 57 | cp $(@D)/imx/start_isp.sh $(TARGET_DIR)/usr/share/imx8-isp/bin 58 | 59 | chmod +x $(TARGET_DIR)/usr/share/imx8-isp/bin/run.sh 60 | chmod +x $(TARGET_DIR)/usr/share/imx8-isp/bin/start_isp.sh 61 | 62 | # Need to create symlink for missing library -> "isp_media_server: error while loading shared libraries: 63 | # libtinyxml2.so.9: cannot open shared object file: No such file or directory" 64 | ln -sf /usr/lib/libtinyxml2.so $(TARGET_DIR)/usr/lib/libtinyxml2.so.9 65 | endef 66 | 67 | define ISP_IMX_INSTALL_INIT_SYSTEMD 68 | $(INSTALL) -D -m 644 $(@D)/imx/imx8-isp.service \ 69 | $(TARGET_DIR)/usr/lib/systemd/system/imx8-isp.service 70 | endef 71 | 72 | define ISP_IMX_INSTALL_INIT_SYSV 73 | $(INSTALL) -D -m 755 $(BR2_EXTERNAL_BOUNDARY_PATH)/package/isp-imx/S80isp \ 74 | $(TARGET_DIR)/etc/init.d/S80isp 75 | endef 76 | 77 | $(eval $(cmake-package)) 78 | -------------------------------------------------------------------------------- /package/kernel-module-bdsdmac-backports/Config.in: -------------------------------------------------------------------------------- 1 | comment "kernel-module-bdsdmac-backports needs a Linux kernel to be built" 2 | depends on !BR2_LINUX_KERNEL 3 | 4 | menuconfig BR2_PACKAGE_KERNEL_MODULE_BDSDMAC_BACKPORTS 5 | bool "kernel module bdsdmac backports" 6 | depends on BR2_LINUX_KERNEL 7 | help 8 | This kernel module adds support for Laird Backports for 9 | the following Wifi/BT Modules: BD-SDMAC, IFxxx, and LWBxx. 10 | -------------------------------------------------------------------------------- /package/kernel-module-bdsdmac-backports/kernel-module-bdsdmac-backports.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # kernel module bdsdmac backports 4 | # 5 | ################################################################################ 6 | 7 | KERNEL_MODULE_BDSDMAC_BACKPORTS_VERSION = 11.171.0.28 8 | KERNEL_MODULE_BDSDMAC_BACKPORTS_SITE = "https://github.com/LairdCP/BDSDMAC-Release-Packages/releases/download/LRD-REL-"$(KERNEL_MODULE_BDSDMAC_BACKPORTS_VERSION) 9 | KERNEL_MODULE_BDSDMAC_BACKPORTS_SOURCE = backports-laird-$(KERNEL_MODULE_BDSDMAC_BACKPORTS_VERSION).tar.bz2 10 | KERNEL_MODULE_BDSDMAC_BACKPORTS_LICENSE = GPL-2.0 11 | KERNEL_MODULE_BDSDMAC_BACKPORTS_DEPENDENCIES = linux 12 | KERNEL_MODULE_BDSDMAC_BACKPORTS_KCONFIG_FILE = $(KERNEL_MODULE_BDSDMAC_BACKPORTS_DIR)/defconfigs/bdimx6 13 | KERNEL_MODULE_BDSDMAC_BACKPORTS_KCONFIG_OPTS = $(KERNEL_MODULE_BDSDMAC_BACKPORTS_MAKE_OPTS) 14 | KERNEL_MODULE_BDSDMAC_BACKPORTS_MAKE_ENV = $(HOST_MAKE_ENV) 15 | KERNEL_MODULE_BDSDMAC_BACKPORTS_MINIMAL_KVER_MAJOR = 3 16 | KERNEL_MODULE_BDSDMAC_BACKPORTS_MINIMAL_KVER_MINOR = 0 17 | 18 | KERNEL_MODULE_BDSDMAC_BACKPORTS_KCONFIG_DEPENDENCIES = \ 19 | $(BR2_BISON_HOST_DEPENDENCY) \ 20 | $(BR2_FLEX_HOST_DEPENDENCY) 21 | 22 | KERNEL_MODULE_BDSDMAC_BACKPORTS_MAKE_OPTS = \ 23 | LEX=flex \ 24 | YACC=bison \ 25 | BACKPORT_DIR=$(@D) \ 26 | KLIB_BUILD=$(LINUX_DIR) \ 27 | KLIB=$(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED) \ 28 | INSTALL_MOD_DIR=updates \ 29 | `sed -r -e '/^\#/d;' $(@D)/.config` 30 | 31 | KERNEL_MODULE_BDSDMAC_BACKPORTS_MODULE_MAKE_OPTS = $(KERNEL_MODULE_BDSDMAC_BACKPORTS_MAKE_OPTS) 32 | 33 | define KERNEL_MODULE_BDSDMAC_BACKPORTS_KCONFIG_FIXUP_CMDS 34 | rm -f $(@D)/backport-include/backport/autoconf.h 35 | $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(KERNEL_MODULE_BDSDMAC_BACKPORTS_MAKE_OPTS) backport-include/backport/autoconf.h 36 | endef 37 | 38 | $(eval $(kernel-module)) 39 | $(eval $(kconfig-package)) 40 | 41 | $(KERNEL_MODULE_BDSDMAC_BACKPORTS_DIR)/$(KERNEL_MODULE_BDSDMAC_BACKPORTS_KCONFIG_STAMP_DOTCONFIG): $(KERNEL_MODULE_BDSDMAC_BACKPORTS_DIR)/.stamp_check_kernel_version 42 | 43 | .SECONDEXPANSION: 44 | $(KERNEL_MODULE_BDSDMAC_BACKPORTS_DIR)/.stamp_check_kernel_version: $$(LINUX_DIR)/$$(LINUX_KCONFIG_STAMP_DOTCONFIG) | linux 45 | $(Q)KVER=$(LINUX_VERSION_PROBED); \ 46 | MIN_KVER_MAJOR=$(KERNEL_MODULE_BDSDMAC_BACKPORTS_MINIMAL_KVER_MAJOR); \ 47 | MIN_KVER_MINOR=$(KERNEL_MODULE_BDSDMAC_BACKPORTS_MINIMAL_KVER_MINOR); \ 48 | KVER_MAJOR=`echo $${KVER} | sed 's/^\([0-9]*\)\..*/\1/'`; \ 49 | KVER_MINOR=`echo $${KVER} | sed 's/^[0-9]*\.\([0-9]*\).*/\1/'`; \ 50 | if [ $${KVER_MAJOR} -lt $(KERNEL_MODULE_BDSDMAC_BACKPORTS_MINIMAL_KVER_MAJOR) \ 51 | -o \( $${KVER_MAJOR} -eq $(KERNEL_MODULE_BDSDMAC_BACKPORTS_MINIMAL_KVER_MAJOR) \ 52 | -a $${KVER_MINOR} -lt $(KERNEL_MODULE_BDSDMAC_BACKPORTS_MINIMAL_KVER_MINOR) \ 53 | \) ]; then \ 54 | printf "Linux version '%s' is too old for linux-backports (needs %s.%s or later)\n" \ 55 | "$${KVER}" \ 56 | "$(KERNEL_MODULE_BDSDMAC_BACKPORTS_MINIMAL_KVER_MAJOR)" \ 57 | "$(KERNEL_MODULE_BDSDMAC_BACKPORTS_MINIMAL_KVER_MINOR)"; \ 58 | exit 1; \ 59 | fi 60 | $(Q)touch $(@) 61 | 62 | $(KERNEL_MODULE_BDSDMAC_BACKPORTS_DIR)/.stamp_built: $$(LINUX_DIR)/.stamp_built | linux 63 | -------------------------------------------------------------------------------- /package/kernel-module-isp-vvcam/Config.in: -------------------------------------------------------------------------------- 1 | comment "kernel-module-isp-vvcam needs a Linux kernel to be built" 2 | depends on !BR2_LINUX_KERNEL 3 | 4 | config BR2_PACKAGE_KERNEL_MODULE_ISP_VVCAM 5 | bool "kernel-module-isp-vvcam" 6 | depends on BR2_LINUX_KERNEL 7 | help 8 | Kernel module for the Verisilicon ISP that can be found in 9 | i.MX processors such as the i.MX 8M Plus. 10 | -------------------------------------------------------------------------------- /package/kernel-module-isp-vvcam/kernel-module-isp-vvcam.hash: -------------------------------------------------------------------------------- 1 | # Locally computed: 2 | sha256 1e608cc2bc746a795704eaa12d4856b323053c7639c927a6da1ef4895cf4f2a3 kernel-module-isp-vvcam-e82559d4129848fede0d9181e238314e99ae989d.tar.gz 3 | -------------------------------------------------------------------------------- /package/kernel-module-isp-vvcam/kernel-module-isp-vvcam.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # kernel-module-isp-vvcam 4 | # 5 | ################################################################################ 6 | 7 | KERNEL_MODULE_ISP_VVCAM_VERSION = e82559d4129848fede0d9181e238314e99ae989d 8 | KERNEL_MODULE_ISP_VVCAM_SITE = $(call github,boundarydevices,isp-vvcam,$(KERNEL_MODULE_ISP_VVCAM_VERSION)) 9 | KERNEL_MODULE_ISP_VVCAM_LICENSE = GPL-2.0 10 | KERNEL_MODULE_ISP_VVCAM_DEPENDENCIES = linux 11 | 12 | KERNEL_MODULE_ISP_VVCAM_MODULE_SUBDIRS = vvcam/v4l2 13 | KERNEL_MODULE_ISP_VVCAM_MODULE_MAKE_OPTS = KERNEL_SRC=$(LINUX_DIR) ENABLE_IRQ=yes 14 | 15 | $(eval $(kernel-module)) 16 | $(eval $(generic-package)) 17 | -------------------------------------------------------------------------------- /package/libimxdmabuffer/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_LIBIMXDMABUFFER 2 | bool "libimxdmabuffer" 3 | depends on BR2_aarch64 # Only relevant for i.MX8M 4 | select BR2_PACKAGE_LINUX_IMX_HEADERS 5 | help 6 | This library provides an API for allocating memory blocks that 7 | are physically contiguous on i.MX platforms. 8 | 9 | https://github.com/Freescale/libimxdmabuffer 10 | -------------------------------------------------------------------------------- /package/libimxdmabuffer/libimxdmabuffer.hash: -------------------------------------------------------------------------------- 1 | # locally computed hash 2 | sha256 a127581fa9596b7122a4747708c29d77a849575e8b26fe29beafd1271d179411 libimxdmabuffer-1.1.3.tar.gz 3 | sha256 4bb33cc4cd956b56b779b501f18cae46a9e26f8c8500cca86ed758b8bc5e1788 LICENSE 4 | -------------------------------------------------------------------------------- /package/libimxdmabuffer/libimxdmabuffer.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # libimxdmabuffer 4 | # 5 | ################################################################################ 6 | 7 | LIBIMXDMABUFFER_VERSION = 1.1.3 8 | LIBIMXDMABUFFER_SITE = $(call github,Freescale,libimxdmabuffer,$(LIBIMXDMABUFFER_VERSION)) 9 | LIBIMXDMABUFFER_LICENSE = LGPL-2.1+ 10 | LIBIMXDMABUFFER_LICENSE_FILES = LICENSE 11 | LIBIMXDMABUFFER_DEPENDENCIES = host-pkgconf host-python3 12 | LIBIMXDMABUFFER_DEPENDENCIES += linux-imx-headers 13 | LIBIMXDMABUFFER_INSTALL_STAGING = YES 14 | LIBIMXDMABUFFER_NEEDS_EXTERNAL_WAF = YES 15 | 16 | LIBIMXDMABUFFER_CONF_OPTS += --with-dwl-allocator=no --with-g2d-allocator=no 17 | LIBIMXDMABUFFER_CONF_OPTS += --with-pxp-allocator=no --with-ipu-allocator=no 18 | LIBIMXDMABUFFER_CONF_OPTS += --imx-linux-headers-path="$(STAGING_DIR)/usr/include/imx" 19 | LIBIMXDMABUFFER_CONF_OPTS += --libdir=/usr/lib 20 | 21 | $(eval $(waf-package)) 22 | -------------------------------------------------------------------------------- /package/libimxvpuapi-v2/Config.in: -------------------------------------------------------------------------------- 1 | comment "libimxvpuapi-v2 needs an i.MX8 platform with VPU support" 2 | depends on BR2_aarch64 3 | depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO 4 | 5 | config BR2_PACKAGE_LIBIMXVPUAPI_V2 6 | bool "libimxvpuapi-v2" 7 | depends on BR2_aarch64 # Only relevant for i.MX8 8 | depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO 9 | select BR2_PACKAGE_LIBIMXDMABUFFER 10 | select BR2_PACKAGE_IMX_VPU_HANTRO 11 | help 12 | This library provides an API for using the for the i.MX8M VPU hardware 13 | video engines. 14 | 15 | https://github.com/Freescale/libimxvpuapi/tree/v2 16 | -------------------------------------------------------------------------------- /package/libimxvpuapi-v2/libimxvpuapi-v2.hash: -------------------------------------------------------------------------------- 1 | # locally computed hash 2 | sha256 d87e9fdd8c8d94b736a9769e15820fa33167936097a006c9962ee8e6ee42ae01 libimxvpuapi-v2-2.3.0.tar.gz 3 | sha256 4bb33cc4cd956b56b779b501f18cae46a9e26f8c8500cca86ed758b8bc5e1788 LICENSE 4 | -------------------------------------------------------------------------------- /package/libimxvpuapi-v2/libimxvpuapi-v2.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # LIBIMXVPUAPI_V2 4 | # 5 | ################################################################################ 6 | 7 | LIBIMXVPUAPI_V2_VERSION = 2.3.0 8 | LIBIMXVPUAPI_V2_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI_V2_VERSION)) 9 | LIBIMXVPUAPI_V2_LICENSE = LGPL-2.1+ 10 | LIBIMXVPUAPI_V2_LICENSE_FILES = LICENSE 11 | LIBIMXVPUAPI_V2_DEPENDENCIES = host-pkgconf host-python3 imx-vpu-hantro libimxdmabuffer 12 | LIBIMXVPUAPI_V2_DEPENDENCIES += linux 13 | LIBIMXVPUAPI_V2_INSTALL_STAGING = YES 14 | LIBIMXVPUAPI_V2_NEEDS_EXTERNAL_WAF = YES 15 | 16 | LIBIMXVPUAPI_V2_CONF_OPTS += --imx-headers="$(LINUX_DIR)/include/uapi" 17 | LIBIMXVPUAPI_V2_CONF_OPTS += --sysroot-path=$(STAGING_DIR) 18 | LIBIMXVPUAPI_V2_CONF_OPTS += --libdir=/usr/lib 19 | ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM),y) 20 | LIBIMXVPUAPI_V2_CONF_OPTS += --imx-platform="imx8mm" 21 | else 22 | LIBIMXVPUAPI_V2_CONF_OPTS += --imx-platform="imx8m" 23 | endif 24 | 25 | $(eval $(waf-package)) 26 | -------------------------------------------------------------------------------- /package/linux-imx-headers/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_LINUX_IMX_HEADERS 2 | bool "linux-imx-headers" 3 | depends on BR2_aarch64 # Only relevant for i.MX8M 4 | help 5 | This installs the i.MX headers in staging area. This is the 6 | equivalent to the following Yocto recipe: 7 | https://github.com/Freescale/meta-freescale/blob/dunfell/recipes-kernel/linux/linux-imx-headers_5.4.3.bb 8 | -------------------------------------------------------------------------------- /package/linux-imx-headers/linux-imx-headers.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # linux-imx-headers 4 | # 5 | ################################################################################ 6 | 7 | LINUX_IMX_HEADERS_DEPENDENCIES += linux 8 | LINUX_IMX_HEADERS_INSTALL_STAGING = YES 9 | 10 | IMX_UAPI_HEADERS = \ 11 | dma-buf.h \ 12 | dma-heap.h \ 13 | hantrodec.h \ 14 | hx280enc.h \ 15 | ipu.h \ 16 | isl29023.h \ 17 | mxc_asrc.h \ 18 | mxc_dcic.h \ 19 | mxc_mlb.h \ 20 | mxc_sim_interface.h \ 21 | mxc_v4l2.h \ 22 | mxcfb.h \ 23 | pxp_device.h \ 24 | pxp_dma.h \ 25 | version.h \ 26 | videodev2.h 27 | 28 | define LINUX_IMX_HEADERS_CONFIGURE_CMDS 29 | cd $(@D); \ 30 | $(TARGET_MAKE_ENV) $(MAKE) \ 31 | -C $(LINUX_DIR) \ 32 | ARCH=$(KERNEL_ARCH) \ 33 | HOSTCC="$(HOSTCC)" \ 34 | HOSTCFLAGS="$(HOSTCFLAGS)" \ 35 | HOSTCXX="$(HOSTCXX)" \ 36 | INSTALL_HDR_PATH=$(@D) \ 37 | headers_install; 38 | endef 39 | 40 | define LINUX_IMX_HEADERS_INSTALL_STAGING_CMDS 41 | for h in $(IMX_UAPI_HEADERS); do \ 42 | install -D -m 0644 $(@D)/include/linux/$$h \ 43 | $(STAGING_DIR)/usr/include/imx/linux/$$h; \ 44 | done; 45 | endef 46 | 47 | $(eval $(generic-package)) 48 | -------------------------------------------------------------------------------- /package/lwb5plus-sdio-sa-firmware/Config.in: -------------------------------------------------------------------------------- 1 | menuconfig BR2_PACKAGE_LWB5PLUS_SDIO_SA_FIRMWARE 2 | bool "lwb5plus-sdio-sa-firmware" 3 | help 4 | This module adds firmware files for the LWB5+ Wi-Fi/BT module. 5 | -------------------------------------------------------------------------------- /package/lwb5plus-sdio-sa-firmware/lwb5plus-sdio-sa-firmware.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # lwb5plus-sdio-sa-firmware 4 | # 5 | ################################################################################ 6 | 7 | LWB5PLUS_SDIO_SA_FIRMWARE_VERSION = 11.171.0.24 8 | LWB5PLUS_SDIO_SA_FIRMWARE_SITE = "https://github.com/LairdCP/Sterling-LWB-and-LWB5-Release-Packages/releases/download/LRD-REL-"$(LWB5PLUS_SDIO_SA_FIRMWARE_VERSION) 9 | LWB5PLUS_SDIO_SA_FIRMWARE_SOURCE = laird-lwb5plus-sdio-sa-firmware-$(LWB5PLUS_SDIO_SA_FIRMWARE_VERSION).tar.bz2 10 | LWB5PLUS_SDIO_SA_FIRMWARE_LICENSE = GPL-2.0 11 | 12 | define LWB5PLUS_SDIO_SA_FIRMWARE_INSTALL_TARGET_CMDS 13 | cp -r $(@D)/firmware/* $(TARGET_DIR)/lib/firmware/ 14 | endef 15 | 16 | $(eval $(generic-package)) 17 | -------------------------------------------------------------------------------- /package/qca-firmware/Config.in: -------------------------------------------------------------------------------- 1 | menuconfig BR2_PACKAGE_QCA_FIRMWARE 2 | bool "qca-firmware" 3 | help 4 | This modules adds firmware files for the Qualcomm-based 5 | Wi-Fi/BT modules such as the BD-SDMAC. 6 | 7 | if BR2_PACKAGE_QCA_FIRMWARE 8 | choice 9 | prompt "WiFi/BT module" 10 | 11 | config BR2_PACKAGE_QCA_FIRMWARE_QCA9377_BDSDMAC 12 | bool "qca9377-sdio (BD-SDMAC)" 13 | 14 | config BR2_PACKAGE_QCA_FIRMWARE_QCA6174_PCIE 15 | bool "qca6174-pci" 16 | endchoice 17 | endif 18 | -------------------------------------------------------------------------------- /package/qca-firmware/qca-firmware.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # qca-firmware 4 | # 5 | ################################################################################ 6 | 7 | ifeq ($(BR2_PACKAGE_QCA_FIRMWARE_QCA6174_PCIE),y) 8 | QCA_FIRMWARE_VERSION = 4b93829892f354cfeb49dc9d2db74e8c13e85d6f 9 | else 10 | QCA_FIRMWARE_VERSION = bad01caf78e922ca2c4b417f8e81a42287b429b4 11 | endif 12 | QCA_FIRMWARE_SITE = \ 13 | $(call github,boundarydevices,qca-firmware,$(QCA_FIRMWARE_VERSION)) 14 | QCA_FIRMWARE_LICENSE = BSD-3-Clause 15 | QCA_FIRMWARE_LICENSE_FILES = LICENSE.qca_firmware 16 | 17 | define QCA_FIRMWARE_INSTALL_TARGET_CMDS 18 | cd $(@D); \ 19 | $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) install 20 | endef 21 | 22 | $(eval $(generic-package)) 23 | -------------------------------------------------------------------------------- /package/qcacld-module/Config.in: -------------------------------------------------------------------------------- 1 | comment "qcacld-module needs a Linux kernel to be built" 2 | depends on !BR2_LINUX_KERNEL 3 | 4 | menuconfig BR2_PACKAGE_QCACLD_MODULE 5 | bool "qcacld-2.0 kernel module" 6 | depends on BR2_LINUX_KERNEL 7 | help 8 | This kernel module adds support for the Qualcomm-based 9 | Wi-Fi modules using qcacld-2.0 such as the BD-SDMAC. 10 | 11 | if BR2_PACKAGE_QCACLD_MODULE 12 | choice 13 | prompt "Module interface" 14 | 15 | config BR2_PACKAGE_QCACLD_MODULE_IF_SDIO 16 | bool "sdio" 17 | 18 | config BR2_PACKAGE_QCACLD_MODULE_IF_PCI 19 | bool "pci" 20 | endchoice 21 | 22 | config BR2_PACKAGE_QCACLD_MODULE_IF 23 | string 24 | default "sdio" if BR2_PACKAGE_QCACLD_MODULE_IF_SDIO 25 | default "pci" if BR2_PACKAGE_QCACLD_MODULE_IF_PCI 26 | endif 27 | -------------------------------------------------------------------------------- /package/qcacld-module/qcacld-module.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # qcacld-module 4 | # 5 | ################################################################################ 6 | 7 | QCACLD_MODULE_VERSION = e08bffcf8d8a08afb43a3e73f016bebf76b87245 8 | QCACLD_MODULE_SITE = \ 9 | $(call github,boundarydevices,qcacld-2.0,$(QCACLD_MODULE_VERSION)) 10 | QCACLD_MODULE_LICENSE = ISC, BSD-like, GPL-2.0+ 11 | QCACLD_MODULE_DEPENDENCIES = linux 12 | 13 | define QCACLD_MODULE_BUILD_CMDS 14 | cd $(@D); \ 15 | $(TARGET_MAKE_ENV) $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" \ 16 | CONFIG_ROME_IF=$(BR2_PACKAGE_QCACLD_MODULE_IF) \ 17 | ARCH=$(KERNEL_ARCH) KERNEL_SRC=$(LINUX_DIR) 18 | endef 19 | 20 | define QCACLD_MODULE_INSTALL_TARGET_CMDS 21 | cd $(@D); \ 22 | $(TARGET_MAKE_ENV) $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" \ 23 | ARCH=$(KERNEL_ARCH) KERNEL_SRC=$(LINUX_DIR) \ 24 | INSTALL_MOD_PATH=$(TARGET_DIR) modules_install 25 | endef 26 | 27 | $(eval $(generic-package)) 28 | -------------------------------------------------------------------------------- /patches/bluez5_utils/0003-Makefile.in-add-autoreconf-d-file.patch: -------------------------------------------------------------------------------- 1 | From e340ec0673652d9268082cf03be927c0d4fdc9f8 Mon Sep 17 00:00:00 2001 2 | From: Gary Bisson 3 | Date: Fri, 11 Aug 2017 18:20:52 +0200 4 | Subject: [PATCH] Makefile.in: add autoreconf'd file 5 | 6 | Since latest Buildroot doesn't have AUTORECONF for that package. 7 | 8 | Signed-off-by: Gary Bisson 9 | --- 10 | Makefile.in | 9 +++++++-- 11 | 1 file changed, 7 insertions(+), 2 deletions(-) 12 | 13 | diff --git a/Makefile.in b/Makefile.in 14 | index 819637c..cf05f6a 100644 15 | --- a/Makefile.in 16 | +++ b/Makefile.in 17 | @@ -1411,14 +1411,15 @@ tools_hci_tester_OBJECTS = $(am_tools_hci_tester_OBJECTS) 18 | am__tools_hciattach_SOURCES_DIST = tools/hciattach.c tools/hciattach.h \ 19 | tools/hciattach_st.c tools/hciattach_ti.c \ 20 | tools/hciattach_tialt.c tools/hciattach_ath3k.c \ 21 | - tools/hciattach_qualcomm.c tools/hciattach_intel.c \ 22 | - tools/hciattach_bcm43xx.c 23 | + tools/hciattach_rome.c tools/hciattach_qualcomm.c \ 24 | + tools/hciattach_intel.c tools/hciattach_bcm43xx.c 25 | @DEPRECATED_TRUE@@TOOLS_TRUE@am_tools_hciattach_OBJECTS = \ 26 | @DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach.$(OBJEXT) \ 27 | @DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_st.$(OBJEXT) \ 28 | @DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_ti.$(OBJEXT) \ 29 | @DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_tialt.$(OBJEXT) \ 30 | @DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_ath3k.$(OBJEXT) \ 31 | +@DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_rome.$(OBJEXT) \ 32 | @DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_qualcomm.$(OBJEXT) \ 33 | @DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_intel.$(OBJEXT) \ 34 | @DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_bcm43xx.$(OBJEXT) 35 | @@ -3474,6 +3475,7 @@ unit_tests = $(am__append_54) unit/test-eir unit/test-uuid \ 36 | @DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_ti.c \ 37 | @DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_tialt.c \ 38 | @DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_ath3k.c \ 39 | +@DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_rome.c \ 40 | @DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_qualcomm.c \ 41 | @DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_intel.c \ 42 | @DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_bcm43xx.c 43 | @@ -5666,6 +5668,8 @@ tools/hciattach_tialt.$(OBJEXT): tools/$(am__dirstamp) \ 44 | tools/$(DEPDIR)/$(am__dirstamp) 45 | tools/hciattach_ath3k.$(OBJEXT): tools/$(am__dirstamp) \ 46 | tools/$(DEPDIR)/$(am__dirstamp) 47 | +tools/hciattach_rome.$(OBJEXT): tools/$(am__dirstamp) \ 48 | + tools/$(DEPDIR)/$(am__dirstamp) 49 | tools/hciattach_qualcomm.$(OBJEXT): tools/$(am__dirstamp) \ 50 | tools/$(DEPDIR)/$(am__dirstamp) 51 | tools/hciattach_intel.$(OBJEXT): tools/$(am__dirstamp) \ 52 | @@ -6678,6 +6682,7 @@ distclean-compile: 53 | @AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hciattach_bcm43xx.Po@am__quote@ # am--include-marker 54 | @AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hciattach_intel.Po@am__quote@ # am--include-marker 55 | @AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hciattach_qualcomm.Po@am__quote@ # am--include-marker 56 | +@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hciattach_rome.Po@am__quote@ # am--include-marker 57 | @AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hciattach_st.Po@am__quote@ # am--include-marker 58 | @AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hciattach_ti.Po@am__quote@ # am--include-marker 59 | @AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hciattach_tialt.Po@am__quote@ # am--include-marker 60 | -- 61 | 2.27.0 62 | 63 | -------------------------------------------------------------------------------- /patches/gst1-imx/0001-blitter.c-fix-data-types.patch: -------------------------------------------------------------------------------- 1 | From 84fc36fa4559530e017fa7ef41daf0a9e7573840 Mon Sep 17 00:00:00 2001 2 | From: Chris Dimich 3 | Date: Tue, 15 Jun 2021 16:29:56 -0700 4 | Subject: [PATCH 1/1] blitter.c: fix data types 5 | MIME-Version: 1.0 6 | Content-Type: text/plain; charset=UTF-8 7 | Content-Transfer-Encoding: 8bit 8 | 9 | Fixes issue error: unknown type name ‘u32’and error: unknown type name 10 | ‘u8’. 11 | 12 | Signed-off-by: Chris Dimich 13 | --- 14 | src/ipu/blitter.c | 6 +++--- 15 | 1 file changed, 3 insertions(+), 3 deletions(-) 16 | 17 | diff --git a/src/ipu/blitter.c b/src/ipu/blitter.c 18 | index 5446f57..300b58c 100644 19 | --- a/src/ipu/blitter.c 20 | +++ b/src/ipu/blitter.c 21 | @@ -65,7 +65,7 @@ static gboolean gst_imx_ipu_blitter_blit(GstImxBlitter *blitter, guint8 alpha); 22 | 23 | static void gst_imx_ipu_blitter_set_task_params(GstImxIpuBlitter *ipu_blitter, GstBuffer *video_frame, struct ipu_task *task, GstVideoInfo const *info, gboolean is_input); 24 | static gboolean gst_imx_ipu_blitter_allocate_internal_fill_frame(GstImxIpuBlitter *ipu_blitter); 25 | -static void gst_imx_ipu_blitter_print_ipu_fourcc(u32 format, char buf[5]); 26 | +static void gst_imx_ipu_blitter_print_ipu_fourcc(__u32 format, char buf[5]); 27 | static guint32 gst_imx_ipu_blitter_get_v4l_format(GstVideoFormat format); 28 | static int gst_imx_ipu_video_bpp(GstVideoFormat fmt); 29 | static void gst_imx_ipu_blitter_set_output_rotation(GstImxIpuBlitter *ipu_blitter, GstImxCanvasInnerRotation rotation); 30 | @@ -564,12 +564,12 @@ static gboolean gst_imx_ipu_blitter_allocate_internal_fill_frame(GstImxIpuBlitte 31 | } 32 | 33 | 34 | -static void gst_imx_ipu_blitter_print_ipu_fourcc(u32 format, char buf[5]) 35 | +static void gst_imx_ipu_blitter_print_ipu_fourcc(__u32 format, char buf[5]) 36 | { 37 | int i; 38 | for (i = 0; i < 4; ++i) 39 | { 40 | - u8 b = format >> (i * 8) & 0xff; 41 | + __u8 b = format >> (i * 8) & 0xff; 42 | buf[i] = (b < 32) ? '.' : ((char)b); 43 | } 44 | buf[4] = 0; 45 | -- 46 | 2.31.1 47 | 48 | -------------------------------------------------------------------------------- /patches/gst1-plugins-bad/0001-MMFMWK-7954-waylandsink-change-to-using-GCond-to-avo.patch: -------------------------------------------------------------------------------- 1 | From 09f2477706e47d022fc3c6adcdf79b1eb6634df9 Mon Sep 17 00:00:00 2001 2 | From: Haihua Hu 3 | Date: Thu, 29 Mar 2018 11:18:56 +0800 4 | Subject: [PATCH] MMFMWK-7954 waylandsink: change to using GCond to avoid 5 | dropping video buffer 6 | 7 | upstream status: imx specific 8 | https://bugzilla.gnome.org/show_bug.cgi?id=794793 9 | 10 | Conflicts: 11 | ext/wayland/gstwaylandsink.c 12 | (cherry picked from commit a70b222d23a7b74ef92919d931d0bf0df26c3c0e) 13 | --- 14 | ext/wayland/gstwaylandsink.c | 11 +++++------ 15 | ext/wayland/gstwaylandsink.h | 1 + 16 | 2 files changed, 6 insertions(+), 6 deletions(-) 17 | 18 | diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c 19 | index 2f116bf5a..878ddc396 100644 20 | --- a/ext/wayland/gstwaylandsink.c 21 | +++ b/ext/wayland/gstwaylandsink.c 22 | @@ -193,6 +193,7 @@ gst_wayland_sink_init (GstWaylandSink * self) 23 | { 24 | g_mutex_init (&self->display_lock); 25 | g_mutex_init (&self->render_lock); 26 | + g_cond_init (&self->redraw_wait); 27 | } 28 | 29 | static void 30 | @@ -319,6 +320,7 @@ gst_wayland_sink_finalize (GObject * object) 31 | 32 | g_mutex_clear (&self->display_lock); 33 | g_mutex_clear (&self->render_lock); 34 | + g_cond_clear (&self->redraw_wait); 35 | 36 | G_OBJECT_CLASS (parent_class)->finalize (object); 37 | } 38 | @@ -687,6 +689,7 @@ frame_redraw_callback (void *data, struct wl_callback *callback, uint32_t time) 39 | 40 | g_mutex_lock (&self->render_lock); 41 | self->redraw_pending = FALSE; 42 | + g_cond_signal (&self->redraw_wait); 43 | 44 | if (self->callback) { 45 | wl_callback_destroy (callback); 46 | @@ -769,12 +772,8 @@ gst_wayland_sink_show_frame (GstVideoSink * vsink, GstBuffer * buffer) 47 | } 48 | } 49 | 50 | - /* drop buffers until we get a frame callback */ 51 | - if (self->redraw_pending) { 52 | - GST_LOG_OBJECT (self, "buffer %" GST_PTR_FORMAT " dropped (redraw pending)", 53 | - buffer); 54 | - goto done; 55 | - } 56 | + while (self->redraw_pending) 57 | + g_cond_wait (&self->redraw_wait, &self->render_lock); 58 | 59 | /* make sure that the application has called set_render_rectangle() */ 60 | if (G_UNLIKELY (gst_wl_window_get_render_rectangle (self->window)->w == 0)) 61 | diff --git a/ext/wayland/gstwaylandsink.h b/ext/wayland/gstwaylandsink.h 62 | index 3243d8cd8..4847219f6 100644 63 | --- a/ext/wayland/gstwaylandsink.h 64 | +++ b/ext/wayland/gstwaylandsink.h 65 | @@ -60,6 +60,7 @@ struct _GstWaylandSink 66 | gchar *display_name; 67 | 68 | gboolean redraw_pending; 69 | + GCond redraw_wait; 70 | GMutex render_lock; 71 | GstBuffer *last_buffer; 72 | 73 | -------------------------------------------------------------------------------- /patches/gst1-plugins-bad/0002-MMFMWK-7954-waylandsink-add-fps-print.patch: -------------------------------------------------------------------------------- 1 | From 5ee98d94f5aa1277b69ab9f0c95b857296075b32 Mon Sep 17 00:00:00 2001 2 | From: Haihua Hu 3 | Date: Thu, 29 Mar 2018 11:38:48 +0800 4 | Subject: [PATCH] MMFMWK-7954 waylandsink: add fps print 5 | 6 | upstream status: imx specific 7 | 8 | Conflicts: 9 | ext/wayland/gstwaylandsink.c 10 | (cherry picked from commit 95bfb3672b4bce461cff5b82a20722cfd395c8a6) 11 | --- 12 | ext/wayland/gstwaylandsink.c | 14 ++++++++++++++ 13 | ext/wayland/gstwaylandsink.h | 4 ++++ 14 | 2 files changed, 18 insertions(+) 15 | 16 | diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c 17 | index 878ddc396..8780d3ecf 100644 18 | --- a/ext/wayland/gstwaylandsink.c 19 | +++ b/ext/wayland/gstwaylandsink.c 20 | @@ -194,6 +194,8 @@ gst_wayland_sink_init (GstWaylandSink * self) 21 | g_mutex_init (&self->display_lock); 22 | g_mutex_init (&self->render_lock); 23 | g_cond_init (&self->redraw_wait); 24 | + self->frame_showed = 0; 25 | + self->run_time = 0; 26 | } 27 | 28 | static void 29 | @@ -417,6 +419,9 @@ gst_wayland_sink_change_state (GstElement * element, GstStateChange transition) 30 | return ret; 31 | 32 | switch (transition) { 33 | + case GST_STATE_CHANGE_PLAYING_TO_PAUSED: 34 | + self->run_time = gst_element_get_start_time (element); 35 | + break; 36 | case GST_STATE_CHANGE_PAUSED_TO_READY: 37 | gst_buffer_replace (&self->last_buffer, NULL); 38 | if (self->window) { 39 | @@ -453,6 +458,14 @@ gst_wayland_sink_change_state (GstElement * element, GstStateChange transition) 40 | 41 | g_mutex_unlock (&self->display_lock); 42 | g_clear_object (&self->pool); 43 | + 44 | + if (self->run_time > 0) { 45 | + g_print ("Total showed frames (%lld), playing for (%"GST_TIME_FORMAT"), fps (%.3f).\n", 46 | + self->frame_showed, GST_TIME_ARGS (self->run_time), 47 | + (gfloat)GST_SECOND * self->frame_showed / self->run_time); 48 | + } 49 | + self->frame_showed = 0; 50 | + self->run_time = 0; 51 | break; 52 | default: 53 | break; 54 | @@ -968,6 +981,7 @@ gst_wayland_sink_show_frame (GstVideoSink * vsink, GstBuffer * buffer) 55 | } 56 | done: 57 | { 58 | + self->frame_showed++; 59 | g_mutex_unlock (&self->render_lock); 60 | return ret; 61 | } 62 | diff --git a/ext/wayland/gstwaylandsink.h b/ext/wayland/gstwaylandsink.h 63 | index 4847219f6..d10293537 100644 64 | --- a/ext/wayland/gstwaylandsink.h 65 | +++ b/ext/wayland/gstwaylandsink.h 66 | @@ -69,6 +69,10 @@ struct _GstWaylandSink 67 | GstVideoOrientationMethod current_rotate_method; 68 | 69 | struct wl_callback *callback; 70 | + 71 | + /* fps print support */ 72 | + guint64 frame_showed; 73 | + GstClockTime run_time; 74 | }; 75 | 76 | struct _GstWaylandSinkClass 77 | -------------------------------------------------------------------------------- /patches/gst1-plugins-bad/0003-MMFMWK-7954-waylandsink-pass-dmabuf-modifier-to-west.patch: -------------------------------------------------------------------------------- 1 | From 72059ebc0cca22e112fa07d69a453bc7e64f120e Mon Sep 17 00:00:00 2001 2 | From: Haihua Hu 3 | Date: Mon, 23 Apr 2018 12:38:38 +0800 4 | Subject: [PATCH] MMFMWK-7954 waylandsink: pass dmabuf modifier to weston 5 | 6 | upstream status: imx specific 7 | 8 | (cherry picked from commit 78d9555078c83b1b09bc603b9bbd05c9313d2611) 9 | 10 | Conflicts: 11 | gst-libs/gst/wayland/gstwllinuxdmabuf.c 12 | --- 13 | ext/wayland/gstwaylandsink.c | 8 ++++++++ 14 | gst-libs/gst/wayland/gstwllinuxdmabuf.c | 10 +++++++++- 15 | 2 files changed, 17 insertions(+), 1 deletion(-) 16 | 17 | diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c 18 | index 8780d3ecf..a600695c0 100644 19 | --- a/ext/wayland/gstwaylandsink.c 20 | +++ b/ext/wayland/gstwaylandsink.c 21 | @@ -47,6 +47,10 @@ 22 | 23 | #include 24 | 25 | +#include 26 | +#include 27 | +#include 28 | + 29 | /* signals */ 30 | enum 31 | { 32 | @@ -675,9 +679,13 @@ gst_wayland_sink_propose_allocation (GstBaseSink * bsink, GstQuery * query) 33 | GstBufferPool *pool = NULL; 34 | gboolean need_pool; 35 | GstAllocator *alloc; 36 | + guint64 drm_modifier; 37 | 38 | gst_query_parse_allocation (query, &caps, &need_pool); 39 | 40 | + drm_modifier = DRM_FORMAT_MOD_AMPHION_TILED; 41 | + gst_query_add_allocation_dmabuf_meta (query, drm_modifier); 42 | + 43 | if (need_pool) 44 | pool = gst_wayland_create_pool (self, caps); 45 | 46 | diff --git a/gst-libs/gst/wayland/gstwllinuxdmabuf.c b/gst-libs/gst/wayland/gstwllinuxdmabuf.c 47 | index d6ee6ec37..4978f4596 100644 48 | --- a/gst-libs/gst/wayland/gstwllinuxdmabuf.c 49 | +++ b/gst-libs/gst/wayland/gstwllinuxdmabuf.c 50 | @@ -24,6 +24,8 @@ 51 | #include 52 | #endif 53 | 54 | +#include 55 | + 56 | #include "gstwllinuxdmabuf.h" 57 | 58 | #include "linux-dmabuf-unstable-v1-client-protocol.h" 59 | @@ -92,6 +94,8 @@ gst_wl_linux_dmabuf_construct_wl_buffer (GstBuffer * buf, 60 | struct zwp_linux_buffer_params_v1 *params; 61 | gint64 timeout; 62 | ConstructBufferData data; 63 | + GstDmabufMeta *dmabuf_meta; 64 | + gint64 drm_modifier = 0; 65 | 66 | g_return_val_if_fail (gst_wl_display_check_format_for_dmabuf (display, 67 | GST_VIDEO_INFO_FORMAT (info)), NULL); 68 | @@ -107,6 +111,10 @@ gst_wl_linux_dmabuf_construct_wl_buffer (GstBuffer * buf, 69 | height = GST_VIDEO_INFO_HEIGHT (info); 70 | nplanes = GST_VIDEO_INFO_N_PLANES (info); 71 | 72 | + dmabuf_meta = gst_buffer_get_dmabuf_meta (buf); 73 | + if (dmabuf_meta) 74 | + drm_modifier = dmabuf_meta->drm_modifier; 75 | + 76 | GST_DEBUG_OBJECT (display, "Creating wl_buffer from DMABuf of size %" 77 | G_GSSIZE_FORMAT " (%d x %d), format %s", info->size, width, height, 78 | gst_wl_dmabuf_format_to_string (format)); 79 | @@ -125,7 +133,7 @@ gst_wl_linux_dmabuf_construct_wl_buffer (GstBuffer * buf, 80 | GstMemory *m = gst_buffer_peek_memory (buf, mem_idx); 81 | gint fd = gst_dmabuf_memory_get_fd (m); 82 | zwp_linux_buffer_params_v1_add (params, fd, i, m->offset + skip, 83 | - stride, 0, 0); 84 | + stride, drm_modifier >> 32, drm_modifier & 0xffffffff); 85 | } else { 86 | GST_ERROR_OBJECT (mem->allocator, "memory does not seem to contain " 87 | "enough data for the specified format"); 88 | -------------------------------------------------------------------------------- /patches/gst1-plugins-bad/0004-MMFMWK-8030-waylandsink-support-video-crop-meta-usin.patch: -------------------------------------------------------------------------------- 1 | From e375614dc28645e7565335e4bac06fbc1ffb4f5f Mon Sep 17 00:00:00 2001 2 | From: Haihua Hu 3 | Date: Fri, 8 Jun 2018 16:52:44 +0800 4 | Subject: [PATCH] MMFMWK-8030 waylandsink: support video crop meta using 5 | viewporter protocol 6 | 7 | use API wp_viewport_set_source() to support video crop meta handle 8 | 9 | upstream status: Pending 10 | https://bugzilla.gnome.org/show_bug.cgi?id=796541 11 | 12 | (cherry picked from commit 90ad8baff535d8c94f272f8d912c0802d5e5822b) 13 | 14 | Conflicts: 15 | ext/wayland/wlwindow.c 16 | ext/wayland/wlwindow.h 17 | --- 18 | ext/wayland/gstwaylandsink.c | 3 +++ 19 | gst-libs/gst/wayland/gstwlwindow.c | 34 ++++++++++++++++++++++++++++++ 20 | gst-libs/gst/wayland/gstwlwindow.h | 3 +++ 21 | 3 files changed, 40 insertions(+) 22 | 23 | diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c 24 | index a600695c0..61e45b4af 100644 25 | --- a/ext/wayland/gstwaylandsink.c 26 | +++ b/ext/wayland/gstwaylandsink.c 27 | @@ -696,6 +696,7 @@ gst_wayland_sink_propose_allocation (GstBaseSink * bsink, GstQuery * query) 28 | alloc = gst_wl_shm_allocator_get (); 29 | gst_query_add_allocation_param (query, alloc, NULL); 30 | gst_query_add_allocation_meta (query, GST_VIDEO_META_API_TYPE, NULL); 31 | + gst_query_add_allocation_meta (query, GST_VIDEO_CROP_META_API_TYPE, NULL); 32 | g_object_unref (alloc); 33 | 34 | return TRUE; 35 | @@ -800,6 +801,8 @@ gst_wayland_sink_show_frame (GstVideoSink * vsink, GstBuffer * buffer) 36 | if (G_UNLIKELY (gst_wl_window_get_render_rectangle (self->window)->w == 0)) 37 | goto no_window_size; 38 | 39 | + gst_wl_window_set_source_crop (self->window, buffer); 40 | + 41 | wlbuffer = gst_buffer_get_wl_buffer (self->display, buffer); 42 | 43 | if (G_LIKELY (wlbuffer && 44 | diff --git a/gst-libs/gst/wayland/gstwlwindow.c b/gst-libs/gst/wayland/gstwlwindow.c 45 | index 4aa53c369..f31003938 100644 46 | --- a/gst-libs/gst/wayland/gstwlwindow.c 47 | +++ b/gst-libs/gst/wayland/gstwlwindow.c 48 | @@ -68,6 +68,9 @@ typedef struct _GstWlWindowPrivate 49 | /* when this is not set both the area_surface and the video_surface are not 50 | * visible and certain steps should be skipped */ 51 | gboolean is_area_surface_mapped; 52 | + 53 | + /* the coordinate of video crop */ 54 | + gint src_x, src_y, src_width, src_height; 55 | } GstWlWindowPrivate; 56 | 57 | G_DEFINE_TYPE_WITH_CODE (GstWlWindow, gst_wl_window, G_TYPE_OBJECT, 58 | @@ -165,6 +168,10 @@ gst_wl_window_init (GstWlWindow * self) 59 | priv->configured = TRUE; 60 | g_cond_init (&priv->configure_cond); 61 | g_mutex_init (&priv->configure_mutex); 62 | + priv->src_x = 0; 63 | + priv->src_y = 0; 64 | + priv->src_width = -1; 65 | + priv->src_height = 0; 66 | } 67 | 68 | static void 69 | @@ -422,6 +429,11 @@ gst_wl_window_resize_video_surface (GstWlWindow * self, gboolean commit) 70 | GstVideoRectangle dst = { 0, }; 71 | GstVideoRectangle res; 72 | 73 | + wl_fixed_t src_x = wl_fixed_from_int (priv->src_x); 74 | + wl_fixed_t src_y = wl_fixed_from_int (priv->src_y); 75 | + wl_fixed_t src_width = wl_fixed_from_int (priv->src_width); 76 | + wl_fixed_t src_height = wl_fixed_from_int (priv->src_height); 77 | + 78 | switch (priv->buffer_transform) { 79 | case WL_OUTPUT_TRANSFORM_NORMAL: 80 | case WL_OUTPUT_TRANSFORM_180: 81 | @@ -446,6 +458,9 @@ gst_wl_window_resize_video_surface (GstWlWindow * self, gboolean commit) 82 | if (priv->video_viewport) { 83 | gst_video_center_rect (&src, &dst, &res, TRUE); 84 | wp_viewport_set_destination (priv->video_viewport, res.w, res.h); 85 | + if (src_width != wl_fixed_from_int(-1)) 86 | + wp_viewport_set_source (priv->video_viewport, 87 | + src_x, src_y, src_width, src_height); 88 | } else { 89 | gst_video_center_rect (&src, &dst, &res, FALSE); 90 | } 91 | @@ -632,6 +647,25 @@ gst_wl_window_set_render_rectangle (GstWlWindow * self, gint x, gint y, 92 | gst_wl_window_update_geometry (self); 93 | } 94 | 95 | +void 96 | +gst_wl_window_set_source_crop (GstWlWindow * self, GstBuffer * buffer) 97 | +{ 98 | + GstWlWindowPrivate *priv = gst_wl_window_get_instance_private (self); 99 | + GstVideoCropMeta *crop = NULL; 100 | + crop = gst_buffer_get_video_crop_meta(buffer); 101 | + 102 | + if (crop) { 103 | + GST_DEBUG ("buffer crop x=%d y=%d width=%d height=%d\n", 104 | + crop->x, crop->y, crop->width, crop->height); 105 | + priv->src_x = crop->x; 106 | + priv->src_y = crop->y; 107 | + priv->src_width = crop->width; 108 | + priv->src_height = crop->height; 109 | + } else { 110 | + priv->src_width = -1; 111 | + } 112 | +} 113 | + 114 | const GstVideoRectangle * 115 | gst_wl_window_get_render_rectangle (GstWlWindow * self) 116 | { 117 | diff --git a/gst-libs/gst/wayland/gstwlwindow.h b/gst-libs/gst/wayland/gstwlwindow.h 118 | index 06c40014f..b05fbe1af 100644 119 | --- a/gst-libs/gst/wayland/gstwlwindow.h 120 | +++ b/gst-libs/gst/wayland/gstwlwindow.h 121 | @@ -65,6 +65,9 @@ GST_WL_API 122 | void gst_wl_window_set_render_rectangle (GstWlWindow * self, gint x, gint y, 123 | gint w, gint h); 124 | 125 | +GST_WL_API 126 | +void gst_wl_window_set_source_crop (GstWlWindow * self, GstBuffer * buffer); 127 | + 128 | GST_WL_API 129 | const GstVideoRectangle *gst_wl_window_get_render_rectangle (GstWlWindow * self); 130 | 131 | -------------------------------------------------------------------------------- /patches/gst1-plugins-bad/0007-MMFMWK-7954-waylandsink-default-to-play-video-fullsc.patch: -------------------------------------------------------------------------------- 1 | From 0e14f23a55d50c58f58342f56a241b696572533a Mon Sep 17 00:00:00 2001 2 | From: Haihua Hu 3 | Date: Wed, 23 Sep 2020 19:39:54 +0800 4 | Subject: [PATCH] MMFMWK-7954 waylandsink: default to play video fullscreen 5 | 6 | upstream status: imx specific 7 | 8 | (cherry picked from commit cc2291f7448867110b86bec67050c3660f4a9efa) 9 | 10 | Conflicts: 11 | ext/wayland/wlwindow.c 12 | ext/wayland/wlwindow.h 13 | --- 14 | gst-libs/gst/wayland/gstwlutils.c | 18 +++++--- 15 | gst-libs/gst/wayland/gstwlutils.h | 5 ++- 16 | gst-libs/gst/wayland/gstwlwindow.c | 71 +++++++++++++++++++++++++++--- 17 | gst-libs/gst/wayland/gstwlwindow.h | 12 +++++ 18 | 4 files changed, 93 insertions(+), 13 deletions(-) 19 | 20 | diff --git a/gst-libs/gst/wayland/gstwlutils.c b/gst-libs/gst/wayland/gstwlutils.c 21 | index 7c556a8a8a..8ac2da7a0f 100644 22 | --- a/gst-libs/gst/wayland/gstwlutils.c 23 | +++ b/gst-libs/gst/wayland/gstwlutils.c 24 | @@ -37,14 +37,17 @@ 25 | 26 | #define WESTON_INI "/etc/xdg/weston/weston.ini" 27 | 28 | +/* FIXME: try to get from wayland server */ 29 | +#define PANEL_HEIGH 32 30 | + 31 | gboolean 32 | -gst_wl_init_buffer_scale (gint display_width, gint display_height, 33 | - guint * scale) 34 | +gst_wl_init_surface_state (GstWlDisplay * display, GstWlWindow * self) 35 | { 36 | gchar path[] = WESTON_INI; 37 | gchar line[512], *p, *section = NULL, *size = NULL; 38 | gint fd, n, i; 39 | gint desktop_width, desktop_height; 40 | + gint display_width, display_height; 41 | gboolean found_config = FALSE; 42 | gboolean ret = TRUE; 43 | struct stat filestat; 44 | @@ -124,11 +127,16 @@ gst_wl_init_buffer_scale (gint display_width, gint display_height, 45 | } 46 | 47 | /* FIXME: only support buffer scale 2 and 1 */ 48 | + display_width = gst_wl_display_get_width (display); 49 | + display_height = gst_wl_display_get_height (display); 50 | if (display_width > 0 && display_height > 0) { 51 | - *scale = display_width / desktop_width; 52 | - if (*scale != 1 && *scale != 2) { 53 | - *scale = 1; 54 | + gst_wl_window_set_scale (self, display_width / desktop_width); 55 | + if (gst_wl_window_get_scale (self) != 1 && gst_wl_window_get_scale (self) != 2) { 56 | + ret = FALSE; 57 | + goto out; 58 | } 59 | + gst_wl_window_set_fullscreen_width (self, desktop_width); 60 | + gst_wl_window_set_fullscreen_height (self, desktop_height - PANEL_HEIGH); 61 | } else { 62 | ret = FALSE; 63 | goto out; 64 | diff --git a/gst-libs/gst/wayland/gstwlutils.h b/gst-libs/gst/wayland/gstwlutils.h 65 | index 285dcaeca2..f9c2d60838 100644 66 | --- a/gst-libs/gst/wayland/gstwlutils.h 67 | +++ b/gst-libs/gst/wayland/gstwlutils.h 68 | @@ -23,9 +23,12 @@ 69 | 70 | #include 71 | 72 | +#include "gstwlwindow.h" 73 | +#include "gstwldisplay.h" 74 | + 75 | G_BEGIN_DECLS 76 | 77 | -gboolean gst_wl_init_buffer_scale(gint display_width, gint display_height, guint * scale); 78 | +gboolean gst_wl_init_surface_state(GstWlDisplay * display, GstWlWindow * self); 79 | G_END_DECLS 80 | 81 | #endif 82 | \ No newline at end of file 83 | diff --git a/gst-libs/gst/wayland/gstwlwindow.c b/gst-libs/gst/wayland/gstwlwindow.c 84 | index 7fda643ff6..58270d3a02 100644 85 | --- a/gst-libs/gst/wayland/gstwlwindow.c 86 | +++ b/gst-libs/gst/wayland/gstwlwindow.c 87 | @@ -80,6 +80,9 @@ typedef struct _GstWlWindowPrivate 88 | 89 | /* video buffer scale */ 90 | guint scale; 91 | + 92 | + /* fullscreen window size */ 93 | + gint fullscreen_width, fullscreen_height; 94 | } GstWlWindowPrivate; 95 | 96 | G_DEFINE_TYPE_WITH_CODE (GstWlWindow, gst_wl_window, G_TYPE_OBJECT, 97 | @@ -182,6 +185,8 @@ gst_wl_window_init (GstWlWindow * self) 98 | priv->src_width = -1; 99 | priv->src_height = 0; 100 | priv->scale = 1; 101 | + priv->fullscreen_width = -1; 102 | + priv->fullscreen_height = -1; 103 | } 104 | 105 | static void 106 | @@ -278,8 +283,14 @@ gst_wl_window_new_internal (GstWlDisplay * display, GMutex * render_lock) 107 | 108 | width = gst_wl_display_get_width (display); 109 | height = gst_wl_display_get_height (display); 110 | - if (!gst_wl_init_buffer_scale (width, height, &priv->scale)) { 111 | - GST_WARNING ("init buffer scale fail, fallback to scale=%d", priv->scale); 112 | + 113 | + if (!gst_wl_init_surface_state (display, self)) { 114 | + priv->fullscreen_width = width; 115 | + priv->fullscreen_height = height; 116 | + priv->scale = 1; 117 | + GST_WARNING 118 | + ("init surface_state fail, fallback to scale=%d fullscreen (%dx%d)", 119 | + priv->scale, priv->fullscreen_width, priv->fullscreen_height); 120 | } 121 | 122 | return self; 123 | @@ -364,11 +375,19 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info, 124 | /* render_rectangle is already set via toplevel_configure in 125 | * xdg_shell fullscreen mode */ 126 | if (!(xdg_wm_base && fullscreen)) { 127 | - /* set the initial size to be the same as the reported video size */ 128 | - gint width = 129 | - gst_util_uint64_scale_int_round (info->width, info->par_n, info->par_d); 130 | - gst_wl_window_set_render_rectangle (self, 0, 0, width / priv->scale, 131 | - info->height / priv->scale); 132 | + gint width, height; 133 | + if (priv->fullscreen_width <= 0) { 134 | + /* set the initial size to be the same as the reported video size */ 135 | + width = 136 | + gst_util_uint64_scale_int_round (info->width, info->par_n, 137 | + info->par_d); 138 | + height = info->height; 139 | + } else { 140 | + width = priv->fullscreen_width; 141 | + height = priv->fullscreen_height; 142 | + } 143 | + 144 | + gst_wl_window_set_render_rectangle (self, 0, 0, width, height); 145 | } 146 | 147 | return self; 148 | @@ -791,3 +810,41 @@ gst_wl_window_set_rotate_method (GstWlWindow * self, 149 | 150 | gst_wl_window_update_geometry (self); 151 | } 152 | + 153 | +void 154 | +gst_wl_window_set_scale (GstWlWindow * self, gint scale) 155 | +{ 156 | + GstWlWindowPrivate *priv = gst_wl_window_get_instance_private (self); 157 | + 158 | + priv->scale = scale; 159 | + 160 | + gst_wl_window_update_geometry (self); 161 | +} 162 | + 163 | +guint 164 | +gst_wl_window_get_scale (GstWlWindow * self) 165 | +{ 166 | + GstWlWindowPrivate *priv = gst_wl_window_get_instance_private (self); 167 | + 168 | + return priv->scale; 169 | +} 170 | + 171 | +void 172 | +gst_wl_window_set_fullscreen_width (GstWlWindow * self, gint fullscreen_width) 173 | +{ 174 | + GstWlWindowPrivate *priv = gst_wl_window_get_instance_private (self); 175 | + 176 | + priv->fullscreen_width = fullscreen_width; 177 | + 178 | + gst_wl_window_update_geometry (self); 179 | +} 180 | + 181 | +void 182 | +gst_wl_window_set_fullscreen_height (GstWlWindow * self, gint fullscreen_height) 183 | +{ 184 | + GstWlWindowPrivate *priv = gst_wl_window_get_instance_private (self); 185 | + 186 | + priv->fullscreen_height = fullscreen_height; 187 | + 188 | + gst_wl_window_update_geometry (self); 189 | +} 190 | diff --git a/gst-libs/gst/wayland/gstwlwindow.h b/gst-libs/gst/wayland/gstwlwindow.h 191 | index f2c5ebcf03..967bba3670 100644 192 | --- a/gst-libs/gst/wayland/gstwlwindow.h 193 | +++ b/gst-libs/gst/wayland/gstwlwindow.h 194 | @@ -87,4 +87,16 @@ GST_WL_API 195 | void gst_wl_window_set_rotate_method (GstWlWindow *self, 196 | GstVideoOrientationMethod rotate_method); 197 | 198 | +GST_WL_API 199 | +void gst_wl_window_set_scale (GstWlWindow * self, gint scale); 200 | + 201 | +GST_WL_API 202 | +guint gst_wl_window_get_scale (GstWlWindow * self); 203 | + 204 | +GST_WL_API 205 | +void gst_wl_window_set_fullscreen_width (GstWlWindow * self, gint fullscreen_width); 206 | + 207 | +GST_WL_API 208 | +void gst_wl_window_set_fullscreen_height (GstWlWindow * self, gint fullscreen_height); 209 | + 210 | G_END_DECLS 211 | -------------------------------------------------------------------------------- /patches/gst1-plugins-bad/0008-MMFMWK-7954-waylandsink-add-property-to-set-window-r.patch: -------------------------------------------------------------------------------- 1 | From 708c4524209c991e6c7403f7e6b46ddb240a18c2 Mon Sep 17 00:00:00 2001 2 | From: Haihua Hu 3 | Date: Wed, 23 Sep 2020 20:30:30 +0800 4 | Subject: [PATCH] MMFMWK-7954 waylandsink: add property to set window 5 | resolution 6 | 7 | add two property for user to set window resolution when 8 | using waylandsink in cmdline 9 | 10 | upstream status: Pending 11 | https://bugzilla.gnome.org/show_bug.cgi?id=796932 12 | 13 | (cherry picked from commit b86fce8720bc84dffc5bcaded7fc2d600f47a9b4) 14 | 15 | Conflicts: 16 | ext/wayland/gstwaylandsink.c 17 | ext/wayland/wldisplay.c 18 | ext/wayland/wldisplay.h 19 | ext/wayland/wlwindow.c 20 | gst-libs/gst/wayland/gstwlutils.h 21 | --- 22 | ext/wayland/gstwaylandsink.c | 30 +++++++++++++++++++++++ 23 | ext/wayland/gstwaylandsink.h | 3 +++ 24 | gst-libs/gst/wayland/gstwldisplay.c | 38 +++++++++++++++++++++++++++++ 25 | gst-libs/gst/wayland/gstwldisplay.h | 12 +++++++++ 26 | gst-libs/gst/wayland/gstwlutils.c | 3 --- 27 | gst-libs/gst/wayland/gstwlutils.h | 3 +++ 28 | gst-libs/gst/wayland/gstwlwindow.c | 9 +++++-- 29 | 7 files changed, 93 insertions(+), 5 deletions(-) 30 | 31 | diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c 32 | index 7f710c0cd..5016987b7 100644 33 | --- a/ext/wayland/gstwaylandsink.c 34 | +++ b/ext/wayland/gstwaylandsink.c 35 | @@ -62,6 +62,8 @@ enum 36 | enum 37 | { 38 | PROP_0, 39 | + PROP_WINDOW_WIDTH, 40 | + PROP_WINDOW_HEIGHT, 41 | PROP_DISPLAY, 42 | PROP_FULLSCREEN, 43 | PROP_ALPHA, 44 | @@ -160,6 +162,16 @@ gst_wayland_sink_class_init (GstWaylandSinkClass * klass) 45 | gstvideosink_class->show_frame = 46 | GST_DEBUG_FUNCPTR (gst_wayland_sink_show_frame); 47 | 48 | + g_object_class_install_property (gobject_class, PROP_WINDOW_WIDTH, 49 | + g_param_spec_int ("window-width", "Wayland sink window width", "Wayland " 50 | + "sink preferred window width in pixel", 51 | + -1, G_MAXINT, -1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); 52 | + 53 | + g_object_class_install_property (gobject_class, PROP_WINDOW_HEIGHT, 54 | + g_param_spec_int ("window-height", "Wayland sink window height", 55 | + "Wayland " "sink preferred window height in pixel", -1, G_MAXINT, -1, 56 | + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); 57 | + 58 | g_object_class_install_property (gobject_class, PROP_DISPLAY, 59 | g_param_spec_string ("display", "Wayland Display name", "Wayland " 60 | "display name to connect to, if not supplied via the GstContext", 61 | @@ -202,6 +214,8 @@ static void 62 | gst_wayland_sink_init (GstWaylandSink * self) 63 | { 64 | self->alpha = 0.0f; 65 | + self->preferred_width = -1; 66 | + self->preferred_height = -1; 67 | g_mutex_init (&self->display_lock); 68 | g_mutex_init (&self->render_lock); 69 | g_cond_init (&self->redraw_wait); 70 | @@ -274,6 +288,13 @@ gst_wayland_sink_get_property (GObject * object, 71 | GST_OBJECT_LOCK (self); 72 | g_value_set_boolean (value, self->fullscreen); 73 | GST_OBJECT_UNLOCK (self); 74 | + break; 75 | + case PROP_WINDOW_WIDTH: 76 | + g_value_set_int (value, self->preferred_width); 77 | + break; 78 | + case PROP_WINDOW_HEIGHT: 79 | + g_value_set_int (value, self->preferred_height); 80 | + break; 81 | case PROP_ALPHA: 82 | g_value_set_float (value, self->alpha); 83 | break; 84 | @@ -304,6 +325,13 @@ gst_wayland_sink_set_property (GObject * object, 85 | GST_OBJECT_LOCK (self); 86 | gst_wayland_sink_set_fullscreen (self, g_value_get_boolean (value)); 87 | GST_OBJECT_UNLOCK (self); 88 | + break; 89 | + case PROP_WINDOW_WIDTH: 90 | + self->preferred_width = g_value_get_int (value); 91 | + break; 92 | + case PROP_WINDOW_HEIGHT: 93 | + self->preferred_height = g_value_get_int (value); 94 | + break; 95 | case PROP_ALPHA: 96 | self->alpha = g_value_get_float (value); 97 | break; 98 | @@ -427,6 +455,8 @@ gst_wayland_sink_change_state (GstElement * element, GstStateChange transition) 99 | case GST_STATE_CHANGE_NULL_TO_READY: 100 | if (!gst_wayland_sink_find_display (self)) 101 | return GST_STATE_CHANGE_FAILURE; 102 | + gst_wl_display_set_preferred_width (self->display, self->preferred_width); 103 | + gst_wl_display_set_preferred_height (self->display, self->preferred_height); 104 | break; 105 | default: 106 | break; 107 | diff --git a/ext/wayland/gstwaylandsink.h b/ext/wayland/gstwaylandsink.h 108 | index 8932df3ce..21683cc17 100644 109 | --- a/ext/wayland/gstwaylandsink.h 110 | +++ b/ext/wayland/gstwaylandsink.h 111 | @@ -60,6 +60,9 @@ struct _GstWaylandSink 112 | GstVideoInfo video_info; 113 | gboolean fullscreen; 114 | 115 | + /* preferred window resolution */ 116 | + gint preferred_width, preferred_height; 117 | + 118 | gchar *display_name; 119 | 120 | gboolean redraw_pending; 121 | diff --git a/gst-libs/gst/wayland/gstwldisplay.c b/gst-libs/gst/wayland/gstwldisplay.c 122 | index 05df844dc..bd34a52ce 100644 123 | --- a/gst-libs/gst/wayland/gstwldisplay.c 124 | +++ b/gst-libs/gst/wayland/gstwldisplay.c 125 | @@ -59,6 +59,9 @@ typedef struct _GstWlDisplayPrivate 126 | /* real display resolution */ 127 | gint width, height; 128 | 129 | + /* preferred window resolution */ 130 | + gint preferred_width, preferred_height; 131 | + 132 | /* private */ 133 | gboolean own_display; 134 | GThread *thread; 135 | @@ -95,6 +98,8 @@ gst_wl_display_init (GstWlDisplay * self) 136 | priv->buffers = g_hash_table_new (g_direct_hash, g_direct_equal); 137 | priv->width = -1; 138 | priv->height = -1; 139 | + priv->preferred_width = -1; 140 | + priv->preferred_height = -1; 141 | g_mutex_init (&priv->buffers_mutex); 142 | 143 | gst_wl_linux_dmabuf_init_once (); 144 | @@ -611,6 +616,39 @@ gst_wl_display_get_height (GstWlDisplay * self) 145 | 146 | return priv->height; 147 | } 148 | + 149 | +void 150 | +gst_wl_display_set_preferred_width (GstWlDisplay * self, gint preferred_width) 151 | +{ 152 | + GstWlDisplayPrivate *priv = gst_wl_display_get_instance_private (self); 153 | + 154 | + priv->preferred_width = preferred_width; 155 | +} 156 | + 157 | +void 158 | +gst_wl_display_set_preferred_height (GstWlDisplay * self, gint preferred_height) 159 | +{ 160 | + GstWlDisplayPrivate *priv = gst_wl_display_get_instance_private (self); 161 | + 162 | + priv->preferred_height = preferred_height; 163 | +} 164 | + 165 | +gint 166 | +gst_wl_display_get_preferred_width (GstWlDisplay * self) 167 | +{ 168 | + GstWlDisplayPrivate *priv = gst_wl_display_get_instance_private (self); 169 | + 170 | + return priv->preferred_width; 171 | +} 172 | + 173 | +gint 174 | +gst_wl_display_get_preferred_height (GstWlDisplay * self) 175 | +{ 176 | + GstWlDisplayPrivate *priv = gst_wl_display_get_instance_private (self); 177 | + 178 | + return priv->preferred_height; 179 | +} 180 | + 181 | struct wl_shm * 182 | gst_wl_display_get_shm (GstWlDisplay * self) 183 | { 184 | diff --git a/gst-libs/gst/wayland/gstwldisplay.h b/gst-libs/gst/wayland/gstwldisplay.h 185 | index 1df5cb7bf..5da6d919f 100644 186 | --- a/gst-libs/gst/wayland/gstwldisplay.h 187 | +++ b/gst-libs/gst/wayland/gstwldisplay.h 188 | @@ -91,6 +91,18 @@ gint gst_wl_display_get_width (GstWlDisplay * self); 189 | GST_WL_API 190 | gint gst_wl_display_get_height (GstWlDisplay * self); 191 | 192 | +GST_WL_API 193 | +void gst_wl_display_set_preferred_width (GstWlDisplay * self, gint preferred_width); 194 | + 195 | +GST_WL_API 196 | +void gst_wl_display_set_preferred_height (GstWlDisplay * self, gint preferred_height); 197 | + 198 | +GST_WL_API 199 | +gint gst_wl_display_get_preferred_width (GstWlDisplay * self); 200 | + 201 | +GST_WL_API 202 | +gint gst_wl_display_get_preferred_height (GstWlDisplay * self); 203 | + 204 | GST_WL_API 205 | struct wl_shm *gst_wl_display_get_shm (GstWlDisplay * self); 206 | 207 | diff --git a/gst-libs/gst/wayland/gstwlutils.c b/gst-libs/gst/wayland/gstwlutils.c 208 | index 8ac2da7a0..63e3c6f0c 100644 209 | --- a/gst-libs/gst/wayland/gstwlutils.c 210 | +++ b/gst-libs/gst/wayland/gstwlutils.c 211 | @@ -37,9 +37,6 @@ 212 | 213 | #define WESTON_INI "/etc/xdg/weston/weston.ini" 214 | 215 | -/* FIXME: try to get from wayland server */ 216 | -#define PANEL_HEIGH 32 217 | - 218 | gboolean 219 | gst_wl_init_surface_state (GstWlDisplay * display, GstWlWindow * self) 220 | { 221 | diff --git a/gst-libs/gst/wayland/gstwlutils.h b/gst-libs/gst/wayland/gstwlutils.h 222 | index f9c2d6083..90c3b0ecd 100644 223 | --- a/gst-libs/gst/wayland/gstwlutils.h 224 | +++ b/gst-libs/gst/wayland/gstwlutils.h 225 | @@ -28,6 +28,9 @@ 226 | 227 | G_BEGIN_DECLS 228 | 229 | +/* FIXME: try to get from wayland server */ 230 | +#define PANEL_HEIGH 32 231 | + 232 | gboolean gst_wl_init_surface_state(GstWlDisplay * display, GstWlWindow * self); 233 | G_END_DECLS 234 | 235 | diff --git a/gst-libs/gst/wayland/gstwlwindow.c b/gst-libs/gst/wayland/gstwlwindow.c 236 | index 58270d3a0..3660ab8f6 100644 237 | --- a/gst-libs/gst/wayland/gstwlwindow.c 238 | +++ b/gst-libs/gst/wayland/gstwlwindow.c 239 | @@ -286,7 +286,7 @@ gst_wl_window_new_internal (GstWlDisplay * display, GMutex * render_lock) 240 | 241 | if (!gst_wl_init_surface_state (display, self)) { 242 | priv->fullscreen_width = width; 243 | - priv->fullscreen_height = height; 244 | + priv->fullscreen_height = height - PANEL_HEIGH; 245 | priv->scale = 1; 246 | GST_WARNING 247 | ("init surface_state fail, fallback to scale=%d fullscreen (%dx%d)", 248 | @@ -376,7 +376,12 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info, 249 | * xdg_shell fullscreen mode */ 250 | if (!(xdg_wm_base && fullscreen)) { 251 | gint width, height; 252 | - if (priv->fullscreen_width <= 0) { 253 | + gint preferred_width = gst_wl_display_get_preferred_width (display); 254 | + gint preferred_height = gst_wl_display_get_preferred_height (display); 255 | + if (preferred_width > 0 && preferred_height > 0) { 256 | + width = preferred_width; 257 | + height = preferred_height; 258 | + } else if (priv->fullscreen_width <= 0) { 259 | /* set the initial size to be the same as the reported video size */ 260 | width = 261 | gst_util_uint64_scale_int_round (info->width, info->par_n, 262 | -------------------------------------------------------------------------------- /patches/gst1-plugins-base/0001-allocators-Add-GstDmabufMeta.patch: -------------------------------------------------------------------------------- 1 | From ed4f4e8fcec63243f6749cfaccf928d09582c0f4 Mon Sep 17 00:00:00 2001 2 | From: Song Bing 3 | Date: Fri, 23 Mar 2018 15:13:55 -0700 4 | Subject: [PATCH 1/4] allocators: Add GstDmabufMeta 5 | 6 | This meta can be added to the allocation query to indicate support 7 | for dmabuf memory. Optionally the drm_modifier can also be set in 8 | the allocation query to indicate that the element supports some 9 | certain set of drm modifiers (swizzling/tiling/compression/etc). 10 | When the meta is attached to a buffer, the drm_modifier should 11 | only be one which the src and sink both indicated support for in 12 | the allocation query. 13 | 14 | https://bugzilla.gnome.org/show_bug.cgi?id=779146 15 | 16 | Conflicts: 17 | gst-libs/gst/allocators/meson.build 18 | (cherry picked from commit 243e5bb8210bd4133bfcceab205680bb018e4348) 19 | --- 20 | gst-libs/gst/allocators/allocators.h | 1 + 21 | gst-libs/gst/allocators/gstdmabufmeta.c | 161 ++++++++++++++++++++++++ 22 | gst-libs/gst/allocators/gstdmabufmeta.h | 60 +++++++++ 23 | gst-libs/gst/allocators/meson.build | 4 +- 24 | 4 files changed, 225 insertions(+), 1 deletion(-) 25 | create mode 100644 gst-libs/gst/allocators/gstdmabufmeta.c 26 | create mode 100644 gst-libs/gst/allocators/gstdmabufmeta.h 27 | 28 | diff --git a/gst-libs/gst/allocators/allocators.h b/gst-libs/gst/allocators/allocators.h 29 | index b616aa20e..14a49d425 100644 30 | --- a/gst-libs/gst/allocators/allocators.h 31 | +++ b/gst-libs/gst/allocators/allocators.h 32 | @@ -27,6 +27,7 @@ 33 | #include 34 | #include 35 | #include 36 | +#include 37 | 38 | #endif /* __GST_ALLOCATORS_H__ */ 39 | 40 | diff --git a/gst-libs/gst/allocators/gstdmabufmeta.c b/gst-libs/gst/allocators/gstdmabufmeta.c 41 | new file mode 100644 42 | index 000000000..e881e2ad9 43 | --- /dev/null 44 | +++ b/gst-libs/gst/allocators/gstdmabufmeta.c 45 | @@ -0,0 +1,161 @@ 46 | +/* 47 | + * GStreamer 48 | + * Copyright (C) 2017 Intel Corporation 49 | + * 50 | + * This library is free software; you can redistribute it and/or 51 | + * modify it under the terms of the GNU Library General Public 52 | + * License as published by the Free Software Foundation; either 53 | + * version 2 of the License, or (at your option) any later version. 54 | + * 55 | + * This library is distributed in the hope that it will be useful, 56 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of 57 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 58 | + * Library General Public License for more details. 59 | + * 60 | + * You should have received a copy of the GNU Library General Public 61 | + * License along with this library; if not, write to the 62 | + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, 63 | + * Boston, MA 02110-1301, USA. 64 | + */ 65 | + 66 | +/** 67 | + * SECTION:gstdmabufmeta 68 | + * @short_description: dmabuf metadata 69 | + * @see_also: #GstDmaBufAllocator 70 | + * 71 | + * #GstDmabufMeta carries metadata that goes along with 72 | + * dmabuf memory in the buffer, like drm modifier. 73 | + */ 74 | + 75 | +#ifdef HAVE_CONFIG_H 76 | +#include "config.h" 77 | +#endif 78 | + 79 | +#include "gstdmabufmeta.h" 80 | + 81 | +/** 82 | + * gst_buffer_add_dmabuf_meta: 83 | + * @buffer: a #GstBuffer 84 | + * @modifier: the drm modifier 85 | + * 86 | + * Returns: (transfer none): the #GstDmabufMeta added to #GstBuffer 87 | + * 88 | + * Since: 1.12 89 | + */ 90 | +GstDmabufMeta * 91 | +gst_buffer_add_dmabuf_meta (GstBuffer * buffer, guint64 drm_modifier) 92 | +{ 93 | + GstDmabufMeta *meta; 94 | + 95 | + meta = 96 | + (GstDmabufMeta *) gst_buffer_add_meta ((buffer), 97 | + GST_DMABUF_META_INFO, NULL); 98 | + 99 | + if (!meta) 100 | + return NULL; 101 | + 102 | + meta->drm_modifier = drm_modifier; 103 | + 104 | + return meta; 105 | +} 106 | + 107 | +static gboolean 108 | +gst_dmabuf_meta_transform (GstBuffer * dest, GstMeta * meta, 109 | + GstBuffer * buffer, GQuark type, gpointer data) 110 | +{ 111 | + GstDmabufMeta *dmeta, *smeta; 112 | + 113 | + smeta = (GstDmabufMeta *) meta; 114 | + 115 | + if (GST_META_TRANSFORM_IS_COPY (type)) { 116 | + GstMetaTransformCopy *copy = data; 117 | + 118 | + if (!copy->region) { 119 | + /* only copy if the complete data is copied as well */ 120 | + dmeta = gst_buffer_add_dmabuf_meta (dest, smeta->drm_modifier); 121 | + if (!dmeta) 122 | + return FALSE; 123 | + } 124 | + } else { 125 | + /* return FALSE, if transform type is not supported */ 126 | + return FALSE; 127 | + } 128 | + 129 | + return TRUE; 130 | +} 131 | + 132 | +static void 133 | +gst_dmabuf_meta_free (GstMeta * meta, GstBuffer * buffer) 134 | +{ 135 | + ((GstDmabufMeta *) meta)->drm_modifier = 0; 136 | + 137 | + return; 138 | +} 139 | + 140 | +static gboolean 141 | +gst_dmabuf_meta_init (GstMeta * meta, gpointer params, GstBuffer * buffer) 142 | +{ 143 | + ((GstDmabufMeta *) meta)->drm_modifier = 0; 144 | + 145 | + return TRUE; 146 | +} 147 | + 148 | +GType 149 | +gst_dmabuf_meta_api_get_type (void) 150 | +{ 151 | + static volatile GType type = 0; 152 | + static const gchar *tags[] = { NULL }; 153 | + 154 | + if (g_once_init_enter (&type)) { 155 | + GType _type = gst_meta_api_type_register ("GstDmabufMetaAPI", tags); 156 | + g_once_init_leave (&type, _type); 157 | + } 158 | + 159 | + return type; 160 | +} 161 | + 162 | +const GstMetaInfo * 163 | +gst_dmabuf_meta_get_info (void) 164 | +{ 165 | + static const GstMetaInfo *meta_info = NULL; 166 | + 167 | + if (g_once_init_enter (&meta_info)) { 168 | + const GstMetaInfo *meta = gst_meta_register (GST_DMABUF_META_API_TYPE, 169 | + "GstDmabufMeta", 170 | + sizeof (GstDmabufMeta), gst_dmabuf_meta_init, 171 | + gst_dmabuf_meta_free, 172 | + gst_dmabuf_meta_transform); 173 | + g_once_init_leave (&meta_info, meta); 174 | + } 175 | + 176 | + return meta_info; 177 | +} 178 | + 179 | +void 180 | +gst_query_add_allocation_dmabuf_meta (GstQuery * query, guint64 drm_modifier) 181 | +{ 182 | + guint index; 183 | + GstStructure *params; 184 | + 185 | + if (!gst_query_find_allocation_meta (query, GST_DMABUF_META_API_TYPE, &index)) { 186 | + gchar *str = 187 | + g_strdup_printf ("GstDmabufMeta, dmabuf.drm_modifier=(guint64){ %" 188 | + G_GUINT64_FORMAT " };", drm_modifier); 189 | + 190 | + params = gst_structure_new_from_string (str); 191 | + g_free (str); 192 | + 193 | + gst_query_add_allocation_meta (query, GST_DMABUF_META_API_TYPE, params); 194 | + gst_structure_free (params); 195 | + } else { 196 | + GValue newlist = G_VALUE_INIT, drm_modifier_value = G_VALUE_INIT; 197 | + 198 | + gst_query_parse_nth_allocation_meta (query, index, 199 | + (const GstStructure **) ¶ms); 200 | + g_value_init (&drm_modifier_value, G_TYPE_UINT64); 201 | + g_value_set_uint64 (&drm_modifier_value, drm_modifier); 202 | + gst_value_list_merge (&newlist, gst_structure_get_value (params, 203 | + "dmabuf.drm_modifier"), &drm_modifier_value); 204 | + gst_structure_take_value (params, "dmabuf.drm_modifier", &newlist); 205 | + } 206 | +} 207 | diff --git a/gst-libs/gst/allocators/gstdmabufmeta.h b/gst-libs/gst/allocators/gstdmabufmeta.h 208 | new file mode 100644 209 | index 000000000..1af80fd15 210 | --- /dev/null 211 | +++ b/gst-libs/gst/allocators/gstdmabufmeta.h 212 | @@ -0,0 +1,60 @@ 213 | +/* 214 | + * GStreamer 215 | + * Copyright (C) 2017 Intel Corporation 216 | + * 217 | + * This library is free software; you can redistribute it and/or 218 | + * modify it under the terms of the GNU Library General Public 219 | + * License as published by the Free Software Foundation; either 220 | + * version 2 of the License, or (at your option) any later version. 221 | + * 222 | + * This library is distributed in the hope that it will be useful, 223 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of 224 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 225 | + * Library General Public License for more details. 226 | + * 227 | + * You should have received a copy of the GNU Library General Public 228 | + * License along with this library; if not, write to the 229 | + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, 230 | + * Boston, MA 02110-1301, USA. 231 | + */ 232 | + 233 | +#ifndef __GST_DMABUF_META_H__ 234 | +#define __GST_DMABUF_META_H__ 235 | + 236 | +#include 237 | +#include 238 | +#include 239 | + 240 | +G_BEGIN_DECLS 241 | + 242 | +#define GST_DMABUF_META_API_TYPE (gst_dmabuf_meta_api_get_type()) 243 | +#define GST_DMABUF_META_INFO (gst_dmabuf_meta_get_info()) 244 | +typedef struct _GstDmabufMeta GstDmabufMeta; 245 | + 246 | +/** 247 | + * GstDmabufMeta: 248 | + * @parent: the parent #GstMeta 249 | + * @modifier: DRM modifier 250 | + */ 251 | +struct _GstDmabufMeta 252 | +{ 253 | + GstMeta parent; 254 | + 255 | + guint64 drm_modifier; 256 | +}; 257 | + 258 | +GST_EXPORT 259 | +GType gst_dmabuf_meta_api_get_type (void); 260 | +GST_EXPORT 261 | +const GstMetaInfo *gst_dmabuf_meta_get_info (void); 262 | + 263 | +#define gst_buffer_get_dmabuf_meta(b) ((GstDmabufMeta*)gst_buffer_get_meta((b),GST_DMABUF_META_API_TYPE)) 264 | + 265 | +GST_EXPORT 266 | +GstDmabufMeta * gst_buffer_add_dmabuf_meta (GstBuffer * buffer, guint64 drm_modifier); 267 | + 268 | +GST_EXPORT 269 | +void gst_query_add_allocation_dmabuf_meta (GstQuery * query, guint64 drm_modifier); 270 | + 271 | +G_END_DECLS 272 | +#endif /* __GST_DMABUF_META_H__ */ 273 | diff --git a/gst-libs/gst/allocators/meson.build b/gst-libs/gst/allocators/meson.build 274 | index 0c89e3c2e..ed2fa280c 100644 275 | --- a/gst-libs/gst/allocators/meson.build 276 | +++ b/gst-libs/gst/allocators/meson.build 277 | @@ -4,10 +4,12 @@ gst_allocators_headers = files([ 278 | 'gstfdmemory.h', 279 | 'gstphysmemory.h', 280 | 'gstdmabuf.h', 281 | + 'gstdmabufmeta.h', 282 | ]) 283 | install_headers(gst_allocators_headers, subdir : 'gstreamer-1.0/gst/allocators/') 284 | 285 | -gst_allocators_sources = files([ 'gstdmabuf.c', 'gstfdmemory.c', 'gstphysmemory.c']) 286 | +gst_allocators_sources = files([ 'gstdmabuf.c', 'gstfdmemory.c', 'gstphysmemory.c', 'gstdmabufmeta.c']) 287 | + 288 | gstallocators = library('gstallocators-@0@'.format(api_version), 289 | gst_allocators_sources, 290 | c_args : gst_plugins_base_args + ['-DBUILDING_GST_ALLOCATORS', '-DG_LOG_DOMAIN="GStreamer-Allocators"'], 291 | -- 292 | 2.34.1 293 | 294 | -------------------------------------------------------------------------------- /patches/gst1-plugins-base/0004-MMFMWK-7895-MX8MQ-Enable-Hantro-video-tiled-and.patch: -------------------------------------------------------------------------------- 1 | From e86c300290757529991779e3d4bf0c949910b0b4 Mon Sep 17 00:00:00 2001 2 | From: Lyon Wang 3 | Date: Mon, 2 Apr 2018 16:20:01 +0800 4 | Subject: [PATCH 1/1] MMFMWK-7895 [MX8MQ] Enable Hantro video tiled and 5 | 6 | Move physical meta to plugin bad. 7 | move to base since 1.14 8 | 9 | Signed-off-by: Song Bing 10 | 11 | Conflicts: 12 | gst-libs/gst/allocators/meson.build 13 | (cherry picked from commit 95a023a28a653dbf024fe024c2bf2e91ea236e52) 14 | --- 15 | gst-libs/gst/allocators/gstphymemmeta.c | 100 ++++++++++++++++++++++++ 16 | gst-libs/gst/allocators/gstphymemmeta.h | 57 ++++++++++++++ 17 | gst-libs/gst/allocators/meson.build | 5 +- 18 | 3 files changed, 160 insertions(+), 2 deletions(-) 19 | create mode 100644 gst-libs/gst/allocators/gstphymemmeta.c 20 | create mode 100644 gst-libs/gst/allocators/gstphymemmeta.h 21 | 22 | diff --git a/gst-libs/gst/allocators/gstphymemmeta.c b/gst-libs/gst/allocators/gstphymemmeta.c 23 | new file mode 100644 24 | index 000000000..a22ec9a57 25 | --- /dev/null 26 | +++ b/gst-libs/gst/allocators/gstphymemmeta.c 27 | @@ -0,0 +1,100 @@ 28 | +/* 29 | + * Copyright (c) 2014, Freescale Semiconductor, Inc. All rights reserved. 30 | + * 31 | + * This library is free software; you can redistribute it and/or 32 | + * modify it under the terms of the GNU Library General Public 33 | + * License as published by the Free Software Foundation; either 34 | + * version 2 of the License, or (at your option) any later version. 35 | + * 36 | + * This library is distributed in the hope that it will be useful, 37 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of 38 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 39 | + * Library General Public License for more details. 40 | + * 41 | + * You should have received a copy of the GNU Library General Public 42 | + * License along with this library; if not, write to the 43 | + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 44 | + * Boston, MA 02111-1307, USA. 45 | + */ 46 | + 47 | +#include "gstphymemmeta.h" 48 | + 49 | +GST_DEBUG_CATEGORY_STATIC (phy_mem_meta_debug); 50 | +#define GST_CAT_DEFAULT phy_mem_meta_debug 51 | + 52 | +static gboolean 53 | +gst_phy_mem_meta_transform (GstBuffer * dest, GstMeta * meta, 54 | + GstBuffer * buffer, GQuark type, gpointer data) 55 | +{ 56 | + GstPhyMemMeta *dmeta, *smeta; 57 | + 58 | + if (GST_META_TRANSFORM_IS_COPY (type)) { 59 | + smeta = (GstPhyMemMeta *) meta; 60 | + dmeta = GST_PHY_MEM_META_ADD (dest); 61 | + 62 | + GST_DEBUG ("copy phy metadata"); 63 | + 64 | + dmeta->x_padding = smeta->x_padding; 65 | + dmeta->y_padding = smeta->y_padding; 66 | + } else if (GST_VIDEO_META_TRANSFORM_IS_SCALE (type)) { 67 | + GstVideoMetaTransform *trans = data; 68 | + gint ow, oh, nw, nh; 69 | + 70 | + smeta = (GstPhyMemMeta *) meta; 71 | + dmeta = GST_PHY_MEM_META_ADD (dest); 72 | + 73 | + ow = GST_VIDEO_INFO_WIDTH (trans->in_info); 74 | + nw = GST_VIDEO_INFO_WIDTH (trans->out_info); 75 | + oh = GST_VIDEO_INFO_HEIGHT (trans->in_info); 76 | + nh = GST_VIDEO_INFO_HEIGHT (trans->out_info); 77 | + 78 | + GST_DEBUG ("scaling phy metadata %dx%d -> %dx%d", ow, oh, nw, nh); 79 | + 80 | + dmeta->x_padding = (smeta->x_padding * nw) / ow; 81 | + dmeta->y_padding = (smeta->y_padding * nh) / oh; 82 | + } 83 | + 84 | + dmeta->rfc_luma_offset = smeta->rfc_luma_offset; 85 | + dmeta->rfc_chroma_offset = smeta->rfc_chroma_offset; 86 | + 87 | + return TRUE; 88 | +} 89 | + 90 | +GType 91 | +gst_phy_mem_meta_api_get_type (void) 92 | +{ 93 | + static volatile GType type = 0; 94 | + static const gchar *tags[] = 95 | + { GST_META_TAG_VIDEO_STR, GST_META_TAG_VIDEO_SIZE_STR, 96 | + GST_META_TAG_VIDEO_ORIENTATION_STR, NULL 97 | + }; 98 | + 99 | + if (g_once_init_enter (&type)) { 100 | + GType _type = gst_meta_api_type_register ("GstPhyMemMetaAPI", tags); 101 | + g_once_init_leave (&type, _type); 102 | + } 103 | + return type; 104 | +} 105 | + 106 | +static gboolean 107 | +gst_phy_mem_meta_init (GstMeta * meta, gpointer params, GstBuffer * buf) 108 | +{ 109 | + return TRUE; 110 | +} 111 | + 112 | +const GstMetaInfo * 113 | +gst_phy_mem_meta_get_info (void) 114 | +{ 115 | + static const GstMetaInfo *phy_mem_meta_info = NULL; 116 | + 117 | + if (g_once_init_enter (&phy_mem_meta_info)) { 118 | + const GstMetaInfo *meta = 119 | + gst_meta_register (GST_PHY_MEM_META_API_TYPE, "GstPhyMemMeta", 120 | + sizeof (GstPhyMemMeta), (GstMetaInitFunction) gst_phy_mem_meta_init, 121 | + (GstMetaFreeFunction) NULL, gst_phy_mem_meta_transform); 122 | + GST_DEBUG_CATEGORY_INIT (phy_mem_meta_debug, "phymemmeta", 0, 123 | + "Freescale physical memory meta"); 124 | + g_once_init_leave (&phy_mem_meta_info, meta); 125 | + } 126 | + return phy_mem_meta_info; 127 | +} 128 | diff --git a/gst-libs/gst/allocators/gstphymemmeta.h b/gst-libs/gst/allocators/gstphymemmeta.h 129 | new file mode 100644 130 | index 000000000..cb7539097 131 | --- /dev/null 132 | +++ b/gst-libs/gst/allocators/gstphymemmeta.h 133 | @@ -0,0 +1,57 @@ 134 | +/* 135 | + * Copyright (c) 2014, Freescale Semiconductor, Inc. All rights reserved. 136 | + * 137 | + * This library is free software; you can redistribute it and/or 138 | + * modify it under the terms of the GNU Library General Public 139 | + * License as published by the Free Software Foundation; either 140 | + * version 2 of the License, or (at your option) any later version. 141 | + * 142 | + * This library is distributed in the hope that it will be useful, 143 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of 144 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 145 | + * Library General Public License for more details. 146 | + * 147 | + * You should have received a copy of the GNU Library General Public 148 | + * License along with this library; if not, write to the 149 | + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 150 | + * Boston, MA 02111-1307, USA. 151 | + */ 152 | + 153 | +#ifndef __GST_PHY_MEM_META_H__ 154 | +#define __GST_PHY_MEM_META_H__ 155 | + 156 | +#include 157 | +#include 158 | +#include 159 | +#include "gstphymemmeta.h" 160 | + 161 | +G_BEGIN_DECLS 162 | + 163 | +typedef struct _GstPhyMemMeta GstPhyMemMeta; 164 | + 165 | +#define GST_PHY_MEM_META_API_TYPE (gst_phy_mem_meta_api_get_type()) 166 | +#define GST_PHY_MEM_META_INFO (gst_phy_mem_meta_get_info()) 167 | + 168 | +#define GST_PHY_MEM_META_GET(buffer) ((GstPhyMemMeta *)gst_buffer_get_meta((buffer), gst_phy_mem_meta_api_get_type())) 169 | +#define GST_PHY_MEM_META_ADD(buffer) ((GstPhyMemMeta *)gst_buffer_add_meta((buffer), gst_phy_mem_meta_get_info(), NULL)) 170 | +#define GST_PHY_MEM_META_DEL(buffer) (gst_buffer_remove_meta((buffer), gst_buffer_get_meta((buffer), gst_phy_mem_meta_api_get_type()))) 171 | + 172 | +struct _GstPhyMemMeta 173 | +{ 174 | + GstMeta meta; 175 | + guint x_padding; 176 | + guint y_padding; 177 | + guint rfc_luma_offset; 178 | + guint rfc_chroma_offset; 179 | +}; 180 | + 181 | +GST_EXPORT 182 | +GType gst_phy_mem_meta_api_get_type(void); 183 | + 184 | +GST_EXPORT 185 | +GstMetaInfo const * gst_phy_mem_meta_get_info(void); 186 | + 187 | +G_END_DECLS 188 | + 189 | +#endif 190 | + 191 | diff --git a/gst-libs/gst/allocators/meson.build b/gst-libs/gst/allocators/meson.build 192 | index f8a7d9664..4e45e28ec 100644 193 | --- a/gst-libs/gst/allocators/meson.build 194 | +++ b/gst-libs/gst/allocators/meson.build 195 | @@ -5,6 +5,7 @@ gst_allocators_headers = files([ 196 | 'gstphysmemory.h', 197 | 'gstdmabuf.h', 198 | 'gstdmabufmeta.h', 199 | + 'gstphymemmeta.h', 200 | ]) 201 | 202 | gst_ionallocator_headers = [] 203 | @@ -21,7 +22,7 @@ endif 204 | 205 | install_headers(gst_allocators_headers, subdir : 'gstreamer-1.0/gst/allocators/') 206 | 207 | -gst_allocators_sources = files([ 'gstdmabuf.c', 'gstfdmemory.c', 'gstphysmemory.c', 'gstdmabufmeta.c']) 208 | +gst_allocators_sources = files([ 'gstdmabuf.c', 'gstfdmemory.c', 'gstphysmemory.c', 'gstdmabufmeta.c', 'gstphymemmeta.c']) 209 | 210 | gstallocators = library('gstallocators-@0@'.format(api_version), 211 | gst_allocators_sources, gst_ionallocator_sources, 212 | @@ -31,7 +32,7 @@ gstallocators = library('gstallocators-@0@'.format(api_version), 213 | soversion : soversion, 214 | darwin_versions : osxversion, 215 | install : true, 216 | - dependencies : [gst_dep], 217 | + dependencies : [gst_dep, video_dep], 218 | ) 219 | 220 | pkg_name = 'gstreamer-allocators-1.0' 221 | -- 222 | 2.34.1 223 | 224 | -------------------------------------------------------------------------------- /patches/gst1-plugins-base/0006-Fix-build-break-casued-by-GST_EXPORT-GST_API_EXPORT.patch: -------------------------------------------------------------------------------- 1 | From 01ac178eb125a8f3fce44bb13c067fd68914a9d1 Mon Sep 17 00:00:00 2001 2 | From: Haihua Hu 3 | Date: Mon, 3 Jun 2019 15:36:36 +0800 4 | Subject: [PATCH 1/1] Fix build break casued by GST_EXPORT->GST_API_EXPORT 5 | 6 | On 1.16, GST_EXPORT has been discarded. GST_VIDEO_API and 7 | GST_ALLOCATORS_API declaration has change to GST_API_EXPORT. 8 | We should use the right type prelude. 9 | 10 | upstream status: imx specific 11 | 12 | (cherry picked from commit fb47660fa0957778d8dc6714c88bee9200412967) 13 | --- 14 | gst-libs/gst/allocators/gstallocatorphymem.h | 9 +++++---- 15 | gst-libs/gst/allocators/gstdmabufmeta.h | 9 +++++---- 16 | gst-libs/gst/allocators/gstionmemory.h | 1 + 17 | gst-libs/gst/allocators/gstphymemmeta.c | 4 ++++ 18 | gst-libs/gst/allocators/gstphymemmeta.h | 5 +++-- 19 | 5 files changed, 18 insertions(+), 10 deletions(-) 20 | 21 | diff --git a/gst-libs/gst/allocators/gstallocatorphymem.h b/gst-libs/gst/allocators/gstallocatorphymem.h 22 | index cba6f0497..0ced166fa 100755 23 | --- a/gst-libs/gst/allocators/gstallocatorphymem.h 24 | +++ b/gst-libs/gst/allocators/gstallocatorphymem.h 25 | @@ -22,6 +22,7 @@ 26 | 27 | #include 28 | #include 29 | +#include 30 | 31 | #define PAGE_ALIGN(x) (((x) + 4095) & ~4095) 32 | 33 | @@ -56,16 +57,16 @@ struct _GstAllocatorPhyMemClass { 34 | PhyMemBlock *src_mem, guint offset, guint size); 35 | }; 36 | 37 | -GST_EXPORT 38 | +GST_ALLOCATORS_API 39 | GType gst_allocator_phymem_get_type (void); 40 | 41 | -GST_EXPORT 42 | +GST_ALLOCATORS_API 43 | gboolean gst_buffer_is_phymem (GstBuffer *buffer); 44 | 45 | -GST_EXPORT 46 | +GST_ALLOCATORS_API 47 | PhyMemBlock *gst_buffer_query_phymem_block (GstBuffer *buffer); 48 | 49 | -GST_EXPORT 50 | +GST_ALLOCATORS_API 51 | PhyMemBlock *gst_memory_query_phymem_block (GstMemory *mem); 52 | 53 | #endif 54 | diff --git a/gst-libs/gst/allocators/gstdmabufmeta.h b/gst-libs/gst/allocators/gstdmabufmeta.h 55 | index 1af80fd15..c9c0899d6 100644 56 | --- a/gst-libs/gst/allocators/gstdmabufmeta.h 57 | +++ b/gst-libs/gst/allocators/gstdmabufmeta.h 58 | @@ -24,6 +24,7 @@ 59 | #include 60 | #include 61 | #include 62 | +#include 63 | 64 | G_BEGIN_DECLS 65 | 66 | @@ -43,17 +44,17 @@ struct _GstDmabufMeta 67 | guint64 drm_modifier; 68 | }; 69 | 70 | -GST_EXPORT 71 | +GST_ALLOCATORS_API 72 | GType gst_dmabuf_meta_api_get_type (void); 73 | -GST_EXPORT 74 | +GST_ALLOCATORS_API 75 | const GstMetaInfo *gst_dmabuf_meta_get_info (void); 76 | 77 | #define gst_buffer_get_dmabuf_meta(b) ((GstDmabufMeta*)gst_buffer_get_meta((b),GST_DMABUF_META_API_TYPE)) 78 | 79 | -GST_EXPORT 80 | +GST_ALLOCATORS_API 81 | GstDmabufMeta * gst_buffer_add_dmabuf_meta (GstBuffer * buffer, guint64 drm_modifier); 82 | 83 | -GST_EXPORT 84 | +GST_ALLOCATORS_API 85 | void gst_query_add_allocation_dmabuf_meta (GstQuery * query, guint64 drm_modifier); 86 | 87 | G_END_DECLS 88 | diff --git a/gst-libs/gst/allocators/gstionmemory.h b/gst-libs/gst/allocators/gstionmemory.h 89 | index b029e14c2..272db409c 100644 90 | --- a/gst-libs/gst/allocators/gstionmemory.h 91 | +++ b/gst-libs/gst/allocators/gstionmemory.h 92 | @@ -23,6 +23,7 @@ 93 | 94 | #include 95 | #include 96 | +#include 97 | 98 | G_BEGIN_DECLS 99 | 100 | diff --git a/gst-libs/gst/allocators/gstphymemmeta.c b/gst-libs/gst/allocators/gstphymemmeta.c 101 | index a22ec9a57..10c30a6fc 100644 102 | --- a/gst-libs/gst/allocators/gstphymemmeta.c 103 | +++ b/gst-libs/gst/allocators/gstphymemmeta.c 104 | @@ -17,6 +17,10 @@ 105 | * Boston, MA 02111-1307, USA. 106 | */ 107 | 108 | +#ifdef HAVE_CONFIG_H 109 | +#include "config.h" 110 | +#endif 111 | + 112 | #include "gstphymemmeta.h" 113 | 114 | GST_DEBUG_CATEGORY_STATIC (phy_mem_meta_debug); 115 | diff --git a/gst-libs/gst/allocators/gstphymemmeta.h b/gst-libs/gst/allocators/gstphymemmeta.h 116 | index cb7539097..54f80ae48 100644 117 | --- a/gst-libs/gst/allocators/gstphymemmeta.h 118 | +++ b/gst-libs/gst/allocators/gstphymemmeta.h 119 | @@ -23,6 +23,7 @@ 120 | #include 121 | #include 122 | #include 123 | +#include 124 | #include "gstphymemmeta.h" 125 | 126 | G_BEGIN_DECLS 127 | @@ -45,10 +46,10 @@ struct _GstPhyMemMeta 128 | guint rfc_chroma_offset; 129 | }; 130 | 131 | -GST_EXPORT 132 | +GST_ALLOCATORS_API 133 | GType gst_phy_mem_meta_api_get_type(void); 134 | 135 | -GST_EXPORT 136 | +GST_ALLOCATORS_API 137 | GstMetaInfo const * gst_phy_mem_meta_get_info(void); 138 | 139 | G_END_DECLS 140 | -- 141 | 2.34.1 142 | 143 | -------------------------------------------------------------------------------- /patches/libdrm/0001-libdrm-amphion-Add-Amphion-VPU-tiled-format.patch: -------------------------------------------------------------------------------- 1 | From aa5d2ea89bf16993fca40ef2fcc4cb1854a9e631 Mon Sep 17 00:00:00 2001 2 | From: Wujian sun 3 | Date: Wed, 14 Jul 2021 10:36:26 +0800 4 | Subject: [PATCH 1/1] libdrm: amphion: Add Amphion VPU tiled format. 5 | 6 | Upstream-Status: Inappropriate [i.MX specific] 7 | 8 | [xianzhong => change amphion fourcc to 0xf0] 9 | 10 | Signed-off-by: Song Bing 11 | (cherry picked from commit 1fe62d12321cb060099f7a5d1ae09f8c03449fcf) 12 | (cherry picked from commit 52d2f24ccafec7c365e6fafa222bd71ac138ad34) 13 | --- 14 | include/drm/drm_fourcc.h | 11 +++++++++++ 15 | 1 file changed, 11 insertions(+) 16 | 17 | diff --git a/include/drm/drm_fourcc.h b/include/drm/drm_fourcc.h 18 | index ea6d3f6c..39474a39 100644 19 | --- a/include/drm/drm_fourcc.h 20 | +++ b/include/drm/drm_fourcc.h 21 | @@ -372,6 +372,7 @@ extern "C" { 22 | #define DRM_FORMAT_MOD_VENDOR_ARM 0x08 23 | #define DRM_FORMAT_MOD_VENDOR_ALLWINNER 0x09 24 | #define DRM_FORMAT_MOD_VENDOR_AMLOGIC 0x0a 25 | +#define DRM_FORMAT_MOD_VENDOR_AMPHION 0xf0 26 | 27 | /* add more to the end as needed */ 28 | 29 | @@ -1148,6 +1149,16 @@ drm_fourcc_canonicalize_nvidia_format_mod(__u64 modifier) 30 | */ 31 | #define DRM_FORMAT_MOD_ALLWINNER_TILED fourcc_mod_code(ALLWINNER, 1) 32 | 33 | +/* Amphion tiled layout */ 34 | + 35 | +/* 36 | + * Amphion 8x128 tiling layout 37 | + * 38 | + * This is a tiled layout using 8x128 pixel vertical strips, where each strip 39 | + * contains 1x16 groups of 8x8 pixels in a row-major layout. 40 | + */ 41 | +#define DRM_FORMAT_MOD_AMPHION_TILED fourcc_mod_code(AMPHION, 1) 42 | + 43 | /* 44 | * Amlogic Video Framebuffer Compression modifiers 45 | * 46 | -- 47 | 2.34.1 48 | 49 | -------------------------------------------------------------------------------- /patches/qt5cinex/0002-content-remove-unsupported-views.patch: -------------------------------------------------------------------------------- 1 | From ccc9d40d77ca32b0b3d698a21762494f9ec64526 Mon Sep 17 00:00:00 2001 2 | From: Gary Bisson 3 | Date: Fri, 23 Sep 2022 16:57:29 +0200 4 | Subject: [PATCH] content: remove unsupported views 5 | 6 | Definitely broken on 5.15.8, to be investigated. 7 | Might requires a patch like 0001-Fix-execution-problem-with-Qt5.3.patch 8 | 9 | Signed-off-by: Gary Bisson 10 | --- 11 | content/InfoView.qml | 30 ------------------------------ 12 | content/MainView.qml | 4 ---- 13 | 2 files changed, 34 deletions(-) 14 | 15 | diff --git a/content/InfoView.qml b/content/InfoView.qml 16 | index dee035e..86bb6d2 100644 17 | --- a/content/InfoView.qml 18 | +++ b/content/InfoView.qml 19 | @@ -156,36 +156,6 @@ Item { 20 | source: "images/heading.png" 21 | } 22 | 23 | - InfoViewItem { 24 | - text: "Welcome to 'Cinematic Experience' demo. This application demonstrates the power of Qt5 and few of the new additions available in QtQuick 2.0. Below is a short summary of those new features which have been used in this demo application." 25 | - image: "images/qt_logo2.png" 26 | - } 27 | - InfoViewItem { 28 | - text: "Rendering
Qt5 has brand new rendering backend 'QML SceneGraph' which is optimized for hardware accelerated rendering. This allows to take full gains out of OpenGL powered GPUs on desktop and embedded devices. Not just performance, new Qt5 rendering backend also allows features which have not been possible earlier." 29 | - } 30 | - InfoViewItem { 31 | - text: "Particles
Qt5 comes with a fresh particles plugin 'QtQuick.Particles 2.0' which is superior compared to Qt4 particles. In this demo application, twinkling stars, shooting star and fog/smoke have been implemented using this new particles engine. Superb." 32 | - image: "images/sc2.png" 33 | - } 34 | - InfoViewItem { 35 | - text: "Sprites
QtQuick 2.0 has built-in support for sprites using Sprite, SpriteSequence and AnimatedSprite elements. Sprites can also be used as a source for particles. In this demo application, shooting star is an AnimatedSprite with 16 frames." 36 | - image: "images/sc5.png" 37 | - switchedLayout: true 38 | - } 39 | - InfoViewItem { 40 | - text: "Animations
QtQuick has always had a very strong animations support. Qt5 supports now also animations along a non-linear paths using PathAnimation and PathInterpolator QML elements. In this demo, shooting star position moves along PathAnimation using PathCurves." 41 | - image: "images/sc1.png" 42 | - } 43 | - InfoViewItem { 44 | - text: "ShaderEffects
Qt5 supports ShaderEffect and ShaderEffectSource QML elements which allow writing custom GLSL shader effects. This gives developers a lot of control to transform and enhance QML UIs by increasing dynamicity. In this demo, custom shader effect is used for lighting the movie delegates." 45 | - image: "images/sc3.png" 46 | - switchedLayout: true 47 | - } 48 | - InfoViewItem { 49 | - text: "Graphical Effects
Qt5 comes with pre-defined set of effects such as drop-shadow, blur, glow, colorize etc. These are available in 'QtGraphicalEffects 1.0' plugin. In this demo, DropShadow is used to improve the appearance of movie title texts." 50 | - image: "images/sc4.png" 51 | - } 52 | - 53 | Row { 54 | anchors.horizontalCenter: parent.horizontalCenter 55 | height: 128 56 | diff --git a/content/MainView.qml b/content/MainView.qml 57 | index 3b38782..f1e4dd4 100644 58 | --- a/content/MainView.qml 59 | +++ b/content/MainView.qml 60 | @@ -208,10 +208,6 @@ Item { 61 | strength: 60 62 | } 63 | } 64 | - 65 | - SettingsView { 66 | - id: settingsView 67 | - } 68 | } 69 | 70 | FastBlur { 71 | -- 72 | 2.35.1 73 | 74 | -------------------------------------------------------------------------------- /patches/wayland-protocols/0001-unstable-Add-alpha-compositing-protocol.patch: -------------------------------------------------------------------------------- 1 | From daa5f4cece0af4c73a64654a5e20b14e5eb8e545 Mon Sep 17 00:00:00 2001 2 | From: Haihua Hu 3 | Date: Thu, 14 Jun 2018 13:54:08 +0800 4 | Subject: [PATCH 1/1] unstable: Add alpha-compositing protocol 5 | 6 | It's based on the Chromium Wayland protocol of the same name ([1]) 7 | and Alexandros's modified version ([2])with a few changes 8 | made to the blending_equation enumeration. 9 | 10 | Add one more blending_equation "src_alpha / src_alpha" 11 | 12 | [1] https://chromium.googlesource.com/chromium/src/+/master/third_party/wayland-protocols/unstable/alpha-compositing/alpha-compositing-unstable-v1.xml 13 | [2] https://lists.freedesktop.org/archives/wayland-devel/2017-August/034741.html 14 | 15 | Signed-off-by: Haihua Hu 16 | 17 | Conflicts: 18 | Makefile.am 19 | (cherry picked from commit ac5837440d587c88e7979b034ef54893dc45633f) 20 | (cherry picked from commit a521913cedf5d5f84a162c08768c52bfb841dc23) 21 | --- 22 | meson.build | 1 + 23 | unstable/alpha-compositing/README | 6 + 24 | .../alpha-compositing-unstable-v1.xml | 136 ++++++++++++++++++ 25 | 3 files changed, 143 insertions(+) 26 | create mode 100644 unstable/alpha-compositing/README 27 | create mode 100644 unstable/alpha-compositing/alpha-compositing-unstable-v1.xml 28 | 29 | diff --git a/meson.build b/meson.build 30 | index cc27196..8ef65d7 100644 31 | --- a/meson.build 32 | +++ b/meson.build 33 | @@ -33,6 +33,7 @@ unstable_protocols = { 34 | 'xdg-output': ['v1'], 35 | 'xdg-shell': ['v5', 'v6'], 36 | 'xwayland-keyboard-grab': ['v1'], 37 | + 'alpha-compositing': ['v1'], 38 | } 39 | 40 | staging_protocols = { 41 | diff --git a/unstable/alpha-compositing/README b/unstable/alpha-compositing/README 42 | new file mode 100644 43 | index 0000000..d874156 44 | --- /dev/null 45 | +++ b/unstable/alpha-compositing/README 46 | @@ -0,0 +1,6 @@ 47 | +Alpha compositing protocol 48 | + 49 | +Maintainers: 50 | +David Reveman 51 | +Alexandros Frantzis 52 | +Jared Hu 53 | diff --git a/unstable/alpha-compositing/alpha-compositing-unstable-v1.xml b/unstable/alpha-compositing/alpha-compositing-unstable-v1.xml 54 | new file mode 100644 55 | index 0000000..0844b3f 56 | --- /dev/null 57 | +++ b/unstable/alpha-compositing/alpha-compositing-unstable-v1.xml 58 | @@ -0,0 +1,136 @@ 59 | + 60 | + 61 | + 62 | + 63 | + Copyright 2016 The Chromium Authors. 64 | + Copyright 2017 Collabora Ltd 65 | + Copyright 2018 NXP 66 | + 67 | + Permission is hereby granted, free of charge, to any person obtaining a 68 | + copy of this software and associated documentation files (the "Software"), 69 | + to deal in the Software without restriction, including without limitation 70 | + the rights to use, copy, modify, merge, publish, distribute, sublicense, 71 | + and/or sell copies of the Software, and to permit persons to whom the 72 | + Software is furnished to do so, subject to the following conditions: 73 | + 74 | + The above copyright notice and this permission notice (including the next 75 | + paragraph) shall be included in all copies or substantial portions of the 76 | + Software. 77 | + 78 | + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 79 | + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 80 | + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 81 | + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 82 | + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 83 | + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 84 | + DEALINGS IN THE SOFTWARE. 85 | + 86 | + 87 | + 88 | + This protocol specifies a set of interfaces used to control the alpha 89 | + compositing and blending of surface contents. 90 | + 91 | + Warning! The protocol described in this file is experimental and backward 92 | + incompatible changes may be made. Backward compatible changes may be added 93 | + together with the corresponding interface version bump. Backward 94 | + incompatible changes are done by bumping the version number in the protocol 95 | + and interface names and resetting the interface version. Once the protocol 96 | + is to be declared stable, the 'z' prefix and the version number in the 97 | + protocol and interface names are removed and the interface version number is 98 | + reset. 99 | + 100 | + 101 | + 102 | + 103 | + The global interface exposing compositing and blending capabilities is 104 | + used to instantiate an interface extension for a wl_surface object. 105 | + This extended interface will then allow the client to specify the 106 | + blending equation and alpha value used for compositing the wl_surface. 107 | + 108 | + 109 | + 110 | + 111 | + Informs the server that the client will not be using this 112 | + protocol object anymore. This does not affect any other objects, 113 | + blending objects included. 114 | + 115 | + 116 | + 117 | + 118 | + 120 | + 121 | + 122 | + 123 | + 124 | + Instantiate an interface extension for the given wl_surface to 125 | + provide surface blending. If the given wl_surface already has 126 | + a blending object associated, the blending_exists protocol error 127 | + is raised. 128 | + 129 | + 130 | + 132 | + 134 | + 135 | + 136 | + 137 | + 138 | + 139 | + An additional interface to a wl_surface object, which allows the 140 | + client to specify the blending equation used for compositing and 141 | + an alpha value applied to the whole surface. 142 | + 143 | + When the blending object is created its blending equation is 144 | + 'none' and its alpha is 1.0, i.e., it's inactive by default. Clients 145 | + can activate it by setting the blending equation and alpha value. 146 | + 147 | + If the wl_surface associated with the blending object is destroyed, 148 | + the blending object becomes inert. 149 | + 150 | + If the blending object is destroyed, the blending state is removed 151 | + from the wl_surface. The change will be applied on the next 152 | + wl_surface.commit. 153 | + 154 | + 155 | + 156 | + 157 | + The associated wl_surface's blending state is removed. 158 | + The change is applied on the next wl_surface.commit. 159 | + 160 | + 161 | + 162 | + 163 | + 164 | + Blending equations that can be used when compositing a surface. 165 | + 166 | + 167 | + 168 | + 169 | + 170 | + 171 | + 172 | + 173 | + 174 | + 175 | + Set the blending equation for compositing the wl_surface. 176 | + 177 | + The blending equation state is double-buffered state, 178 | + and will be applied on the next wl_surface.commit. 179 | + 180 | + 181 | + 182 | + 183 | + 184 | + 185 | + Set the alpha value applied to the whole surface for compositing. 186 | + 187 | + The alpha value state is double-buffered state, 188 | + and will be applied on the next wl_surface.commit. 189 | + 190 | + 191 | + 192 | + 193 | + 194 | + 195 | \ No newline at end of file 196 | -- 197 | 2.34.1 198 | 199 | --------------------------------------------------------------------------------