i.MX Processors Knowledge Base

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX Processors Knowledge Base

Discussions

Sort by:
You already know. Your source code is one week old now, so please, update it! $ repo sync What was the changes? Please, read the output and determinate what file was changed. Directory tree This is what I have under fsl-community-bsp directory: $ tree -d -L 2 -A . ├── build_mx53 │   ├── conf │   ├── sstate-cache │   └── tmp ├── build_mx6 │   ├── conf │   ├── sstate-cache │   └── tmp ├── downloads │   └── git2 └── sources     ├── base     ├── meta-fsl-arm     ├── meta-fsl-arm-extra     ├── meta-fsl-demos     ├── meta-openembedded     └── poky Sstate-cache keeps the pre-build packages cache so once one package is built, and it´s not changes, no need to re-build it again. If a team shares the same build environment, the sstate-cache folder can be shared as well. I´m not personally used to configure it, so, please, follow the doc: Yocto Project Reference Manual The downloads folder is shared for any build folder. It holds every package´s source code. For example, the ssh source code (and this source code can be built for any architecture) In addition, you may want to share the download folder with your team (one download folder for the complete team), so please, go to Yocto Project Reference Manual and look for DL_DIR. Build_mx6 tree .../build_mx6$ tree -d -L 2 -A . ├── conf ├── sstate-cache └── tmp     ├── buildstats     ├── cache     ├── deploy     ├── log     ├── pkgdata     ├── sstate-control     ├── stamps     ├── sysroots     ├── work     └── work-shared Inside tmp folder you will find images and build results. Images is placed inside deploy. Build statistics like initial and final time for each package/task are under buildstats The complete log for any 'bitbake' you did is under log. Take a look, for example, on the file  log/cooker/imx6qsabresd/11111111111.log. Please, notice that 111111111 is the PID number, so every time you run bitbake you have a different one. The source code, the patches, and the logs for the last bitbake, for each package is under work. Take a look on the files under tmp/work/imx6qsabresd-poky-linux-gnueabi/linux-imx/3.0.35-r37.14/ for example, for the kernel. .../build_mx6$ tree -d -L 1 -A tmp/work/imx6qsabresd-poky-linux-gnueabi/linux-imx/3.0.35-r37.14/ tmp/work/imx6qsabresd-poky-linux-gnueabi/linux-imx/3.0.35-r37.14/ ├── deploy-linux-imx ├── deploy-rpms ├── git ├── image ├── license-destdir ├── package ├── packages-split ├── pkgdata ├── pseudo ├── sysroot-destdir └── temp Go under temp, and see a lot of log.* and run.*: .../build_mx6$ ls tmp/work/imx6qsabresd-poky-linux-gnueabi/linux-imx/3.0.35-r37.14/temp/ log.do_bundle_initramfs             log.do_uboot_mkimage                run.do_package_write_rpm.28992      run.perform_packagecopy.16364 log.do_bundle_initramfs.28986       log.do_uboot_mkimage.2325           run.do_patch                        run.populate_packages.16364 log.do_compile                      log.do_unpack                       run.do_patch.2556                   run.read_shlibdeps.16364 log.do_compile.3483                 log.do_unpack.1155                  run.do_populate_lic                 run.read_subpackage_metadata.28992 log.do_compile_kernelmodules        log.task_order                      run.do_populate_lic.10988           run.split_and_strip_files.16364 log.do_compile_kernelmodules.29051  run.base_do_fetch.28859             run.do_populate_sysroot             run.split_kernel_module_packages.16364 log.do_configure                    run.base_do_unpack.1155             run.do_populate_sysroot.17692       run.split_kernel_packages.16364 log.do_configure.3048               run.BUILDSPEC.28992                 run.do_qa_configure.3048            run.sstate_create_package.10988 log.do_deploy                       run.debian_package_name_hook.16364  run.do_qa_staging.17692             run.sstate_create_package.16364 log.do_deploy.617                   run.do_bundle_initramfs             run.do_sizecheck                    run.sstate_create_package.17692 log.do_fetch                        run.do_bundle_initramfs.28986       run.do_sizecheck.2323               run.sstate_create_package.2724 log.do_fetch.28859                  run.do_compile                      run.do_strip                        run.sstate_create_package.28992 log.do_install                      run.do_compile.3483                 run.do_strip.2321                   run.sstate_create_package.617 log.do_install.2327                 run.do_compile_kernelmodules        run.do_uboot_mkimage                run.sstate_task_postfunc.10988 log.do_package                      run.do_compile_kernelmodules.29051  run.do_uboot_mkimage.2325           run.sstate_task_postfunc.16364 log.do_package.16364                run.do_configure                    run.do_unpack                       run.sstate_task_postfunc.17692 log.do_packagedata                  run.do_configure.3048               run.do_unpack.1155                  run.sstate_task_postfunc.2724 log.do_packagedata.2724             run.do_deploy                       run.emit_pkgdata.16364              run.sstate_task_postfunc.28992 log.do_package_write_rpm            run.do_deploy.617                   run.fixup_perms.16364               run.sstate_task_postfunc.617 log.do_package_write_rpm.28992      run.do_fetch                        run.package_depchains.16364         run.sstate_task_prefunc.10988 log.do_patch                        run.do_fetch.28859                  run.package_do_filedeps.16364       run.sstate_task_prefunc.16364 log.do_patch.2556                   run.do_install                      run.package_do_pkgconfig.16364      run.sstate_task_prefunc.17692 log.do_populate_lic                 run.do_install.2327                 run.package_do_shlibs.16364         run.sstate_task_prefunc.2724 log.do_populate_lic.10988           run.do_package                      run.package_do_split_locales.16364  run.sstate_task_prefunc.28992 log.do_populate_sysroot             run.do_package.16364                run.package_fixsymlinks.16364       run.sstate_task_prefunc.617 log.do_populate_sysroot.17692       run.do_packagedata                  run.package_get_auto_pr.16364       run.sysroot_cleansstate.3048 log.do_sizecheck                    run.do_packagedata.2724             run.package_get_auto_pr.2327        run.sysroot_stage_all.17692 log.do_sizecheck.2323               run.do_package_qa.16364             run.package_get_auto_pr.617         run.write_specfile.28992 log.do_strip                        run.do_package_rpm.28992            run.package_name_hook.16364 log.do_strip.2321                   run.do_package_write_rpm            run.patch_do_patch.2556 For each package, you will be able to see the log for the latest task, and what was done on the latest task. For example: log.do_compile - shows the log output from latest do_compile made for kernel run.do_compile - shows the compile command line log.do_compile.111111 - shows the log output from 1111111 time of do_compile In order to know the tasks and the task sequence, take a look to log.taskorder file For the images generated, you will find something like that: .../build_mx6$ ls -la tmp/deploy/images/imx6qsabresd/ total 146260 drwxr-xr-x 2 user user     4096 Mar  6 21:21 . drwxrwxr-x 3 user user     4096 Mar  6 21:12 .. -rw-r--r-- 1 user user 67108864 Mar  6 21:21 core-image-base-imx6qsabresd-20140306173758.rootfs.ext3 -rw-r--r-- 1 user user 83886080 Mar  6 21:21 core-image-base-imx6qsabresd-20140306173758.rootfs.sdcard -rw-r--r-- 1 user user 18782361 Mar  6 21:21 core-image-base-imx6qsabresd-20140306173758.rootfs.tar.bz2 lrwxrwxrwx 1 user user       55 Mar  6 21:21 core-image-base-imx6qsabresd.ext3 -> core-image-base-imx6qsabresd-20140306173758.rootfs.ext3 lrwxrwxrwx 1 user user       57 Mar  6 21:21 core-image-base-imx6qsabresd.sdcard -> core-image-base-imx6qsabresd-20140306173758.rootfs.sdcard lrwxrwxrwx 1 user user       58 Mar  6 21:21 core-image-base-imx6qsabresd.tar.bz2 -> core-image-base-imx6qsabresd-20140306173758.rootfs.tar.bz2 -rw-rw-r-- 2 user user   439697 Mar  6 21:12 modules--3.0.35-r37.14-imx6qsabresd-20140306173758.tgz lrwxrwxrwx 2 user user       54 Mar  6 21:12 modules-imx6qsabresd.tgz -> modules--3.0.35-r37.14-imx6qsabresd-20140306173758.tgz -rw-rw-r-- 2 user user      294 Mar  6 21:20 README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt lrwxrwxrwx 2 user user       35 Mar  6 21:16 u-boot.imx -> u-boot-imx6qsabresd-v2013.10-r0.imx lrwxrwxrwx 2 user user       35 Mar  6 21:16 u-boot-imx6qsabresd.imx -> u-boot-imx6qsabresd-v2013.10-r0.imx -rwxr-xr-x 2 user user   297984 Mar  6 21:16 u-boot-imx6qsabresd-v2013.10-r0.imx lrwxrwxrwx 2 user user       53 Mar  6 21:12 uImage -> uImage--3.0.35-r37.14-imx6qsabresd-20140306173758.bin -rw-r--r-- 2 user user  4042496 Mar  6 21:12 uImage--3.0.35-r37.14-imx6qsabresd-20140306173758.bin lrwxrwxrwx 2 user user       53 Mar  6 21:12 uImage-imx6qsabresd.bin -> uImage--3.0.35-r37.14-imx6qsabresd-20140306173758.bin You can access any generated image, the image name ending with the yearmothdaypid (long number) is the real image, and every time your bitbake complete, it generate a new image. The symbolic link points to the latest created image. The .ext3 file is the EXT3 image for the rootfs. (you can copy it directly to SD card using dd: $sudo dd if=core-image-base.ext3 of=/dev/sdb2 ) The .sdcard file is the complete image to be copied to sdcard. It´s u-boot+uImage+rootfs The .tar.bz2 file is the tarball for the rootfs, you can extract it on your PC. uImage is the latest kernel image u-boot is the latest u-boot image. and so on. Play around with generated files. A lot of them I don´t know. And a lot of them I don´t use. For a standard image generation you only need to know where the final images is placed. Any question, comment, issue, please let me know. Before you go, let your bitbake creates the biggest image ever: $ bitbake fsl-image-gui Note (24Feb2014): Required disk space for build image is ~44GB Start it and let it finish while you do something else. Go HOME Go to Task #2 Go to Task#4
View full article
USB Certification report of i.Mx6
View full article
NOTE: Please suggest bitbake commands you find it useful! bitbake command Description bitbake <image> Bake an image (add -k to continue building even errors are found in the tasks execution) bitbake <package> -c <task> Execute a particular package's task. Default Tasks names: fetch, unpack , patch , configure , compile , install , package , package_write , and build. Example: To (force) compiling a kernel and then build, type: $ bitbake  linux-imx -f -c compile $ bitbake linux-imx bitbake <image > -g -u depexp Show the package dependency for image. Example: To show all packages included on fsl-image-gui $ bitbake fsl-image-gui -g -u depexp NOTE: This command will open a UI window, so it must be execute on a console inside the host machine (either virtual or native). bitbake <package> -c  devshell Open a new shell where with neccesary system values already defined for package hob bitbake frontend/GUI. bitbake <package> -c listtasks List all tasks for package bitbake virtual/kernel -c menuconfig Interactive kernel configuration bitbake <image> -c fetchall Fetch sources for a particular image bitbake-layers show-layers Show layers bitbake-layers show-recipes "*-image-*" Show possible images to bake. Without "*-images-*", it shows ALL recipes bitbake -g <image> && cat pn-depends.dot | grep -v -e '-native' | grep -v digraph | grep -v -e '-image' | awk '{print $1}' | sort | uniq Show image's packages bitbake -g <pkg> && cat pn-depends.dot | grep -v -e '-native' | grep -v digraph | grep -v -e '-image' | awk '{print $1}' | sort | uniq Show package's dependencies bitbake –v <image> 2>&1 | tee image_build.log Print (on console) and store verbose baking bitbake -s | grep <pkg> Check if certain package is present on current Yocto Setup
View full article
The customer would like to test BT.656 using Test mode. Is it supported? 38.4.3.3 Test mode in RM shows only one CSIx_SENS_CONG setting. Does it mean Test mode support only one as follows? Does Test mode support other settings? CSIx_EXT_VSYNC = 0x1 CSIx_DATA_WIDTH = 0x1 CSIx_SENS_DATA_FORMAT = 0x0 CSIx_PACK_TIGHT = 0x0 CSIx_SENS_PRTCL = 0x1 CSIx_SENS_PIX_CLK_POL = 0x1 CSIx_DATA_POL = 0x0 CSIx_HSYNC_POL = 0x0 CSIx_VSYNC_POL = 0x0 For example, customer want to know if Test mode support  CSIx_SENS_PRTCL=0x2or 0x3 instead of 0x1? customer want to know if Test mode support CSIx_SENS_DATA_FORMAT=0x1or 0x2 instead of 0x0? Answer: CSI CM TEST MODE is working as below: 1,only ungated mode. 2,data width should be configured to 8 3,data format should be configured to rgb888 It cannot be other format such as bt656. It uses CSI1_TST_CTRL register to configure {R,G,B} 24 bit value and taking it as RGB888/YUV444 format for further process.  The generated image size is due to the configured width & height in the registers.
View full article
This patch release is target for LPDDR2 ( dual channels in interleave mode ) support on i.MX6DL platform. Two patches are prepared to modify u-boot and kernel in order to have correct DRAM init sequence, 400MHz & 24MHz frequency switching and suspend/resume support. The patches are not fully verified. It is provided as reference for customer to enable their i.MX6DL board with LPDDR2. Customization and Testing is needed by customer. We need to remind some points here: MMDC_MDCFG3LP in 24MHz need to increase the margin ( 0x40222 -> 0x80555 ) in order to pass the OS frequency switch stress test. We are identifying the reason but this workaround is working fine and included to the patch. Code changes in kernel is prepared so that it is compatible to DDR3. In other words, the DDR type will be detected and a correct handling will be done for LPDDR2 and DDR3. In LPDDR2 system, we can't put SDQ pin into LPM during suspend. Otherwise, the system cannot resume. Dual channels in fix mapping mode is not recommended to use.
View full article
           This application note shows how to get i.MX6X development resources from Freescale website. Contents           We can enter Freescale i.MX website by the follow link http://www.freescale.com/imx, and after we input it into the IE address, it will remap to the new address of http://www.freescale.com/webapp/sps/site/homepage.jsp?code=IMX_HOME&tid=vanIMX. And the website page will have all the i.MX chipsets access web link like the follows:       And if we enter the i.MX6 serials Processors web link http://www.freescale.com/webapp/sps/site/taxonomy.jsp?code=IMX6X_SERIES , we will get the page like the follows:        Which have all the i.MX6 serials processors feature lists and website links. 1       i.MX6Q/D website guide. We enter the i.MX6D/Q web link http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6Q&webpageId=129226228141673454B24A&nodeId=018rH3ZrDRB24A&fromPage=tax its main page as follows:    The Documentation and Software&Tools items is very important to get the design resource, and the Buy/Parametrics item will have the development board and chipset order information 1.1    i.MX6Q/D Documentation      We enter the Documentation item link: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6Q&nodeId=018rH3ZrDRB24A&fpsp=1&tab=Documentation_Tab, which will have our documentation materials include the Datasheet, Errata, Application Notes, Reference manual, User guides, Fact Sheets and related supporting information. 1.1.1  i.MX6Q/D DataSheet          We have i.MX6Q/D datasheets of automotive, consumer and industrial, the datasheet will have the chipset mark number, electrical, thermal and package information. IMX6DQAEC i.MX 6Dual/6Quad Automotive and Infotainment Applications Processors IMX6DQCEC i.MX 6Dual/6Quad Applications Processors for Consumer Products IMX6DQIEC i.MX 6Dual/6Quad Applications Processors for Industrial Products 1.1.2  i.MX6Q/D Errata       Chipset Errata will show us our current version chipset bugs and rework method. IMX6DQCE Chip Errata for the i.MX 6Dual/6Quad 1.1.3  i.MX6Q/D  Application Notes AN4724 i.MX 6Dual/6Quad Product Usage Lifetime Estimates AN4629 Fast Image Processing with i.MX 6 Series AN4671 i.MX 6 Series HDMI Test Method for Eye Pattern and Electrical Characteristics AN4397      //all the i.MX6 Serial can use the same PCB, this doc descript the hardware design difference Common Hardware Design for i.MX 6Dual/6Quad and i.MX 6Solo/6DualLite AN4581 Secure Boot on i.MX50, i.MX53, and i.MX 6 Series using HABv4 AN4509   //explan the i.MX6D/Q power consumption in every working features. i.MX 6Dual/6Quad Power Consumption Measurement AN4589 Configuring USB on i.MX 6 Series Processors AN4553 Using Open Source Debugging Tools for Linux on i.MX Processors AN4467 //explain the ddr calibration method, need check with FSL FAE for DDR test calibration tools i.MX 6 Series DDR Calibration AN4579 // explain the thermal design i.MX 6 Series Thermal Management Guidelines 1.1.4  i.MX6Q/D Chipset reference manual IMX6DQRM //i.MX6DQ reference manual for all the internal module description and registers define. i.MX 6Dual/6Quad Applications Processor Reference Manual IMX6DQ6SDLSRM   // i.MX6DQ security related reference manual, need NDA approve. Security Reference Manual for i.MX 6 1.1.5  i.MX6Q/D User guide IMX6DQ6SDLHDG //i.MX6DQ hardware design user guide, include the schematic layout check points, hardware bring up… Hardware Development Guide for i.MX 6Quad, 6Dual, 6DualLite, 6Solo Families of Applications EB792 i.MX 6 Series Standardized Signal Name Map EB793 MISRA Compliance in Freescale Automotive C Language Header Files - Engineering Bulletin 1.1.6  i.MX6Q/D Fact Sheet IMX6SRSFS i.MX 6 Series of Applications Processors - Fact Sheet 1.1.7  i.MX6Q/D BSP/Codec Software Document L3.0.35_4.0.0_LINUX_DOCS   i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux BSP Documentation. Includes Release Notes, Reference Manual,... MX6 folder include the BSP release notes, reference manual, user guide and other APIs doc. L3.0.35_4.0.0_LINUX_MMDOCS   i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux Multimedia Codecs Documentation. Includes CODECs Release... IMX6_JB422_100_ANDROID_DOCS   i.MX 6Quad, i.MX 6Dual, and i.MX 6DualLite Android jb4.2.2_1.0.0 BSP Documentation. Includes Release Notes, User's... 1.1.8  i.MX6Q/D InfoCTR IMX_INFOCTR //TIC support center i.MX Infocenter—Online Documentation 1.2    i.MX6Q/D  Software&Tools We enter into the Software&Tools item page: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6Q&nodeId=018rH3ZrDRB24A&fpsp=1&tab=Design_Tools_Tab 1.2.1  i.MX6Q/D  Reference Designs SABRE Platform for Smart Devices Based on the i.MX 6 Series  The Smart Application Blueprint for Rapid Engineering (SABRE) platform for smart devices allows you to hold in your hands and evaluate the full multimedia performance capabilities of i.MX 6 series applications processors based on ARM® Cortex™-A9 technology.  Targeted for any device ... Enter it: Press Buy: SABRE Board for Smart Devices Based on the i.MX 6 Series  Freescale's Smart Application Blueprint for Rapid Engineering (SABRE) board for smart devices introduces developers to quad-core processing, low-power consumption and leading-edge multimedia and graphics applications on the i.MX 6Quad ARM ® Cortex™ -A9 applications processor. The SABRE board for smart devices ... Enter it: Press Buy:   SDB board share the same PCB with SDP, but have no camera, LVDS and GPS moduel. SABRE for Automotive Infotainment Based on the i.MX 6 Series  The Smart Application Blueprint for Rapid Engineering (SABRE) for automotive infotainment offers a solid foundation for next-generation converged telematics and infotainment platform designs. Based on i.MX 6 series of applications processors, Freescale's most scalable implementation of the ARM® Cortex™-A9 CPU ... Enter it: Press Buy:    Which have the CPU board and automotive base board, And if need the automotive board LVDS display panel, we can enter the i.MX53 automotive board link to get the order name. SABRE Lite Development Kit: The SABRE Lite Development Kit includes one SABRE Lite board, one 5V power adapter, one customized serial cable, one cross serial cable (DB9-DB9), one USB cable, one net cable and one 4GByte micro SD... Format: html    Saber Lite board a mini system board which use the separate power design, which launch by 3 rd party. 1.2.2  i.MX6Q/D  PCB and Schematic i.MX6_SABRE_AI_DESIGNFILES   : Design files, including hardware schematics, layout files and BOM. Size (K): 39164 Format: zip Rev #: 1.0.2 Modified: 2/27/2013 i.MX6_SABRE_SDP_DESIGNFILES   : Design files, including hardware schematics, Gerbers, and OrCAD files.. Size (K): 11631 Format: zip Rev #: C3 Modified: 3/21/2013 iMX6_SABRE_SDB_DESIGNFILES   : Design files, including hardware schematics, Gerbers, and OrCAD files.. Size (K): 9541 Format: zip Rev #: C3 Modified: 3/21/2013 1.2.3  i.MX6Q/D  Programmers Tools IMX_6DQ_MFG_TOOL   : Tool and documentation for downloading OS images to the i.MX 6Quad and i.MX6Dual. Size (K): 69444 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 IMX_MFG_TOOL_V2_SOURCE   : Source Code for the i.MX manufacturing tool used for downloading OS images to the i.MX 6 Processors. Size (K): 955 Format: zip Rev #: 2.1.1 Modified: 12/19/2012 1.2.4  i.MX6Q/D  Software IMX_6D_Q_VIVANTE_VDK_145_TOOLS   : Set of applications for the Linux L3.0.35_4.0.0 BSP, designed to be used by graphics application developers to rapidly develop and port graphics applications. Includes applications, GPU Driver with vprofiler enabled and documentation.. Size (K): 40113 Format: zip Rev #: 1.4.5 Modified: 5/13/2013 IMX6_GPU_SDK   : i.MX6 Graphics SDK – Includes sample, demo code, and documentation for working with the i.MX6X family graphics cores. Includes OpenVG, OpenGL ES, and GAL2D reference files. Size (K): 21065 Format: gz Rev #: 1.0.0 Modified: 1/25/2013 i.MX 6Series Platform SDK   : Bare-metal SDK for the i.MX 6 series, including reusable drivers and tests for many peripherals, and much example code. Also includes register definition headers files, and register definitions for debuggers. BSD open source license. Size (K): 29865 Format: tgz Rev #: 1.1 Modified: 2/11/2013      A non-OS i.MX6X driver test codes.  1.2.5  i.MX6Q/D  Tools IMX_CST_TOOL   : Freescale Code Signing Tool for the High Assurance Boot library. Provides software code signing support designed for use with i.MX processors that integrate the HAB library in the internal boot ROM. Size (K): 3855 Format: tgz Rev #: 2.0 Modified: 11/16/2012      Please still refer the document of i.MX6Q/D security RM and HAB application notes. IMX6_IOMUX_TOOL   : Interactive i.MX Pin Mux Tool.. Size (K): 5313 Format: zip Rev #: 3.4.0.3 Modified: 2/14/2013      Please still refer the document of i.MX6Q/D iomux table. 1.2.6  i.MX6Q/D  BSDL IMX6_DQ_BSDL   : i.MX 6Quad and i.MX 6Dual BSDL File. Size (K): 64 Format: zip Rev #: 2 Modified: 1/15/2013        A Boundary scan file for manufacture ICT test. 1.2.7  i.MX6Q/D  IBIS IMX6_DQ_IBIS   : i.MX 6Quad and i.MX 6Dual IBIS File. Size (K): 19173 Format: zip Rev #: 1 Modified: 11/9/2012       Use for signals simulation. 1.2.8  i.MX6Q/D  BSP IMX6_DQ_SABRE_AI_SD_DEMO_IMAGE   : Demo Image Flashed on the i.MX 6Quad SABRE AI SD Cards. Size (K): 1789607 Format: exe Rev #: L3.0.35_1.1.1 Modified: 4/23/2013 IMX6_DQ_SDB_SD_DEMO_IMAGE   : Demo Image Flashed on the i.MX 6Quad SDB SD Cards. Size (K): 1670416 Format: exe Rev #: R13.4.1 Modified: 4/24/2013 IMX6_DQ_SDP_SD_DEMO_IMAGE   : Demo Image Flashed on the i.MX 6Quad SDP SD Cards. Size (K): 1670892 Format: exe Rev #: R13.4.1 Modified: 4/24/2013 L3.0.35_4.0.0_DEMO_IMAGE   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux Binary Demo Files. Size (K): 359441 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 IMX6_JB422_100_ANDROID_DEMO   : i.MX 6Quad, i.MX 6Dual, and i.MX 6DualLite Android jb4.2.2_1.0.0 BSP Binary Demo Files. Size (K): 836432 Format: gz Rev #: jb4.2.2_1.0.0 Modified: 5/8/2013 Demo image for customer to evaluate on Freescale’s board. IMX6_JB422_100_ANDROID_SOURCE   : i.MX 6Quad, i.MX 6Dual, and i.MX 6DualLite Android jb4.2.2_1.0.0 BSP, Documentation and Source Code for BSP and Codecs.. Size (K): 235533 Format: gz Rev #: jb4.2.2_1.0.0 Modified: 5/9/2013 Android JB422 source codes, still have the R13.41 android source codes in the same web folder. L3.0.35_4.0.0_ER_SOURCE   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux BSP Source Code Files. Size (K): 1064236 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 Linux LTIB source codes package. L3.0.35_4.0.0_UBUNTU_RFS   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux File System for the Ubuntu Images. Size (K): 820076 Format: tgz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 Ubuntu rootfs working on our linux BSP. 1.2.9  i.MX6Q/D  Software Codecs IMX6_JB422_100_AACP_CODEC   : AAC Plus Codec for i.MX 6Quad, i.MX 6Dual, and i.MX 6DualLite Android jb4.2.2_1.0.0. Size (K): 84 Format: gz Rev #: jb4.2.2_1.0.0 Modified: 5/15/2013    Android have no codec package except AACP, have include in the BSP release codes. L3.0.35_4.0.0_AACP_CODECS   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux AAC Plus Codec. Size (K): 1377 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 L3.0.35_4.0.0_MM_CODECS   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux Multimedia Codecs Sources. Size (K): 79197 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013    Linux have MM codec package. 1.2.10              i.MX6Q/D  Updates and Patches   Which have the older patch on L3.0.35 elder version, and Android R13.4/13.4.1. 2       i.MX6DL/S website guide. We enter the i.MX6DL/S web link http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6DL&webpageId=129226228141673454B24A&nodeId=018rH3ZrDRB24A&fromPage=tax    its main page as follows: 2.1    i.MX6DL/S Documentation http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6DL&nodeId=018rH3ZrDRB24A&fpsp=1&tab=Documentation_Tab 2.1.1  i.MX6DL/S DataSheet IMX6SDLAEC i.MX 6Solo/6DualLite Automotive and Infotainment Applications Processors IMX6SDLCEC i.MX 6Solo/6DualLite Applications Processors for Consumer Products IMX6SDLIEC i.MX 6Solo/6DualLite Applications Processors for Industrial Products 2.1.2  i.MX6DL/S Errata IMX6SDLCE Chip Errata for the i.MX 6Solo/6DualLite 2.1.3  i.MX6DL/S D  Application Notes IMX6SDLIEC i.MX 6Solo/6DualLite Applications Processors for Industrial Products AN4576 i.MX 6DualLite Power Consumption Measurement 2.1.4  i.MX6DL/S Chipset reference manual IMX6SDLRM i.MX 6Solo/6DualLite Applications Processor Reference Manual IMX6DQ6SDLSRM   Security Reference Manual for i.MX 6 2.1.5  i.MX6DL/S User Guide IMX6DQ6SDLHDG Hardware Development Guide for i.MX 6Quad, 6Dual, 6DualLite, 6Solo Families of Applications EB793 MISRA Compliance in Freescale Automotive C Language Header Files - Engineering Bulletin 2.1.6  i.MX6DL/S Fact Sheet IMX6SRSFS i.MX 6 Series of Applications Processors - Fact Sheet 2.1.7  i.MX6DL/S BSP/Codec Software Document L3.0.35_4.0.0_LINUX_DOCS   i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux BSP Documentation. Includes Release Notes, Reference Manual,... L3.0.35_4.0.0_LINUX_MMDOCS   i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux Multimedia Codecs Documentation. Includes CODECs Release... IMX6_JB422_100_ANDROID_DOCS   i.MX 6Quad, i.MX 6Dual, and i.MX 6DualLite Android jb4.2.2_1.0.0 BSP Documentation. Includes Release Notes, User's... 2.1.8  i.MX6DL/S InfoCTR IMX_INFOCTR i.MX Infocenter—Online Documentation 2.2    i.MX6DL/S Software&Tools http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6DL&nodeId=018rH3ZrDRB24A&fpsp=1&tab=Design_Tools_Tab 2.2.1  i.MX6DL/S Reference Designs SABRE Platform for Smart Devices Based on the i.MX 6 Series  The Smart Application Blueprint for Rapid Engineering (SABRE) platform for smart devices allows you to hold in your hands and evaluate the full multimedia performance capabilities of i.MX 6 series applications processors based on ARM® Cortex™-A9 technology.  Targeted for any device ... SABRE for Automotive Infotainment Based on the i.MX 6 Series  The Smart Application Blueprint for Rapid Engineering (SABRE) for automotive infotainment offers a solid foundation for next-generation converged telematics and infotainment platform designs. Based on i.MX 6 series of applications processors, Freescale's most scalable implementation of the ARM® Cortex™-A9 CPU ... 2.2.2  i.MX6DL/S PCB and Schematic i.MX6_SABRE_AI_DESIGNFILES   : Design files, including hardware schematics, layout files and BOM. Size (K): 39164 Format: zip Rev #: 1.0.2 Modified: 2/27/2013 I.MX_6DL_S_VIVANTE_VDK_TOOLS   : i.MX6DL and i.MX6S Vivante VDK Tools. Size (K): 39752 Format: zip Rev #: 1.4.1 Modified: 1/4/2013 i.MX 6Series Platform SDK   : Bare-metal SDK for the i.MX 6 series, including reusable drivers and tests for many peripherals, and much example code. Also includes register definition headers files, and register definitions for debuggers. BSD open source license. Size (K): 29865 Format: tgz Rev #: 1.1 Modified: 2/11/2013 2.2.3  i.MX6DL/S Programmers Tools IMX_6DL_6S_MFG_TOOL   : Tool and documentation for downloading OS images to the i.MX 6DualLite and i.MX6Solo. Size (K): 67584 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 2.2.4  i.MX6DL/S  Software 2.2.5  i.MX6DL/S BSDL IMX6_DL_S_BSDL   : i.MX 6DualLite and i.MX 6Solo BSDL File. Size (K): 81 Format: html Rev #: 1 Modified: 11/9/2012 2.2.6  i.MX6DL/S IBIS IMX6_DL_S_IBIS   : i.MX 6DualLIte and i.MX 6Solo IBIS File. Size (K): 15450 Format: zip Rev #: 1 Modified: 11/9/2012 2.2.7  i.MX6DL/S BSP IMX6_DL_SDP_SD_DEMO_IMAGE   : Demo Image Flashed on the i.MX 6DualLiteSDP SD Cards. Size (K): 367806 Format: zip Rev #: R13.4.1 Modified: 12/10/2012 IMX6_JB422_100_ANDROID_DEMO   : i.MX 6Quad, i.MX 6Dual, and i.MX 6DualLite Android jb4.2.2_1.0.0 BSP Binary Demo Files. Size (K): 836432 Format: gz Rev #: jb4.2.2_1.0.0 Modified: 5/8/2013 L3.0.35_4.0.0_DEMO_IMAGE   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux Binary Demo Files. Size (K): 359441 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 IMX6_JB422_100_ANDROID_SOURCE   : i.MX 6Quad, i.MX 6Dual, and i.MX 6DualLite Android jb4.2.2_1.0.0 BSP, Documentation and Source Code for BSP and Codecs.. Size (K): 235533 Format: gz Rev #: jb4.2.2_1.0.0 Modified: 5/9/2013 L3.0.35_4.0.0_ER_SOURCE   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux BSP Source Code Files. Size (K): 1064236 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 L3.0.35_4.0.0_UBUNTU_RFS   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux File System for the Ubuntu Images. Size (K): 820076 Format: tgz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 2.2.8  i.MX6DL/S Software Codecs IMX6_JB422_100_AACP_CODEC   : AAC Plus Codec for i.MX 6Quad, i.MX 6Dual, and i.MX 6DualLite Android jb4.2.2_1.0.0. Size (K): 84 Format: gz Rev #: jb4.2.2_1.0.0 Modified: 5/15/2013 L3.0.35_4.0.0_AACP_CODECS   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux AAC Plus Codec. Size (K): 1377 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 L3.0.35_4.0.0_MM_CODECS   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux Multimedia Codecs Sources. Size (K): 79197 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 2.2.9  i.MX6Q/D  Updates and Patches Which have the older patch on L3.0.35 elder version, and Android R13.4/13.4.1. 3       i.MX6SL website guide. http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6SL&webpageId=129226228141673454B24A&nodeId=018rH3ZrDRB24A&fromPage=tax 3.1    i.MX6SL Documentation http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6SL&nodeId=018rH3ZrDRB24A&fpsp=1&tab=Documentation_Tab 3.1.1  i.MX6SL DataSheet IMX6SLCEC i.MX 6SoloLite Applications Processors for Consumer Products 3.1.2  i.MX6SL Errata IMX6SLCE Chip Errata for the i.MX 6SoloLite 3.1.3  i.MX6SL Application Notes AN4726 i.MX 6SoloLite Product Usage Lifetime Estimates AN4580 i.MX 6SoloLite Power Consumption Measurement 3.1.4  i.MX6SL Chipset reference manual IMX6SLRM i.MX 6SoloLite Applications Processor Reference Manual 3.1.5  i.MX6SL User guide IMX6SLHDG Hardware Development Guide for i.MX 6SoloLite Applications Processors - User Guide 3.1.6  i.MX6SL Fact  Sheet IMX6SRSFS i.MX 6 Series of Applications Processors - Fact Sheet IMX6SLEVKFS i.MX 6SoloLite Evaluation Kit - Fact Sheet 3.1.7  i.MX6SL BSP/Codec Software Document L3.0.35_2.1.0_LINUX_DOCS   i.MX 6SoloLite Linux BSP Documentation. Includes Release Notes, Reference Manual, User guide. API Documentation L3.0.35_2.1.0_LINUX_MMDOCS   i.MX 6SoloLite Linux Multimedia Codecs Documentation. Includes CODECs Release Notes and User's Guide IMX6_R13.5_ANDROID_DOCS_BUNDLE   i.MX 6 Sololite Android GA BSP Documentation. 3.1.8  i.MX6SL INFOCTR IMX_INFOCTR i.MX Infocenter—Online Documentation 3.2    i.MX6SL Software&Tools http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6SL&nodeId=018rH3ZrDRB24A&fpsp=1&tab=Design_Tools_Tab 3.2.1  i.MX6SL Reference Designs IMX6SLEVK: i.MX 6SoloLite Evaluation Kit. Freescale delivers the next installment in a line of highly-flexible, market-focused development tools with an Evaluation Kit (EVK) based on the i.MX 6SoloLite applications processor. The i.MX 6SoloLite is the first... Format: html Modified: 6/4/2013 3.2.2  i.MX6SL PCB and Schematics iMX6SL_EVK_DESIGNFILES   : Design files, including hardware schematics, Gerbers, and OrCAD files.. Size (K): 6034 Format: zip Rev #: 1 Modified: 11/12/2012 3.2.3  i.MX6SL Programmers Tools IMX_6SL_MFG_TOOL   : Tool and documentation for downloading OS images to the i.MX 6SoloLite. Size (K): 46502 Format: gz Rev #: L3.0.35_2.1.0 Modified: 5/24/2013 3.2.4  i.MX6SL Tools IMX_CST_TOOL   : Freescale Code Signing Tool for the High Assurance Boot library. Provides software code signing support designed for use with i.MX processors that integrate the HAB library in the internal boot ROM. Size (K): 3855 Format: tgz Rev #: 2.0 Modified: 11/16/2012 IMX6_IOMUX_TOOL   : Interactive i.MX Pin Mux Tool.. Size (K): 5313 Format: zip Rev #: 3.4.0.3 Modified: 2/14/2013 3.2.5  i.MX6SL Software i.MX 6Series Platform SDK   : Bare-metal SDK for the i.MX 6 series, including reusable drivers and tests for many peripherals, and much example code. Also includes register definition headers files, and register definitions for debuggers. BSD open source license. Size (K): 29865 Format: tgz Rev #: 1.1 Modified: 2/11/2013 3.2.6  i.MX6SL BSDL IMX6_SL_BSDL   : i.MX 6SoloLite BSDL File. Size (K): 54 Format: html Rev #: 1 Modified: 11/9/2012 3.2.7  i.MX6SL IBIS IMX6_SL_IBIS   : i.MX 6SoloLite IBIS File. Size (K): 25706 Format: zip Rev #: 1 Modified: 11/9/2012 3.2.8  i.MX6SL BSP IMX6_R13.5_ANDROID_DEMO_IMAGE   : i.MX 6Sololite GA BSP Binary Demo Files. Size (K): 372634 Format: gz Rev #: R13.5 Modified: 11/16/2012 L3.0.35_12.10.02_DEMO_IMAGE   : Linux Binary Demo Files for i.MX 6SoloLite Linux GA BSP. Size (K): 434356 Format: gz Rev #: 12.10.02 Modified: 11/9/2012 L3.0.35_2.1.0_DEMO_IMAGE   : i.MX 6SoloLite Linux Binary Demo Files. Size (K): 464844 Format: gz Rev #: L3.0.35_2.1.0. Modified: 6/4/2013 IMX6_R13.5_ANDROID_SOURCE_CODE   : i.MX 6 Sololite Android GA BSP Documentation and Source Code for BSP and Codecs.. Size (K): 100683 Format: gz Rev #: R13.5 Modified: 11/16/2012 L3.0.35_12.10.02_ER_SOURCE   : i.MX 6SoloLite Linux GA BSP 3.0.35 Source Code Files.. Size (K): 872027 Format: gz Rev #: 12.10.02 Modified: 11/9/2012 L3.0.35_12.10.02_UBUNTU_RFS   : File System for the Ubuntu Imagea for i.MX 6SoloLite Linux GA BSP. Size (K): 810816 Format: tgz Rev #: 12.10.02 Modified: 11/9/2012 L3.0.35_2.1.0_ER_SOURCE   : i.MX 6SoloLite Linux BSP Source Code Files. Size (K): 1064541 Format: gz Rev #: L3.0.35_2.1.0. Modified: 6/4/2013 3.2.9  i.MX6SL Software Codecs L3.0.35_2.1.0_AACP_CODECS   : i.MX 6SoloLite Linux AAC Plus Codec. Size (K): 1374 Format: gz Rev #: L3.0.35_2.1.0 Modified: 5/24/2013 L3.0.35_2.1.0_MM_CODECS   : i.MX 6SoloLite Linux Multimedia Codecs Sources. Size (K): 45883 Format: gz Rev #: L3.0.35_2.1.0 Modified: 5/24/2013 3.2.10              i.MX6SL Updates and Patches IMX6_R13.5_01_ANDROID_PATCHES   : Android 13.5.0-GA.01 patch release. It adds camera support (USB and CSI camera), provides some bug fixes, and includes some regular updates. The 13.5.0-GA.01 patch release is based on 13.5.0-GA.. Size (K): 186882 Format: gz Rev #: R13.5-GA.01 Modified: 1/4/2013 Which have the older patch on L3.0.35 elder version, and Android R13.5.         
View full article
The i.MX6 Multi-Mode DDR Controller (MMDC) has profiling capabilities to monitor the operation of the controller. The profiling capability counts certain events related to a specified AXI-ID during a profiling period. The events that can be counted are: The number of read accesses during the profiling period (MMDCx_MADPSR2[RD_ACC_COUNT] register field) The number of write accesses during the profiling period (MMDCx_MADPSR3[WR_ACC_COUNT] register field) The number of bytes read during the profiling period (MMDCx_MADPSR4[RD_BYTES_COUNT] register field) The number of bytes written during the profiling period (MMDCx_MADPSR5[WR_BYTES_COUNT] register field) The number of MMDC clock cycles during which the MMDC state machine is busy (MMDCx_MADPSR1[BUSY_COUNT] register field) BUSY_COUNT is the number of MMDC clock cycles during the profiling period in which the MMDC state machine is not idle. So this is the time the MMDC spends doing any activity, not just read or write data transfers. The MMDC state machine is active whenever there are any read or write requests in the read and write FIFOs. The MMDC is active during many operations that are not reading or writing data such as arbitration of requests, control cycles, bank open/close, etc. So BUSY_COUNT represents the number of cycles when the controller is busy, not just the number of cycles when the external bus is busy. The number of bytes read and bytes written can be used to determine data throughput and the BUSY_COUNT can be used to determine what part of the time the controller is active/idle. Together these can be used to determine the controller efficiency for a particular application. For detailed information, see the "MMDC profiling" section of the MMDC chapter in the reference manual for the SoC being used.
View full article
Issue: During DDR3 Burst Write, the DQS strobe signal must be driven low for a minimum of 0.3 x cycle period on the last data clock cycle before it is released. This ensures sufficient time for the write to be strobed correctly. When measuring this timing parameter, it has often been found to be too short. This may be contributing to write errors on customer boards, depending on the signal layout used by the board. Root Cause: The internal DQS strobe enable signal is controlled by the MMDC, which is tied to the SDCLK clock signal. But the DQS strobe signal can be delayed in the MMDC to match different SDCLK trace lengths by using Write Leveling parameters to ensure the the DQS strobe edge reaches the DDR3 device at the same time the SDCLK edges reaches the device. If the write level delay is too long, the MMDC can crop the end of the DQS strobe signal too short, causing a violation of the Write Post Amble Delay timing specification and potentially leading to  write errors. How much delay in the Write Leveling parameter would cause this problem? The Reference Manual states that a delay around half a cycle may cause problems, but testing on some boards indicates that delays even as short as 1/4 a cycle could cause violations of the Write Post Amble Delay. Solution: The MMDC was designed with the ability to add extra time to the strobe enable period during write procedures. This parameter is referred to as Write Additional Latency. It is found in the MMDCx_MDMISC register and the field is labeled as WALAT. Incrementing the value of this register field by one adds a full clock cycle delay to the Write Post Amble period, and ensures enough time at the end of a burst write to guarantee a correct write. There is no maximum value to Write Post Amble Delay. Setting WALAT = 1 (or larger if WL parameters are larger) will cause a small hit in overall performance, but will add to the reliability of write operations, particularly on boards that require larger WL parameter settings.
View full article
Overview This document introduces how to setup i.MX6Dual/Quad and i.MX6Solo/DualLite Linux software for PCIe compliance test. Software Baselines i.MX6Dual/Quad: Linux BSP L2.6.35_1.0.0 i.MX6Solo/DualLite: Linux BSP L2.6.35_2.0.0 Software Changes To enable PCIe compliance test, PCIe software driver should not turn off PCIe clock and power in the tests. So the following changes are required: diff --git a/arch/arm/mach-mx6/pcie.c b/arch/arm/mach-mx6/pcie.c index 26d26f2..ad71085 100644 --- a/arch/arm/mach-mx6/pcie.c +++ b/arch/arm/mach-mx6/pcie.c @@ -801,6 +801,7 @@ static void __init add_pcie_port(void __iomem *base, void __iomem *dbi_base,      } else {          pr_info("IMX PCIe port: link down!\n"); +#if 0          /* Release the clocks, and disable the power */          pcie_clk = clk_get(NULL, "pcie_clk");          if (IS_ERR(pcie_clk)) @@ -820,6 +821,7 @@ static void __init add_pcie_port(void __iomem *base, void __iomem *dbi_base,          imx_pcie_clrset(IOMUXC_GPR1_TEST_POWERDOWN, 1 << 18,                  IOMUXC_GPR1); +#endif      } } Software Build Integrate the patch to the baseline code and recompile the kernel by following the instructions in Linux BSP user guide. Before recompile, please ensure the following configuration is enabled by selecting " System Type -> Freescale MXC Implementations -> PCI Express support" as "*": # MX6 Options: # CONFIG_IMX_PCIE=y
View full article
New i.mx6Q core board from OpenEmbed.comNew i.mx6Q core board from OpenEmbed.com
View full article
New i.mx6Q core board from OpenEmbed.com
View full article
Hi all, I shared my test results and solutions in attachments. Best regards, Carl
View full article
NOTES: Empty cells do not mean there is no bitbake parameter for the corresponding ltib one. This is still work in progress. Both engines are completely different and doing a one-to-one comparison is not actually fair. The following tables compare the two core build tools, ltib for LTIB and bitbake for the Yocto Project (YP, hereafter). For YP, there is another important tool called HOB,  when appropriate, we add comments on the Comment's column. There are two main tables, 'ltib modes versus bitbake' 'ltib options versus bitbake'.          We split in two based how ltib splits its parameter, so the order is the same as the one shown when typing './ltib --help'. LTIB comes in every released BSP, follow the User Guide to install it. The command 'ltib' is a script located on the folder with the same name, so all ltib commands should be run with './' as prefix YP can be seen of a series of layers (folders). To download these, including the Freescale layers, follow this link. The command 'bitbake' must be installed independently, you can either use the package manager of you OS (e.g. sudo apt-get install bitbake on Ubuntu) or download the source code and do the setup manually. Both ways should place the bitbake script into a executable path. ltib modes versus bitbake Mode description ltib command bitbake command Comment Just prep the package ltib -m prep -p <package> bitbake <package> -c patch With bitbake when running the patch task, it executes two lower tasks: fetch and unpack. For example, if one wants a untouched (no yocto patches) kernel, one can try: 'bitbake linux-imx -c unpack' and code unpacked code is placed on tmp/work/imx6qsabresd-poky-linux-gnueabi/linux-imx/<version>/git/ rpmbuild -bc --short-circuit ltib -m scbuild -p <package> bitbake <package> -c compile With bitbake running compile also runs a lower task: configure. rpmbuild -bi --short-circuit ltib -m scinstall -p <package> bitbake <package> -c With ltib the install task executes the %Install section of the package's spec. With bitbake the same task executes all related package's recipe install functions, e.g. do_install. Note: with ltib running a higher task (like scinstall) will not execute lower tasks (like scbuild and prep); this is not the case for bitbake: it runs lower tasks automatically. does an scinstall followed by an install to the rootfs ltib -m scdeploy -p <package> bitbake <package> -c build With bitbake, build is the default task, so one can even omit the -c build parameter, e.g. 'bitbake <package>' generate and merge a patch (requires -p <pkg>) ltib -m patchmerge -p <package> NA This is a pretty nice feature from LTIB, unfortunately with bitbake the command does not exit. For example, to patch the Kernel's recipe, take a look at this procedure. In case you follow all these steps to fix a bug, do not forget to send your patch to the community. lean/uninstall target packages ltib -m clean -p <package> NA With bitbake the 'clean' counterpart does not exit. If one needs to remove a specific package from a build, you may remove it from the image configuration file (e.g. file meta-fsl-demos/recipes-fsl/images/fsl-image-gui.bb, remove item on IMAGE_INSTALL variable); if package is inside a package group (e.g. ./meta-fsl-demos/recipes-fsl/packagegroup/packagegroup-fsl.bb) you may remove it there. After this change, bitbake again and the resulting image won't have the package. With HOB, this is much simpler due to its Graphical User Interface. Just type hob on your build directory, select the machine and the base image, then click on the 'Edit Image'. On that window you can easily deselect packages. Once deselection is done, build the image. full cleanup, removes nearly everything ltib -m distclean NA With bitbake the 'distclean' command does not exit. The way to remove all the built, remove the build/tmp folder. Be careful, next time you run bitbake, all tasks for all packages will be executed, in other words, you will start from scratch. list packages (alphanumeric) ltib -m listpkgs non-GUI: bitbake -g fsl-image-gui && cat pn-depends.dot GUI: bitbake -g -u depexp fsl-image-gui A bit more complex non-GUI: bitbake -g <image> && cat pn-depends.dot | grep -v -e '-native' | grep -v digraph | grep -v -e '-image' | awk '{print $1}' | sort | uniq list package names and licenses ltib -m listpkgseula NA With HOB, you can see every package name name and its licence. Just type hob, then select the machine and image, and click on the 'Edit Image' button. On the 'All recipes' tab, you get a list of packages with their licenses. list packages in twiki format ltib -m listpkgstw NA list packages in a format for import into spreadsheet ltib -m listpkgscsv NA make a binary release iso image ltib -m release NA make a non-distributable test iso release ltib -m trelease NA configure selected platform (no build) ltib -m config NA There is no way to open a configuration menu with bitbake. Instead, you can use hob. With hob, things are much easier. Just type hob under the build folder and you can select the machine and the image. If the image you want does not fit to the ones already available, you can add packages manually and even store your new tuned image. NOTES: 1. On YP, an image is a similar concept as LTIB's package profile (usually called just profile). There are many predefined images which can be used as starting point, so type 'bitbake <image name>'. 2. In case the kernel needs to be configure, run 'bitbake linux-imx -c menuconfig'. sub-platform selection (no build) ltib -m selectype NA The selectype on LTIB opens two menus: 1. Platform and the Package Profile selection 2. Configuration menu (the same menu as the one shown with -m config). In case one needs to do execute just the first task, just run 'bitbake <image name>'. In case you need to execute both, run hob. enter ltib shell mode (sets up spoofing etc) ltib -m shell bitbake <package name> -c devshell import srpms into ltib (semi-automatic) ltib -m addsrpms ltib options versus bitbake Option Description ltib command bitbake command Comments Root context number (0 is the primary and implicit) ltib --rootn | ltib -R operate on this package only ltib --pkg | ltib -p bitbake <package> With bitbake there is no need to add a '-' parameter, just use the package name without the .bb extension run the interactive configuration and build ltib --configure  | ltib -c NA See the mode -m config for more info run the sub-platform configuration and build ltib --selectype NA See the mode -m selectype for more info configuration file to build from (defaults to .config) ltib --preconfig bitbake <predefined image> With bitbake use any of the predefined images (assuming that these have not been modified), e.g. bitbake core-image-minimal or bitbake fsl-image-gui (it happens to be the smallest and the largest image, in terms of number of packages) profile file.  This is used to select an alternate  set of userspace packages, this is saved and used on later runs of ltib (e.g config/profiles/max.config) ltib --profile use this resource file ltib --rcfile <f> | ltib - r <f> batch mode, assume yes to all questions ltib --batch | ltib -b force rebuilds even if they are up to date ltib --force | ltib -f bitbake --force | bitbake -f For example, to force recompiling the kernel: bitbake linux-imx -c compile -f re-install rpms (but don't force rebuild) ltib --reinstall | ltib -e bitbake <package name> -c install -f remove (erase) rpm ltib --erase | ltib -E turn off install/uninstall dependency checks ltib --nodeps | ltib -n bitbake -b <somepath/somefile.bb> For example, to build just the kernel (no dependencies, just kernel): bitbake -b ../sources/meta-fsl-arm/recipes-kernel/linux/linux-imx_3.0.35.bb NOTE: ALL dependencies should be already be installed, otherwise the command will fail don't force install rpms that have file conflicts ltib --conflicts | ltib -k keep the srpms after the build (deleted by default) ltib --keepsrpms | ltib -s more output ltib --verbose | ltib -v bitbake --verbose | bitbake -v On YP, the log can be too verbose, so one way to handle the amount of log is to store it and then grep it: bitbake linux-imx | tee log; grep -i <your string to seach> < log mostly a dry run (calls to system are just echos) ltib --dry-run | ltib -d bitbake --dry-run | bitbake -n try to continue on package build errors (autobuilds) ltib --continue | ltib -C bitbake --continue | bitbake -k print the application version and quit ltib --version | ltib -V bitbake --version do not redirect any output ltib --noredir | ltib -N run the deploy scripts even if build is up to date ltib --deploy | ltib -D bitbake <image name> -f disabled deployment (even with -p <pkg>) ltib --no-deploy just download the packages only ltib --dlonly bitbake -c fetchall <image name> E.g. bitbake -c fetchall core-image-minimal test that the BSP's packages are available ltib --dltest check against external staging repositories ltib --external leave the sources unpacked (only valid for pkg mode) ltib --leavesrc | ltib -l NA This is the default mode in YP. All source code can be found on tmp/work. In case you want to remove source code after building (as in LTIB), add INHERIT += "rm_work" to your local.conf. NOTE: If your adding changes to a particular package, these will be lost. In case you want to keep source code of a specific package, include this on the RM_WORK_EXCLUDE variable (e.g. RM_WORK_EXCLUDE += "busybox eglibc"). Make the selected root number sticky --sticky Remove root stickiness --no-sticky (re)configure/build/install the host support package set --hostcf use with package listings --enable use if you really want to ignore any locks (careful!) --ignorelock used with -m release to copy additional content --fullbsp used with -m release to copy specical packages into ISO --distmap don't check sudo, work around for broken sudo (fc9) --no-sudo use git for some package's build where use-git-mode is either: internal    Use fsl internal git external   Use fsl external git --use-git-mode use external git for some package's build --external-git help on usage --help | -h --help | -h
View full article
Hi All, The new i.MX 6 SL L3.0.35_2.1.0 release is now available on the http://www.freescale.com/site. ·         Files available # Name Description 1 L3.0.35_2.1.0_LINUX_DOCS i.MX   6SoloLite Linux BSP Documentation. Includes Release Notes, Reference Manual,   User guide. API Documentation 2 L3.0.35_2.1.0_LINUX_MMDOCS i.MX 6SoloLite Linux Multimedia Codecs   Documentation. Includes   CODECs Release Notes and User's Guide 3 L3.0.35_2.1.0_ER_SOURCE i.MX   6SoloLite Linux BSP Source Code Files 4 L3.0.35_2.1.0_MM_CODECS i.MX   6SoloLite Linux Multimedia Codecs Sources 5 L3.0.35_2.1.0_AACP_CODECS i.MX   6SoloLite Linux AAC Plus Codec 6 L3.0.35_2.1.0_DEMO_IMAGE i.MX   6SoloLite Linux Binary Demo Files ·         Target HW boards o   i.MX6SL-EVK ·         New features o   Updated thermal equation for i.MX 6SoloLite o   Added Fuse check for all the devices o   Enabled DISPLAY power gating feature on TO1.2 ·         Known issues o   For known issues and limitations please consult the release notes.
View full article
Share my test procedure in the attachment.
View full article
When to improve kernel booting using hibernation [1], I found kernel initialized each component [2] took too much time. One solution is to remove unnecessary module to save time. Another approach is to delay those modules until user space up. Then it won’t lost some features just because hopes to gain benefit on booting speed. This is very useful since hibernation’s trigger point is at the late_initcall [3]. Kernel doesn't need do much module initialize since hibernate will restore those module status later. The detailed implementation is in the attached patch. [1]: hibernation is a technique to store system memory content to storage. Then the device can be shutdown and read the content back after power on. [2]: component means subsystem or driver. [3]: Consult kernel/power/hibernate.c, software_resume
View full article
ERR005723           PCIe: PCIe does not support L2 Power Down   Description: When PCIe works as Root Complex, it can exit L2 mode only through reset. Since PCIe doesn't have a dedicated reset control bit, it cannot exit L2 mode.   Projected Impact: PCIe does not support L2 Power Down   Workarounds: The PCIe can be put in PDDQ mode to save on PCIe PHY power and wakeup only by the OOB (Out of Band) wakeup signal (since wakeup by a beacon from link partner is not supported) driven from the link partner (End Point). This signal could be used as a GPIO interrupt to exit this mode. The limitation of this workaround is that the link partner cannot be put into L2.   Proposed Solution:                 No fix scheduled   Linux BSP Status:                 No software workaround available   SW workaround used to fix ERR005723 in Linux BSP Why the original workarounds can’t be implemented in Linux BSP * PCIe controller doesn’t have the reset mechanism that can be used when re-insmod the PCIe driver without power down/up PCIe module. * During the PCie driver rmmod/insmod operations, the PCIe CLKs would be turned off/on. IC can’t guarantee that the PCIe PHY can work well and re-establish the PCIe link properly. One SIMPLE SW workaround for this errata imx: pcie: toggle bit18 of grp1 fix pcie can't exit L2 issue.   Set bit18 of gpr1 before enter into supend, and clean it after resume, can fix the following errata. Errata ERR005723_PCIe PCIe does not support L2 Power Down. About the details, please refer to the attached patch. "0001-imx-pcie-toggle-bit18-of-grp1-fix-pcie-can-t-exit-L2.patch"   The conception of the other SW workaround (System warm-reset) The procedures of the original suspend/resume. Suspend User suspend command echo mem > /sys/power/state All driver call suspend function SRPG,  ARM save all state to memory Enter Stop mode and Power down ARM   Resume:   GPC receive IRQ Wake up system Power on ARM domain. ROM code running Jump to SRPG point Recovery ARM status from memory Call all devices resume function.   Because PCIe only reset by system reset, we need change above follow. Resume:   GPC receive IRQ Wake up system Power on ARM domain. ROM code running Jump to SRPG point Warm Reset system, memory context will be kept. But all peripheral status lost. ROM code running Jump to SRPG point again. Recovery ARM status from memory Call all devices resume function. Resume function call init to initialize it.  And recover to the status saved before.   Impact: Can’t support usb remote wake up, which required 4ms responsive Longer latency, warm reset need some ms.  The recovery of the device status needs some more ms.   Risk:   Current BSP have not tested above follow Device driver have not supported this follow yet. Need additional work to enable \debug\test it.     Modules enabled in this workaround now: * UART * ENET * PCIe   Tests procedure. HW: one i.MX6Q SD boards, and one INTEL pciex1 1000M CT network card.   SW(The images used by me are attached):   * Apply the attached patches(kernel and uboot) to the kernel/uboot source codes, re-build, get the images. Kernel is based on imx_3.0.35_4.0 release, uboot , is based on imx_v2009.08 # build out SD/MMC and USB driver to make DRAM hibernate work     # build pcie in.   *procedure of the suspend/resume tests;     # unload ep's driver --> suspend/resume --> reload ep's driver.   NOTE: Please make sure that the command line contains “no_console_suspend” The command used to enable the console input wake up after login the consol: echo enabled > /sys/devices/platform/imx-uart.0/tty/ttymxc0/power/wakeup   Log when the INTEL CT 1G network card is used: -------------------------------log--------------------------------------------   PM: Syncing filesystems ... done.                                             start suspend Freezing user space processes ... (elapsed 0.01 seconds) done. Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done. add wake up source irq 101 add wake up source irq 99 add wake up source irq 103 add wake up source irq 51 add wake up source irq 58 PM: suspend of devices complete after 15.482 msecs PM: late suspend of devices complete after 0.823 msecs Disabling non-boot CPUs ... CPU1: shutdown CPU2: shutdown CPU3: shutdown IMX PCIe imx_pcie_pltfm_suspend entering. IMX PCIe imx_pcie_pltfm_suspend exit.          suspended     U-Boot 2009.08-00679-g6ec6783 (May 20 2013 - 14:50:20)     resume   CPU: Freescale i.MX6 family TO1.2 at 792 MHz src 0x92eac8 resume 0x92eac8 jump to resume IMX PCIe imx_pcie_pltfm_resume entering. IMX PCIe imx_pcie_pltfm_resume pcie start re-link. IMX PCIe port imx_pcie_pltfm_resume: re-link up. Enabling non-boot CPUs ... CPU1: Booted secondary processor Calibrating delay loop (skipped) already calibrated this CPU i.MXC CPU frequency driver CPU1 is up CPU2: Booted secondary processor Calibrating delay loop (skipped) already calibrated this CPU i.MXC CPU frequency driver CPU2 is up CPU3: Booted secondary processor Calibrating delay loop (skipped) already calibrated this CPU i.MXC CPU frequency driver CPU3 is up PM: early resume of devices complete after 0.974 msecs remove wake up source irq 58 imx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7) imx-ipuv3 imx-ipuv3.1: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7) remove wake up source irq 51 remove wake up source irq 103 remove wake up source irq 101 remove wake up source irq 99 PM: resume of devices complete after 54.174 msecs Restarting tasks ... done. PHY: 1:01 - Link is Up - 100/Full                            resume is ok, reload ep’s driver num is 61 e1000e: Intel(R) PRO/1000 Network Driver - 1.3.10-k2 e1000e: Copyright(c) 1999 - 2011 Intel Corporation. e1000e 0000:01:00.0: Disabling ASPM L0s e1000e 0000:01:00.0: (unregistered net_device): Failed to initialize MSI-X interrupts.  Falling back to MSI interrupts. e1000e 0000:01:00.0: (unregistered net_device): Failed to initialize MSI interrupts.  Falling back to legacy interrupts. e1000e 0000:01:00.0: eth1: (PCI Express:2.5GT/s:Width x1) 00:1b:21:3a:18:8b e1000e 0000:01:00.0: eth1: Intel(R) PRO/1000 Network Connection e1000e 0000:01:00.0: eth1: MAC: 3, PHY: 8, PBA No: E42641-005 e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx PING 192.168.0.1 (192.168.0.1): 56 data bytes 64 bytes from 192.168.0.1: seq=0 ttl=64 time=3.126 ms 64 bytes from 192.168.0.1: seq=1 ttl=64 time=0.244 ms 64 bytes from 192.168.0.1: seq=2 ttl=64 time=0.232 ms 64 bytes from 192.168.0.1: seq=3 ttl=64 time=0.206 ms 64 bytes from 192.168.0.1: seq=4 ttl=64 time=0.222 ms 64 bytes from 192.168.0.1: seq=5 ttl=64 time=0.207 ms 64 bytes from 192.168.0.1: seq=6 ttl=64 time=0.250 ms 64 bytes from 192.168.0.1: seq=7 ttl=64 time=0.209 ms 64 bytes from 192.168.0.1: seq=8 ttl=64 time=0.154 ms 64 bytes from 192.168.0.1: seq=9 ttl=64 time=0.211 ms   --- 192.168.0.1 ping statistics --- 10 packets transmitted, 10 packets received, 0% packet loss round-trip min/avg/max = 0.154/0.506/3.126 ms PM: Syncing filesystems ... done.                                   ep’s functions are ok, re-do the suspend/resume tests Freezing user space processes ... (elapsed 0.01 seconds) done. -------------------------------end-------------------------------------------- Original Attachment has been moved to: 0001-imx-pcie-toggle-bit18-of-grp1-fix-pcie-can-t-exit-L2.patch.zip Original Attachment has been moved to: uboot_patch_image.zip Original Attachment has been moved to: kernel_patch_image.zip
View full article
Development environment: i.MX6Q SabreSD w/ L3.0.35_1.1.0_121218 release. Quoting from Wikipedia about exFAT (exFAT - Wikipedia, the free encyclopedia) as following: exFAT (Extended File Allocation Table) is a Microsoft file system optimized for flash drives. [3] It is proprietary and patent-pending. [1] It is supported in Windows XP and Windows Server 2003 with update KB955704, [2] Windows Embedded CE 6.0, Windows Vista with Service Pack 1, [4] Windows Server 2008, [5] Windows 7, Windows 8, Windows Server 2008 R2 (except Windows Server 2008 Server Core), Mac OS X Snow Leopard starting from 10.6.5, [6] Mac OS X Lion and OS X Mountain Lion. The history of support exFAT in Linux was since from 2.6.x, it involves several parts that will be described followingly. Part 1: Linux Kernel            Enable FUSE (Filesystem in userspace) feature in Kernel Config, then build a new uImage and module if set it to be "M"; Part 2: fuse-2.9.2.tar.gz            Download fuse-2.9.2.tar.gz from http://sourceforge.net/projects/fuse/files/fuse-2.X/, untar it, then build it with following commands: ./configure --prefix=/home/alanz/i.MX6_L3.0.35_121218/ltib/rootfs/usr --host=`/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-gcc -dumpmachine` --enable-lib --enable-util --enable-example --exec-prefix=/home/alanz/i.MX6_L3.0.35_121218/ltib/rootfs/usr make sudo make install Part 3: exfat-utils-1.0.1.tar.gz            Download exfat-utils-1.0.1.tar.gz from http://code.google.com/p/exfat/downloads/list, untar it, then build it with following command: sudo scons SYSROOT=/home/alanz/i.MX6_L3.0.35_121218/ltib/rootfs DESTDIR=/home/alanz/i.MX6_L3.0.35_121218/ltib/rootfs/sbin CC=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-gcc AR=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-ar RANLIB=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-ranlib STRIP=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-strip install Part 4: fuse-exfat.git git clone git://sources.progress-linux.org/git/releases/baureo-backports/packages/fuse-exfat.git  fuse-exfat.git cd fuse-exfat.git Replace the root SConstruct with the attached one, then execute command: sudo scons SYSROOT=/home/alanz/i.MX6_L3.0.35_121218/ltib/rootfs DESTDIR=/home/alanz/i.MX6_L3.0.35_121218/ltib/rootfs/sbin CC=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-gcc AR=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-ar RANLIB=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-ranlib STRIP=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-strip install After all above steps done, you can check whether the necessary files under your rootfs like I did as following: http://en.wikipedia.org/wiki/ExFAT#cite_note-uspatent-2alanz@alanz-VirtualBox:~/i.MX6_L3.0.35_121218/ltib$ find ./rootfs/ -name *exfat*./rootfs/sbin/exfatlabel ./rootfs/sbin/mount.exfat ./rootfs/sbin/fsck.exfat ./rootfs/sbin/dumpexfat ./rootfs/sbin/exfatfsck ./rootfs/sbin/mount.exfat-fuse ./rootfs/sbin/mkexfatfs ./rootfs/sbin/mkfs.exfat alanz@alanz-VirtualBox:~/i.MX6_L3.0.35_121218/ltib$ find ./rootfs/ -name *fuse*./rootfs/usr/include/fuse ./rootfs/usr/include/fuse/fuse_common_compat.h ./rootfs/usr/include/fuse/fuse_compat.h ./rootfs/usr/include/fuse/fuse_lowlevel_compat.h ./rootfs/usr/include/fuse/fuse_opt.h ./rootfs/usr/include/fuse/fuse_lowlevel.h ./rootfs/usr/include/fuse/fuse.h ./rootfs/usr/include/fuse/fuse_common.h ./rootfs/usr/include/fuse.h ./rootfs/usr/src/linux/include/linux/fuse.h ./rootfs/usr/lib/libfuse.so ./rootfs/usr/lib/libfuse.a ./rootfs/usr/lib/libfuse.so.2.9.2 ./rootfs/usr/lib/libfuse.la ./rootfs/usr/lib/libfuse.so.2 ./rootfs/sbin/mount.exfat-fuse Check Steps can be referenced by the steps presented on internet. NOTE: The directory name "/home/alanz/i.MX..." should be revised per your self development environment.
View full article
Change ambient graphic - Ambient Grafic:      Fluxbox (low memory and fast initialization) - Install (root):      apt-get update      apt-get install fluxbox - After instalation, edit file /etc/lightdm/lightdm.conf and change line:      "greeter-session=unity-grreter"  for  "greeter-session=fluxbox"   if, preference auto login comment this line:      "autologin-user=user"  for  "#autologin-user=user" - Reboot and try fluxbox  🙂
View full article