i.MX处理器知识库

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

i.MX Processors Knowledge Base

讨论

排序依据:
LTIB Creating Uimage Uboot Configuration file for fw_(printenv/saveenv) utility Add new i.MX5x board on LTIB LTIB Creating Uimage Uboot U-boot expects uImage format for the kernel image. In order to LTIB generate a uImage file: $ export SYSCFG_KTARG=uImage $ ./ltib -p kernel Setup in U-Boot the kernel bootargs: u-boot> setenv bootargs noinitrd console=ttymxc0,115200 init=/linuxrc root=/dev/nfs nfsroot=10.29.244.27:/tftpboot/rootfs ip=dhcp Change 10.29.244.27 to your host IP. The procedure above is needed when default bootloader used by ltib was redboot. In some ltib releases (before 2010) default bootloader is u-boot. In this case, ltib will create uImage by default Configuration file for fw_(printenv/saveenv) utility # Configuration file for fw_(printenv/saveenv) utility. # Up to two entries are valid, in this case the redundant # environment sector is assumed present. # Notice, that the "Number of sectors" is ignored on NOR.               # MTD device name Device offset Env. size Flash sector size Number of sectors #/dev/mtd1 0x0000 0x4000 0x4000 #/dev/mtd2 0x0000 0x4000 0x4000 # NAND example /dev/mtd0 0x80000 0x40000 0x20000 2 Add new i.MX5x board on LTIB After porting u-boot to your i.MX5x board you might want add it on LTIB menu, "Choose your board for u-boot" section. For this, edit ltib/config/platform/imx/main.lkc to add your board: Enter board on menu: comment "Choose your board for u-boot" choice prompt "board" default BOARD_MX51_BBG depends on PLATFORM = "imx51" help This menu will let you choose the board you use. ... + config BOARD_MX53_MYBOARD + bool "mx53_myboard" ... endchoice Add the "mx53_myboard_config" that matches your board configuration on the u-boot Makefile to PKG_U_BOOT_CONFIG_TYPE: config PKG_U_BOOT_CONFIG_TYPE   string   ... + default "mx53_myboard_config" if ( PLATFORM = "imx51" && BOARD_MX53_MYBOARD && !PKG_KERNEL_UPDATER )   ...
查看全文
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 <[email protected]> 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: [email protected] 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)
查看全文
A new version of the Pins Tool for i.MX Application Processors has been released and is available for download as desktop tool from Pins Tool for i.MX Application Processors|NXP. The pins Tool for i.MX Application Processors is used for pin routing configuration, validation and code generation, including pin functional/electrical properties, power rails, run-time configurations, with the following main features: Desktop application Muxing and pin configuration with consistency checking Multicore support ANSI-C initialization code Graphical processor package view Multiple configuration blocks/functions Easy-to-use device configuration Selection of Pins and Peripherals Package with IP blocks Routed pins with electrical characteristics Registers with configured and reset values Power Groups with assigned voltage levels Source code for C/C++ applications Documented and easy to understand source code CSV Report and Device Tree File Localized for English and Simplified Chinese Mostly Connected: On-Demand device data download Integrates with any compiler and IDE What's New Added Label support to give signals a name Added ‘Log’ and ‘Problems’ view to report conflicts between settings Added support for templates to store user configurations as starting point for new configurations Added ability to download and share data for devices, especially for off-network host machines i.MX header files are now automatically part of the device data Import of legacy Processor Expert .pe files Export of register defines Various bug fixes and documentation improvements The release notes of the desktop application are attached to this article. Import Processor Expert Files A new importer has been added to import legacy Processor Expert for i.MX files: Labels Signals can now have user defined labels: Templates, Kits, Boards and Processors When creating a new configuration, it offers Templates, Boards and Processors. Custom configurations can be stored as templates and then used for new configurations. Board Specific Functions With the provided board and kit configurations, there are now pre-configured initialization functions for major blocks on the board: Export Data To simplify downloading the device specific data for the desktop tool, the 'Export' function can be used to download and export the data. The data can be copied that way to another machine or all data for a set of devices can be loaded. Export Registers With the Export command the registers can be exported as text/source: This is used to store the register values: /*FUNCTION********************************************************************** * * Function Name : init_audmux_pins * Description   : Configures pin routing and optionally pin electrical features. * *END**************************************************************************/ #define INIT_AUDMUX_PINS_IOMUXC_AUD5_INPUT_DA_AMX_SELECT_INPUT_VALUE            0x00000000   /*!< Register name: IOMUXC_AUD5_INPUT_DA_AMX_SELECT_INPUT */ #define INIT_AUDMUX_PINS_IOMUXC_AUD5_INPUT_TXCLK_AMX_SELECT_INPUT_VALUE         0x00000000   /*!< Register name: IOMUXC_AUD5_INPUT_TXCLK_AMX_SELECT_INPUT */ #define INIT_AUDMUX_PINS_IOMUXC_AUD5_INPUT_TXFS_AMX_SELECT_INPUT_VALUE          0x00000000   /*!< Register name: IOMUXC_AUD5_INPUT_TXFS_AMX_SELECT_INPUT */ #define INIT_AUDMUX_PINS_IOMUXC_SW_MUX_CTL_PAD_DI0_PIN02_VALUE                  0x00000002   /*!< Register name: IOMUXC_SW_MUX_CTL_PAD_DI0_PIN02 */ #define INIT_AUDMUX_PINS_IOMUXC_SW_MUX_CTL_PAD_DI0_PIN03_VALUE                  0x00000002   /*!< Register name: IOMUXC_SW_MUX_CTL_PAD_DI0_PIN03 */ #define INIT_AUDMUX_PINS_IOMUXC_SW_MUX_CTL_PAD_DI0_PIN04_VALUE                  0x00000002   /*!< Register name: IOMUXC_SW_MUX_CTL_PAD_DI0_PIN04 */ #define INIT_AUDMUX_PINS_IOMUXC_SW_MUX_CTL_PAD_DI0_PIN15_VALUE                  0x00000002   /*!< Register name: IOMUXC_SW_MUX_CTL_PAD_DI0_PIN15 */ #define INIT_AUDMUX_PINS_IOMUXC_SW_MUX_CTL_PAD_DISP0_DATA16_VALUE               0x00000003   /*!< Register name: IOMUXC_SW_MUX_CTL_PAD_DISP0_DATA16 */ #define INIT_AUDMUX_PINS_IOMUXC_SW_MUX_CTL_PAD_DISP0_DATA18_VALUE               0x00000003   /*!< Register name: IOMUXC_SW_MUX_CTL_PAD_DISP0_DATA18 */ #define INIT_AUDMUX_PINS_IOMUXC_SW_MUX_CTL_PAD_DISP0_DATA19_VALUE               0x00000003   /*!< Register name: IOMUXC_SW_MUX_CTL_PAD_DISP0_DATA19 */ ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ We hope you will find this new release useful. Thanks for designing with NXP! 
查看全文
   
查看全文
Purpose This is early communication to notify i.MX 8M Dual/8M QuadLite/8M Quad customers of a potential incorrect PCIe power supply configuration on certain NXP BSP Linux and Android versions. Description The PCIE_VPH power supply is selectable in software  between 1.8V and 3.3V. When the PCIE_VPH supply is configured to operate at 3.3V, the 1.8V internal regulator (disabled by default) must be enabled to prevent overstress conditions on the PCIe PHY. If the 1.8V internal regulator is left disabled when the PCIE_VPH supply is configured to operate at 3.3V, it could potentially impact the product lifetime of the device. licheng_wu_0-1624958872496.png   Impact •i.MX 8M Dual/8M QuadLite/8M Quad (other i.MX processors are not impacted) •Only Impacts Linux/Android kernel versions earlier than L5.4.70_2.3.2 or Linux 5.10.9_1.0.0 releases MITIGATION •When the PCIE_VPH supply is configured to operate at 3.3V users need to enable the internal regulator by setting the IOMUXC_GPR_GPR14 and IOMUXC_GPR_GPR16 registers - PCIE1_VREG_BYPASS and PCIE2_VREG_BYPASS bit to 0. •There are 3 software patches for each release. Software patch details in the Code Aurora Forum (CAF): •For L5.4.70_2.3.2 patch release, the git log references are: •MLK-25349-3 PCI: imx: clear vreg bypass when pcie vph voltage is 3v3 •MLK-25349-2 arm64: dts: imx8mq-evk: add one regulator used to power up pcie phy •MLK-25349-1 dt-bindings: imx6q-pcie: add one regulator used to power up pcie phy • •The L5.4.70_2.3.2, LF_5.10 Q2 and later BSP releases correctly configure and enable the internal regulator by setting the IOMUXC_GPR_GPR14 and IOMUXC_GPR_GPR16 registers The Patch MLK-25349 which correctly enables the internal regulator is already included in the L5.4.70_2.3.2 patch release and release versions after it. MITIGATION •The following branches of Linux/Android BSP releases contain the MLK-25349 patch. The patch is attached below for each respective release.   •Other branches which are not listed should try to apply the nearest Patch version patch. If a user encounters any conflicts in applying, they should back porting from below nearest patch release version below. imx_4.9.51_ga, imx_4.9.y_android_imx8m_ga_v2                           - Patch attached  imx_4.9.88_ga, imx_4.9.y_android_2.0.0_ga                                   - Patch attached  imx_4.14.y and imx_4.14.98_2.3.0, imx_4.14.98_2.3.0_android     - Patch attached  imx_4.19.y and imx_4.19.35_1.1.0, imx_4.19.35_1.1.0_android     - Patch attached  imx_5.4.y, imx_5.4.3_2.0.0, imx_5.4.3_2.0.0_android                     - Patch attached Documentation Change Description – 1 of 3 for Datasheet Updated Datasheets and Reference Manual will be published to nxp.com. Updated Hardware Design guide and Schematics have already been published on nxp.com.  Updated the descriptions of PCIE_VPH in the Datasheet Table 8, "Operating ranges" licheng_wu_1-1624958872501.png     Documentation Change Description – 2 of 3 for Reference Manual (RM) Updated the description of field 12 "PCIE1_VREG_BYPASS" in 8.2.4.15 GPR14 General Purpose Register (IOMUXC_GPR_GPR14) licheng_wu_2-1624958873273.png           Documentation Change Description – 3 of 3 for RM Updated the description of field 12 "PCIE2_VREG_BYPASS" in 8.2.4.17 GPR16 General Purpose Register (IOMUXC_GPR_GPR16) licheng_wu_3-1624958873256.png   REFERENCES •i.MX 8M Dual / 8M QuadLite / 8M Quad Product Lifetime Usage  •i.MX 8M Dual / 8M QuadLite / 8M Quad Applications Processors Data Sheet for Industrial Products •i.MX 8M Dual / 8M QuadLite / 8M Quad Applications Processors Data Sheet for Consumer Products •i.MX 8MDQLQ Hardware Developer’s Guide  •i.MX 8M Dual/8M QuadLite/8M Quad Applications Processors Reference Manual  
查看全文
The Android P9.0.0_2.0.0 GA (4.14.98 kernel) is now available on IMX software landing page. Overview -> i.MX BSP Updates and Releases -> Android -> Android P9.0.0_2.0.0 (4.14.98 kernel)    Files available:   # Name Description 1 android_p9.0.0_2.0.0-ga_docs.zip Android P9.0.0_2.0.0 Documentation 2 imx-p9.0.0_2.0.0-ga.tar.gz i.MX Android proprietary surce code for Android P9.0.0_2.0.0 3 android_p9.0.0_2.0.0-ga_image_8mmevk.tar.gz Prebuilt images with NXP extended features for the i.MX 8M Mini EVK 4 android_p9.0.0_2.0.0-ga_image_8mqevk.tar.gz Prebuilt images with NXP extended features for the i.MX 8M Quad EVK 5 android_p9.0.0_2.0.0-ga_image_8qmek.tar.gz Prebuilt images with NXP extended features for the i.MX8QMax and 8QXPlus MEK 6 fsl_aacp_dec_p9.0.0_2.0.0-ga.tar.gz AAC Plus Codec for P9.0.0_2.0.0_GA   Supported boards: i.MX 8MMini MEK Board i.MX 8MQuad EVK Board i.MX 8QuadMax MEK i.MX 8QuadXPlus MEK   Features and Known issues For features and known issues, please consult the Release Notes in detail.  ======================================================================================= The Android P9.0.0_2.1.0_AUTO GA (4.14.98 kernel) is now available on IMX software landing page. Overview -> i.MX BSP Updates and Releases -> Android AUTO-> Android P9.0.0_2.1.0_AUTO   Files available:   # Name Description 1 android_p9.0.0_2.1.0-auto-ga_docs.zip Android P9.0.0_2.1.0_AUTO  Documentation 2 imx-p9.0.0_2.1.0-auto-ga.tar.gz i.MX Android Automotive proprietary source code for Android P9.0.0_2.1.0_AUTO 3 android_p9.0.0_2.1.0-auto-ga_image_8qmek.tar.gz Prebuilt images with NXP extended features with the EVS function enabled in the Cortex-M4 CPU core for the i.MX 8QuadMax/8QuadXPlus MEK 4 android_p9.0.0_2.1.0-auto-ga_image_8qmek2.tar.gz Prebuilt images with NXP extended features for the i.MX8QMax and 8QXPlus MEK, without the EVS in M4 Core.   Supported boards: i.MX 8QuadMax MEK i.MX 8QuadXPlus MEK   Features and Known issues For features and known issues, please consult the Release Notes in detail.
查看全文
Flash a full SD Card Android Image (4GB) using Linux on VMWare Flash a full SD card image (4GB) using Flashnul in Windows Flash a full SD Card Android Image (4GB) using Linux on VMWare Note: It is preferred that SanDisk 4G SD card be used rather then Kingston. Kingston seemed to enumerate slightly smaller then SanDisk which actually inhibited us from flashing the image onto Kingston.    Within VMWare player, go to places/filesystems/dev to see what the SD card is called. When plugging in or removing the SD card from an external reader, you should see within the dev folder files called sdx…etc. [x= some letter]. That will help you specify which card to program with your image. Make note of the file [which is really a drive] name. For example in my VMWare player, it turns out that my SD card that I want to program was sdb. Also, if windows asks to format the drive, allow it and use Fat32. And, if you notice the drive is only 1GB instead of 3-4GB its because you only formatted the windows structure of the disk, the Linux portion that might reside on it does not show up in Windows. For distribution, the entire image which includes the *.bin file {this is the one you are trying to get onto the SD card} can be downloadable from a Freescale FTP site or some other media. It is a large file which is between 1-2GB. In this Android example, the file is called MasterA.gz. GZ is a linux based zip application which runs circles around winzip or 7-zip. The Android image, MasterA.gz, was 1.08 GB. The file you want to see in this example is MasterA.bin. Open a terminal window in VMWare. Within VMWare, unzip the file. If you select the file, then right mouse click it it will give you the option to uncompress using GZ. Before moving forward, make sure the SD card is unmounted. To do this type sudo umount /dev/sdX {note: sdb was the SD card we previously found enumerated}.           If you don’t know if it is mounted, in places/filesystems/dev on the left side of the screen you will see names with shown next to it. That means it’s          mounted. To copy Android image to sd card, type sudo dd if=masterA.bin of=/dev/sdX bs=10M X is the sd card (like /sdb, /sdc etc.) This will take some time, so if you have to stop this process hit <ctrl C> or close the terminal window. This will take some time but that’s all that it takes. Use the bottom task bar of the VMware screen, to attach the USB removable drive to Linux. Flash a full SD card image (4GB) using Flashnul in Windows  The tool you will use to flash the content is FlashNul in windows. This is available at http://shounen.ru/soft/flashnul/flashnul-1rc1.zip Steps Insert your flash media Run flashnul -p (from the dir that has flashnul) Note the physical device number for flash media Run flashnul <number obtained in prior step> -L \path\to\downloaded.img Answer "yes" if the selected destination device is correct Remove your flash media when the command completes Be careful what drive you erase. There are warnings presented before you commit: Disk PhysicalDrive2 (UNC name: \\.\PhysicalDrive2)         ------------------------------------------------------------[Drive geometry]--         Cylinders/heads/sectors = 482/255/63         Bytes per sector = 512         CHS size = 3964584960 (3780 Mb)         ---------------------------------------------------------------[Device size]--         Device size = 3965190144 (3781 Mb)         delta to near power of 2 = 329777152 (314 Mb), 8%         Surplus size = 605184 (591 kb)         -----------------------------------------------[Adapter & Device properties]--         Bus type = (7) USB         Removable device = Yes         Command Queue = Unsupported         Device vendor = Generic         Device name = USB SD Reader         Revision = 0.00         --------------------------------------------------------------[Hotplug info]--         Device hotplug = Yes         Media hotplug = No Selected operation: load file content Selected drive: PhysicalDrive2, 3965190144b (3781 Mb)</pre>         THIS OPERATION IS DESTRUCTIVE!!!         Type 'yes' to confirm operation. All other text will stop it. Really destroy data on drive PhysicalDrive2? :yes         -----------------------------------------------------------------------[Log]-- Runing operation [load file content] for drive PhysicalDrive2 Writing 0x36110000 (865 Mb), 3362893 b/s      
查看全文
Issue: On i.MX 6Solo designs using LPDD2 memory, the correct settings for two important registries may be confusing to determine. Solution: 1) MMDCx_MDMISC register, LPDDR2_2CH Field: For the i.MX 6Solo processor, this field should always be set to '0'. Reason: Two channel mode is not possible on this processor. Only channel MMDC0 is connected to external pins. 2) IOMUXC_SW_PAD_CTL_PAD_DRAM_RESET register, DDR_SEL Field: For the i.MX 6Solo processor, this field should always be set to "00". Reason: A DRAM Warm Reset requires a response from MMDC1, which is not connected externally on the 6Solo processor, so a Warm Reset never complets. These two issues will be clarified in a subsequent revision of the MCIMX6SDL Reference Manual.
查看全文
UPDATE: Note that this document describes eIQ Machine Learning Software for the NXP L4.14 BSP release. Beginning with the L4.19 BSP, eIQ Software is pre-integrated in the BSP release and this document is no longer necessary or being maintained. For more information on eIQ Software in these releases (L4.19, L5.4, etc), please refer to the "NXP eIQ Machine Learning" chapter in the Linux User Guide for that specific release.  Original Post: eIQ Machine Learning Software for iMX Linux 4.14.y kernel series is available now. The NXP eIQ™ Machine Learning Software Development Environment enables the use of ML algorithms on NXP MCUs, i.MX RT crossover processors, and i.MX family SoCs. eIQ software includes inference engines, neural network compilers, and optimized libraries and leverages open source technologies. eIQ is fully integrated into our MCUXpresso SDK and Yocto development environments, allowing you to develop complete system-level applications with ease. Source download, build and installation Please refer to document NXP eIQ(TM) Machine Learning Enablement (UM11226.pdf) for detailed instructions on how to download, build and install eIQ software on your platform. Sample applications To help get you started right away we've posted numerous howtos and sample applications right here in the community. Please refer to eIQ Sample Apps - Overview. Supported platforms eIQ Machine learning software for i.MX Linux 4.14.y supports the L4.14.78-1.0.0 and L4.14.98-2.0.0 GA releases running on i.MX 8 Series Applications Processors. For more information on artificial intelligence, machine learning and eIQ Software please visit AI & Machine Learning | NXP.
查看全文
  “Hardware Development Guide for i.MX 6SoloX …” does not provide any recommendations regarding configuring JTAG tools, assuming ARM DSTREAM  / DS-5 using. Nevertheless, it is possible to apply ARM RealView tools with i.MX6 SoloX. Chapter 7 (Configuring JTAG Tools) of  “Hardware Development Guide for i.MX 6Quad, 6Dual, 6DualLite, 6Solo Families…” contains base considerations, that may be used for i.MX6 SoloX too. http://cache.freescale.com/files/32bit/doc/user_guide/IMX6DQ6SDLHDG.pdf Some addition details  are provided below.   Both A9 core and M4 core have their own DAP, all the resources in its platform will be accessed through its own DAP. JTAG Chain Configuration: − SJC, IR Length = 5, same as i.MX 6Solo; − SDMA, IR Length = 5, same as i.MX 6Solo; − DAP for A9, IR Length = 4, same as i.MX 6Solo; − DAP for M4, IR Length = 4, new in i.MX 6SoloX. It is needed to use the recent RVICE firmware, which may be found in ARM DS5 Community Edition. http://ds.arm.com/ds-5-community-edition/ After installation, please run “Debug Hardware Update” option of the DS5 and select the firmware file for “Install Firware Update” menu. In my case : c:\Program Files\DS-5 v5.21.0\sw\debughw\firmware\ARM-RVI-4.23.0-35-base.rvi   Finally, RealView configuration looks as below. Coresight base address Cortex-A9_0 is 0x82150000. The Cortex-A9 always boots as the primary core and is responsible for launching the Cortex-M4.
查看全文
1.1 Introduction PCI Endpoint Framework is a system within the Linux kernel, enabling developers to test the functionality of a PCIe end-point device. Linux kernel simulates a PCIe End-point's behaviour and interact with the PCIe bus. This helps developers to test and validate the PCIe Root Complex providing a structured way to verify the PCIe data transfers. For detailed info, please go through the official documentation - 9. PCI Endpoint Framework — The Linux Kernel documentation   This article focuses on how to enable the End-point test framework on imx95 and imx8mm. For the demonstration, iMX95 board will act as a Root Complex and imx8mm will be acting as an End-point. On the End-point[imx8mm], the framework creates endpoint controller driver, endpoint function driver, and using configfs interface to bind the function driver to the controller driver. At the RC, a user-space utility called 'pcitest' will be used to read and write data from/to Endpoint.  Enabling this on iMX EVKs is fairly straightforward so chances are less that you will encounter Issues while enabling this. Nevertheless, if you do face issues in enabling it, please feel free drop in a text so that we can answer your query.   At the end of this exercise, you will be able to send and receive PCIe data from Root Complex[imx95] to End-Point[imx8mm] with/without DMA.   Connections:-   iMX95 Torradex RC will be connected to iMX8MM EVK via M.2 PCIe bridge iMX95 Torradex board [RC] connected to iMX8MM[EP] via PCIe bridge on M.2   1.2 Changes required on imx95 and imx8mm linux configs:   Kernel configs   # # PCI Endpoint # CONFIG_PCI_ENDPOINT=y CONFIG_PCI_ENDPOINT_CONFIGFS=y CONFIG_PCI_EPF_TEST=y   1.3 How to run the PCIe end-point test framework?   Build standalone imx8mm and imx95 linux kernel after enabling the linux configs mentioned in the section 1.2 Note- you can also use yocto to build the kernel for imx95 and imx8mm after making the kernel config changes. I use standalone for quick validation and debugging. After building, you will get kernel images for both imx95 and imx8mm in the location - linux-imx/arch/arm64/boot/Image of the respective imx folders.    Flash imx8mm with an official linux factory image[latest preferred] to emmc a. Replace the kernel 'Image' of imx8mm [built with end-point configs in the step-1] with the one that comes with the default factory image.          Location of kernel Image on the imx8mm emmc partition - /run/media/boot-             mmcblk2p1/Image          Note- If you are using yocto, you can also just flash the built wic image and it will be automatically taken care of[given that the wic was correctly built with the kernel configs mentioned in 1.2]          b. Boot Linux with this dtb  -> imx8mm-evk-pcie-ep.dtb          location of the dts in the linux bsp -          linux-imx/arch/arm64/boot/dts/freescale/imx8mm-evk-pcie-ep.dts          If you closely observe this dts:-            dts.png              It is just disabling the default pcie0 node and enabling the pcie0_ep node. This is because the PCIe drivers need some type of indication from the dtb at boot up so that end-point controller can be created via EPC driver in the Linux kernel.             c. Run the following script to configure the iMX8MM as an endpoint root@imx8mmevk:~# cat conf_pci_ep   cd /sys/kernel/config/pci_ep/; mkdir functions/pci_epf_test/func1; cat functions/pci_epf_test/func1/deviceid; cat functions/pci_epf_test/func1/vendorid; echo 0x1957 > functions/pci_epf_test/func1/vendorid; echo 0x0808 > functions/pci_epf_test/func1/deviceid; echo 16 > functions/pci_epf_test/func1/msi_interrupts; echo 8 > functions/pci_epf_test/func1/msix_interrupts; ln -s functions/pci_epf_test/func1 controllers/33800000.pcie_ep/   root@imx8mmevk:~# ./conf_pci_ep 0xffff 0xffff root@imx8mmevk:~#        3. Flash the official imx95 image on the board.            Similar to imx8mm, Boot the imx95 board with the kernel 'Image' built in step-1            In the booting logs, if debugs are enabled, one can observe that the pci_endpoint_test probe will be called. On the linux prompt you can see a device will be created for it. pciendpoint_test.png  On lspci output of imx95, you can see the pcie endpoint entry lspci.png 0808 is the device id we mentioned on the end-point imx8mm in the step-2 above.     4. Now, run the below script on imx95:-     root@imx95-19x19-lpddr5-evk:~# cat pcie_send_to_eptest.sh #!/bin/sh # SPDX-License-Identifier: GPL-2.0   echo "PCIe End-point test" pcitest -r -d -s 102400 pcitest -w -d -s 102400   root@imx95-19x19-lpddr5-evk:~#   The above script will read 102400 bytes from the EP and write 102400 bytes to the EP.   root@imx95-19x19-lpddr5-evk:~# ./pcie_send_to_eptest.sh PCIe Hot-plug test   [ 2885.375620] pci-endpoint-test 0000:01:00.0: in pci_endpoint_test_ioctl cmd:0x40085005 READ ( 102400 bytes):           OKAY   WRITE ( 102400 bytes):          OKAY That's all you need to get started with this simple end-point test framework on imx. Please feel free to ask questions if any.
查看全文
The following setup is done on i.MX 93. For i.MX 8M the same steps are valid and can be followed. Prerequisites Prepare the Yocto environment. $ mkdir imx-yocto-bsp $ cd imx-yocto-bsp $ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-langdale -m imx-6.1.1-1.0.0.xml $ repo sync  Set the build environment. $ DISTRO=fsl-imx-wayland MACHINE=imx93-11x11-lpddr4x-evk source imx-setup-release.sh -b build-imx93 Add the 32-bit support to the image For i.MX 8M / i.MX 93, building 32-bit applications on 64-bit OS can be supported using the multilib configuration. Multilib offers the ability to build libraries with different target optimizations or architecture formats and combine these together into one system image.  Building a 32-bit application requires the following statements in conf/local.conf. The configuration specifies a 64-bit machine as the main machine type and adds multilib:lib32, where those libraries are compiled with the armv7athf-neon tune, and then includes to the image the lib32 packages. # Define multilib target require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE:virtclass-multilib-lib32 = "armv7athf-neon" # Add the multilib packages to the image IMAGE_INSTALL:append = " lib32-glibc lib32-libgcc lib32-libstdc++" Multilib is not supported with the debian package management. It requires the RPM system. Check and comment out the two package management lines in conf/local.conf to go to the default RPM. PACKAGE_CLASSES = "package_deb" EXTRA_IMAGE_FEATURES += "package-management" Build the image. bitbake imx-image-core Cross-compile a 32-bit application This section shows how to use the Linux SDK to cross-compile a simple C application into a 32-bit binary. Generate the SDK, which includes the tools, toolchain, and small rootfs to compile against to put on host machine: DISTRO=fsl-imx-wayland MACHINE=imx93-11x11-lpddr4x-evk bitbake core-image-minimal -c populate_sdk Set the SDK environment with the following command before building: source /opt/fsl-imx-wayland/6.1-langdale/environment-setup-armv7at2hf-neon-pokymllib32-linux-gnueabi Implement a simple hello world application: cat hello_world_32.c #include <stdio.h> int main() { printf("Hello, World!"); return 0; } $CC hello_world_32.c -o hello_world_32 Check the file's type: $ file hello_world_32 hello_world_32: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, BuildID[sha1]=0a5042a0309858e0b10b12175a155cfbfb4c6a80, for GNU/Linux 3.2.0, with debug_info, not stripped Copy the binary to the Linux rootfs. Run the application on i.MX 93 Boot the board and run the application: root@imx93-11x11-lpddr4x-evk:~# ./hello_world_32 Hello, World!  
查看全文
This doc describe the steps to enable HAB on i.MX7D EVK board with plugin boot mode. The BSP version is L3.14.52_ga_1.1.0 or L4.1.15_ga_1.2.0, the CST tool version is cst-2.3.2. Since fast authentication is supported after HAB 4.1.2, and the HAB version of i.MX7D is 4.2, we use fast authentication here. The PC to run the CST tool is Ubuntu 10.04, x86 version. 1. Generate HAB4 Keys and Certificates 1.1. Unpack the CST package, there are seven folders: ca, code, crts, docs, keys, linux32 and linux64     In "keys" folder, create "serial" file, openSSL uses the contents of this file for the certificate serial numbers.     In "keys" folder, create "key_pass.txt" file, this file contains your passphrase that will protect the HAB code signing private keys.     In this example, the content in "serial" file is         $ cat serial         12345678       The content in "key_pass.txt" file is         $ cat key_pass.txt         nxp_imx7d         nxp_imx7d   1.2 Prior to running the hab4_pki_tree.sh, ensure that OpenSSL is included in your search path by running         $ openssl version         OpenSSL 0.9.8k 25 Mar 2009   1.3 Run the hab4_pki_tree.sh script to generate hab4 keys and certificates         $ cd keys         $ ./hab4_pki_tree.sh         Do you want to use an existing CA key (y/n)?: n         Do you want to use Elliptic Curve Cryptography (y/n)?: n         Enter key length in bits for PKI tree: 2048         Enter PKI tree duration (years): 10         How many Super Root Keys should be generated? 4         Do you want the SRK certificates to have the CA flag set? (y/n)?: n     Since we are verifying fast authentication, answer 'n' here.   1.4 Generating HAB4 SRK tables and efuse Hash         $ cd ../crts         $ ../linux32/srktool -h 4 -t SRK_1_2_3_4_table.bin -e SRK_1_2_3_4_fuse.bin -d sha256 -c        SRK1_sha256_2048_65537_v3_usr_crt.pem,SRK2_sha256_2048_65537_v3 _usr_crt.pem,SRK3_sha256_2048_65537_v3_usr_crt.pem,SRK4 _sha256_2048_65537_v3_usr_crt.pem     SRK_1_2_3_4_fuse.bin is SRK efuse binary file.     SRK_1_2_3_4_table.bin is SRK table binary file. 2. Program SRK_HASH fuse 2.1 Dump SRK_1_2_3_4_fuse.bin.         $ od -t x4  SRK_1_2_3_4_fuse.bin         0000000 ac7ab98f 8febd6b4 b6e15ce3 3e870783         0000020 6f06d6a9 e1107545 3e19d19c e79d1556   2.2 Boot up the board with Linux rootfs, after log in, program SRK_HASH fuse.         # echo 0xac7ab98f > /sys/fsl_otp/HW_OCOTP_SRK0         # echo 0x8febd6b4 > /sys/fsl_otp/HW_OCOTP_SRK1         # echo 0xb6e15ce3 > /sys/fsl_otp/HW_OCOTP_SRK2         # echo 0x3e870783 > /sys/fsl_otp/HW_OCOTP_SRK3         # echo 0x6f06d6a9 > /sys/fsl_otp/HW_OCOTP_SRK4         # echo 0xe1107545 > /sys/fsl_otp/HW_OCOTP_SRK5         # echo 0x3e19d19c > /sys/fsl_otp/HW_OCOTP_SRK6         # echo 0xe79d1556 > /sys/fsl_otp/HW_OCOTP_SRK7 3 Sign u-boot 3.1 Apply the HAB patch and build the u-boot.     Goto u-boot source code folder and apply the patch:     $ git apply 0001-iMX7D-SabreSD-enable-HAB-boot-for-plugin-mode.patch     Build u-boot.     $ make distclean     $ make mx7dsabresd_defconfig     $ make       The followed two defines should be enabled in "uboot-imx/include/configs/mx7dsabresd.h" for secure configure and plugin mode.         #define CONFIG_SECURE_BOOT         #define CONFIG_USE_PLUGIN   3.2 Create u-boot folder in cst-2.3.2 folder, copy u-boot.imx to u-boot folder. Dump u-boot.imx IVT structures.     Dump plugin IVT header:         $ cd u-boot         $ od -x -N 48 u-boot.imx         0000000 00d1 4020 042c 0091 0000 0000 0000 0000         0000020 0420 0091 0400 0091 2400 0091 0000 0000         0000040 0000 0091 8000 0000 0001 0000 401f e92d       Plugin IVT header layout is: Offset   Name                    Value 0           ivt.header              0x402000d1 4           ivt.entry                 0x0091042c 8           ivt.reserved1         0x00000000 12         ivt.dcd_ptr             0x00000000 16         ivt.boot_data_ptr   0x00910420 20         ivt.self                    0x00910400 24         ivt.csf                     0x00912400 28         ivt.reserved2          0x00000000 32         boot_data.start      0x00910000 36         boot_data.size       0x00008000 40         plugin                     0x00000001       IVT address:  ivt.self = 0x00910400     Image length: ivt.csf – ivt.self = 0x00912400 - 0x00910400 = 0x2000     So the [Authenticate Data] field of csf file "csf_u-boot_plugin_ivt1.txt" is         Verification index = 0         Blocks = 0x00910400 0x000 0x2000 "u-boot.imx"     Dump u-boot IVT header:         $ dd if=u-boot.imx of=u-boot-body.bin bs=1 skip=16384         $ od -x -N 48 u-boot-body.bin         0000000 00d1 4020 0000 8780 0000 0000 0000 0000         0000020 fff4 877f ffd4 877f 8bd4 8785 0000 0000         0000040 bbd4 877f f000 0005 0000 0000 00be ea00       U-boot IVT header layout is: Offset   Name                   Value 0          ivt.header              0x402000d1 4          ivt.entry                 0x87800000 8          ivt.reserved1         0x00000000 12        ivt.dcd_ptr             0x00000000 16        ivt.boot_data_ptr   0x877ffff4 20        ivt.self                    0x877fffd4 24        ivt.csf                    0x87858bd4 28        ivt.reserved2         0x00000000 32        boot_data.start     0x877fbbd4 36        boot_data.size      0x0005F000       IVT address:  ivt.self = 0x877fffd4     Image length: ivt.csf – ivt.self = 0x87858bd4 - 0x877fffd4 = 0x58c00     So the [Authenticate Data] field of csf file "csf_u-boot_plugin_ivt2.txt" is         Verification index = 0         Blocks = 0x877fffd4 0x0000 0x58c00 "u-boot-body-pad.bin"       When enable CONFIG_SECURE_BOOT, boot_data consists of uboot image and csf data, so it's larger than uboot Image length.     And the u-boot-body.bin should be padded to 0x58c00.   3.3 The command to sign u-boot         $ ../linux32/cst -o csf_plugin.bin -i csf_u-boot_plugin_ivt1.txt         $ objcopy -I binary -O binary --pad-to 0x58c00 --gap-fill=0x00 u-boot-body.bin u-boot-body-pad.bin         $ ../linux32/cst -o csf_u-boot.bin -i csf_u-boot_plugin_ivt2.txt         $ objcopy -I binary -O binary --pad-to 0x2000 --gap-fill=0x00 csf_plugin.bin csf_plugin-pad.bin         $ objcopy -I binary -O binary --pad-to 0x2000 --gap-fill=0x00 csf_u-boot.bin csf_u-boot-pad.bin         $ dd if=u-boot.imx of=plugin-body.bin bs=1 count=8192         $ cat plugin-body.bin csf_plugin-pad.bin u-boot-body-pad.bin csf_u-boot-pad.bin > u-boot-signed.imx   3.4 Download u-boot-signed.imx to SD         $ sudo dd if=u-boot-signed.imx of=/dev/sdx bs=1K seek=1   3.5 Bootup from SD card, check HAB status by uboot command         => hab_status     If see "No HAB Events Found",  the signature is verified successfully.  
查看全文
Before reading: only a personal works and sharing, not any form of "release". I didn't find any confidential information from the packages. So, I'm publishing it here. This is only for testing purpose. Do NOT use it for building a product. Use it at your own risk!! Yocto is flexible and powerful, and also, big and slow (when building). Sometimes we only need to build uboot or kernel or some piece of testing code. It's really a waste of time to build-up the whole Yocto environment which may cost over 50GB disk space and over 3 hours of building. I've made some scripts and sum them up to form a toolset for building uboot, kernel and some testing code out of Yocto environment. It's only a simple container and expect to use with uboot and kernel source code from formal Freescale release and a SDK built from Yocto project. GitHub source repo:       https://github.com/gopise/gopbuild What’s made off (a full package, not only the container): 1.    Some scripts and configurations files. 2.    SDK built from Yocto. 3.    Uboot/kernel from specific version. 4.    A hello-world to demonstrate how to build app in this environment. 5.    A slimmed rootfs binary from specific BSP pre-built as base. Will customize base on the source under “rootfs” folder. Only a placeholder in the container-only version. How to use it: Several common used board configurations have been included in the script: 6qsabresd/6qsabreai/6qpsabreai. You can add more into the “gopbuild” script easily. The “sabresd” has been set as default.      If you want to build all for sabresd (First of all, de-compress the package): cd <de-compressed-folder> source envsetup [It will prompt for selecting board configuration to be built. Choose one by input corresponding number or click <ENTER> for default board.] gmk ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍      If you want to build specific module for default board, such as uboot: gmk uboot ‍‍‍‍‍‍‍‍‍      Build kernel for sabreai board instead of default device: gmk kernel sabreai ‍‍‍‍‍‍‍‍‍      Clean everything? gmk all clean ‍‍‍‍‍‍‍‍‍ After a successfully full build, you will get everything under “output” folder, including a log folder contains full build log:      “u-boot.imx/zImage/rootfs.tar.bz2/*.dtb”, can be used with MFG or uuu.      “fsl-image.sdcard”, can be burn into SD card directly. "Ready-for-building" Package: The "gopbuild" itself is a "container-only" package which doesn't contain any source or SDK. I've also made some packages based on latest BSP release for i.MX6/i.MX7/i.MX8. These packages are "ready-for-build" package which you can de-compress and build it directly. -------------------------------------------------------------------------------------------------- URL:https://pan.baidu.com/s/1Xlh1OBGsTRXez_NQw-Rjxg Password: gdc9 -------------------------------------------------------------------------------------------------- Note: 1. To build for i.MX8 (8QM/8MQ/8QXP), you need L4.14.* or above. 2. To build for i.MX8, please download the SCFW from i.MX software page       i.MX Software and Development Tools | NXP      After download, decompress corresponding package for specific chip and put it under "/platform/scfw/". Take i.MX8QXP for example:             /platform/scfw/scfw_export_mx8qx/ All material (uboot/kernel/test code and SDK) are from official Yocto release. Thanks!
查看全文
Freescale's PF0100 PMIC should have VDDIO power tied to the same supply as the associated I2C supply on MX6. There is a momentary on-chip sneak path on power-up if VDDIO is wired per the i.MX6 SABRE-AI automotive development platform. As a result, I2C power rail P3V3_DELAYED rises prematurely due to backfeed from P3V3 through the I2C port. Note that on SABRE-AI, P3V3 powers up before P3V3_DELAYED. Existing SABRE-AI design: PF0100 VDDIO is wired to P3V3. Corrective action for mass production: Wire PF0100 VDDIO to P3V3_DELAYED; same supply as the associated I2C supplies on MX6 (NVCC_EIM0 and NVCC_GPIO). Laboratory results attached.
查看全文
Overview The purpose of this document is to provide a guide on how to enable Dual Ethernet with the GKI Development. Reference: How to enable dual ethernet on Android 11 For a better reference how to build Android i.MX image please look at the next chapter 3 Building the Android Platform for i.MX in the Android User's Guide 1. Build the Android Image with the next modifications The 2nd ethernet port is DWMAC from synopsys and phy used is realtek RTL8211F. To add them into the SharedBoardConfig.mk and remove the camera drivers. diff --git a/imx8m/evk_8mp/SharedBoardConfig.mk b/imx8m/evk_8mp/SharedBoardConfig.mk index f68eb49e..3e95708e 100644 --- a/imx8m/evk_8mp/SharedBoardConfig.mk +++ b/imx8m/evk_8mp/SharedBoardConfig.mk @@ -82,7 +82,12 @@ BOARD_VENDOR_KERNEL_MODULES += \ $(KERNEL_OUT)/drivers/rtc/rtc-snvs.ko \ $(KERNEL_OUT)/drivers/pci/controller/dwc/pci-imx6.ko \ $(KERNEL_OUT)/drivers/net/phy/realtek.ko \ - $(KERNEL_OUT)/drivers/net/ethernet/freescale/fec.ko + $(KERNEL_OUT)/drivers/net/ethernet/freescale/fec.ko \ + $(KERNEL_OUT)/drivers/net/phy/micrel.ko \ + $(KERNEL_OUT)/drivers/net/pcs/pcs_xpcs.ko \ + $(KERNEL_OUT)/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.ko \ + $(KERNEL_OUT)/drivers/net/ethernet/stmicro/stmmac/stmmac.ko \ + $(KERNEL_OUT)/drivers/net/ethernet/stmicro/stmmac/stmmac-platform.ko ifeq ($(POWERSAVE),true) BOARD_VENDOR_KERNEL_MODULES += \ $(KERNEL_OUT)/drivers/soc/imx/lpa_ctrl.ko \ @@ -219,15 +224,12 @@ BOARD_VENDOR_RAMDISK_KERNEL_MODULES += \ $(KERNEL_OUT)/drivers/perf/fsl_imx8_ddr_perf.ko \ $(KERNEL_OUT)/drivers/cpufreq/cpufreq-dt.ko \ $(KERNEL_OUT)/drivers/cpufreq/imx-cpufreq-dt.ko \ - $(KERNEL_OUT)/drivers/media/i2c/ov5640.ko \ $(KERNEL_OUT)/drivers/staging/media/imx/imx8-capture.ko \ $(KERNEL_OUT)/drivers/staging/media/imx/imx8-isi-capture.ko \ $(KERNEL_OUT)/drivers/staging/media/imx/imx8-isi-hw.ko \ $(KERNEL_OUT)/drivers/staging/media/imx/imx8-isi-mem2mem.ko \ $(KERNEL_OUT)/drivers/staging/media/imx/imx8-mipi-csi2-sam.ko \ $(KERNEL_OUT)/drivers/dma/imx-sdma.ko \ - $(TARGET_OUT_INTERMEDIATES)/VVCAM_OBJ/basler-camera-driver-vvcam.ko \ - $(TARGET_OUT_INTERMEDIATES)/VVCAM_OBJ/os08a20.ko \ $(KERNEL_OUT)/drivers/staging/media/imx/imx8-media-dev.ko \ $(TARGET_OUT_INTERMEDIATES)/VVCAM_OBJ/vvcam-dwe.ko \ $(TARGET_OUT_INTERMEDIATES)/VVCAM_OBJ/vvcam-isp.ko \​ To let the Android framework's EthernetTracker and EthernetNetworkFactory know which interfaces to manage, the framework level configure config_ethernet_iface_regex config_ethernet_interfaces must be overlay in device/nxp/imx8m/evk_8mp/overlay/frameworks/base/core/res/res/values/config.xml: diff --git a/imx8m/evk_8mp/overlay/frameworks/base/core/res/res/values/config.xml b/imx8m/evk_8mp/overlay/frameworks/base/core/res/res/values/config.xml index 298d50cc..63f6787e 100644 --- a/imx8m/evk_8mp/overlay/frameworks/base/core/res/res/values/config.xml +++ b/imx8m/evk_8mp/overlay/frameworks/base/core/res/res/values/config.xml @@ -22,7 +22,12 @@ <resources> <!--For Android we support eth0 now --> - <string translatable="false" name="config_ethernet_iface_regex">eth0</string> + <string translatable="false" name="config_ethernet_iface_regex">eth\\d</string> + + <string-array translatable="false" name="config_ethernet_interfaces"> + <item>eth0;12,13,14,15,16,18,19</item> + <item>eth1;12,13,14,15,16,18,19</item> + </string-array> <!-- List of regexpressions describing the interface (if any) that represent tetherable USB interfaces. If the device doesn't want to support tething over USB this should -- Apply the patch 0001-PATCH-Add-defines-for-ETH-support-drivers.patch Build the Android Image # Change to the MY_ANDROID Directory $ source build/envsetup.sh $ lunch evk_8mp-userdebug $ ./imx-make.sh -j4 2>&1 | tee build-log.txt​   GKI Development Follow and apply the next community post: Export new symbols of GKI development Android 14 Set the GKI repo $ repo init -u https://android.googlesource.com/kernel/manifest -b common-android14-6.1 $ repo sync $ git remote add device https://github.com/nxp-imx/linux-imx.git $ git remote update $ git fetch device --tags $ git checkout android-14.0.0_1.2.0 $ cd .. #Be sure that symbolic links are created correctly $ ln -s ${MY_ANDROID}/vendor/nxp-opensource/verisilicon_sw_isp_vvcam verisilicon_sw_isp_vvcam $ ln -s ${MY_ANDROID}/vendor/nxp-opensource/nxp-mwifiex nxp-mwifiex $ BUILD_FOR_GKI=yes $ BUILD_CONFIG=common/build.config.imx $ tools/bazel run //common:imx_abi_update_symbol_list Apply the following changes in the GKI Kernel tree: gki/common: Patch: 0001-PATCH-GKI-Kernel-tree-Drivers-for-the-ETH1-Interface.patch Build the GKI Image tools/bazel run //common:kernel_aarch64_dist​ Follow the build android boot.img and system_dlkm.img $ cp out/kernel_aarch64/dist/boot.img ${MY_ANDROID}/vendor/nxp/fsl-proprietary/ gki/boot.img $ cd ${MY_ANDROID} $ TARGET_IMX_KERNEL=true make bootimage # Change directory to the gki folder $ cp out/kernel_aarch64/dist/system_dlkm_staging_archive.tar.gz ${MY_ANDROID}/vendor/nxp/fsl-proprietary/gki/system_dlkm_staging_archive.tar.gz $ cd ${MY_ANDROID}/vendor/nxp/fsl-proprietary/gki $ tar -xzf system_dlkm_staging_archive.tar.gz -C system_dlkm_staging $ cd ${MY_ANDROID} $ make system_dlkmimag​e Create the tar.gz file for flash the android image (*.img, *.bat, *.sh, *.bin, *.imx) Boot the image and type lsmod to ensure the drivers are installed. mario_castaneda_0-1719280397418.png Regards, Mario    
查看全文
This doc share one OpenGL ES sample code, it is running on i.MX8 MEK board with QNX SDP7.1. HW: i.MX8 MEK board, HDMI display SW: QNX SDP7.1, i.MX8 MEK board BSP, and this sample code   This sample code will draw 3D object model, and with some animation. Reference: https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-8-processors/i-mx-8-family-arm-cortex-a53-cortex-a72-virtualization-vision-3d-graphics-4k-video:i.MX8 https://github.com/NXPmicro/gtec-demo-framework https://github.com/syoyo/tinyobjloader-c https://github.com/nothings/stb https://3dhaupt.com/futuristic-car-game-ready-download/ https://wallpapersafari.com/w/Y5JZNh https://www.pngwing.com/en/free-png-ysaus https://www.shadertoy.com/view/Ms2SWW#
查看全文
This document provides steps to perform the system upgrade/OTA update for Android on i.MX platforms. Compile the Android images and generate an OTA Package: source build/envsetup.sh lunch sabresd_6dq-userdebug make -j4 make otapackage You can find your OTA package in the below path: ls out/target/product/sabresd_6dq/sabresd_6dq-ota-<xxx>.zip Copy the above OTA zip package to the device in sdcard using adb push adb push out/target/product/sabresd_6dq/sabresd_6dq-ota-<xxx>.zip /sdcard Move the package from sdcard to the location: /cache/update.zip Make the directory and perform the below steps on the device: mkdir -p /cache/recovery touch /cache/recovery/command echo "--update_package=/cache/update.zip" > /cache/recovery/command reboot recovery The recovery automatically applies the command and installs this update package. Note: In this document, the setup is for the i.MX6Q SABRESD Board. So, PathName and OTA package name subject to change based on target device compilation.
查看全文
Recipes to include Amazon's Alexa Voice Services in your applications. Step 1 : Get iMX Yocto AVS setup environment Review the steps under Chapter 3 of the i.MX_Yocto_Project_User'sGuide.pdf on the L4.X LINUX_DOCS to prepare your host machine. Including at least the following essential Yocto packages $ sudo apt-get install gawk wget git-core diffstat unzip texinfo \   gcc-multilib build-essential chrpath socat libsdl1.2-dev u-boot-tools Install the i.MX NXP AVS repo Create/Move to a directory where you want to install the AVS yocto build enviroment. Let's call this as <yocto_dir> $ cd <yocto_dir> $ repo init -u https://source.codeaurora.org/external/imxsupport/meta-avs-demos -b master -m imx-alexa-sdk-4.9.11.xml Download the AVS BSP build environment: $ repo sync Step 2: Setup yocto for Alexa_SDK image with AVS-SETUP-DEMO script: Run the avs-setup-demo script as follows to setup your environment for the imx7d-pico board: $ MACHINE=imx7d-pico DISTRO=fsl-imx-x11 source avs-setup-demo.sh -b <build_sdk> Where <build_sdk> is the name you will give to your build folder. After acepting the EULA the script will prompt if you want to enable: a Sound Card selection The following Sound Cards are supported on the build: SGTL (In-board Audio Codec for PicoPi) 2-Mic Synaptics/Conexant 2-Mic TechNexion Voice Hat (with DSPConcepts SW) The script will prompt to select the soundcard you will be using: Which Sound Card are you going to use? Sigmatel .............................. 1 Synaptics/Conexant .................... 2 VoiceHat (for DSPConcepts SW) ......... 3 Type the number of your selection and press Enter... Install Alexa SDK Next option is to select if you want to pre-install the AVS SDK software on the image. Do you want to build/include the AVS_SDK package on this image(Y/N)? If you select YES, then your image will contain the AVS SDK ready to use (after authentication). Note this AVS_SDK will not have WakeWord detection support, but it can be added on runtime. If your selection was NO, then you can always manually fetch and build the AVS_SDK on runtime. All the packages dependencies will be already there, so only fetching the AVS_SDK source code and building it is required. Install WiFi support Te WiFi support is optional and requires to get from NXP an additional meta-picopi-wifi layer. Contact NXP to get this layer to be able to support WiFi on your image The image will prompt: Do you want to include WiFi support on this image(Y/N)? Select YES if you already have the complementary meta-avs-demos-wifi layer Finish avs-image configuration At the end you will see a text according with the configuration you select for your image build. Next is an example for a Preinstalled AVS_SDK with Synaptics Sound Card support and WiFi/BT not enabled for PicoPi board. ============================================================ AVS configuration is now ready at conf/local.conf - Sound Card = Synaptics - Alexa SDK 1.7 pre-installed - Wifi supported You are ready to bitbake your AVS demo image now: bitbake avs-image If you want to use QT5DisplayCards, use then: bitbake avs-image-qt5 ============================================================ Step 3: Build the AVS image Go to your <build_sdk> directory and start the build of the avs-image There are 2 options Regular Build: $ cd  <yocto_dir>/<build_sdk>   $ bitbake avs-image With QT5 support included: $ cd  <yocto_dir>/<build_sdk>   $ bitbake avs-image-qt5 The image with QT5 is useful if you want to add some GUI for example to render DisplayCards. Step 4 : Deploying the built images to SD/MMC card to boot on target board. After a build has succesfully completed, the created image resides at <build_sdk>/tmp/deploy/images/imx7d-pico/ In this directory, you will find imx7d-pico-avs--.sdcard image or imx7d-pico-avs-qt5--.sdcard, depending on the build you chose on Step3. To Flash the .sdcard image into the eMMC device of your PicoPi board follow the next steps: Download the bootbomb flasher Follow the instruction on Section 4. Board Reflashing of the Quick Start Guide for AVS kit to setup your board on flashing mode. Copy the built SDCARD file $ sudo dd if=imx7d-pico-avs.sdcard of=/dev/sd<partition> bs=1M && sync $ sync Properly eject the pico-imx7d board: $ sudo eject /dev/sd<partition> NXP Documentation Refer to the Quick Start Quide for AVS SDK to fully setup your PicoPi board with Synaptics 2Mic and PicoPi i.mx7D For a more comprehensive understanding of Yocto, its features and setup; more image build and deployment options and customization, please take a look at the i.MX_Yocto_Project_User's_Guide.pdf document from the Linux documents bundle mentioned at the beginning of this document. For a more detailed description of the Linux BSP, u-boot use and configuration, please take a look at the i.MX_Linux_User's_Guide.pdf document from the Linux documents bundle mentioned at the beginning of this document.
查看全文
www.nxp.com公网资源 .............................................. 2 1.1 www.nxp.com Documentation ................................ 3 1.2 www.nxp.com Tools&Software ............................... 7 2 nxp share point资源(仅对有访问权限客户开放) ....... 14 2.1 i.MX 8X Family Board, Software POR and How to Purchase ...................................................................... 14 2.2 Development Platforms ........................................ 14 2.3 Device Dcoumentation ......................................... 15 2.4 Security Reference Manual .................................. 16 2.5 Software Documentation ...................................... 16 3 nxp 社区资源 ........................................................... 16
查看全文