i.MX Processors Knowledge Base

cancel
Showing results for 
Search instead for 
Did you mean: 

i.MX Processors Knowledge Base

Discussions

ccache is a C compiler cache. ccache can save a large amount of compilation time on recurring builds and builds restarted from a clean repository after make clean or git clean . It is well suited for e.g. u-boot and Linux compilation. Caching the host compiler Caching "native" builds is easily done by adding in the beginning of your $PATH a special directory, which contains links to ccache to override the usual compiler. On e.g. Debian this directory is readily available as /usr/lib/ccache , So you can do:   $ export PATH="/usr/lib/ccache:$PATH" Typical links found in this folder are:   c++ -> ../../bin/ccache   cc -> ../../bin/ccache   g++ -> ../../bin/ccache   gcc -> ../../bin/ccache etc... Caching the cross compiler Caching cross-compiled builds can be done in the same way as native builds, provided you create links of the form e.g. arm-linux-gnueabihf-gcc pointing to ccache . But there is an even more convenient way for those projects, which rely on a $CROSS_COMPILE environment variable (as is the case for e.g. u-boot and Linux ). You can prefix the cross compiler with ccache there in e.g. the following way:   $ export CROSS_COMPILE="ccache arm-linux-gnueabihf-" Monitoring efficiency Now that your builds are cached, you might want to see how much is "spared" with this technique. ccache -s will tell you all sorts of statistics, such as:   cache directory                     /home/vstehle/.ccache   cache hit (direct)                 10852   cache hit (preprocessed)            3225   cache miss                         19000   called for link                    33267   called for preprocessing            9463   compile failed                         3   preprocessor error                     1   couldn't find the compiler           117   unsupported source language          921   unsupported compiler option         2167   no input file                      31681   files in cache                     51694   cache size                           1.3 Gbytes   max cache size                       4.0 Gbytes Here you see a somewhat typical 50%/50% hit/miss ratio. Enjoy! See Also ccache is usually supported natively by build systems, such as Buildroot or Yocto.
View full article
Here is a quick summary at booting Linux on the i.MX 6 sabre sd platform. This assumes you already have u-boot working on your platform as described here. This implies you already have a "working" Linux development environment with some ARM cross-compilers at hand (e.g. Debian + Emdebian ). Get Linux sources We will use git to fetch Linux sources:   $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git This should create a linux directory with all the latest sources (after a while). Note that for more stability you might want to checkout a release instead of the latest version; to do so, list the available release tags with e.g. git tag -l 'v*' , and git checkout <the-desired-tag> . Compile Assuming your cross compiler is called e.g. arm-linux-gnueabihf-gcc , you can compile by doing:   $ cd linux   $ export ARCH=arm   $ export CROSS_COMPILE=arm-linux-gnueabihf-   $ make imx_v6_v7_defconfig   $ make You then need to supply a LOADADDR (as joowonkim pointed out); do:   $ make uImage LOADADDR=0x10008000 This should create a number of files, including arch/arm/boot/uImage and arch/arm/boot/dts/imx6q-sabresd.dtb . Put on SD We need a proper FAT partition on the SD card, from which u-boot will be able to load the kernel and dtb. Also, we need to make sure we leave some space for u-boot starting from offset 1024B. Here is an example SD card layout:   +-----+------+--------+-----+----------------   | MBR |  ... | u-boot | ... | FAT partition ...   +-----+------+--------+-----+----------------   0     512    1024           1M (offsets in bytes) Here is an example SD card layout, as displayed by fdisk :   Device    Boot      Start         End      Blocks   Id  System   /dev/sdc1            2048     8054783     4026368    c  W95 FAT32 (LBA) (units: 512B sectors) You can format the FAT partition, mount, copy and unmount with:   $ mkfs.vfat /dev/<your-sd-card-first-partition>   $ mount /dev/<your-sd-card-first-partition> /mnt   $ cp arch/arm/boot/uImage arch/arm/boot/dts/imx6q-sabresd.dtb /mnt/   $ umount /mnt Your SD card first partition is typically something in /dev/sd<X>1 or /dev/mmcblk<X>p1 . Note that you need write permissions on the SD card for the command to succeed, so you might need to su - as root, or use sudo, or do a chmod a+w as root on the SD card device node to grant permissions to users. Also, be sure to have u-boot on the SD card as explained in this post. Boot! That's it; u-boot already knows how to deal with your kernel by default so you are good to go. Insert the SD card into the SD card slot of your i.MX6 sabre sd platform, connect to the USB to UART port with a serial terminal set to 115200 baud, no parity, 8bit data and power up the platform. You should see u-boot messages:   U-Boot 2013.07-rc1-00014-g74771f4 (Jun 21 2013 - 16:27:39) u-boot should load the uImage and dtb from SD card and boot the kernel:   (...)   reading uImage   4215344 bytes read in 449 ms (9 MiB/s)   Booting from mmc ...   reading imx6q-sabresd.dtb   22818 bytes read in 22 ms (1012.7 KiB/s)   ## Booting kernel from Legacy Image at 12000000 ...      Image Name:   Linux-3.10.0-rc6      Image Type:   ARM Linux Kernel Image (uncompressed)      Data Size:    4215280 Bytes = 4 MiB      Load Address: 10008000      Entry Point:  10008000      Verifying Checksum ... OK   ## Flattened Device Tree blob at 11000000      Booting using the fdt blob at 0x11000000      Loading Kernel Image ... OK   OK      Using Device Tree in place at 11000000, end 11008921   Starting kernel ... The kernel should boot:   Booting Linux on physical CPU 0x0   Linux version 3.10.0-rc6 (vstehle@debian) (gcc version 4.7.2 (Debian 4.7.2-5) ) #1 SMP Fri Jun 21 18:09:26 CEST 2013 By default, the kernel will try to mount a root filesystem from the SD card second partition, as can be read in the default kernel command line:   (...)   Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw ...but we did not prepare a root filesystem partition, so after a number of boot messages the kernel will wait indefinitely:   (...)   mmc1: new SDHC card at address b368   (...)    mmcblk0: p1   (...)   Waiting for root device /dev/mmcblk1p2... We will see in another post how to prepare this root filesystem on the second SD card partition. Enjoy! See also... If you plan to compile Linux often, you might want to use a C compiler cache; see this post. Once you have Linux booting on your platform the next step is to give it a root filesystem. See this post for a Debian root filesystem, this post for a minimal busybox filesystem and this post for generating a root filesystem with buildroot .
View full article
Here is a quick summary at booting u-boot on the i.MX 6 sabre sd platform. This assumes you already have a "working" Linux development environment with some ARM cross-compilers at hand (e.g. Debian + Emdebian). Get u-boot sources We will use git to fetch the U-Boot sources:   $ git clone git://git.denx.de/u-boot.git This should create a u-boot directory with all the latest sources. Note that for more stability you might want to checkout a release instead of the latest version; to do so, list the available release tags with e.g. git tag -l 'v2*' , and git checkout <the-desired-tag> . Compile Assuming your cross compiler is called e.g. arm-linux-gnueabihf-gcc , you can compile by doing:   $ cd u-boot   $ export CROSS_COMPILE=arm-linux-gnueabihf-   $ make mx6qsabresd_config   $ make This should create a number of files, including u-boot.imx . Put on SD U-boot should reside at offset 1024B of your SD card. To put it there, do:   $ dd if=u-boot.imx of=/dev/<your-sd-card> bs=1k seek=1   $ sync Your SD card device is typically something in /dev/sd<X> or /dev/mmcblk<X> . Note that you need write permissions on the SD card for the command to succeed, so you might need to su - as root, or use sudo, or do a chmod a+w as root on the SD card device node to grant permissions to users. Boot! Your SD card is ready for booting. Insert it in the SD card slot of your i.MX6 sabre sd platform, connect to the USB to UART port with a serial terminal set to 115200 baud, no parity, 8bit data, power up the platform and you should see something like:   U-Boot 2013.07-rc1-00014-g74771f4 (Jun 20 2013 - 19:05:09)   CPU:   Freescale i.MX6Q rev1.2 at 792 MHz   Reset cause: POR   Board: MX6Q-SabreSD   DRAM:  1 GiB   MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2   *** Warning - bad CRC, using default environment   In:    serial   Out:   serial   Err:   serial   Net:   FEC [PRIME]   Warning: FEC using MAC address from net device   Hit any key to stop autoboot:  0 Enjoy! See also... u-boot most common mission is to boot the Linux kernel. See this post for details on how to do it. If you plan to compile u-boot often, you might want to use a C compiler cache; see this post. Running a Script in U-boot u-boot on the Vybrid tower board in a few commands
View full article
There is GPU SDK for i.MX6D/Q/DL/S: IMX_GPU_SDK .  This is to share the experience when compiling the example code from the SDK with Linux BSP release: L3.0.35_1.1.0_121218 and  L3.0.35_4.0.0_130424 . Minimal profile is using and have been verified on both i.MX6Q SDP and i.MX6DL SDP. To start: Please make sure “gpu-viv-bin-mx6q” has been selected in the Package list and compiled to your rootfs. After finished the compilation of the rootfs, you should find some newly added libraries for GLES1.0, GLES2.0, OpenVG and EGL in <ltib>/rootfs/usr/lib However, you should find libOpenVG.so is actually copied from libOepnVG_3D.so: vmuser@ubuntu:~/ltib_src/ltib/rootfs/usr/lib$ ls -al libOpen* -rwxr-xr-x 1 root root 115999 2013-06-06 18:31 libOpenCL.so -rwxr-xr-x 1 root root 515174 2013-06-06 18:31 libOpenVG_355.so -rwxr-xr-x 1 root root 272156 2013-06-06 18:31 libOpenVG_3D.so -rwxr-xr-x 1 root root 272156 2013-06-06 18:31 libOpenVG.so So, in this way, i.MX6D/Q will no use libOpenVG_355.so in the build. Also, if you run NFS, the libOpenVG.so will change to symbolic link:           For example, run on i.MX6Q SDP, it will link to /usr/lib/libOpenVG_355.so                          For example, run on i.MX6DL SDP, it will link to /usr/lib/libOpenVG_3D.so                Then, when you compile the OpenVG example code, it is becoming very confusing.  Thus, it needs to pay attention when doing the compilation.  For example, delete the symbolic link and make copy of the corresponding library: For i.MX6D/Q , please do this: $ sudo /bin/rm libOpenVG.so $ sudo cp libOpenVG_355.so libOpenVG.so For i.MX6S/DL , please do this: $ sudo /bin/rm libOpenVG.so $ sudo cp libOpenVG_3D.so libOpenVG.so To compile the sample code in the GPU SDK, you could refer to iMXGraphicsSDK_OpenGLES2.0.pdf or iMXGraphicsSDK_OpenGLES1.1.pdf in ~/gpu_sdk_v1.00.tar/Documentation/Tutorials to set up the cross compilation environment; which is assuming the LTIB and the rootfs is ready. $ export ROOTFS=/home/vmuser/ltib_src/ltib/rootfs $ export CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi- For OpenVG : $ cd ~/gpu_sdk_v1.00/Samples/OpenVG $ make -f Makefile.fbdev clean $ make -f Makefile.fbdev $ make -f Makefile.fbdev install T he executable will then be copied to this directory: ~/gpu_sdk_v1.00/Samples/OpenVG/bin/OpenVG_fbdev For GLES2.0 $ cd ~/gpu_sdk_v1.00/Samples/ GLES2.0 $ make -f Makefile.fbdev clean $ make -f Makefile.fbdev $ make -f Makefile.fbdev install The executable will then be copied to this directory: ~/gpu_sdk_v1.00/Samples/ GLES2.0/bin/GLES20_fbdev For GLES1.1 , please modify the Makefile.fbdev to remove the compilation of example codes "18_VertexBufferObjects" and "19_Beizer" that are not exist. Then, $ cd ~/gpu_sdk_v1.00/Samples/ GLES1.1 $ make -f Makefile.fbdev clean $ make -f Makefile.fbdev $ make -f Makefile.fbdev install The executable will then be copied to this directory: ~/gpu_sdk_v1.00/Samples/ GLES1.1/bin/GLES11_fbdev Finally, you could copy the executable to the rootfs and test on i.MX6Q SDP/SDB or i.MX6DL SDP board. NOTE: the newly added makefiles.tgz contains Makefile.x11 hacked from GLES2.0 example code to make OpenVG to compile and run on Ubuntu 11.10 rootfs.
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
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
This is a tool can generate a DDR3 script easily for i.Mx6DQSDL and only need input several parameters based on using DDR datasheet and system architecture. Following docs(English or Chinese version) are also can be referred as a hand on guide. Freescale i.MX6 DRAM Port Application Guide-DDR3 飞思卡尔i.MX6平台DRAM接口高阶应用指导-DDR3篇 Please find i.Mx6DQP DDR3 Script Aid through below link. MX6DQP DDR3 Script Aid Please find i.Mx6DQSDL LPDDR2 Script Aid through below link. i.Mx6DQSDL LPDDR2 Script Aid Please find i.Mx6SL LPDDR2 Script Aid through below link. i.MX6SL LPDDR2 Script Aid Please find i.MX6SX DDR3 Script Aid through below link. i.MX6SX DDR3 Script Aid Please find I.MX53 DDR3 Script Aid through below link. I.MX53 DDR3 Script Aid i.MX6 DDR Stress Test Tool https://community.freescale.com/docs/DOC-96412 Any questions are welcome! Version History: 0.11 update add note for duty cycle consideration.
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, p lease 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
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
Hi All, The new Android JB4.2.2_1.0.0-GA release is now available on www.freescale.com ·          Files available Name Description 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 Guide, QSG and FAQ Sheet. 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. 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 ·          Target HW boards o    i.MX6DL  SABRE SD board o    i.MX6Q  SABRE SD board o    i.MX6DQ SABRE AI board o    i.MX6DL SABRE AI board ·          Release Description i.MX Android jb4.2.2_1.0.0-ga is GA release for Android 4.2.2 Jelly Bean(JB) on i.MX6Q SABRE SD, i.MX6DL SABRE SD and i.MX6Q/DL SABRE AI platform with key features integrated. i.MX Android jb4.2.2_1.0.0-ga release includes all necessary codes, documents and tools to assist users in building and running Android 4.2.2 on i.MX6Q and i.MX6DL hardware board from the scratch. The prebuilt images are also included for a quick trial on Freescale i.MX6Q, i.MX6DL SABRE SD and i.MX6Q/DL SABRE AI boards. Most of deliveries in this release are provided in source code with the exception of some proprietary modules/libraries from third parties. ·          Features Feature i.MX6Q   SABRE SD i.MX6DL   SABRE SD i.MX6   SABRE AI Comments Linux 3.0.35  kernel Y Y Y Based on Linux BSP   L3.0.35_4.0.0 GA release Google JellyBean   4.2.2 release Y Y Y Based on   android-4.2.2_r1 release Bootup with Android Y Y Y Boot source eMMC& External SD eMMC& External SD SD&Nand Default Nand chip   been support is Micron MT29F8G08ABABAWP Splash Screen for   LVDS Y Y N UI (input) Multi-touch on LVDS   panel Multi-touch on LVDS panel Multi-touch on LVDS   panel UI (display) LVDS panel, HDMI   display LVDS panel, HDMI   display LVDS panel, HDMI   display UI (dual display,   LVDS+HDMI, UI mirror displayed on second device) Y Y Y UI (brightness   control) Y Y Y UI (LiveWallpaper) Y Y Y Storage - External   Media Y Y Y SD, External SD and   UDisk Storage - MTP   (Media Transfer Protocol) Y Y Y Connectivity -   Ethernet Y Y Y Connectivity - BT     Y Y     N Hardware: ·            Atheros AR3001 ·            Atheros AR3002 Profiles: ·            A2DP ·            HID ·            OPP ·            PBAP Connectivity - WiFi Y Y     Y Hardware: ·            Atheros AR6103 SDIO card Features: ·            AP mode ·            Wake on Wireless Connectivity -   3G Y Y   N Hardware: ·            HUAWEI EM770W modem ·            Infinion Amazon 1 modem ·            ZTE FM210 modem Connectivity -   GPS Y Y N Connectivity - USB Tethering Y Y Y Support WIFI and   Ethernet as upstream Internet - SIP   voice call N N N Internet - VPN Y Y Y Power - Battery   status report Y Y N/A Known limitations   about the accuracy in some use cases Power - CPU Freq Y Y Y Power - Bus Freq Y Y Y Media - Music Play Y Y Y Media - Sound Record Y Y Y Media - Video Play Y Y Y Media - Camera Y Y N Media - TVIN N/A N/A Y PAL/NTSC Media - Dual Camera Y Y Y Hardware for SABRE SD: ·            Front Camera: OV5642 CSI camera ·            Rear Camera: OV5640 MIPI camera Hardware   for SABRE AI: ·            Front Camera: UVC camera ·            Rear Camera: TV IN Media - Camcorder Y Y N Media - USB Camera Y Y Y Logitech: ·            C250 ·            E3500 Media - USB Micro Y Y Y Media - Movie   Studio Y Y Y Media - HDMI audio output Y Y Y Graphic - HW 3D   acceleration Y Y Y OpenGLES 1.1/2.0   via GC2000 or GC800 3D core Graphic - HW   accelerated UI surface composition Y Y Y Misc - ADB over USB Y Y Y Misc - Fastboot   utility Y Y Y Misc - SW update   and factory reset Y Y Y Sensor - Magmatic Y Y N Sensor -   Accelerometer Y Y N Sensor - Light Y Y N NTFS-3G File System Y Y Y For external   Storage NAND N N Y Tested NAND chip: - Micro 29F8G08ABABA ·          Change List The below section lists the big changes in JellyBean which need the user’s attention when comparing to Freescale ICS version: o    Default Android multiple display implementation in JellyBean o    Display resolution change in Setting is not been supported o    New camera hal implementation based on JellyBean libcamera2 o    Add NTFS file system support for external storage ·          Known issues For known issues and limitations please consult the release notes
View full article
This document provides the steps to patch and build a fastboot Linux System. This document assumes the BSP 3.0.35_1.1.0 and a  i.MX6Q platform. For more information about what the patches do, please check this link. Install LTIB and move to the ltib folder Download the ltib patch from this document and patch it (patch -p1 < 0001-set-imx6_ssd_lite_defconfig-as-default-kernel-config.patch) Go to the LTIB configuration menu (./ltib -m config), select mx6q platform and min profile Select mx6q_sabresd as u-boot board Fetch and Patch: u-boot: Prepare u-boot source code (./ltib -m prep -p u-boot) Move to u-boot folder (cd rpm/BUILD/u-boot-2009.08) Download u-boot attached patches Patch code (for p in *.patch; do patch -p1 < $p;done) kernel: Prepare kernel source code (./ltib -m prep -p kernel) Move to kernel folder (cd rpm/BUILD/linux) Download attached kernel patches Patch code (for p in *.patch; do patch -p1 < $p;done) Build  (./ltib) Add  an application to run first after boot in rootfs/etc/inittab (see example inittab file, it captures data from the MIPI Camera) Create necessary devices nodes under rootfs/dev. For example terminal: sudo mknod ttymxc0 c 207 16 video capture nodes: sudo mknod video0 c 81 5; sudo mknod video1 c 81 6 video display nodes: sudo mknod video16 c 81 0; sudo mknod video17 c 81 1 frame-buffers: for i in 0 1 2 3 4; do sudo mknod fb$i c 29 $i; done Package rootfs (cd rootfs; sudo tar --numeric-owner -cvfj ../rootfs.tar.bz2 *; cd ..) On a windows machine, download latest Manufacturing tool and uncompress it. Move rootfs.tar.bz2, rootfs/boot/uImage and rootfs/boot/u-boot.bin into the corresponding Manufacturing folder (Profiles\MX6Q Linux Update\OS Firmware\files) Choose a sabresd-eMMC profile and flash the board Boot the board using the eMMC
View full article
Hi All, The i.MX6 Android R13.4-GA.03 patch release is now available on www.freescale.com ·          Files available # Name Description 1 IMX6_R13.4.03_ANDROID_PATCH This patch release is based on the i.MX 6 Android R13.4   release. The purpose of this patch release is correct the PFD workflow in   U-Boot, fix the miscalibration issue for the thermal sensor and corrects   ramp-up time of the internal LDOs
View full article
Hi All, The i.MX6 Android R13.4.1.04 patch release is now available onwww.freescale.com ·          Files available # Name Description 1 IMX6_R13.4.1.04_ANDROID_PATCH This patch release is based on the i.MX 6 Android R13.4.1   release. The purpose of this patch release is correct the PFD workflow in   U-Boot, fix the miscalibration issue for the thermal sensor and corrects   ramp-up time of the internal LDOs
View full article
The i.MX 6 D/Q L3.035_1.0.3 patch release is now available on www.freescale.com ·          Files available # Name Description 1 L3.0.35_1.0.3_TEMP_PFD_PATCH This patch release is based on the i.MX 6Dual/6Quad Linux   12.09.01 release. The purpose of this patch release is update thermal sensor   calibration routine and correct the PFD workflow in U-Boot. More details in   the release notes.
View full article
The i.MX 6 D/Q L3.035_1.1.3 patch release is now available on the www.freescale.com ·          Files available # Name Description 1 L3.0.35_1.1.3_TEMP_PATCH This patch release is based on the i.MX 6Dual/6Quad Linux   L3.0.35_1.1.0 release. The purpose of this patch release is fix the   miscalibration issue for the thermal sensor.
View full article
i.MX6 Quad/6Dual/6SoloLite Errata ERR006282: ROM code uses non-reset PFDs to generate clocks which may lead to random boot failures This PDF contains information about an issue affecting i.MX 6Quad/6Dual/6SoloLite Phase Fractional Dividers (PFDs) and boot. This erratum will be included in the next update of the i.MX6x Silicon Errata documentation but is being provided here for reference until then.
View full article
Dear IMX community, We usingiMX6 Quad processor and run Android 13.4, After below log file and android handup, We also run DDR stress test without problems found, Can anyone give a suggestions on this issue Best Regards, Jim ================================ U-Boot 2009.08-00008-g5f5b708-dirty (Mar 18 2013 - 17:23:58) CPU: Freescale i.MX6 family TO1.2 at 792 MHz Temperature:   52 C, calibration data 0x5b051d69 mx6q pll1: 792MHz mx6q pll2: 528MHz mx6q pll3: 480MHz mx6q pll8: 50MHz ipg clock     : 66000000Hz ipg per clock : 66000000Hz uart clock    : 80000000Hz cspi clock    : 60000000Hz ahb clock     : 132000000Hz axi clock   : 264000000Hz emi_slow clock: 29333333Hz ddr clock     : 528000000Hz usdhc1 clock  : 198000000Hz usdhc2 clock  : 198000000Hz usdhc3 clock  : 198000000Hz usdhc4 clock  : 198000000Hz nfc clock     : 24000000Hz Board: MX6Q-SABRELITE:[ POR] Boot Device: I2C I2C:   ready DRAM:   1 GB MMC:   FSL_USDHC: 0,FSL_USDHC: 1 JEDEC ID: 0x20:0x20:0x16 *** Warning - bad CRC, using default environment In:    serial Out:   serial Err:   serial Net:   got MAC address from IIM: 00:00:00:00:00:00 FEC0 [PRIME] Hit any key to stop autoboot:  0 mmc0(part 0) is current device reading /6q_bootscript 353 bytes read ## Executing script at 10008000 reading uimage 4016476 bytes read reading uramdisk.img 212592 bytes read ## Booting kernel from Legacy Image at 10800000 ...    Image Name:   Linux-3.0.35    Image Type:   ARM Linux Kernel Image (uncompressed)    Data Size:    4016412 Bytes =  3.8 MB    Load Address: 10008000    Entry Point:  10008000    Verifying Checksum ... OK ## Loading init Ramdisk from Legacy Image at 12800000 ...    Image Name:   Android Root Filesystem    Image Type:   ARM Linux RAMDisk Image (uncompressed)    Data Size:    212528 Bytes = 207.5 kB    Load Address: 12800000    Entry Point:  12800000    Verifying Checksum ... OK    Loading Kernel Image ... OK OK Starting kernel ... Initializing cgroup subsys cpuset Initializing cgroup subsys cpu Linux version 3.0.35 (leo@pluto) (gcc version 4.6.2 20120613 (release) [ARM/embedded-4_6-bra                                 nch revision 188521] (GNU Tools for ARM Embedded Processors) ) #10 SMP PREEMPT Tue Mar 19 11                                 :34:02 CST 2013 CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine: Freescale i.MX 6Quad Sabre-Lite Board Memory policy: ECC disabled, Data cache writealloc CPU identified as i.MX6Q, silicon rev 1.2 PERCPU: Embedded 7 pages/cpu @c1119000 s5760 r8192 d14720 u32768 Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 210944 Kernel command line: arm_freq=1000 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 video=mxcfb1                                 :off console=ttymxc0,115200 init=/init rw no_console_suspend androidboot.console=ttymxc0 vma                                 lloc=400M PID hash table entries: 2048 (order: 1, 8192 bytes) Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) Memory: 576MB 256MB = 832MB total Memory: 833728k/833728k available, 214848k reserved, 442368K highmem Virtual kernel memory layout:     vector  : 0xffff0000 - 0xffff1000   (   4 kB)     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)     DMA     : 0xfbe00000 - 0xffe00000   (  64 MB)     vmalloc : 0xd9800000 - 0xf2000000   ( 392 MB)     lowmem  : 0xc0000000 - 0xd9000000   ( 400 MB)     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)     modules : 0xbf000000 - 0xbfe00000   (  14 MB)       .init : 0xc0008000 - 0xc0041000   ( 228 kB)       .text : 0xc0041000 - 0xc0770fb0   (7360 kB)       .data : 0xc0772000 - 0xc07e0da0   ( 444 kB)        .bss : 0xc07e0dc4 - 0xc090f7d0   (1211 kB) Preemptible hierarchical RCU implementation. NR_IRQS:496 MXC GPIO hardware sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms MXC_Early serial console at MMIO 0x2020000 (options '115200') bootconsole [ttymxc0] enabled Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 Initializing cgroup subsys cpuacct CPU: Testing write buffer coherency: ok hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available CPU1: Booted secondary processor CPU2: Booted secondary processor CPU3: Booted secondary processor Brought up 4 CPUs SMP: Total of 4 processors activated (6324.22 BogoMIPS). print_constraints: dummy: NET: Registered protocol family 16 print_constraints: vddpu: 725 <--> 1300 mV at 1150 mV fast normal print_constraints: vddcore: 725 <--> 1300 mV at 1150 mV fast normal print_constraints: vddsoc: 725 <--> 1300 mV at 1200 mV fast normal print_constraints: vdd2p5: 2000 <--> 2775 mV at 2400 mV fast normal print_constraints: vdd1p1: 800 <--> 1400 mV at 1100 mV fast normal print_constraints: vdd3p0: 2800 <--> 3150 mV at 3000 mV fast normal ------------ Board type Sabre Lite Flexcan NXP tja1040 hw-breakpoint: found 6 breakpoint and 1 watchpoint registers. hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step. hw-breakpoint: maximum watchpoint size is 4 bytes. L310 cache controller enabled l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x02070000, Cache size: 1048576 B IMX usb wakeup probe bio: create slab <bio-0> at 0 print_constraints: VDDA: 2500 mV print_constraints: VDDIO: 3300 mV machine_constraints_voltage: VDDD: unsupportable voltage constraints reg-fixed-voltage reg-fixed-voltage.2: Failed to register regulator: -22 reg-fixed-voltage: probe of reg-fixed-voltage.2 failed with error -22 print_constraints: vmmc: 3300 mV SCSI subsystem initialized spi_imx imx6q-ecspi.0: probed usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb Freescale USB OTG Driver loaded, $Revision: 1.55 $ add wake up source irq 75 i2c i2c-0: Invalid 7-bit I2C address 0x00 i2c i2c-0: Can't create device at 0x00 imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7) imx-ipuv3 imx-ipuv3.1: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7) mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 driver probed mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 dphy version is 0x3130302a MIPI CSI2 driver module loaded Advanced Linux Sound Architecture Driver Version 1.0.24. Bluetooth: Core ver 2.16 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized Bluetooth: L2CAP socket layer initialized Bluetooth: SCO socket layer initialized i2c-core: driver [max17135] using legacy suspend method i2c-core: driver [max17135] using legacy resume method Switching to clocksource mxc_timer1 NET: Registered protocol family 2 IP route cache hash table entries: 16384 (order: 4, 65536 bytes) TCP established hash table entries: 65536 (order: 7, 524288 bytes) TCP bind hash table entries: 65536 (order: 7, 786432 bytes) TCP: Hash tables configured (established 65536 bind 65536) TCP reno registered UDP hash table entries: 256 (order: 1, 8192 bytes) UDP-Lite hash table entries: 256 (order: 1, 8192 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. Unpacking initramfs... Freeing initrd memory: 204K Static Power Management for Freescale i.MX6 wait mode is enabled for i.MX6 cpaddr = d9880000 suspend_iram_base=d98fc000 PM driver module loaded IMX usb wakeup probe i.MXC CPU frequency driver highmem bounce pool size: 64 pages ashmem: initialized JFFS2 version 2.2. (NAND) ? 2001-2006 Red Hat, Inc. msgmni has been set to 764 io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) MIPI DSI driver module loaded mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver hdmi mxc_hdmi mxc_hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1 fbcvt: 1920x1080@60: CVT Name - 2.073M9 imx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7) mxc_sdc_fb mxc_sdc_fb.1: Can't get fb option for mxcfb1! mxc_sdc_fb mxc_sdc_fb.2: register mxc display driver ldb _regulator_get: get() with no identifier mxc_sdc_fb mxc_sdc_fb.3: register mxc display driver ldb mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 0(VIC 16): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 1(VIC 0): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 2(VIC 1): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 3(VIC 0): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 4(VIC 0): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 5(VIC 0): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 6(VIC 0): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 7(VIC 0): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 8(VIC 0): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 9(VIC 0): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 10(VIC 0): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 11(VIC 0): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 12(VIC 0): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 13(VIC 0): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 14(VIC 0): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 15(VIC 0): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 16(VIC 16): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 18(VIC 1): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 19(VIC 2): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 20(VIC 3): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 21(VIC 4): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 22(VIC 31): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 23(VIC 19): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 24(VIC 17): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 25(VIC 18): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 29(VIC 16): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 30(VIC 3): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 31(VIC 4): mxc_hdmi mxc_hdmi: mxc_hdmi_edid_rebuild_modelist: Added mode 32(VIC 18): fbcvt: 1920x1080@60: CVT Name - 2.073M9 imx-sdma imx-sdma: loaded firmware 1.1 imx-sdma imx-sdma: initialized Serial: IMX driver imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX console [ttymxc0] enabled, bootconsole disabled console [ttymxc0] enabled, bootconsole disabled imx-uart.1: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX imx-uart.2: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX loop: module loaded m25p80 spi0.0: m25p32 (4096 Kbytes) Creating 3 MTD partitions on "m25p80": 0x000000000000-0x0000000c0000 : "bootloader" 0x0000000c0000-0x0000000c2000 : "ubparams" mtd: partition "ubparams" doesn't end on an erase block -- force read-only 0x0000000c2000-0x000000400000 : "unused" mtd: partition "unused" doesn't start on an erase block boundary -- force read-only vcan: Virtual CAN interface driver CAN device driver interface flexcan netdevice driver flexcan imx6q-flexcan.0: device registered (reg_base=d9970000, irq=142) FEC Ethernet Driver fec_enet_mii_bus: probed PPP generic driver version 2.4.2 PPP Deflate Compression module registered PPP BSD Compression module registered PPP MPPE Compression module registered NET: Registered protocol family 24 PPTP driver version 0.8.5 tun: Universal TUN/TAP device driver, 1.6 tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1 fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000 fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected add wake up source irq 72 fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2 fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200 fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00 hub 2-0:1.0: USB hub found hub 2-0:1.0: 1 port detected usbcore: registered new interface driver cdc_acm cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. usbcore: registered new interface driver usbserial usbserial: USB Serial Driver core USB Serial support registered for GSM modem (1-port) usbcore: registered new interface driver option option: v0.7.2:USB Driver for GSM modems USB Serial support registered for Qualcomm USB modem usbcore: registered new interface driver qcserial ARC USBOTG Device Controller driver (1 August 2005) android_usb gadget: Mass Storage Function, version: 2009/09/11 android_usb gadget: Number of LUNs=1 lun0: LUN: removable file: (no medium) Gadget Android: controller 'fsl-usb2-udc' not recognized android_usb gadget: android_usb ready Suspend udc for OTG auto detect fsl-usb2-udc: bind to driver android_usb mousedev: PS/2 mouse device common for all mice input: gpio-keys as /devices/platform/gpio-keys/input/input0 egalax_ts 2-0004: egalax_ts: failed to read firmware version egalax_ts: probe of 2-0004 failed with error -5 input: ak4183ts as /devices/platform/imx-i2c.1/i2c-1/1-0048/input/input1 i2c-core: driver [isl29023] using legacy suspend method i2c-core: driver [isl29023] using legacy resume method using rtc device, snvs_rtc, for alarms snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0 i2c /dev entries driver Linux video capture interface: v2.00 ov5640_read_reg:write reg error:reg=300a ov5640_probe:cannot find camera mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video16 mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video17 mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video18 mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video19 mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video20 usbcore: registered new interface driver uvcvideo USB Video Class driver (v1.1.0) i2c-core: driver [mag3110] using legacy suspend method i2c-core: driver [mag3110] using legacy resume method usb 2-1: new high speed USB device number 2 using fsl-ehci imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1) device-mapper: uevent: version 1.0.3 device-mapper: ioctl: 4.20.0-ioctl (2011-02-02) initialised: dm-devel@redhat.com Bluetooth: Virtual HCI driver ver 1.3 Bluetooth: HCI UART driver ver 2.2 Bluetooth: HCIATH3K protocol initialized Bluetooth: Generic Bluetooth USB driver ver 0.6 usbcore: registered new interface driver btusb sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman mmc0: SDHCI controller on platform [sdhci-esdhc-imx.2] using DMA sdhci sdhci-esdhc-imx.3: no write-protect pin available! mmc1: SDHCI controller on platform [sdhci-esdhc-imx.3] using DMA mxc_vdoa mxc_vdoa: i.MX Video Data Order Adapter(VDOA) driver probed VPU initialized mxc_asrc registered revserved_memory_account:viv_gpu registerd Thermal calibration data is 0x5b051d69 anatop_thermal_counting_ratio: raw25c=1456 raw_hot=1309 hot_temp=105 Anatop Thermal registered as thermal_zone0 anatop_thermal_probe: default cooling device is cpufreq! usbcore: registered new interface driver usbhid usbhid: USB HID core driver logger: created 256K log 'log_main' logger: created 256K log 'log_events' hub 2-1:1.0: USB hub found logger: created 256K log 'log_radio' logger: created 256K log 'log_system' usbcore: registered new interface driver snd-usb-audio mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio Cirrus Logic CS42888 ALSA SoC Codec Driver i2c-core: driver [cs42888] using legacy suspend method i2c-core: driver [cs42888] using legacy resume method hub 2-1:1.0: 4 ports detected mmc0: new high speed MMC card at address 0001 mmcblk0: mmc0:0001 eMMC   3.71 GiB mmcblk0boot0: mmc0:0001 eMMC   partition 1 2.00 MiB mmcblk0boot1: mmc0:0001 eMMC   partition 2 2.00 MiB mmcblk0: p1 p2 p3 < p5 p6 p7 p8 p9 > p4 mmcblk0boot1: unknown partition table mmcblk0boot0: unknown partition table asoc: sgtl5000 <-> imx-ssi.1 mapping ok imx_3stack asoc driver asoc: mxc-hdmi-soc <-> imx-hdmi-soc-dai.0 mapping ok ALSA device list:   #0: sgtl5000-audio   #1: imx-hdmi-soc Netfilter messages via NETLINK v0.30. nf_conntrack version 0.5.0 (13030 buckets, 52120 max) ctnetlink v0.93: registering with nfnetlink. NF_TPROXY: Transparent proxy support initialized, version 4.1.0 NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd. xt_time: kernel timezone is -0000 IPv4 over IPv4 tunneling driver GRE over IPv4 demultiplexor driver ip_tables: (C) 2000-2006 Netfilter Core Team arp_tables: (C) 2002 David S. Miller TCP cubic registered NET: Registered protocol family 10 ip6_tables: (C) 2000-2006 Netfilter Core Team IPv6 over IPv4 tunneling driver NET: Registered protocol family 17 NET: Registered protocol family 15 can: controller area network core (rev 20090105 abi 😎 NET: Registered protocol family 29 can: raw protocol (rev 20090105) can: broadcast manager protocol (rev 20090105 t) Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Bluetooth: BNEP filters: protocol multicast Bluetooth: HIDP (Human Interface Emulation) ver 1.2 L2TP core driver, V2.0 PPPoL2TP kernel driver, V2.0 L2TP IP encapsulation support (L2TPv3) L2TP netlink interface L2TP ethernet pseudowire support (L2TPv3) lib80211: common routines for IEEE802.11 drivers VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4 Bus freq driver module loaded Bus freq driver Enabled mxc_dvfs_core_probe DVFS driver module loaded regulator_init_complete: VDDIO: incomplete constraints, leaving on regulator_init_complete: VDDA: incomplete constraints, leaving on regulator_init_complete: vddpu: incomplete constraints, leaving on snvs_rtc snvs_rtc.0: setting system clock to 1970-01-02 00:04:27 UTC (86667) Freeing init memory: 228K usb 2-1.4: new low speed USB device number 3 using fsl-ehci init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead. input: HID 04d9:0499 as /devices/platform/fsl-ehci.1/usb2/2-1/2-1.4/2-1.4:1.0/input/input2 generic-usb 0003:04D9:0499.0001: input,hidraw0: USB HID v1.10 Mouse [HID 04d9:0499] on usb-f                                 sl-ehci.1-1.4/input0 EXT4-fs (mmcblk0p5): recovery complete EXT4-fs (mmcblk0p5): mounted filesystem with ordered data mode. Opts: (null) EXT4-fs (mmcblk0p7): recovery complete EXT4-fs (mmcblk0p7): mounted filesystem with ordered data mode. Opts: noauto_da_alloc,errors                                 =panic EXT4-fs (mmcblk0p6): warning: mounting unchecked fs, running e2fsck is recommended EXT4-fs (mmcblk0p6): mounted filesystem without journal. Opts: (null) init: cannot find '/system/bin/gpu_init.sh', disabling 'gpu_init' init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery' android_usb: already disabled adb_open mtp_bind_config adb_bind_config warning: `rild' uses 32-bit capabilities (legacy support in use) root@android:/ # ERROR: v4l2 capture: slave not found! ERROR: v4l2 capture: slave not found! request_suspend_state: wakeup (3->0) at 20324699670 (1970-01-02 00:04:45.205101336 UTC) eth0: Freescale FEC PHY driver [Micrel KSZ9021 Gigabit PHY] (mii_bus:phy_addr=1:07, irq=284) ADDRCONF(NETDEV_UP): eth0: link is not ready acc_open acc_release PHY: 1:07 - Link is Up - 100/Full ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready CPU3: shutdown CPU2: shutdown Unable to handle kernel paging request at virtual address f40c4010 pgd = d3e04000 [f40c4010] *pgd=02011452(bad) Internal error: Oops: 2d [#1] PREEMPT SMP Modules linked in: CPU: 0    Not tainted  (3.0.35 #10) PC is at _clk_arm_get_rate+0xc/0x28 LR is at clk_get_rate+0x40/0x50 pc : [<c005ac7c>]    lr : [<c006650c>]    psr: a0000193 sp : d3e51db0  ip : c004c6b0  fp : d3ceae00 r10: 00100100  r9 : c111a588  r8 : 00200200 r7 : 010da000  r6 : 00000001  r5 : d6f15e8c  r4 : c07e1040 r3 : f40c4000  r2 : d3e51dd8  r1 : 00000000  r0 : c0790430 Flags: NzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user Control: 10c53c7d  Table: 23e0404a  DAC: 00000015 PC: 0xc005abfc: abfc  1affffdc eaffffee c078f07c c07e1654 c078f0d0 e92d4010 e59f304c e5900028 ac1c  e1500003 0a000007 e59f3040 e1500003 13a04001 0a000003 eb002e24 e1a01004 ac3c  eb076b36 e8bd8010 e3a03901 e34f340c e5934014 eb002e1d e7e24dd4 e2844001 ac5c  e1a01004 eb076b2d e8bd8010 c078f124 c078e260 e3a03901 e34f240c e92d4010 ac7c  e5934010 e5900028 eb002e10 e2041007 e2811001 eb076b21 e8bd8010 e92d4038 ac9c  e1a05001 e5900028 eb002e08 e1a01005 e1a04000 eb076b19 e2501000 03a01001 acbc  0a000001 e3510040 23a01040 e1a00004 eb076b12 e8bd8038 e92d40f8 e1a05001 acdc  e5900028 eb002df9 e1a01005 e1a07000 eb076b0a e2504000 01a06004 03a04001 LR: 0xc006648c: 648c  c07e1684 c0574908 c06a6f80 e59f3010 e3500000 e593000c 1a000000 ea000167 64ac  ea000189 c07e15fc e3500000 012fff1e e3700a01 91d003d0 83a00000 e12fff1e 64cc  e3500000 e92d4008 08bd8008 e3700a01 83a00000 9a000005 e8bd8008 e5900028 64ec  e3500000 0a000006 e3700a01 8a000005 e590303c e3530000 0afffff7 e12fff33 650c  e8bd8008 e8bd8008 e3a00000 e8bd8008 e92d4008 e2503000 01a00003 08bd8008 652c  e3730a01 83a00000 88bd8008 e5933044 e3530000 0a000001 e12fff33 e8bd8008 654c  e1a00003 e8bd8008 e3500000 012fff1e e3700a01 95900028 83a00000 e12fff1e 656c  e3500000 e92d4010 e1a04001 1a000003 ea00000d e5900028 e3500000 0a00000a SP: 0xd3e51d30: 1d30  c111a040 c1119040 00000006 00000003 00000006 c1119040 00000000 393f7476 1d50  00000006 0000040f 0000000d 00000001 010da000 c00469d0 c0790430 00000000 1d70  d3e51dd8 f40c4000 c07e1040 d6f15e8c 00000001 010da000 00200200 c111a588 1d90  00100100 d3ceae00 c004c6b0 d3e51db0 c006650c c005ac7c a0000193 ffffffff 1db0  c07e1040 c006650c c0059e84 c0059e90 c0059e84 c006650c c004c6d8 c004c6ec 1dd0  d3e51dd8 c00a799c d3e51dd8 d3e51dd8 c0783cd0 d3e50000 c003fc18 00000000 1df0  00000000 d3e51e20 d6085a00 c00412c0 ffffffff f2a00100 00000405 00000001 1e10  00000000 d3e50000 d6085a00 c0046a4c 00000000 010da000 00000000 d3e50000 IP: 0xc004c630: c630  e59f3018 e1a0000c e5933004 e12fff33 e28dd014 e8bd8000 c078b1c8 c004c16c c650  c0783a2c e3510003 e1a0c00d e3cc2d7f 93a03000 83a03001 e3510001 03833001 c670  e3c2203f e3530000 e5922014 1a000009 e3520003 ca000007 e2822008 e7d0c002 c690  e20cc0fc e18c1001 e6ef1071 e7c01002 e1a00003 e12fff1e e3e03015 eafffffb c6b0  e3013040 e34c307e e1a01000 e3a00000 e5933000 e5932008 e5831004 e3822001 c6d0  e5832008 e12fff1e e92d4010 e3014040 e34c407e e5940004 eb006777 e1a0300d c6f0  e3c3cd7f e3032cd0 e3ccc03f e34c2078 e594300c e59cc014 e792210c e1a01000 c710  e5840008 e7930002 e8bd4010 ea015288 e59f304c e593000c e3500000 012fff1e FP: 0xd3cead80: ad80  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ada0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 adc0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ade0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ae00  c10d5580 00000001 00000000 00000000 00000000 00000000 c10d5580 00000001 ae20  00000000 00000000 00000000 00000000 c10d5580 00000001 00000000 00000000 ae40  00000000 00000000 c10d5580 00000001 00000000 00000000 00000000 00000000 ae60  c10d5580 00000001 00000000 00000000 00000000 00000000 c10d5580 00000001 R0: 0xc07903b0: 03b0  c06a7998 c078f9ac c07903cc c07903a4 c06a79a4 c06a9e14 c0791738 c07903e0 03d0  c07903b8 c06a79b4 c06a9e14 c079178c c07903f4 c07903cc c06a79c4 c06a9e14 03f0  c07917e0 c0790408 c07903e0 00000000 c06a79d4 c07906d0 c079041c c07903f4 0410  00000000 c06a79e0 c078f568 c07cd698 c0790408 00000000 c06a79ec c078f5bc 0430  5f757063 006b6c63 00000000 00000000 00000000 00000000 00000000 00000000 0450  d40a0228 00000000 c078f4c0 00000000 00000001 00000000 00000000 c005ac70 0470  c005bc28 00000000 00000000 00000000 00000000 61746173 6b6c635f 00000000 0490  00000000 00000000 00000000 00000000 00000000 d4044aa8 00000000 c078f370 R2: 0xd3e51d58: 1d58  0000000d 00000001 010da000 c00469d0 c0790430 00000000 d3e51dd8 f40c4000 1d78  c07e1040 d6f15e8c 00000001 010da000 00200200 c111a588 00100100 d3ceae00 1d98  c004c6b0 d3e51db0 c006650c c005ac7c a0000193 ffffffff c07e1040 c006650c 1db8  c0059e84 c0059e90 c0059e84 c006650c c004c6d8 c004c6ec d3e51dd8 c00a799c 1dd8  d3e51dd8 d3e51dd8 c0783cd0 d3e50000 c003fc18 00000000 00000000 d3e51e20 1df8  d6085a00 c00412c0 ffffffff f2a00100 00000405 00000001 00000000 d3e50000 1e18  d6085a00 c0046a4c 00000000 010da000 00000000 d3e50000 d67c9c60 0000002a 1e38  00000001 00000001 c10d5580 00000000 d6085a00 d3ceae00 00000000 d3e51e68 R3: 0xf40c3f80: 3f80  ******** ******** ******** ******** ******** ******** ******** ******** 3fa0  ******** ******** ******** ******** ******** ******** ******** ******** 3fc0  ******** ******** ******** ******** ******** ******** ******** ******** 3fe0  ******** ******** ******** ******** ******** ******** ******** ******** 4000  ******** ******** ******** ******** ******** ******** ******** ******** 4020  ******** ******** ******** ******** ******** ******** ******** ******** 4040  ******** ******** ******** ******** ******** ******** ******** ******** 4060  ******** ******** ******** ******** ******** ******** ******** ******** R4: 0xc07e0fc0: 0fc0  412fc09a 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0fe0  c07a0b20 c07ccc64 00000000 00000000 00000000 c0798518 00000001 00000000 1000  00000001 00000000 00000000 d8fff000 00000000 c0067230 c00542e0 00000000 1020  10004000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 1040  d9800600 c0790874 0bcd3d80 c0043028 00000000 00000000 00030000 00000005 1060  00000001 00000001 00000004 00000000 00000000 c078c518 00000000 00000000 1080  00000000 00000000 00000000 d60e8000 d60e9000 d60ea000 d60eb000 d60ec000 10a0  d60ed000 d60ee000 d60ef000 d60f0000 d60f1000 d60f2000 d60f3000 d60f4000 R5: 0xd6f15e0c: 5e0c  00000002 00000001 c0046a4c c0574e78 00000005 f2a01000 00000001 d6f15e8c 5e2c  c111a580 00000000 c111a580 010da000 c111a588 00000001 c0574f04 00000000 5e4c  d6f15e60 c004bbac c00a708c 20000113 ffffffff d6f14000 00000000 c004c6d8 5e6c  00000001 c0574f00 c0783cd0 d6f15f3c c00a71c0 c0041eb0 d6134600 80002001 5e8c  00100100 00200200 c004c6d8 00000000 00000001 00018d00 ffffffff c07ccdcc 5eac  00000000 d6f15f3c 00000001 d6f15f3c c004c850 c004c808 c0098c2c c07ff7fc 5ecc  c07ff7e4 00000000 00000001 ffffffff c0098d80 00000000 001312d0 00000000 5eec  d6f15f3c d63128e0 00000000 c0783ac4 00000004 c0783b00 c0098db4 00000000 R9: 0xc111a508: a508  00008288 00000000 2b85e900 00000006 00000000 00000000 0008f4da 00000000 a528  ffff968e ffffffe5 d6f93800 00000000 00000000 00000000 00000000 00000000 a548  00000000 00000000 00000000 00000000 00000000 00000000 c07740e0 00200200 a568  c00972ac 00000000 00000000 00000000 00000000 00000000 c111a580 c111a580 a588  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 a5a8  00000000 00000000 00000000 00000000 00000000 00000000 00000000 c111a5c0 a5c8  c111a5c8 c111a5c8 00000000 c111a5d4 c111a5d4 00000000 00000000 00000000 a5e8  00000084 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Process WindowManagerPo (pid: 2301, stack limit = 0xd3e502f0) Stack: (0xd3e51db0 to 0xd3e52000) 1da0:                                     c07e1040 c006650c c0059e84 c0059e90 1dc0: c0059e84 c006650c c004c6d8 c004c6ec d3e51dd8 c00a799c d3e51dd8 d3e51dd8 1de0: c0783cd0 d3e50000 c003fc18 00000000 00000000 d3e51e20 d6085a00 c00412c0 1e00: ffffffff f2a00100 00000405 00000001 00000000 d3e50000 d6085a00 c0046a4c 1e20: 00000000 010da000 00000000 d3e50000 d67c9c60 0000002a 00000001 00000001 1e40: c10d5580 00000000 d6085a00 d3ceae00 00000000 d3e51e68 c0103478 c0114ba8 1e60: 60000013 ffffffff c0103478 c0114b38 60000013 c0103478 00000000 00000001 1e80: d3e51f40 00000001 00000001 0000000e d3e50000 d4288e7c ffffffff fffffdee 1ea0: d6085a00 00000000 00000000 d3e51f80 d3e50000 00000000 5c66e6f4 c00fb338 1ec0: 00000000 00000000 d61e0f8c 00000000 00000000 00000001 ffffffff d6085a00 1ee0: 00000000 00000000 00000000 00000000 d6f93be0 c0047184 00000000 00000000 1f00: 00000000 00000000 d3e51f08 d3e51f08 00000001 d3e50000 00000001 d624ea48 1f20: d6ee11a0 00000001 00000001 00000000 00000000 00000000 5eacafff d624ea48 1f40: 4007a0e4 00000000 d6085a00 00000001 4007a0e3 d3e51f80 00000001 c00fba3c 1f60: 00000000 c00fd050 d6085a00 4007a0e3 00000000 00000000 00000001 c00fbcac 1f80: 00000000 00000000 006ae0fc 00000001 4007a0e3 006ae0e8 00000000 00000004 1fa0: c0047184 c0047000 4007a0e3 006ae0e8 0000005d 4007a0e3 00000001 5bc63d90 1fc0: 4007a0e3 006ae0e8 00000000 00000004 5c66e6e0 5bc63d38 00000000 5c66e6f4 1fe0: 4007d058 5c66e6b8 40075d1b 400c5474 20000010 0000005d 00000000 00000000 [<c005ac7c>] (_clk_arm_get_rate+0xc/0x28) from [<c006650c>] (clk_get_rate+0x40/0x50) [<c006650c>] (clk_get_rate+0x40/0x50) from [<c0059e90>] (_clk_twd_get_rate+0xc/0x14) [<c0059e90>] (_clk_twd_get_rate+0xc/0x14) from [<c006650c>] (clk_get_rate+0x40/0x50) [<c006650c>] (clk_get_rate+0x40/0x50) from [<c004c6ec>] (twd_update_frequency+0x14/0x48) [<c004c6ec>] (twd_update_frequency+0x14/0x48) from [<c00a799c>] (generic_smp_call_function_s                                 ingle_interrupt+0xd0/0x130) [<c00a799c>] (generic_smp_call_function_single_interrupt+0xd0/0x130) from [<c00412c0>] (do_I                                 PI+0xec/0x208) [<c00412c0>] (do_IPI+0xec/0x208) from [<c0046a4c>] (__irq_svc+0x4c/0xe8) Exception stack(0xd3e51e20 to 0xd3e51e68) 1e20: 00000000 010da000 00000000 d3e50000 d67c9c60 0000002a 00000001 00000001 1e40: c10d5580 00000000 d6085a00 d3ceae00 00000000 d3e51e68 c0103478 c0114ba8 1e60: 60000013 ffffffff [<c0046a4c>] (__irq_svc+0x4c/0xe8) from [<c0114ba8>] (mnt_drop_write+0x70/0xa4) [<c0114ba8>] (mnt_drop_write+0x70/0xa4) from [<c0103478>] (pipe_write+0x26c/0x510) [<c0103478>] (pipe_write+0x26c/0x510) from [<c00fb338>] (do_sync_write+0xa4/0xe4) [<c00fb338>] (do_sync_write+0xa4/0xe4) from [<c00fba3c>] (vfs_write+0xa8/0x138) [<c00fba3c>] (vfs_write+0xa8/0x138) from [<c00fbcac>] (sys_write+0x40/0x6c) [<c00fbcac>] (sys_write+0x40/0x6c) from [<c0047000>] (ret_fast_syscall+0x0/0x30) Code: c078e260 e3a03901 e34f240c e92d4010 (e5934010) ---[ end trace dcbcbc34e4f8c36f ]--- Kernel panic - not syncing: Fatal exception in interrupt [<c004cdb0>] (unwind_backtrace+0x0/0xf8) from [<c056c398>] (panic+0x74/0x18c) [<c056c398>] (panic+0x74/0x18c) from [<c004aad4>] (die+0x220/0x284) [<c004aad4>] (die+0x220/0x284) from [<c056c1a8>] (__do_kernel_fault.part.3+0x54/0x74) [<c056c1a8>] (__do_kernel_fault.part.3+0x54/0x74) from [<c0050ae0>] (do_translation_fault+0x                                 0/0xa0) [<c0050ae0>] (do_translation_fault+0x0/0xa0) from [<f40c4010>] (0xf40c4010) CPU1: stopping [<c004cdb0>] (unwind_backtrace+0x0/0xf8) from [<c00413a8>] (do_IPI+0x1d4/0x208) [<c00413a8>] (do_IPI+0x1d4/0x208) from [<c0046a4c>] (__irq_svc+0x4c/0xe8) Exception stack(0xd6f15e18 to 0xd6f15e60) 5e00:                                                       c0574e78 00000005 5e20: f2a01000 00000001 d6f15e8c c111a580 00000000 c111a580 010da000 c111a588 5e40: 00000001 c0574f04 00000000 d6f15e60 c004bbac c00a7088 20000113 ffffffff [<c0046a4c>] (__irq_svc+0x4c/0xe8) from [<c00a7088>] (generic_exec_single+0x70/0x90) [<c00a7088>] (generic_exec_single+0x70/0x90) from [<c00a71c0>] (smp_call_function_single+0x1                                 18/0x1d0) [<c00a71c0>] (smp_call_function_single+0x118/0x1d0) from [<c004c850>] (twd_cpufreq_transitio                                 n+0x48/0x58) [<c004c850>] (twd_cpufreq_transition+0x48/0x58) from [<c0098c2c>] (notifier_call_chain+0x44/                                 0x84) [<c0098c2c>] (notifier_call_chain+0x44/0x84) from [<c0098d80>] (__srcu_notifier_call_chain+0                                 x44/0x60) [<c0098d80>] (__srcu_notifier_call_chain+0x44/0x60) from [<c0098db4>] (srcu_notifier_call_ch                                 ain+0x18/0x20) [<c0098db4>] (srcu_notifier_call_chain+0x18/0x20) from [<c037e508>] (cpufreq_notify_transiti                                 on+0xa0/0xe0) [<c037e508>] (cpufreq_notify_transition+0xa0/0xe0) from [<c006959c>] (mxc_set_target+0x194/0                                 x220) [<c006959c>] (mxc_set_target+0x194/0x220) from [<c037dcc4>] (__cpufreq_driver_target+0x50/0x                                 64) [<c037dcc4>] (__cpufreq_driver_target+0x50/0x64) from [<c0382aa8>] (cpufreq_interactive_up_t                                 ask+0x168/0x1b4) [<c0382aa8>] (cpufreq_interactive_up_task+0x168/0x1b4) from [<c00939b0>] (kthread+0x80/0x88) [<c00939b0>] (kthread+0x80/0x88) from [<c0047ae4>] (kernel_thread_exit+0x0/0x8)
View full article
This is the prototype demo to enable surround view demo on SabreSD.   The attached Files are HW&SW guides and demo video. Updating Notes: Add miniPCIE Surround View_Rev A design file (include schematic and layout) as attachement. Add Gerber file   i.MX6Q Surround view patch https://community.freescale.com/docs/DOC-95143 Original Attachment has been moved to: Gerber-file.zip Original Attachment has been moved to: miniPCIe-Surround-View_Rev-A.zip
View full article
This work is the result of my daughter's idea, she finished it with my guidance. Cradle-1 Palmsize mini-HPC World's first full function heterogeneous mini-HPC, this is what it looks like: 1 Architecture         Overall:  CPU+GPU heterogeneous, 4 nodes, connected by a 100M Ethernet switcher;         Nodes : FreeScale I.MX6 Quad core mini- pc, with 4 ARM Cortex-A9 cores and 1 Vivante GC2000 GPU 2   Software         OS:   Ubuntu 11.10 linaro         OpenCL driver: Vivante GC2000 OpenCL driver         Compiler :  C/C++ : gcc 4.6.1, Fortan90/95:  gfortran 4.6.1,         MPI Parallel Computing: MPICH2 1.4-1         NFS network file system: nfs-kernel-server 1.2.4         SSH security:   openssh   1:5.8 3 Hardware         The hardware of all nodes are the same, only the software configurations are slightly different. One of them was assigned as the master node, the others are slave nodes. They were TV sticks originally, with android 4.0 installed. The node's hardware specification is:         CPU : 4 1.2G Cortex-A9 cores         GPU : 1 Vivante GC2000 GPU         RAM: 1G DDR         ROM: 8G SD         NIC:   usb2.0 100M Ethernet Adapter (this NIC is not the TV stick's component, we added it)         WIFI: 150M         Display Interface:  HDMI         Network Switcher: 5 port 100M Ethernet Switcher 4  Network         E ach node has one USB2.0 NIC and one WIFI interface, the WIFI is used as the backup connection for NIC connection. Network configurations are:         IP Address assignment:  ( baby1 - baby4 are the four computing nodes)         baby1: 100M NIC 192.168.10.1 WIFI 192.168.0.111         baby2: 100M NIC 192.168.10.2 WIFI 192.168.0.112         baby3: 100M NIC 192.168.10.3 WIFI 192.168.0.113         baby4: 100M NIC 192.168.10.4 WIFI 192.168.0.114 5  Performance         Cradle -1 has 16 1 .2G ARM Cortex-A9 cores and 4 Vivante GC2000 GPU cores , the total computing power of these 20 computing devices is more than 100GFLOPS,   more powerful than an ordinary desktop. The whole machine is only a little bigger than a palm, and the total power consumption is less than 15 watts.          The overall architecture of Cradle-1 is almost the same as Chinese Tianhe- 1A or the Titan in the oak ridge lab. they used the same set of software, LINUX+OPENCL+OPENMPI . Cradle-1 supports C/C++, Fortran90/95. And almost all kinds of parallel computing algorithms can run on it, the only difference is the scale.         We coded a MPI parallel computing program for large matrix multiplication with 4 processes, each process had 5 threads, four threads for the four CPU cores, and one thread for GPU computing. 6 Appearance Front Back Top Left Right One node, it has three interfaces, the right is HDMI interface, upper-left is the wireless adapter for keyboard and mouse, down-left is the power connection. One node is running Ubuntu 11.10. Coded a simple OpenCL program to display OpenCL driver information On a notebook, using remote desktop access function to obtan the node baby1's desktop. This is the sign in desktop of baby1 node. Baby 1 has X11VNC server installed. sign in baby1, open a terminal Ran a MPI testing program, ensuring that all babies (baby1 - baby4) were working     Any comments? please mail to audrey.tao@hotmail.com
View full article
This is the prototype solution to enable second display showing different things on JB4.2.2 SabreSD. Make use of Class Presentation provided by android to be embedded into Status bar. When unlock the screen, the Presentation will show on second display. Now, the solution requires one .mp4 video placed in root sdcard. Of course, you may change it to show anything. The attached Files are a layout xml file, a patch and a recorded video. The layout file should be put into android/frameworks/base/packages/SystemUI/res/layout/ folder. The patch should be applied to frameworks/base.git. The recorded video shows the dual display demo as a reference.
View full article