R2 Release Note

R2 Release Note


1. Version Information

Component Version Description
u-boot 2016.01
Kernel 4.4.83
Yocto SUMO
Android 7.1.2_r36


2. Features

No New Features Description Remark
1 Quick Boot The R2 optimizes u-boot, kernel, android nougat source code to boost up booting time for AVN products. This is separated from master branch.
2 Quick Rear CAM The R2 can display a rear cam about in 2sec.
3 Camera Max two cameras
4 D-Audio SDK The R2 BSP includes a D-Audio SDK & Documents.
5 BlueTooth Support NXVT100 module including rfkill I/F
Support BT sink features.
Support BT tethering features.
6 OTA Support OTA update
But R2 doesn’t supply OTA server and apk source.
7 Secure Support secure boot.
The R2 has open source Secure OS(OPTEE) but can not guarantee and support.
It don’t supply Secure OS but It was verified Trustonic and other commercial level Secure OS.
8 Voice Recognition The R2 supply part of software stack to support voice recognition.
Voice recognition feature is not supported by navi_ref, avn_ref board.
9 Connectivity Contact to Nexell Sales
10 FileSystem The R2 supply exfat and ntfs filesystem that is not supported by AOSP.However Customer want to use it, they must resolve license issue first.


3. Update List

3.1. Yocto(SUMO) BSP

3.1.1. BL1 for s5p4418

No Build Name Description Remark


Add the convergence-daudio board
2 con_svma Change the PLL for Audio/Memory
– Changed PLL3 vlaue for Audio DFS : 800 –> 614
– Changed clock source for memory : PLL3 –> PLL0


3.1.2. BL1 for s5p6818

No Build Name Description Remark
1 All When boot mode is sdmmc, boot device can be emmc onboard or external sd card, but build target was fixed to emmc.
Sometimes client needs to build bl1 with boot device sd card.
So, this patch adds following config.mk variable.
– BOOT_DEVICE : default is emmc, if want to change external sd card, change to sd.Output binary is named following BOOT_DEVICE.
– emmc -> bl1-emmcboot.bin
– sd -> bl1-sdboot.bin


3.1.3. u-boot

No Build Name Description Remark
1 navi_ref i) Change fb address
Logo clear issue when fastboot downloads
Changes fb address 0x50000000 to 0x7a000000
ii) Sets env values correctly.
2 daudio_ref Sets env values correctly.
3 convergence_daudio Add convergence-daudio board
4 common nxrecovery: Introduce nxrecovery command
nxrecovery is tool for fusing boot device by other bootable device.Usage scenario>
Step 1) Make bootable sdcard that has recovery image for emmc
Step 2) Boot by external sdcard and auto run nxrecovery
Step 3) nxrecovery fuses recovery image to emmcCommand>
nxrecovery <src_inf> <src_dev> <target_inf> <target_dev>
ex) recovery emmc by external sd card
$ nxrecovery mmc 1 mmc 0
5 All Implement auto recovery

This patch add function to check nexell autorecovery and when autorecovery_cmd variable is set, run command.

This is for production by external SD card.

This patch has implementation of mmc_get_env_dev() function.
If you want to override this function, you must implement int nexell_mmc_get_env_dev() function.
Currently nexell_mmc_get_env_dev() function set mmc env device by reading boot mode.


3.1.4. Kernel

 No Build Name/Feature  Description Remark
 1  navi_ref i) Add DRM pre-init
ii) kernel compress gzip to lzo
iii) enable decimator nodes.
 2  con_svma i) Enable HDMI Kconfig,
ii) change bcmdhd driver to module driver
iii) ) adds a logical clipper and decimator node
– interfaced with parallel compatible with tw9900 sensor. It’s added as a logical device to use the same VIP port 1 with clipper_1.
So it creates two video device using the same port.
(like video7, video8)
Each video device can’t compatible with the other.
Both video device can’t be used together.
iv) Changes PLL for audio dfs.(pll2→pll3)
v) Deletes i2s2 mclk node by conflicting with i2s1 mclk.
vi) Divides sound card with main/sub audio codec.
– conflicting mixer control name by same two audio codec.
vii) Change SDIO1 module type
 3  daudio_ref  i) Add input feature,
– This feature is required for the touch_gen tool included in the SDK.
– The touch_gen is a tool to test daudio apps by clicking a random pointer.
ii) removes fast preview option
 4 s5p6818_avn_ref  i) add decimator node to s5p6818 avn ref board.
ii) add logical video nodes and decimator node interfaced with mipi and compatible with tw9992 sensor. It’s added as a logical device to use the same VIP port 0 with clipper_0.
So it creates two video device using the same port.
(like video6, video7)
Each video device can’t compatible with the other.
Both video device can’t be used together.
 5  convergence_daudio  Add  convergence_daudio board
 6  DRM Aadd fc_code dts node.
fc_code default value is 0x4. it can change to dts files.
&dp_drm_lvds {
status = “ok”;
fc_code = <0x1>;
 7  USB f_iap: Update f_iap
Patch for allgo carplay related M4.2.
 8  MAX9286 Modify lost end frame fixed error ‘Lost of Frame End packet’error between max9286 – max9271
 9  TP2912 Fix the tp2912 init reg value to enable the 720p output.
10 TW9992 i) Add enum_frame_interval, enum_frame_size callback to work with Android Nougat.
ii) Add a g_crop ops for vip cropping.
This is supported for s5p6818 only.
11 TW8834 Add tw8834 device driver.
The TW8834 is a highly integrated LCD video processor that incorporates many of the key features required to create a multi-purpose LCD display system into a single package.
12 TP2825 Change the tp2825 driver

– Supports CVBS CAMERA.
– NTSC 960*480i
– PAL 960*567i

13 nx-vpu Add compatible vpu driver
This patch adds compatible vpu driver.
This driver is based on nxp3220 device driver.
This patch change generic compatible name of vpu.
14 Deinterlace Add driver for s5p6818
15 Decimator Adds a subdev_call.
Adds a subdev_call for s_stream to support decimator only mode without clipper running.
16 csi, clipper i) Add a g_crop ops to get a crop information from sub device
ii) Fix a pwm configuration
iii) Change module for default camera
– Change default camera module number form 0 to 1.
– The default quick camera was SVM camera,
but it was changed to a regular camera.
17 wlan: bcmdhd_cypress Supports feature for module type enable feature when module type compile.


3.1.5. Library

No Build Name/Feature Description Remark
1 nx-gst-meta Moved to mm_types.h file from nx-v4l2.
2 nx-scaler Added checking android version to integrate with exisiting code.
3 nx-v4l2 Moved mm_types.h file to nx-gst-meta repository.
4 nx-video-api i) Removed the header from the input stream
ii) Added used byte and remain byte in decoder.


3.1.6. Application

No Build Name/Feature Description Remark
1 NxVideoPlayer Changed to Qt5.6 version
2 nx_video_api_test Added nx_video_api_test application


3.1.7. meta-nexell-distro

No Build Name/Feature Description
1 tslib i) Modified tslib-nexell recipe and calibration files
ii) Added nx_init, NxQuickRearCam bin and no-use-tslib
2 Toolchain External toolchain recipe update

Modified gcc-linaro-4.9-2015.05-x86-64-aarch64-linux-gnu recipe file.
The SRC_URI address changed from NexellBackup of github to NexellCorp for gerrithub.
And the tarball file was compressed and divided into smaller sizes.

3 nx-gst-meta Fixed nx-gst-meta recipe build error fixed when make install.
4 qtbootlauncher i) Modify qtbootlauncher makefile
ii) Dynamically applies the QPA platform and input rules.
iii) Applies ‘BOOTTIME_LAUNCHER’ env in this recipe
– We can set the launcher boot time to be flexible in board config file.
5 daudio_ref i) Apply dynamic SDK version number.
ii) adds OE_QMAKE_STRIP env.
iii) adds smart-voice-app in BBMASK.
iv) adds insane_skip “already_stripped” in daudio sdk recipe.
v) update daudio qt recipes
This patch adds eglfs-kms recipe.
This patch changes eglfs applying rules.
This patch improves the daudio how to apply.
– How to apply daudio features
Example Target : navi_ref
Edit the tools/configs/board/s5p4418-navi-ref.xml at this line as below.DISTRO_FEATURES_append = ” nexell-navi-ref support-ffmpeg support-daudio support-daudio-sdk”
6 navi_ref i) Adds quickboot enable config.
ii) Changes rootfs size.
7 sdl-fb i) add can-utils and iproute2
8 qt i) separates the bootanim from the daudio category into a regular feature.
ii) separates QT launcher according to the QT version.
iii) Add cinematic launcher bbappend
If bootanimation is running before the launcher is shown, exit it.
This patch removes sleep from the luncher script.
iv) QT5.8 support
build usage : ./tools/build.sh s5p4418-navi-ref qt -q 5.8.x
9 connectivity i) Update allgo connectivity
This patch upgrades allgo connectivity M4.1 to M4.2.
This patch patches dbus core.
ii) Add the nexell car connectivity SDK recipe.
adds the nexell car connectivity SDK recipe.
– The name of the car connectivity SDK is called the nexell carconn SDK.
This patch adds distro feature rule.
– Distro feature name is “support-carconn-sdk”Notice : If you want to build nexell carconn sdk, add “support-carconn-sdk” to DISTRO_FEATURES in target board config xml file.
iii) adds bluetooth, nxlogrotare featues, support-daudio, support-azurewave-bt in DISTRO_FEATURES
iv) added allgo connectivity sdk recipe name.
v) adds carplay audio paths.
vi) adds dependency libraries.
– protobuf-c
– icu
vii) removes ‘g’ Cflag.
viii) adds dependency library.
– openssl
10 optee i) optee-linuxdriver build error fixed
11 adb i) changes the adb daemon to be enabled by defaullt.
ii) renames start_adbd-daudio_ref to start_adbd-daudio
12 convergence-daudio i) adds recipe and script files of convergence-daudio.
13 sdk i) Rename nexell qt sdk env bbclass
This patch renames the nexell sdk env bbclass.
– Because the env file is intended for the general QT SDK, not for a specific SDK, it is renamed politically.ii) Update the daudio SDK recipe.This patch optimizes the daudio SDK recipe.
This patch changes the daudio SDK version v1.0 to v1.1.0 (currently)iii) adds environment variable ‘OECORE_SOCNAME’ in recipe.
– It is related to whether QML is applied when runtime building the Daudio SDK.
iv) removes ‘g’ Cflag.
v) add “target_machine” macro for distingulish target manchine.
vi) fixes MACHINE_TARGET env name.
– adds environment variable ‘OECORE_SOCNAME’ in recipe.
– It is related to whether QML is applied when runtime building the Daudio SDK.
vii) rename display audio sdk recipe name
add recipes-solutions directory for solutions.
And display audio recipes move to recipes-solutions directory.
 14  daudio_ref  i) correctly fixes syntax “BBMASK” to “BBMASK_append”.
ii)  adds ‘BOOTTIME_LAUNCHER’ for qtbootlauncher.
 15  nx-video-api  i) Remove nx-video-api patch This patch file does not neccessary
ii) delete useless dependency modules.
iii) add nx_video_api_test application’s recipe.
iv) adds nx_video_api_test module in the packagegroup-nexell-qt.bb
 16  gst-plugins  i) Change dependency module into nx-gst-metaThis patch changes dependency module from nx-v4l2 to nx-gst-meta for ‘mm_types.h’ file.
ii) Delete useless dependency modules.


3.1.8. ETC

No Build Name/Feature Description Remark
1 meta-nexell-sdk Update the poky toolchain environment.
This patch adds OE_QMAKE_STRIP in the toolchain environment file.
– OE_QMAKE_STRIP is required by default.
2 Tools i) xf86-video-armsoc-nexell build error fixed
fix build error xf86-video-armsoc-nexell recipe.
It is a patch for the build error that occurs when build another soc type image.build.shii) PV marking add
added PV definition in .bbappend files.
This feature is very important in build time that consist SRCPV value.iii) Remove nx-video-api patch
This patch remove the nx-video-api’s patch.iv) add convergence_daudio build in build.sh filev) build error fixed what happens if the chip name is different from the last build.vi) Change git repo name changes git repo name from origin to nexell because repository name is changed when migrating to github(gerrithub)



3.2. Android 7.x(Nougat) BSP

3.2.1. Android

No Build Name/Feature Description Remark
1 avn_ref i) Add supporting autorecovery env
This patch adds supporting build u-boot env param for sd auto recovery image.
When sd auto recovery runs, u-boot needs to know that this boot is for autorecovery
so, autorecovery_cmd env is added and build script changes autorecovery_cmd env by ${AUTORECOVERY_CMD}.ii) build/s5p6818: Add build bl1 for external sdcard
This patch adds supporting build bl1-s5p6818 for external sdcard.
Afterwards, build for bl1 always make two binary.
– bl1-emmcboot.bin -> bootloader
– bl1-sdboot.bin -> bootloader-sdYou can make bootable sdcard by below command.
$ sudo dd if=bootloader-sd of=/dev/sd{X} ibs=512 obs=512 seek=1iii) Add yaml describing sd recovery image
This patch adds sample yaml file that is used as input file for nx-make-recovery.py.
nx-make-recovery.py tool depends on this yaml file when making sd bootable recovery image.simple description of yaml
image_dir: result directory that is made by build script
bootloader: bootloader for sd booting(made to named bootloader-sd)
make_partition: do format?
images: image description compatible with partmap.txt
– type: 1: raw, 2: raw partition, 3: ext4 sparse image
– file: file name
– dest_offset: offset at emmciv) add a new video device “video7” as a front camera compatible with a interlaced tw9992 sensor.v) Change Camera Features Name to use deinterlacer
This patch modifies a feature ‘BOARD_CAMERA_BACK_INTERLACED’ and ‘BOARD_CAMERA_FRONT_INTERLACED’ to use deinterlacer for supporting interlaced camera.
and adds a new feature ‘BOARD_CAMERA_BACK_COPY_MODE’ and ‘BOARD_CAMERA_FRONT_COPY_MODE’ to run clipper only by copying frame data for recording.vi) media: add a resolution info for new camera device
vii) media: Add a resolution for tw9992 using deinterlacerviii) sepolicy: Add nx-deinterlacer file contexts

viiii) ueventd: add /dev/nx-deinterlacer uevent rule.

 2  navi_ref i) media: add a new camera(ID:1) using tw9992 sensor

ii) config: camera: add a new Camera and modifies definitions following by CameraHAL changes.

iii) Revert “config: Disable bluetooth feature”
Since the BT function is basically provided, it must be activated regardless of whether the BT module exists or not.

 3  con_svma i) config: add a new video device device “video8” as a front camera compatible with a interlaced tw9900 sensor.

ii) media: add a resolution info for new camera device (cameraId = 1)

iii) component/quickboot: Use Home only
This patch removes following packages.
– Launcher3
– Settings
– Gallery2
– Camera2
– BluetoothMidiService
– ContactsProvider

And, add Home package that is simple home launcher.
Currently quickboot patch is extreme so general apps are not working properly.
In this mode, client apps will be added and tested.

iv) build: Fix setup_toolchain function because device/nexell/tools/common.sh is fixed for same issue.

 4  camera hal i) Fix a low framerate issue
This patch fixes a buffer queueing scenario because of a low fps issue.
One queueing by one dequeueing casue buffer underrun issues.
So it queue all registered buffer to vip when a buffer is dequeued.
And recover MAX_BUFFER_COUNT from 3 to 4 by no memory lacking issue during recording test with deinterlacing.ii) Add checking android version to integrate with exisiting code.
This patch adds checking android version to integrate with exisiting code and removes build warnings.iii) fixes a getAvaliableResolution function to support upscaling.iv) Add deinterlacing for interlaced cameraThis patch adds deinterlacer to support interlaced camera.
This feature enabled when following feature is enabled in BoardConfigCommon.mk
MAX_BUFFER_COUNT musb be bigger than 1 and smaller than 4
 5  nx-video-api i) Remove the header from the input stream

ii) adds used byte and remain byte in decoder.

 6 nx-deinterlacer  add nx-deinterlacer library



4. R2 Known Issue

No Title Description Remark
1 OTA  Recovery mode is not entered. Nougat/avn_ref
2  After OTA update, unused apps included. Nougat/avn_ref
3 Button If Press the LCD button, then there has Power off pop up window. Nougat/navi_ref, avn_ref
4 TMU/Thermal  TBD Almost
5 USB It can’t be auto mount. Nougat/avn_ref
6 MTP Not auto recognize. Nougat/avn_ref
7 Audio Recording It can’t work well. Nougat/convergence
8 BT The Settings doesn’t have “BT On” menu. Nougat/avn_ref
9 Android The Settings doesn’t have “Stay awake” function. Nougat/avn_ref
10 HDMI audio output Audio path(SPDIF) for HDMI can’t work.
Sound can output only on board speaker(and HP).
11 SPI boot mode Not Supported yet. All
12 HDMI HDCP Not Supported yet.
HDCP is verified in kernel-3.4.x BSP but, not current BSP.
13 adb install You have to run “adb root” before run “adb install”. Nougat/AVN series
14 adb connection After boot complete, you can connect USB with PC. Nougat/AVN series
15 HDMI connection When hdmi cable connecting/disconnecting frequently, Android would be reboot occurs. Nougat