SGX-BIN: DDK binaries and km source for OMAP5: 1.9IMG2166536_TI.0005
[android-sdk/device-ti-proprietary-open.git] / omap4 / README.SGX
1 #==========================================================================
2 # SGX Binaries
3 #==========================================================================
5 sgx.tgz now contains two sets of binaries. One built for SGX540 and one built for SGX544.
6 The SGXCORE and SGC_CORE_REV is appended to the end of each file. pvrsrvinit is now a
7 wrapper which detects the current processor and loads the corresponding core specific
8 pvrsrvinit.
10 [DDK Version]
11     1.9@2166536
12 [DDK commit ID]
13     084d3db SGX-KM: sgxfreq: Enable on3demand governor as default
14 [Branch]
15     origin/1.9/2166536
16 [Tag]
17     1.9IMG2166536_TI.0003
18 [Kernel modules built against]
19     Kernel Version: 3.0.31 with CONFIG_MODVERSIONS=y and CONFIG_SCHED_TRACER=y
20 [Patches added since last release]
21     New DDK version 1.9@2166536
22     084d3db SGX-KM: sgxfreq: Enable on3demand governor as default
23     c1e1f93 SGX-KM: on3demand: Added polling based on timeout
24     1baf19c Build: Compile OMAP4 kernel modules with arm-eabi toolchain
25     e166956 Build: Add production build option to build script
26     9efd5d3 SGX UM: Properly update vertex shader constants when recompiled
27     f6e71f1 Revert "Build: Add optional flag to disable uKernel logging"
28     a49e042 SGXKM: Inherit PVRSRV_HAP_GPU_PAGEABLE flag
29     f05da87 SGXUM: Creates a new PVRSRV_HAP MAPPING CTRL mask
30     0e6ac23 SGXKM: Creates a new PVRSRV_HAP MAPPING CTRL mask
31     5044cbb SGXKM: Divorce Sparse Mapping from GPU Pageable
32     4abdd37 SGX-KM: sgxfreq: Header for GPL license
33     7a1e61b gpu: thermal: adding cooling device for "case" management
34     1221aba SGX-KM: Add 'userspace' governor to sgxfreq
35     7cc1319 SGX-KM: Add on3demand governor to sgxfreq
36     c3283ff SGX-KM: Allow sgxfreq active notification when prev state was active
37     7275e62 SGX-KM: Add idle and active time caluclation to sgxfreq
38     e15265c SGX-KM: Add frame_done interface to sgxfreq
39     a021f10 SGX-KM: Add activeidle governor to sgxfreq
40     bbdceee SGX-KM: Add active/idle notification to sgxfreq
41     4e1e8d9 SGX-UM: Rework SGX idle notification
42     fce3459 SGX-KM: Rework SGX idle notification
43     17cdf8c SGX-KM: Add onoff governor to sgxfreq
44     403caa1 SGX-KM: Add cooling device interface to sgxfreq
45     1d785b8 SGX-KM: Add sgxfreq subsystem for DVFS control
46     14de6d8 Build: Add optional flag to disable uKernel logging
47     374bea1 SGX UM: Set ro.product.processor before loading modules
48     91d286d SGX UM: Pvrsrvinit fix typo in remount command
49     3d08869 SGX UM: Remove BRN32044 for omap5
50     086f52b OMAP5: WA: Race condition when SGX is powered down
51     1a904c2 SGX KM: ShrinkPagePool statistics changed to PVR_DBG_MESSAGE
52     fbf2890 SGX KM: Fix num_handle calculation for ion handles
53     322af97 BUILD: fix usage and help
54     50440d3 BUILD: Add install option "adb"
55     ee66bfb pvr-km: gc: Add page offset for ion allocated buffers
56     be4fe11 pvr-km: gc: Improve gc map/unmap logging
57     51da16d gralloc: Map NV12 buffers with the GC MMU
58     210b590 SGX-KM: Enable APM for OMAP5
59     31e2f05 SGX-UM: Enable APM for OMAP5
60     a98b81b SGX-UM: Don't load omaplfb module when in-kernel driver is present
61     b20f5c6 SGX-KM: Support in-kernel omaplfb
62     0955f19 SGXKM: Multi-plane support for  deviceclass i-face
63     11f6682 build: remove omaplfb from install step
64     9ecd6e0 pvr-um: use arm-linux-androideabi- and fix JB debug build
65     abef31d PVR-UM: Make pvrsrvinit wrapper compatible with Jellybean
66     5b4e4f0 Revert "SGXUM: Implements Gralloc late CPU mapping"
67     5f25289 SGX-UM: build - Remove target platform based configuration
68     9d5ac31 OMAP5: BUILD: Remove unused variable
69     5365b64 readme: Correct DDK version
70     8095cc6 SGX-UM: Add support for hardware specific powervr.ini files
71     7e13d26 PVR-UM: Add support to DDK for powervr.ini files
72     e545f59 SGX-UM: Added 16 bit depth EGL configs
73     27da0ae SGX UM: Srvinit block until services ready
74     ba35538 SGX UM: HAL block OpenPVRServices until services initialized
75     43f8c1f SGX UM: Fix calculation of chroma plane in blit_internal
76     f6a6944 SGX KM: Dump dsscomp info during HW recovery
77     fc6d85b SGXKM: Adds support for 1D buffer allocation
78     d8d061b SGXKM: Do not perform explicit invalidate on mmap
79     3ac6e1f SGXUM: Implements Gralloc late CPU mapping
80     b621744 SGXUM: Gralloc allow for late or no GPU mapping
81     dde30cf SGXUM: Add allocation of images from system heap
82     552c0f5 SGXUM: Adds A8/U8/Y8 color format to WSEGL
83     f1c7822 SGXKM: Increase XPROC_WORKAROUND to 500
84     65f61bf SGXKM: Fix cc-check.sh file permissions
85     0dfe392 SGXKM: Make the DMM offset optional
86     946eb30 gralloc: add support for GRALLOC_USAGE_EXCLUSIVE_DISP
87     5cf7248 gralloc: publicly define omap specific usage flags
88     afcb9bd SGX-KM: Block DPLL cascading when SGX clock is enabled
89     616ff0b SGX-KM: Hold wake lock during hardware recovery
90     872b4c0 SGXKM: Fix NULL handle warning when blitting GC320
91     39de55c SGXKM: Allow for late or no GPU mapping
92     d229a7b SGXKM: Allow for SW access to a tiler buffer
93     7024790 SGXUM: Adds YUV plane offsets for MM
94     d202649 SGXKM: SGX Tiler non-page-aligned support
95     2b2ac18 SGXUM: Implements GPU Common Buffer Interface
96     86cd052 SGXUM: Multi-buffer manage bridge
97     d272c49 SGXKM: Multi-buffer manage bridge
98     4d8facf SGXKM: Implements Heap Alloc Failure Report
99     6d4253a SGXUM: Add support for GPU unmap/remap
100     64f4805 SGXKM: Add support for GPU unmap/remap
101     5425356 SGX-KM: Use CONFIG_DRM_OMAP_DMM_TILER for kernel 3.4
102     853be19 SGX-KM: Use pud_offset to get pmd_offset
103     5ec5d70 PVR-KM: Prevent compilation of dc_omapfb3_linux
104     1bbe8a2 SGX-KM: Remove hardcoding of values in egl.cfg
105     83b8af6 pvr-km: kfree phys info at unmap instead of map
106     f347fb9 pvr-km: add a struct size to the physical descriptor
107     6ccff8f gralloc: Set flag to enable GC MMU mapping in PVR services
108     0cfaa6d PVR-KM: Add function to obtain BV descriptor through 3PDC interface
109     c8f4c5f PVR-KM: Map buffers to GC core MMU on allocation time with Bltsville
110     65b2b84 SGXKM: Prevent mapping of export with zero ref
111     f4cc0a2 OMAP4-SGX-UM: Allow for tiler buffer SW access
112     5c97ded OMAP4-SGX-UM: Gralloc SW access and caching flags
113     bbf5424 OMAP4-SGX-UM: Gralloc HAL_PIXEL_FORMAT_NV12 format
114     ec6cc69 SGX-KM: Make PVRSRVExportFDToIONHandles generic and register it with ion
115     8c1255d PVR-KM: OMAP5: Use shared device for Tiler 2D Mappings
116     2391ac8 PVR-KM: OMAP5: Hardcode core version value
117     7d87962 SGX-KM: OMAP5: HACK: Set the size of the SGX registers
118     9f40224 SGX-UM: add detection of OMAP5432 in pvrsrvinit
119     f75d48b SGX-UM: build: Add panda5 and omap5sevm to product list
120     c23eff9 SGX-KM: BUILD: Add OMAP5 support
121     5cc4ade SGX-UM: BUILD: Consolidate build into a single Makefile
122     2c6a2f6 SGX-KM: (build) Remove Android product and version dependency
123     6f54fe8 Build: Don't install egl.cfg anymore
124     a49c59c SGX-KM: egl.cfg sysfs entry
125     c759928 SGX-KM: Enable DPF, TRACE and ASSERT
126     1628094 build-km: Enable blaze and blaze_tablet for ICS environment
127     05f00eb build: Enable blaze and blaze_tablet for ICS environment
128     542e279 SGX-KM: Add ability to build multiple sets of GFX kernel modules
129     69d3661 build: Set correct load directory for kernel modules.
130     2dfe14b KM: add support for sgx544sc
131     58f317a SGX-UM: Add ability to build multiple sets of GFX binaries
132     04e5deb SGX-KM: Use platform data for OPP symbols.
133     5eed373 SGX-UM: Enable building binaries for specific SGX
134     0801be2 readme: Add README
135     649d010 build: Add build_DDK.sh
136     fe34640 Create gitignore file
137     519ca9a IMG DDK 1.9@2166536 for Android
138     de46d4e IMG DDK 1.9RC2@2139099 for Android
139     7978e98 IMG DDK 1.9@2130229 for Android
140     9f9a103 IMG DDK 1.9@2120756 for Android
141     e35c780 IMG DDK 1.9@2116380 for Android
142     62cc4a1 IMG DDK 1.9RC956766 for Android
143     e38619c IMG DDK 1.9ED956766 for Android
144     6a92688 IMG DDK 1.9@950428 for Android
145     d78e0ed Merge "IMG DDK 1.9@940848" into img_ddk_1.9
146     1ebf198 IMG DDK 1.9@940848
147     ae62bbf IMG DDK 1.9@905526 for Android
148     7c3819b IMG DDK 1.9@875649 for Android
149     a4b253a IMG DDK 1.9@807970 for Android
150     6d190d4 IMG DDK 1.9@796078 for Android
151     98986f5 Initial
153 #==========================================================================
154 #   Cloning instructions
155 #==========================================================================
156 # git clone ssh://<your_AID>@gerrit.ext.ti.com:29418/img-ddk-linux-android
157 # cd img-ddk-linux-android
158 # git checkout -b <local_branch_name> remotes/origin/1.9/2166536
159 # git reset --hard 1.9IMG2166536_TI.0003
161 #===========================================================================
162 #   Build and Install Instructions
163 #===========================================================================
164 DDK:
165 - Building DDK
166 Go through README in ddk source tree.
168 Build for 4430/4460
169 # ./build_DDK.sh -g 540 --build release
171 Build for 4470
172 # ./build_DDK.sh -g 544sc --build release
174 - Installing DDK
175 # export DISCIMAGE=<PATH TO ANDROID ROOT DIRECTORY>
176 # ./build_DDK.sh -g 540 --install release
177 # ./build_DDK.sh -g 544sc --install release
179 #===========================================================================
180 #   Building SGX Kernel Modules
181 #===========================================================================
182 SGX kernel modules source is located in sgx_src/eurasia_km.tgz
184 Make sure kernel is built before building modules
186 #tar -xvf ANDROID_ROOT/device/ti/proprietary-open/omap4/sgx_src/eurasia_km.tgz
188 # cd ANDROID_ROOT/device/ti/proprietary-open/omap4/sgx_src/eurasia_km/eurasiacon/build/linux2/omap4430_android/
189 # export KERNELDIR=path_to_kernel
191 To build for OMAP4460/OMAP4430 (SGX 540):
192 # make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- TARGET_PRODUCT="blaze_tablet" BUILD=release TARGET_SGX=540 PLATFORM_VERSION=4.0
194 To build for OMAP4470 (SGX 544 single core):
195 # make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- TARGET_PRODUCT="blaze_tablet" BUILD=release TARGET_SGX=544sc PLATFORM_VERSION=4.0
197 Once the .ko's are built, install them onto device (/system/lib/modules)
199 For 4460:
200 # cd ANDROID_ROOT/device/ti/proprietary-open/omap4/sgx_src/eurasia_km/eurasiacon/binary2_540_120_omap4430_android_release/target/
201 # adb push pvrsrvkm_sgx540_120.ko /system/lib/modules/
203 For 4470
204 # cd ANDROID_ROOT/device/ti/proprietary-open/omap4/sgx_src/eurasia_km/eurasiacon/binary2_544_120_omap4430_android_release/target/
205 # adb push pvrsrvkm_sgx544_112.ko /system/lib/modules/
207 Reboot device.