Sunday, July 14, 2013

Android Engineering @ ESL.

Android MMF Slides 

http://www.embeddedsoftwarelabs.com/OpenCore_Architecture_ESL.pdf
libion_exynos: Add initial version
libcamera: Added CameraHAL Class
RGB_OVERLAY: screen flicker issue just before screen suspend
Usually, SurfaceFlinger calls hwc_set with dpy & sur parameters NULL to indicate that the screen is turning off.Sometimes, hwc_set is called with only the list parameter NULL (before the actual screen suspend).
call forcibly FB_BLANK_POWERDOWN when initialze window
In s3c_fb_set_par(), it Enable DMA channel for this window. so when hwc_device_open(), it Enable DMA channel for window 0, 1, 2. although it does not use.
ui_dipslay issue after wakeup from suspend.
UI is being disappeared sometimes after wakeup from suspend. The issue was happened because of window configuration problem. window was not getting reconfigured after wakeup from resume. So, it needs to preserve the window configuration before entering suspend. The modified code preserves the winodw configuration.
when HDMI cable was plugged after boot on, HDMI output isn't displayed on the TV.
When HDMI cable was plugged after boot on, HDMI output isn't displayed on the TV before Change UI. The cause of this problem is blit2hdmi function not called, blit2hdmi function was called.
glReadPixel is added before the eglSwapBuffers.
glReadPixel call ensures the composition done.
Performance optimization for OVERLAY + FB composition.
OVERLAY + FB scenario ===> video + UI layers (when number of layers are more than2).glReadPixels and eglSwapBuffers calls are seperated for improving the OVERLAY + FB scenario performance. SO, the GSC operation and 3D operation will happen in parallel.
Support scalable fb
Scalable FB requires some modifications to libhdmi 1. Added getHdmiResolution function 2. Added resetTVOutService to reset handle to 0 (NULL) 3. Added kill routine in ExynosHdmi::connect if newly connected TV has a different max resolution than the previous one
Add initial device files for Android board





























Diffstat
-rw-r--r-- Android.mk 37
-rw-r--r-- codecs/Android.mk 3
-rw-r--r-- codecs/sec_codecs/Android.mk 1
-rw-r--r-- codecs/sec_codecs/audio/Android.mk 11
-rw-r--r-- codecs/sec_codecs/audio/exynos4/Android.mk 14
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/alp/Android.mk 26
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/alp/include/srp_api.h 52
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/alp/include/srp_error.h 22
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/alp/include/srp_ioctl.h 23
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/alp/src/srp_api.c 265
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/libsa_jni/Android.mk 13
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/libsa_jni/SACtrl.c 33
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/ulp/Android.mk 23
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/ulp/include/srp_api.h 55
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/ulp/include/srp_api_ctrl.h 25
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/ulp/include/srp_ioctl.h 66
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/ulp/src/srp_api.c 381
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/ulp/src/srp_api_ctrl.c 331
-rw-r--r-- codecs/sec_codecs/audio/exynos5/Android.mk 9
-rw-r--r-- codecs/sec_codecs/audio/exynos5/srp/alp/Android.mk 26
-rw-r--r-- codecs/sec_codecs/audio/exynos5/srp/alp/include/srp_api.h 52
-rw-r--r-- codecs/sec_codecs/audio/exynos5/srp/alp/include/srp_error.h 22
-rw-r--r-- codecs/sec_codecs/audio/exynos5/srp/alp/include/srp_ioctl.h 23
-rw-r--r-- codecs/sec_codecs/audio/exynos5/srp/alp/src/srp_api.c 265
-rw-r--r-- codecs/sec_codecs/video/Android.mk 11
-rw-r--r-- codecs/sec_codecs/video/exynos4/Android.mk 7
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc/Android.mk 38
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc/dec/src/SsbSipMfcDecAPI.c 1165
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc/enc/src/SsbSipMfcEncAPI.c 866
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc/include/SsbSipMfcApi.h 420
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc/include/mfc_errno.h 79
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc/include/mfc_interface.h 528
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc_v4l2/Android.mk 34
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc_v4l2/dec/src/SsbSipMfcDecAPI.c 1352
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc_v4l2/enc/src/SsbSipMfcEncAPI.c 1206
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc_v4l2/include/SsbSipMfcApi.h 382
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc_v4l2/include/mfc_errno.h 79
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc_v4l2/include/mfc_interface.h 541
-rw-r--r-- codecs/sec_codecs/video/exynos5/Android.mk 7
-rw-r--r-- codecs/sec_codecs/video/exynos5/mfc_v4l2/Android.mk 34
-rw-r--r-- codecs/sec_codecs/video/exynos5/mfc_v4l2/dec/src/SsbSipMfcDecAPI.c 1740
-rw-r--r-- codecs/sec_codecs/video/exynos5/mfc_v4l2/enc/src/SsbSipMfcEncAPI.c 1506
-rw-r--r-- codecs/sec_codecs/video/exynos5/mfc_v4l2/include/SsbSipMfcApi.h 431
-rw-r--r-- codecs/sec_codecs/video/exynos5/mfc_v4l2/include/mfc_errno.h 79
-rw-r--r-- codecs/sec_codecs/video/exynos5/mfc_v4l2/include/mfc_interface.h 588
-rw-r--r-- component/audio/dec/Android.mk 20
-rw-r--r-- component/audio/dec/SEC_OMX_Adec.c 1376
-rw-r--r-- component/audio/dec/SEC_OMX_Adec.h 132
-rw-r--r-- component/audio/dec/mp3/Android.mk 32
-rw-r--r-- component/audio/dec/mp3/SEC_OMX_Mp3dec.c 925
-rw-r--r-- component/audio/dec/mp3/SEC_OMX_Mp3dec.h 63
-rw-r--r-- component/audio/dec/mp3/library_register.c 58
-rw-r--r-- component/audio/dec/mp3/library_register.h 54
-rw-r--r-- component/common/Android.mk 43
-rw-r--r-- component/common/SEC_OMX_Basecomponent.c 1535
-rw-r--r-- component/common/SEC_OMX_Basecomponent.h 196
-rw-r--r-- component/common/SEC_OMX_Baseport.c 1014
-rw-r--r-- component/common/SEC_OMX_Baseport.h 95
-rw-r--r-- component/common/SEC_OMX_Resourcemanager.c 478
-rw-r--r-- component/common/SEC_OMX_Resourcemanager.h 59
-rw-r--r-- component/video/dec/Android.mk 25
-rw-r--r-- component/video/dec/SEC_OMX_Vdec.c 1544
-rw-r--r-- component/video/dec/SEC_OMX_Vdec.h 160
-rw-r--r-- component/video/dec/h264/Android.mk 77
-rw-r--r-- component/video/dec/h264/SEC_OMX_H264dec.c 2603
-rw-r--r-- component/video/dec/h264/SEC_OMX_H264dec.h 74
-rw-r--r-- component/video/dec/h264/library_register.c 65
-rw-r--r-- component/video/dec/h264/library_register.h 57
-rw-r--r-- component/video/dec/mpeg4/Android.mk 60
-rw-r--r-- component/video/dec/mpeg4/SEC_OMX_Mpeg4dec.c 2099
-rw-r--r-- component/video/dec/mpeg4/SEC_OMX_Mpeg4dec.h 92
-rw-r--r-- component/video/dec/mpeg4/library_register.c 63
-rw-r--r-- component/video/dec/mpeg4/library_register.h 59
-rw-r--r-- component/video/dec/vc1/Android.mk 60
-rw-r--r-- component/video/dec/vc1/SEC_OMX_Wmvdec.c 2010
-rw-r--r-- component/video/dec/vc1/SEC_OMX_Wmvdec.h 94
-rw-r--r-- component/video/dec/vc1/library_register.c 57
-rw-r--r-- component/video/dec/vc1/library_register.h 52
-rw-r--r-- component/video/dec/vp8/Android.mk 60
-rw-r--r-- component/video/dec/vp8/SEC_OMX_Vp8dec.c 1661
-rw-r--r-- component/video/dec/vp8/SEC_OMX_Vp8dec.h 66
-rw-r--r-- component/video/dec/vp8/library_register.c 58
-rw-r--r-- component/video/dec/vp8/library_register.h 54
-rw-r--r-- component/video/enc/Android.mk 32
-rw-r--r-- component/video/enc/SEC_OMX_Venc.c 1857
-rw-r--r-- component/video/enc/SEC_OMX_Venc.h 166
-rw-r--r-- component/video/enc/h264/Android.mk 40
-rw-r--r-- component/video/enc/h264/SEC_OMX_H264enc.c 1605
-rw-r--r-- component/video/enc/h264/SEC_OMX_H264enc.h 77
-rw-r--r-- component/video/enc/h264/library_register.c 55
-rw-r--r-- component/video/enc/h264/library_register.h 55
-rw-r--r-- component/video/enc/mpeg4/Android.mk 40
-rw-r--r-- component/video/enc/mpeg4/SEC_OMX_Mpeg4enc.c 1803
-rw-r--r-- component/video/enc/mpeg4/SEC_OMX_Mpeg4enc.h 77
-rw-r--r-- component/video/enc/mpeg4/library_register.c 64
-rw-r--r-- component/video/enc/mpeg4/library_register.h 59
-rw-r--r-- core/Android.mk 26
-rw-r--r-- core/SEC_OMX_Component_Register.c 264
-rw-r--r-- core/SEC_OMX_Component_Register.h 75
-rw-r--r-- core/SEC_OMX_Core.c 364
-rw-r--r-- core/SEC_OMX_Core.h 78
-rw-r--r-- include/khronos/OMX_Audio.h 1311
-rw-r--r-- include/khronos/OMX_Component.h 579
-rw-r--r-- include/khronos/OMX_ContentPipe.h 195
-rw-r--r-- include/khronos/OMX_Core.h 1431
-rw-r--r-- include/khronos/OMX_IVCommon.h 920
-rw-r--r-- include/khronos/OMX_Image.h 328
-rw-r--r-- include/khronos/OMX_Index.h 258
-rw-r--r-- include/khronos/OMX_Other.h 337
-rw-r--r-- include/khronos/OMX_Types.h 347
-rw-r--r-- include/khronos/OMX_Video.h 1060
-rw-r--r-- include/sec/SEC_OMX_Def.h 182
-rw-r--r-- include/sec/SEC_OMX_Macros.h 66
-rw-r--r-- openmax/Android.mk 3
-rw-r--r-- openmax/sec_omx/Android.mk 32
-rw-r--r-- openmax/sec_omx/component/audio/dec/Android.mk 19
-rw-r--r-- openmax/sec_omx/component/audio/dec/SEC_OMX_Adec.c 1376
-rw-r--r-- openmax/sec_omx/component/audio/dec/SEC_OMX_Adec.h 132
-rw-r--r-- openmax/sec_omx/component/audio/dec/mp3/Android.mk 31
-rw-r--r-- openmax/sec_omx/component/audio/dec/mp3/SEC_OMX_Mp3dec.c 925
-rw-r--r-- openmax/sec_omx/component/audio/dec/mp3/SEC_OMX_Mp3dec.h 63
-rw-r--r-- openmax/sec_omx/component/audio/dec/mp3/library_register.c 58
-rw-r--r-- openmax/sec_omx/component/audio/dec/mp3/library_register.h 54
-rw-r--r-- openmax/sec_omx/component/common/Android.mk 43
-rw-r--r-- openmax/sec_omx/component/common/SEC_OMX_Basecomponent.c 1535
-rw-r--r-- openmax/sec_omx/component/common/SEC_OMX_Basecomponent.h 196
-rw-r--r-- openmax/sec_omx/component/common/SEC_OMX_Baseport.c 1014
-rw-r--r-- openmax/sec_omx/component/common/SEC_OMX_Baseport.h 95
-rw-r--r-- openmax/sec_omx/component/common/SEC_OMX_Resourcemanager.c 478
-rw-r--r-- openmax/sec_omx/component/common/SEC_OMX_Resourcemanager.h 59
-rw-r--r-- openmax/sec_omx/component/video/dec/Android.mk 23
-rw-r--r-- openmax/sec_omx/component/video/dec/SEC_OMX_Vdec.c 1544
-rw-r--r-- openmax/sec_omx/component/video/dec/SEC_OMX_Vdec.h 160
-rw-r--r-- openmax/sec_omx/component/video/dec/h264/Android.mk 76
-rw-r--r-- openmax/sec_omx/component/video/dec/h264/SEC_OMX_H264dec.c 2603
-rw-r--r-- openmax/sec_omx/component/video/dec/h264/SEC_OMX_H264dec.h 74
-rw-r--r-- openmax/sec_omx/component/video/dec/h264/library_register.c 65
-rw-r--r-- openmax/sec_omx/component/video/dec/h264/library_register.h 57
-rw-r--r-- openmax/sec_omx/component/video/dec/mpeg4/Android.mk 59
-rw-r--r-- openmax/sec_omx/component/video/dec/mpeg4/SEC_OMX_Mpeg4dec.c 2099
-rw-r--r-- openmax/sec_omx/component/video/dec/mpeg4/SEC_OMX_Mpeg4dec.h 92
-rw-r--r-- openmax/sec_omx/component/video/dec/mpeg4/library_register.c 63
-rw-r--r-- openmax/sec_omx/component/video/dec/mpeg4/library_register.h 59
-rw-r--r-- openmax/sec_omx/component/video/dec/vc1/Android.mk 59
-rw-r--r-- openmax/sec_omx/component/video/dec/vc1/SEC_OMX_Wmvdec.c 2010
-rw-r--r-- openmax/sec_omx/component/video/dec/vc1/SEC_OMX_Wmvdec.h 94
-rw-r--r-- openmax/sec_omx/component/video/dec/vc1/library_register.c 57
-rw-r--r-- openmax/sec_omx/component/video/dec/vc1/library_register.h 52
-rw-r--r-- openmax/sec_omx/component/video/dec/vp8/Android.mk 59
-rw-r--r-- openmax/sec_omx/component/video/dec/vp8/SEC_OMX_Vp8dec.c 1661
-rw-r--r-- openmax/sec_omx/component/video/dec/vp8/SEC_OMX_Vp8dec.h 66
-rw-r--r-- openmax/sec_omx/component/video/dec/vp8/library_register.c 58
-rw-r--r-- openmax/sec_omx/component/video/dec/vp8/library_register.h 54
-rw-r--r-- openmax/sec_omx/component/video/enc/Android.mk 31
-rw-r--r-- openmax/sec_omx/component/video/enc/SEC_OMX_Venc.c 1857
-rw-r--r-- openmax/sec_omx/component/video/enc/SEC_OMX_Venc.h 166
-rw-r--r-- openmax/sec_omx/component/video/enc/h264/Android.mk 39
-rw-r--r-- openmax/sec_omx/component/video/enc/h264/SEC_OMX_H264enc.c 1605
-rw-r--r-- openmax/sec_omx/component/video/enc/h264/SEC_OMX_H264enc.h 77
-rw-r--r-- openmax/sec_omx/component/video/enc/h264/library_register.c 55
-rw-r--r-- openmax/sec_omx/component/video/enc/h264/library_register.h 55
-rw-r--r-- openmax/sec_omx/component/video/enc/mpeg4/Android.mk 39
-rw-r--r-- openmax/sec_omx/component/video/enc/mpeg4/SEC_OMX_Mpeg4enc.c 1803
-rw-r--r-- openmax/sec_omx/component/video/enc/mpeg4/SEC_OMX_Mpeg4enc.h 77
-rw-r--r-- openmax/sec_omx/component/video/enc/mpeg4/library_register.c 64
-rw-r--r-- openmax/sec_omx/component/video/enc/mpeg4/library_register.h 59
-rw-r--r-- openmax/sec_omx/core/Android.mk 26
-rw-r--r-- openmax/sec_omx/core/SEC_OMX_Component_Register.c 264
-rw-r--r-- openmax/sec_omx/core/SEC_OMX_Component_Register.h 75
-rw-r--r-- openmax/sec_omx/core/SEC_OMX_Core.c 364
-rw-r--r-- openmax/sec_omx/core/SEC_OMX_Core.h 78
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_Audio.h 1311
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_Component.h 579
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_ContentPipe.h 195
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_Core.h 1431
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_IVCommon.h 920
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_Image.h 328
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_Index.h 258
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_Other.h 337
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_Types.h 347
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_Video.h 1060
-rw-r--r-- openmax/sec_omx/include/sec/SEC_OMX_Def.h 182
-rw-r--r-- openmax/sec_omx/include/sec/SEC_OMX_Macros.h 66
-rw-r--r-- openmax/sec_omx/osal/Android.mk 42
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Android.cpp 579
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Android.h 81
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_ETC.c 237
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_ETC.h 66
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Event.c 217
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Event.h 61
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Library.c 54
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Library.h 46
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Log.c 56
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Log.h 79
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Memory.c 71
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Memory.h 48
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Mutex.c 93
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Mutex.h 47
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Queue.c 174
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Queue.h 66
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Semaphore.c 134
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Semaphore.h 49
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Thread.c 158
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Thread.h 48
-rw-r--r-- osal/Android.mk 42
-rw-r--r-- osal/SEC_OSAL_Android.cpp 579
-rw-r--r-- osal/SEC_OSAL_Android.h 81
-rw-r--r-- osal/SEC_OSAL_ETC.c 237
-rw-r--r-- osal/SEC_OSAL_ETC.h 66
-rw-r--r-- osal/SEC_OSAL_Event.c 217
-rw-r--r-- osal/SEC_OSAL_Event.h 61
-rw-r--r-- osal/SEC_OSAL_Library.c 54
-rw-r--r-- osal/SEC_OSAL_Library.h 46
-rw-r--r-- osal/SEC_OSAL_Log.c 56
-rw-r--r-- osal/SEC_OSAL_Log.h 79
-rw-r--r-- osal/SEC_OSAL_Memory.c 71
-rw-r--r-- osal/SEC_OSAL_Memory.h 48
-rw-r--r-- osal/SEC_OSAL_Mutex.c 93
-rw-r--r-- osal/SEC_OSAL_Mutex.h 47
-rw-r--r-- osal/SEC_OSAL_Queue.c 174
-rw-r--r-- osal/SEC_OSAL_Queue.h 66
-rw-r--r-- osal/SEC_OSAL_Semaphore.c 134
-rw-r--r-- osal/SEC_OSAL_Semaphore.h 49
-rw-r--r-- osal/SEC_OSAL_Thread.c 158

-rw-r--r-- osal/SEC_OSAL_Thread.h

Sunday, April 21, 2013

TFTP LCD PANEL STRUCTURE:

Linux 3.5 Drv Arch commits : A best and simple examples for LED , PMIC, backlight , char driver, to start and simple, are integrated. 
And a new and most important commit on IOMMU ... gr8 
Added Renasas armadillo800eva board support.
iommu/exynos: Add iommu driver for EXYNOS Platforms
This is the System MMU driver and IOMMU API implementation for EXYNOS SoC platforms. EXYNOS platforms has more than 10 System MMUs dedicated for each multimedia accelerators. The System MMU driver is already in arc/arm/plat-s5p but it is moved to drivers/iommu due to Ohad Ben-Cohen gathered IOMMU drivers there. Any device driver in EXYNOS platforms that needs to control its System MMU must call platform_set_sysmmu() to inform System MMU driver who will control it. platform_set_sysmmu() is defined in







Adding a AHB driver, example is can be taken as Tegra : how about commit , and this is the link: 

Then how about MT in HID  feature 

Adding Class D , Stereo Amplifiers ,  driver in ST ,...Multi standard  Sound Processor  ... 
SMARTY LK 3.5 ....


Block diagram for MSP ref design : 
PMIC :

RICOH PMIC RC5T583 regulator Nvidia 

TPS65090 regulator driver 

Friday, April 12, 2013

CAMERA INTERFACE TO AXI BUS (MIPI Camera Serial Interface 1.0specification .Camera Serial Interface 2 v1.0 (CSI-2)