From: eLinux.org

Freescale IMX53QSB

Contents

Topics

Hardware

The i.MX53 Quick Start Board (aka LOCO) is a 1 GHz ARM Cortex-A8
embedded computer on a 3-inch by 3-inch board.

The loco boots from SD Card with the boot loader at the first sector of
it.

You can use Barebox on it:

http://git.pengutronix.de/?p=barebox.git;a=summary

Barebox

Barebox uses the same build (Kbuild) and configuration (Kconfig) tools
as the Linux kernel.

1) First you need to clone the tree

  1. git clone git://git.pengutronix.de/git/barebox.git

Most probably you want to use a released Barebox version, by running
‘git checkout \‘. Check which versions are available with ‘git
tag -l’ and use the latest one.

2) Then you need to configure it:

  1. make freescale_mx53_loco_defconfig

3) Compile it

  1. make

4) Now you need to generate your SD Card:

Plug the SD Card into your laptop and copy barebox.bin to it:

  1. dd if=barebox.bin of=/dev/sdb bs=512
  2. sync

5) plug the SD card into the board and boot it (press the boot button)

Now that you have flash, you will see Barebox booting and trying to
start the kernel from the SD card.

  1. barebox 2011.09.0-00338-ga6d06f2 (Oct 9 2011 - 23:07:34)
  2. Board: Freescale i.MX53 LOCO
  3. registered netconsole as cs1
  4. eth@eth0: got MAC address from EEPROM: 00:04:9F:01:AB:1D
  5. Malloc space: 0x7df00000 -> 0x7ff00000 (size 32 MB)
  6. Stack space : 0x7def8000 -> 0x7df00000 (size 32 kB)
  7. envfs: wrong magic on /dev/env0
  8. no valid environment found on /dev/env0. Using default environment
  9. running /env/bin/init...
  10. barebox@Freescale i.MX53 LOCO:/

Kernel

You can use the mainline kernel, but take into account that not all IP
cores available in the MX53 are already supported there. It is also
possible to use Freescale’s kernel, which can be found here:

http://opensource.freescale.com/git?p=imx/linux-2.6-imx.git;a=summary

1) First you need to clone the tree:

a) Mainline

  1. git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

Note that, like with Barebox, if you aim for stability, you should take
a released kernel revision instead of some random version from git.

b) Freescale

  1. git clone http://opensource.freescale.com/pub/scm/imx/linux-2.6-imx.git
  2. git checkout -b work imx_2.6.38_11.09.01

or

To speed up the clone, first clone the linus tree, then fetch freescale
as this

or use any already cloned kernel

  1. git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
  2. git remote add freescale http://opensource.freescale.com/pub/scm/imx/linux-2.6-imx.git
  3. git fetch freescale
  4. git checkout -b work freescale/imx_2.6.38_11.09.01

2) Then you need to configure the kernel:

  1. make imx5_defconfig

3) Compile it

  1. make

If you have a machine with more than one core, add -j
\.

4) now you need to generate your SD Card:

Plug the sd card on your laptop and copy barebox.bin on it

  1. dd if=arch/arm/boot/uImage of=/dev/sdb bs=512 seek=768
  2. sync

5) Plug the SD card into the board and boot it (press the boot button)

Now that you have flashed everything, you will see barebox booting and
trying to start the kernel from the SD card.

  1. barebox 2011.09.0-00338-ga6d06f2 (Oct 9 2011 - 23:07:34)
  2. Board: Freescale i.MX53 LOCO
  3. registered netconsole as cs1
  4. eth@eth0: got MAC address from EEPROM: 00:04:9F:01:AB:1D
  5. Malloc space: 0x7df00000 -> 0x7ff00000 (size 32 MB)
  6. Stack space : 0x7def8000 -> 0x7df00000 (size 32 kB)
  7. envfs: wrong magic on /dev/env0
  8. no valid environment found on /dev/env0. Using default environment
  9. running /env/bin/init...
  10. Enter the Password within 3s to stop the boot
  11. Password: booting kernel of type uimage from /dev/disk0.kernel
  12. Verifying Checksum ... OK
  13. Image Name: Linux-2.6.35.3-00745-gce4c61a-di
  14. Created: 2011-10-09 13:43:29 UTC
  15. Image Type: ARM Linux Multi-File Image (uncompressed)
  16. Data Size: 2885707 Bytes = 2.8 MB
  17. Load Address: 70008000
  18. Entry Point: 70008000
  19. Contents:
  20. Image 0: 2729640 Bytes = 2.6 MB
  21. Image 1: 156067 Bytes = 152.4 kB
  22. Offset = 0x7e5d0708
  23. use initrd @1
  24. initrd_start=0x72000000
  25. OK
  26. Starting kernel with initrd ...
  27. commandline: console=ttymxc0,115200 ip=192.168.201.33:192.168.201.98:192.168.201.98:255.255.255.0::eth0: root=/dev/ram0 rdinit=/sbin/init
  28. arch_number: 3273
  29. Linux version 2.6.35.3-00745-gce4c61a-dirty (root@j-debian) (gcc version 4.5.1 (Sourcery G++ Lite 2010.09-50) ) #11 PREEMPT Sat Oct 8 21:35:40 CST 2011
  30. CPU: ARMv7 Processor [412fc085] revision 5 (ARMv7), cr=10c53c7f
  31. CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
  32. Machine: Freescale MX53 LOCO Board
  33. Memory policy: ECC disabled, Data cache writeback
  34. Built 1 zonelists in Zone order, mobility grouping on. Total pages: 218112
  35. Kernel command line: console=ttymxc0,115200 ip=192.168.201.33:192.168.201.98:192.168.201.98:255.255.255.0::eth0: root=/dev/ram0 rdinit=/sbin/init
  36. PID hash table entries: 4096 (order: 2, 16384 bytes)
  37. Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
  38. Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
  39. Memory: 352MB 512MB = 864MB total
  40. Memory: 868548k/868548k available, 16188k reserved, 0K highmem
  41. Virtual kernel memory layout:
  42. vector : 0xffff0000 - 0xffff1000 ( 4 kB)
  43. fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
  44. DMA : 0xf9e00000 - 0xffe00000 ( 96 MB)
  45. vmalloc : 0xe0800000 - 0xf4000000 ( 312 MB)
  46. lowmem : 0x80000000 - 0xe0000000 (1536 MB)
  47. pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
  48. modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
  49. .init : 0x80008000 - 0x8002f000 ( 156 kB)
  50. .text : 0x8002f000 - 0x8078b000 (7536 kB)
  51. .data : 0x807ac000 - 0x807f3aa0 ( 287 kB)
  52. SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
  53. Hierarchical RCU implementation.
  54. RCU-based detection of stalled CPUs is disabled.
  55. Verbose stalled-CPUs detection is disabled.
  56. NR_IRQS:368
  57. MXC GPIO hardware
  58. MXC IRQ initialized
  59. MXC_Early serial console at MMIO 0x53fbc000 (options '115200')
  60. bootconsole [ttymxc0] enabled
  61. Console: colour dummy device 80x30
  62. Calibrating delay loop... 999.42 BogoMIPS (lpj=4997120)
  63. pid_max: default: 32768 minimum: 301
  64. Mount-cache hash table entries: 512
  65. CPU: Testing write buffer coherency: ok
  66. devtmpfs: initialized
  67. regulator: core version 0.5
  68. NET: Registered protocol family 16
  69. i.MX IRAM pool: 128 KB@0xe0840000
  70. IRAM READY
  71. CPU is i.MX0 Revision 0.0
  72. Using SDMA I.API
  73. MXC DMA API initialized
  74. IMX usb wakeup probe
  75. IMX usb wakeup probe
  76. bio: create slab <bio-0> at 0
  77. SCSI subsystem initialized
  78. usbcore: registered new interface driver usbfs
  79. usbcore: registered new interface driver hub
  80. usbcore: registered new device driver usb
  81. da9052_i2c_is_connected - i2c read success..............
  82. regulator: DA9052_LDO1: 600 <--> 1800 mV at 1300 mV normal
  83. regulator: DA9052_LDO2: 600 <--> 1800 mV at 1300 mV normal
  84. regulator: DA9052_LDO3: 1725 <--> 3300 mV at 3300 mV normal
  85. regulator: DA9052_LDO4: 1725 <--> 3300 mV at 2775 mV normal
  86. regulator: DA9052_LDO5: 1200 <--> 3600 mV at 1300 mV normal
  87. regulator: DA9052_LDO6: 1200 <--> 3600 mV at 1300 mV normal
  88. regulator: DA9052_LDO7: 1200 <--> 3600 mV at 2750 mV normal
  89. regulator: DA9052_LDO8: 1200 <--> 3600 mV at 1800 mV normal
  90. regulator: DA9052_LDO9: 1250 <--> 3650 mV at 1500 mV normal
  91. regulator: DA9052_LDO10: 1200 <--> 3600 mV at 1300 mV normal
  92. regulator: DA9052_BUCK_CORE: 500 <--> 2075 mV at 1100 mV normal
  93. regulator: DA9052_BUCK_PRO: 500 <--> 2075 mV at 1300 mV normal
  94. regulator: DA9052_BUCK_MEM: 925 <--> 2500 mV at 1500 mV normal
  95. regulator: DA9052_BUCK_PERI: 1800 <--> 3600 mV at 3600 mV normal
  96. IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
  97. Advanced Linux Sound Architecture Driver Version 1.0.23.
  98. Bluetooth: Core ver 2.15
  99. NET: Registered protocol family 31
  100. Bluetooth: HCI device and connection manager initialized
  101. Bluetooth: HCI socket layer initialized
  102. Switching to clocksource mxc_timer1
  103. NET: Registered protocol family 2
  104. IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
  105. TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
  106. TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
  107. TCP: Hash tables configured (established 131072 bind 65536)
  108. TCP reno registered
  109. UDP hash table entries: 512 (order: 1, 8192 bytes)
  110. UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
  111. NET: Registered protocol family 1
  112. RPC: Registered udp transport module.
  113. RPC: Registered tcp transport module.
  114. RPC: Registered tcp NFSv4.1 backchannel transport module.
  115. Unpacking initramfs...
  116. Freeing initrd memory: 152K
  117. LPMode driver module loaded
  118. Static Power Management for Freescale i.MX5
  119. PM driver module loaded
  120. sdram autogating driver module loaded
  121. Bus freq driver module loaded
  122. DI0 is primary
  123. mxc_dvfs_core_probe
  124. DVFS driver module loaded
  125. i.MXC CPU frequency driver
  126. DVFS PER driver module loaded
  127. squashfs: version 4.0 (2009/01/31) Phillip Lougher
  128. msgmni has been set to 1696
  129. alg: No test for stdrng (krng)
  130. cryptodev: driver loaded.
  131. io scheduler noop registered
  132. io scheduler deadline registered
  133. io scheduler cfq registered (default)
  134. mxc_ipu mxc_ipu: Channel already disabled 9
  135. mxc_ipu mxc_ipu: Channel already uninitialized 9
  136. Console: switching to colour frame buffer device 100x30
  137. tve: probe of tve.0 failed with error -1
  138. sii9022 1-0039: SII9022: cound not find device
  139. Serial: MXC Internal UART driver
  140. mxcintuart.0: ttymxc0 at MMIO 0x53fbc000 (irq = 31) is a Freescale i.MX
  141. console [ttymxc0] enabled, bootconsole disabled
  142. console [ttymxc0] enabled, bootconsole disabled
  143. mxcintuart.1: ttymxc1 at MMIO 0x53fc0000 (irq = 32) is a Freescale i.MX
  144. mxcintuart.2: ttymxc2 at MMIO 0x5000c000 (irq = 33) is a Freescale i.MX
  145. mxcintuart.3: ttymxc3 at MMIO 0x53ff0000 (irq = 13) is a Freescale i.MX
  146. mxcintuart.4: ttymxc4 at MMIO 0x63f90000 (irq = 86) is a Freescale i.MX
  147. loop: module loaded
  148. ahci: SSS flag set, parallel bus scan disabled
  149. ahci ahci.0: AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl platform mode
  150. ahci ahci.0: flags: ncq sntf stag pm led clo only pmp pio slum part ccc
  151. scsi0 : ahci
  152. ata1: SATA max UDMA/133 mmio [mem 0x10000000-0x10000fff] port 0x100 irq 28
  153. MXC MTD nand Driver 3.0
  154. vcan: Virtual CAN interface driver
  155. Freescale FlexCAN Driver
  156. FEC Ethernet Driver
  157. fec_enet_mii_bus: probed
  158. ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
  159. fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
  160. fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
  161. fsl-ehci fsl-ehci.0: irq 18, io base 0x53f80000
  162. fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
  163. hub 1-0:1.0: USB hub found
  164. hub 1-0:1.0: 1 port detected
  165. fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
  166. fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
  167. ata1: SATA link down (SStatus 0 SControl 300)
  168. fsl-ehci fsl-ehci.1: irq 14, io base 0x53f80200
  169. fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
  170. hub 2-0:1.0: USB hub found
  171. hub 2-0:1.0: 1 port detected
  172. Initializing USB Mass Storage driver...
  173. usbcore: registered new interface driver usb-storage
  174. USB Mass Storage support registered.
  175. usbcore: registered new interface driver usbserial
  176. usbserial: USB Serial Driver core
  177. USB Serial support registered for GSM modem (1-port)
  178. usbcore: registered new interface driver option
  179. option: v0.7.2:USB Driver for GSM modems
  180. mice: PS/2 mouse device common for all mice
  181. input: gpio-keys as /devices/platform/gpio-keys/input/input0
  182. MXC keypad loaded
  183. DA9052 TSI Device Driver, v1.0
  184. input: da9052-tsi as /devices/virtual/input/input1
  185. TSI Drv Successfully Inserted da9052-tsi
  186. input: da9052-onkey as /devices/platform/imx-i2c.0/i2c-0/0-0048/da9052-onkey/input/input2
  187. mxc_rtc mxc_rtc.0: rtc core: registered mxc_rtc as rtc0
  188. i2c /dev entries driver
  189. IR NEC protocol handler initialized
  190. IR RC5(x) protocol handler initialized
  191. IR RC6 protocol handler initialized
  192. IR JVC protocol handler initialized
  193. IR Sony protocol handler initialized
  194. Linux video capture interface: v2.00
  195. mxc_v4l2_output mxc_v4l2_output.0: Registered device video0
  196. usbcore: registered new interface driver uvcvideo
  197. USB Video Class driver (v0.1.0)
  198. APM Battery Driver
  199. check mma8450 chip ID
  200. mma8450 0-001c: build time Oct 6 2011 02:19:40
  201. input: mma8450 as /devices/platform/imx-i2c.0/i2c-0/0-001c/input/input3
  202. add mma8450 i2c driver
  203. add mma8451 i2c driver
  204. MXC WatchDog Driver 2.0
  205. MXC Watchdog # 0 Timer: initial timeout 60 sec
  206. Bluetooth: Virtual HCI driver ver 1.3
  207. Bluetooth: HCI UART driver ver 2.2
  208. Bluetooth: HCIATH protocol initialized
  209. Bluetooth: Generic Bluetooth USB driver ver 0.6
  210. usbcore: registered new interface driver btusb
  211. VPU initialized
  212. mxsdhci: MXC Secure Digital Host Controller Interface driver
  213. mxsdhci: MXC SDHCI Controller Driver.
  214. mmc0: SDHCI detect irq 0 irq 1 INTERNAL DMA
  215. mxsdhci: MXC SDHCI Controller Driver.
  216. mmc1: SDHCI detect irq 203 irq 3 INTERNAL DMA
  217. usbcore: registered new interface driver usbhid
  218. usbhid: USB HID core driver
  219. Cirrus Logic CS42888 ALSA SoC Codec Driver
  220. sgtl5000-i2c 1-000a: SGTL5000 revision 17
  221. No device for DAI imx-ssi-1-0
  222. No device for DAI imx-ssi-1-1
  223. No device for DAI imx-ssi-2-0
  224. No device for DAI imx-ssi-2-1
  225. DMA Sound Buffers Allocated:UseIram=1 buf->addr=f8002000 buf->area=e0842000 size=24576
  226. DMA Sound Buffers Allocated:UseIram=1 buf->addr=cf480000 buf->area=fa310000 size=24576
  227. asoc: SGTL5000 <-> imx-ssi-2-0 mapping ok
  228. mmc0: new SDHC card at address f8a3
  229. mmcblk0: mmc0:f8a3 SU04G 3.69 GiB
  230. mmcblk0: p1
  231. ALSA device list:
  232. #0: imx-3stack (SGTL5000)
  233. TCP cubic registered
  234. NET: Registered protocol family 17
  235. can: controller area network core (rev 20090105 abi 8)
  236. NET: Registered protocol family 29
  237. can: raw protocol (rev 20090105)
  238. can: broadcast manager protocol (rev 20090105 t)
  239. Bluetooth: L2CAP ver 2.14
  240. Bluetooth: L2CAP socket layer initialized
  241. Bluetooth: SCO (Voice Link) ver 0.6
  242. Bluetooth: SCO socket layer initialized
  243. Bluetooth: RFCOMM TTY layer initialized
  244. Bluetooth: RFCOMM socket layer initialized
  245. Bluetooth: RFCOMM ver 1.11
  246. Bluetooth: BNEP (Ethernet Emulation) ver 1.3
  247. Bluetooth: BNEP filters: protocol multicast
  248. Bluetooth: HIDP (Human Interface Emulation) ver 1.2
  249. VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2
  250. regulator_init_complete: incomplete constraints, leaving DA9052_BUCK_MEM on
  251. regulator_init_complete: incomplete constraints, leaving DA9052_BUCK_PRO on
  252. regulator_init_complete: incomplete constraints, leaving DA9052_BUCK_CORE on
  253. regulator_init_complete: incomplete constraints, leaving DA9052_LDO10 on
  254. regulator_init_complete: incomplete constraints, leaving DA9052_LDO8 on
  255. regulator_init_complete: incomplete constraints, leaving DA9052_LDO7 on
  256. regulator_init_complete: incomplete constraints, leaving DA9052_LDO6 on
  257. regulator_init_complete: incomplete constraints, leaving DA9052_LDO4 on
  258. regulator_init_complete: incomplete constraints, leaving DA9052_LDO3 on
  259. regulator_init_complete: incomplete constraints, leaving DA9052_LDO2 on
  260. regulator_init_complete: incomplete constraints, leaving DA9052_LDO1 on
  261. mxc_rtc mxc_rtc.0: setting system clock to 1970-01-01 00:00:00 UTC (0)
  262. eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=0:00, irq=-1)
  263. IP-Config: Complete:
  264. device=eth0, addr=192.168.201.33, mask=255.255.255.0, gw=192.168.201.98,
  265. host=192.168.201.33, domain=, nis-domain=(none),
  266. bootserver=192.168.201.98, rootserver=192.168.201.98, rootpath=
  267. Freeing init memory: 156K
  268. Checking rootfs signature Success
  269. Starting logging: OK
  270. Starting mdev...
  271. Starting portmap: done
  272. Initializing random number generator... read-only file system detected...done
  273. Starting network...
  274. ip: RTNETLINK answers: File exists
  275. Starting Network Interface Plugging Daemon: eth0.
  276. Starting dropbear sshd: OK
  277. Starting stunnel: Reading configuration from file /etc/stunnel/stunnel.conf
  278. PRNG seeded successfully
  279. stunnel.pem: No such file or directory (2)
  280. OK
  281. Starting NFS statd: done
  282. Starting NFS services: exportfs: could not open /var/lib/nfs/.etab.lock for locking: errno 30 (Read-only file system)
  283. exportfs: can't lock /var/lib/nfs/etab for writing
  284. exportfs: could not open /var/lib/nfs/.xtab.lock for locking: errno 30 (Read-only file system)
  285. exportfs: can't lock /var/lib/nfs/xtab for writing
  286. done
  287. Starting NFS daemon: rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory).
  288. Please try, as root, 'mount -t nfsd nfsd /proc/fs/nfsd' and then restart rpc.nfsd to correct the problem
  289. done
  290. Starting NFS mountd: done
  291. Starting domain name daemon: namedwarning: `named' uses 32-bit capabilities (legacy support in use)
  292. failed
  293. Welcome to Loco
  294. loco login:

Category: