summaryrefslogtreecommitdiff
path: root/release-notes/Colibri_iMX6_LinuxReleaseNotesV2.x.txt
blob: a5ac9359785a998b7f0f3d79ef7c1aae65550314 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
*************************************************
Release Notes:  Linux Image V2.x for Colibri iMX6
*************************************************

Contents:
- U-Boot 2015.04 boot loader
- Linux 3.10.17 kernel, based on Freescale's BSP release imx_3.10.17_1.0.2_ga
    and patches from Boundary Devices
- Angstrom 2014.12/OpenEmbedded dizzy/Yocto 1.7 based root file system, using
    LXDE desktop environment

==> Flashing instructions can be found at the very bottom of this release notes

Licensing:
- proprietary multimedia codecs included for evaluation purpose only
- customer required to obtain proper re-distribution license

********************************************************************************
Linux Image V2.4 Beta 1 (May 18, 2015)
- U-Boot:
  - update to U-Boot 2015.04
  - add generic Toradex config block handling, print exact product description,
    board revision and serial number to the console
  - create device-tree properties which make board information
    available from within Linux userspace through procfs (/proc/device-tree/
    serial-number, toradex,board-rev and toradex,product-id)
  - add command to restore Toradex config block ("cfgblock create")
  - display the Toradex logo, output preference: env var 'panel' | HDMI | Parallel RGB
  - enabled gpio command line interface
  - enabled DFU and Mass Storage on USB client, currently slow performance
  - update procedure now searches for an image on SD card, USB Mass Storage, TFTP server
- Linux kernel:
  - added support for Analog Camera Module, requires dedicated device-tree
      imx6dl-colibri-cam-eval-v3
- Linux user-space:
  - update OpenEmbedded from daisy to dizzy:
    - glibc 2.20 (instead of eglibc)
    - systemd 2.18
    - Xorg 1.14.7
    - updated various LXDE packages to newer versions
  - replace full NTP daemon with systemd's NTP client only systemd-timesyncd
  - blacklist USB RNDIS for connman, use systemd-networkd to configure RDNIS
    network interface (new standard IP of the module is 192.168.11.1!)
  - enable BusyBox resize command to resize the terminal on serial console

- sources git.toradex.com tag Colibri_iMX6_LinuxImageV2.4Beta1_20150518
  - repository linux-toradex branch toradex_imx_3.10.17_1.0.0_ga
  - repository u-boot-toradex branch 2015.04-toradex

Note:
- mount point names changed from /media/<block device name> to /media/<label>

Known Issues:
- some USB Thumb drivers don't work well in U-Boot
- connecting an analogue mic to the on module codec resets the codec, so that
    neither headphone out nor mic in works anymore. Workaround: Have mic
    connected before boot or change the output source between DAC/LineIn
- on first boot the resizing process adversely affects system performance for
    the first few minutes until completed
- Display resolution can be set for some output configurations, set the U-Boot
    environment variable vidargs accordingly.
- X uses only the fb0 device
- flash_eth.img requires manual splitting of the root.ext3 file.
    see the colibri-imx6_bin/flash_eth.scr script
- Desktop integration of video playback uses wrong escaping, always plays
    fullscreen .local/share/applications/gst-launch.desktop

********************************************************************************
Linux Image V2.3 Beta 5 (December 19, 2014)
- U-Boot:
  - default to VGA on parallel RGB display (from full HD on DVI)
  - add additional version related environment variables to ease scripting
- Linux kernel:
  - remove some drivers unusable on Colibri iMX6
  - rename power-key to its correct function wake-up-key
- Linux user-space:
  - add eglinfo application
  - update X server to 1.14.7
  - /etc/machine-id: ensure it is saved non-volatile
- Update script
  - reduce rootfs partition size in the MBR to the available eMMC size
      to have a valid MBR

- sources git.toradex.com tag Colibri_iMX6_LinuxImageV2.3Beta5_20141219
  - repository linux-toradex branch toradex_imx_3.10.17_1.0.0_ga
  - repository u-boot-toradex branch 2014.04-toradex

Known Issues:
- connecting an analogue mic to the on module codec resets the codec, so that
    neither headphone out nor mic in works anymore. Workaround: Have mic
    connected before boot or change the output source between DAC/LineIn
- on first boot the resizing process adversely affects system performance for
    the first few minutes until completed
- Display resolution can be set for some output configurations, set the U-Boot
    environment variable vidargs accordingly. Some vidargs_xx variables
    provided for reference.
- X uses only the fb0 device
- flash_eth.img requires manual splitting of the root.ext3 file.
    see the colibri-imx6_bin/flash_eth.scr script
- a serial getty is started on ttymxc1 in addition to ttymxc0
    to disable this permanently execute the following command on the module:
    systemctl disable serial-getty@ttymxc1.service

********************************************************************************
Linux Image V2.3 Beta 4 (November 13, 2014)
- U-Boot:
  - initial release
- Linux kernel:
  - initial release
- rootfs / oe-core:
  - initial release
  - uses ARMv7 hard-float Thumb2 builds (armv7at2hf-vfp-neon)
- sources git.toradex.com tag Colibri_iMX6_LinuxImageV2.3Beta4_20141113
  - repository linux-toradex branch toradex_imx_3.10.17_1.0.0_ga
  - repository u-boot-toradex branch 2014.04-toradex

Known Issues:
- connecting an analogue mic to the on module codec resets the codec, so that
    neither headphone out nor mic in works anymore. Workaround: Have mic
    connected before boot or change the output source between DAC/LineIn
- on first boot the resizing process adversely affects system performance for
    the first few minutes until completed
- Display resolution can be set for some output configurations, set the U-Boot
    environment variable vidargs accordingly. Some vidargs_xx variables
    provided for reference.
- X uses only the fb0 device
- flash_eth.img requires manual splitting of the root.ext3 file.
    see the colibri-imx6_bin/flash_eth.scr script

********************************************************************************
Notes:
- 115200 baud serial debug console on UARTA aka FFUART (lower X25 on
    EvalBoards resp. X27 on V3.1a depending on JP17/19, X13 on Iris)
- user account: root with empty password
- eMMC: partition 1: vfat with kernel, partition 2 ext3 root file system
- opkg package manager
- HDMI aka DVI-D: not all pixel clock frequencies allow for HDMI audio
- Linux host used for update preparation requires proper 32-bit execution
    environment (e.g. install ia32-libs on 64-bit Ubuntu) and awk (e.g. install
    gawk on Ubuntu)

Working on latest image:
- U-Boot boot loader
  - environment storage in eMMC
  - Ethernet
  - MMC/SD cards
  - eMMC flash
  - RAM size auto detection
  - serial console debug UARTA
  - Toradex Colibri configuration block handling
  - module type auto detection
  - USB storage as host on USB host port
  - framebuffer support
- Linux kernel
  - GPIOlib /sys/class/gpio
  - PWM LEDs /sys/class/leds/
  - temperature sensor CPU /sys/devices/virtual/thermal/thermal_zone0/temp
      board: /sys/devices/soc0/soc.1/2100000.aips-bus/21a4000.i2c/i2c-1/1-0041/stmpe-adc/iio:device0/in_temp8_raw
  - Ethernet
  - eMMC ext3
  - serial console debug UARTA
  - UARTB, UARTC
  - optional RS485
  - I2C via /dev/i2c-X
  - 4-bit SD card mmc1
  - framebuffer console
  - HDMI audio
  - analogue audio playback and capture, resistive touch
  - optional S/PDIF, disabled in device tree
  - SPI via /dev/spidev32766.0
  - CAN via flexcan can0 and can1, disabled in device tree
  - custom Ethernet MAC address
  - serial number and board revision
  - USB host port
  - USB audio driver
  - USB webcam
  - USB raw HID device /dev/hidrawX
  - USB device Ethernet RNDIS, disabled
  - analog input via IIO framework
  - optional parallel camera interface (imx6dl-colibri-cam-eval-v3.dtb)
  - DVFS power management
  - suspend LP1
  - watchdog
- Linux user-space
  - Firefox browser
  - Gstreamer playback
  - OpenGL
  - LXDE
  - resize rootfs partition to full eMMC capacity
- Display:
  - only first output used by X11
  - backlight PWM
  - dual output on HDMI and parallel RGB, HDMI 1920x1080, RGB 800x480
  - single output on EDT 7" Display
  - single output to analog RGB, aka VGA output
  - resolution setting through modedb string in kernel command line

Not working or not tested:
- U-Boot boot loader
  - USB device/host switching
- Linux kernel
  - automatic USB device/host detection aka OTG support
  - CAN via MCP2515
  - IrDA
  - RS-422

- Linux user-space
  - Gstreamer encoding (not tested)
  - GPIO config tool not available
- Display:
  - on some monitors HDMI EDID does not negotiate correct timings,
      adding/removing mxc_hdmi.only_cea=1 to the kernel command line may help
  - more than one framebuffer used as a X screen

**************************************************************************
eMMC Boot: Colibri iMX6S 256MB V1.0a (Sample), iMX6DL 512MB V1.0a (Sample)
**************************************************************************

Initial Preparation:
- download and extract Colibri_iMX6_LinuxImageVx.yz.tar.bz2 package with root
    permissions
- use any VFAT formatted SD resp. micro SD card with at least 1000 MB of free
    space
- run update.sh script with -o argument pointing to mount point of
    above mentioned card

Flash eMMC:
- EvalBoard V3.1a
  - depending on JP17/19 connect serial debug console to UARTA aka FFUART
      (lower X25) using null modem RS-232 cable resp. X27 using a regular USB
      cable
  - insert above prepared SD card into SD/MMC socket (X15)
- Iris V1.1a
  - connect serial debug console to UARTA aka FFUART X13 using null modem RS-232 cable and a
      10 pin IDC to 9 pin D-sub male connector. (DTK or Intel standard)
  - insert above prepared micro SD card into micro SD card socket (X10)
- Boot to U-Boot prompt and start the update:
  - apply power or reset
  - hit any key to stop auto booting
  - use 'run setupdate' U-Boot command and then
  - use 'run update' U-Boot command
- Update a single component
  - U-Boot
    use 'run setupdate' and then 'run update_uboot'
    use 'patch_ddr_size' to set the memory configuration depending on module
      type. (i.e the Colibri iMX6 DL will use only half of the available RAM)
  - Kernel or Linux Device Tree
    use 'run setupdate' and then 'run update_kernel' or 'run update_fdt' respectively

Boot from eMMC:
- above given update command should automatically perform a soft re-boot upon successful completion
- optionally power cycle
- upon first boot post-install scripts are run which takes around 2 minutes,
    please be patient

If the boot loader on the module got corrupted this recovers it by loading U-Boot
  over USB into the module's RAM and executing it there:
- EvalBoard V3.1a
  - connect USB B (X29) or USB micro A/B (X30) to development workstation using
      regular or micro USB cable
  - the jumper JP2 must be open
  - connect serial debug console as stated above
- Iris V1.1a
  - connect USB micro A/B (X12) to development workstation using regular micro USB
      cable
  - connect serial debug console as stated above
- make sure that the carrier board supports USB high speed
  - Iris & EvalBoard V3.1a OK, for other carrier boards see
      http://developer.toradex.com/knowledge-base/usb-2.0-high-speed-%28480mbps%29
(see Colibri iMX6 Datasheet for recovery mode)
- have the module in recovery mode and load U-Boot over USB to the module's RAM:
  - lsusb should show a 15a2:0054 Freescale Semiconductor, Inc. device if
      the module is in recovery mode
  - run ./update.sh -d
  - stop at the U-Boot prompt and begin the update as stated above

Toradex, May 22, 2015