summaryrefslogtreecommitdiff
path: root/release-notes/Colibri_VF_LinuxReleaseNotesV2.x.txt
blob: a92f658086ff4c91cf1054b1c9eefdb1b1a7f6a0 (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
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
******************************************************
Release Notes:  Linux Image V2.x for Colibri VF50/VF61
******************************************************

Contents:
- U-Boot 2014.04 boot loader
- Linux 3.0.15 kernel, based on Freescale TWR-VF65GS10 Timesys LinuxLink
  2014-05-08 (ts2.16)
- OpenEmbedded oe-core dora/2013.12 based root file system, using LXDE desktop
  environment

********************************************************************************
Linux Image V2.2 Beta 1 (June 03, 2014)
- U-Boot
  - Update to mainline U-Boot 2014.04 with new partition layout and NAND driver
    which enables hardware ECC.
  - Support new config block layout.
  - Dropped SD card environment support (booting the boot loader from SD card is
    not possible with fused modules)
- Linux kernel:
  - Make use of hardware ECC result when reading from NAND
    (this breaks backward compatibility, reflash of root filesystem needed)
  - Clear pending characters from UART when configuring FIFO. This solves boot
    hang when UART characters are received during startup.
  - Fix global timer length which makes sure kernel time is monotonic increasing
  - Add support for second Ethernet (enable with CONFIG_FEC0)
  - Add support for UART4/UART5 (enable with CONFIG_UART[3|4]_SUPPORT)
  - Support new pin assignment for VF50 V1.1 and newer
  - Use chip select for NAND (required for U-Boot 2014.04)
- Linux user-space
  - Update GPIO config tool to V1.2
  - Add mcc-pingpong demo application for communication with Cortex M4 core

- sources git.toradex.com linux/u-boot branches colibri_vf tag Colibri_VF_LinuxImageV2.2Beta1_20140603

Known Issues:
- If the module does not boot remove all displays connected to HSYNC, VSYNC and reset.
  (This has been observed on an Evaluation Board V2.1)
- Analogue audio is not working on the Colibri VF61

********************************************************************************
Linux Image V2.1 Beta 3 (March 18, 2014)
- U-Boot
  - Add default VESA VGA vidargs for our now modedb enabled kernel. This allows
    easy specifying an alternate parallel RGB resolution.
- Linux kernel:
  - Allow to configure video resolution through modedb (video=dcufb:..).
  - Add kernel parameters to change RGB clock polarity.
  - Included reworked Fusion multi-touch touchscreen driver.
  - Merged Timesys tag 3.0-vybrid-ts2.13.
  - Support suspend/resume for Micrel PHY.
  - Enable FIFO for UART even when serial console is enabled.
  - Enabled wake-up pins SODIMM 43/45.
  - Fix and enabled SPI support (DSPI1).
  - Platform data for CAN transceiver MCP251x on Evaluation Board.
  - Build AC97 driver as module (supports resistive touch only for now).
  - Add PWM platform data, export PWM channels as PWM LEDs.
- Linux user-space
  - GPIO config tool.
  - Add Cortex M4 utility mqxboot and communication library libmcc.

- sources git.toradex.com linux/u-boot branches colibri_vf tag Colibri_VF_LinuxImageV2.1Beta3_20140318

Known Issues:
- If the module does not boot remove all displays connected to HSYNC, VSYNC and reset.
  (This has been observed on an Evaluation Board V2.1)
- Analogue audio is not working on the Colibri VF61
- An input on UART_A during bootup can lead to a hang (stuck at "rtc-ds1307 0-0068: hctosys: unable to
  read the hardware clock"). Make sure UART_A is connected before powering up and not written to.

********************************************************************************
Linux Image V2.1 Beta 2 (November 29, 2013)
- U-Boot:
  - Add initial Colibri VF61 support.
  - Implement memory size auto detection.
  - Implement module type (e.g. VF50 vs. VF61) auto detection based on L2 cache availability.
  - Set specific ARM core clock (e.g. 400 vs. 500 MHz) as well as Linux machine id number.
  - Rename configuration to colibri_vf to be universally used for Colibri VF50 as well as VF61.
- Linux kernel:
  - Various ADC resp. VF50 touch improvements/fixes.
  - Implement internal temperature sensor exposed via /sys/class/hwmon/hwmon0/device/temp1_input.
  - Fix VESA VGA display timing.
  - Use 16 bpp framebuffer by default to avoid buffer underruns.
  - Add the following additional display timings for manual activation:
    - 800x480@60 (e.g. EDT ET070080DH6)
    - 800x600@60
    - 1024x600@60 (e.g. TouchRevolution Fusion 10)
    - 1024x768@60
  - Allow for 396 as well as 500 MHz A5 core frequency.
  - Add the Colibri VF61 machine id and its corresponding machine definition.
  - Rename configuration to colibri_vf to be universally used for Colibri VF50 as well as VF61.
  - Enable watchdog configuration.
  - Fix Freescale's magic daisy chain aka select input IOMUX stuff.
  - Fix pixel clock polarity.
- rootfs / oe-core:
  - Use branch 'LinuxImageV2.1' in toradex-bsp-platform.git 
  - Fix recipe to follow the changed khronos headers checksum
  - Rename machine to colibri-vf to be universally used for Colibri VF50 as well as VF61
  - Unify files for use with VF50/VF61 or add VF61 specific ones
  - Don't statically populate /dev. The VFxx console fails on this.
  - Improve the console and qt4e image recipe

- sources git.toradex.com linux/u-boot branches colibri_vf tag Colibri_VF_LinuxImageV2.1Beta2_20131129

Known Issues:
- If the module does not boot remove all displays connected to HSYNC, VSYNC and reset.
  (This has been observed on an Evaluation Board V2.1)
- LVDS aka TFTLCD resolution hard-coded in kernel to VESA VGA resolution.
- Resistive touch and analogue audio are not working on a Colibri VF61

********************************************************************************
Linux Image V2.1 Beta 1 (October 22, 2013)
- U-Boot:
  - Fix long standing boot hang issue introduced by Freescale's Vybrid 1.1 silicon.
  - Fix possible uninitialised array member issue in serial number to
      hexadecimal coded decimal conversion routine (e.g. as used for
      /proc/cpuinfo in Linux).
  - Migrate default NAND vs. SD card boot configuration (in-line with Colibri T20)
  - Integrate config block handling
  - Increase the available space for the U-Boot binary to half a megabyte by booting from gfxRAM rather than sysRAM0.
  - Initial support based off Timesys' implementation for Freescale's Vybrid Tower System TWR-VF65GS10:
    - New machine ID.
    - Default UART_A on SCI0.
    - ESDHC2 only.
    - 8-bit NAND.
    - No quad SPI.
    - FEC1 only.
    - Enabled command line editing.
    - PLL5 based RMII clocking (e.g. no external crystal).
    - UART_A, UART_B and UART_C I/O muxing.
- Linux kernel:
  - Hackish USBH_PEN implementation.
  - Setup memory if mem= is not passed to kernel.
  - Enable RTS/CTS on UART_A aka UART0 and UART_B aka UART2.
  - Integrate backlight using both BL_ON GPIO and PWM<A>.
  - Re-worked IOMUX pin muxing.
  - Disable magic SysRq key configuration as this is not only a potential
       security thread but can cause serious trouble if for some reason UART pins
       are left floating and therefore cause unexpected break conditions.
  - Decrease DMA zone size configuration.
  - Enable tmpfs POSIX ACL configuration.
  - Re-enable L2 cache kernel configuration as it is now only enabled if actually present on chip.
  - Implement resistive touch screen driver using ADCs and GPIOs.
  - Add Eon Silicon Solutions manufacturer ID and integrate mxc_nand platform data handling.
  - Disable NAND controller software ECC in order to use hardware ECC.
  - Enable ADC driver as well as debugfs file system.
  - Fix DCU clock rounding, set DCU clock to 150.7 MHz, increase display pin drive strength and
      configure DCU for VESA VGA with a 30 MHz pixel clock
  - Enable CPU idle, NEON, ASRC and printk time.
  - Initial support based off Timesys' implementation for Freescale's Vybrid Tower System TWR-VF65GS10:
    - New machine ID.
    - FEC1 only.
    - ESDHC2 only with card detect interrupt.
    - PLL5 based RMII clocking (e.g. no external crystal).
    - VESA VGA display timing (tested with 5.7" EDT ET057090DHU).
    - Default UART_A on SCI0.
    - UART_A and UART_C I/O muxing.
    - I2C real time clock on carrier board.
    - Early boot console support.
    - 8-bit NAND.
- rootfs / oe-core:
  - OpenEmbedded: layers from dylan
      xserver version 1.14
      gtk+ 2.24.15
      midori 0.5.0
  - NEON and hard float enabled build
  - feed-config: use the new feed armv7ahf-vfp-neon
  - evdev: backport V2.8.1 from dora to get a fix for multitouch events
  - browser: use midori
  - burnflash: script for config block generation
  - systemd-journald: limit journal size
- sources git.toradex.com linux/u-boot branches colibri_vf tag Colibri_VF50_LinuxImageV2.1Beta1_20131022

Known Issues:
- LVDS aka TFTLCD resolution hard-coded in kernel to VESA VGA resolution.

********************************************************************************
Notes:
- 115200 baud serial debug console on UART0 aka FFUART (lower X25 on EvalBoards resp. X27 on V3.1a depending on JP17/19, X13 on Iris) without any handshake
- user account: root with empty password
- UBIFS flash root file system
- opkg package manager
- 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:
- U-Boot boot loader
  - environment storage in NAND flash
  - Ethernet
  - MMC/SD cards
  - RAM size auto detection
  - serial console debug UART0
  - Toradex Colibri configuration block handling
  - module type auto detection
- Linux kernel
  - GPIOlib /sys/class/gpio
  - temperature sensor /sys/class/hwmon/hwmon0/device/temp1_input
  - RTC (Vybrid internal without wakeup support and board level I2C RTC)
  - Ethernet eth0
  - NAND flash MTD UBIFS with hardware ECC
  - serial console debug UART0
  - Serial UART_A/UART_B and UART_C up to 921600, including RTS/CTS
  - I2C via /dev/i2c-X
  - MMC/SD card ESDHC2
  - PWM LEDs /sys/class/leds/
  - Colibri VF61: AC97 resistive touch (early version, load module kernel-module-snd-soc-wm9712/kernel-module-mvf-sai-ac97)
  - SPI via /dev/spidev1.0
  - framebuffer console
  - custom Ethernet MAC Address
  - serial number and board revision
  - watchdog
  - USB host port
  - USB raw HID device /dev/hidrawX
  - analogue inputs /dev/mvf-adc.{0|1} (see http://developer.toradex.com/knowledge-base/adc-(linux)#Colibri_VFxx)
  - power management (standby is LPRun, suspend-to-mem is Stop mode)
- Linux user-space
  - graphics (DCU aka parallel RGB)
  - Midori browser
  - GPIO config tool
  - LXDE
  - Cortex M4 utility mqxboot
  - Communication library libmcc

Not working or not tested:
- U-Boot boot loader
  - USB keyboard
  - USB storage as host
  - framebuffer support
- Linux kernel
  - CAN (Vybrid internal)
  - USB audio driver
  - USB webcam
  - USB device Ethernet RNDIS
  - automatic USB device/host detection aka OTG support
  - optional parallel camera interface
  - IrDA
  - RS-422/485
  - Colibri VF61: Analogue audio

*************************************************************
NAND Boot: Colibri VF50 V1.0a and Colibri VF61 V1.0b (Sample)
*************************************************************

If the boot loader in NAND got corrupted UART/SD card boot as described further down can be used as a means of recovery.

Initial Preparation:
- download and extract Colibri_VF_LinuxImageVx.yz.tar.bz2 package with root permissions
- use any VFAT formatted SD resp. uSD card with at least 100 MB of free space
- optionally format the SD resp. uSD card using the format_sd.sh script (warning everything will be erased)
- run update.sh script with optional -o argument pointing to mount point of above mentioned card
- insert prepared SD card into SD card/MMC SDIO-socket (X15/X10 on Iris)

Flash NAND:
- EvalBoard V3.1a
  - 115200 baud serial debug console on UART_A (lower X25 resp. X27 depending on JP17/19) without any handshake
- Iris V1.1a
  - 115200 baud serial debug console on UART_A (X13) without any handshake
- apply power or reset
- hit any key to stop auto booting
- use 'run setupdate' commands
  (for old U-Boot versions 'mmc part 0 ; fatload mmc 0:1 $loadaddr flash_mmc.img ;source')
- use 'run update' command

Boot from NAND:
- EvalBoard V3.1a or Iris V1.1a
- 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

********************************************************************
UART Boot: Colibri VF50 V1.1a and Colibri VF61 V1.1b (Sample, fused)
********************************************************************

If the boot loader in NAND got corrupted this can be used as a means of recovery.

For detailed description, see also:
http://developer.toradex.com/knowledge-base/vfxx-recovery-mode

For initial Preparation, refer to NAND Boot above.
- if you have a 32-bit Linux host, replace vf_flash/imx_uart with its 32-bit
  version vf_flash/imx_uart.m32 i.e. sudo mv vf_flash/imx_uart
  vf_flash/imx_uart.m64; sudo ln -s vf_uart.m32 vf_flash/imx_uart

Connect UART_A:
- On EvalBoard V3.1a, use on-board FTDI RTS/CTS signal (bridge RTS/CTS, X11 5/6)
- On Iris, use RS232 adapter with RTS/CTS support

Enter recovery mode:
- Turn the module off
- Press the recovery button
- Turn the module on

Boot using UART:
- Use update.sh -d /dev/ttyUSB0
- When RTS/CTS is shortened on module side, disable RTS/CTS on PC side by using
  argument -n

Flash NAND:
- EvalBoard V3.1a
  - 115200 baud serial debug console on UART_A (lower X25 resp. X27 depending on JP17/19) without any handshake
- Iris V1.1a
  - 115200 baud serial debug console on UART_A (X13) without any handshake
- hit enter to verify the U-Boot command prompt
- use 'run setupdate' commands 
- when migrating from a V2.1 Beta 3 or older image, use 'run migrate_v2.1b3' in
  order to migrate config block.
- otherwise, use 'run update' command

Note: After UART recovery, the module is resetted automatically, however when
resetting, the module enters recovery mode again. One need to power cycle the
module to start the flashed image.

***************************************************************************
SD Card Boot: Colibri VF50 V1.0a and Colibri VF61 V1.0b (Sample, non-fused)
***************************************************************************

If the boot loader in NAND got corrupted this can also be used as a means of recovery.

Initial Preparation:
- EvalBoard V3.1a
  - select SD boot bootstrap option
    - pull the following X8 pins down aka to ground with 1 k ohm resistors: 23 and 33
    - pull the following X8 pins up aka to 3.3 volt with 1 k ohm resistors: 21, 27, 34 and 44
- download and extract Colibri_VF_LinuxImageVx.yz.tar.bz2 package with root permissions

Flash SD Card:
- use any SD resp. uSD card of at least 100 MB capacity
- format and flash SD resp. uSD card using format_sd.sh script giving -d argument pointing to
    device file of SD card and -f argument (warning everything will be erased)

Boot from SD Card:
- EvalBoard V3.1a
  - insert SD card into SD card/MMC SDIO-socket (X15)
- apply power
- upon first boot post-install scripts are run which takes around 2 minutes, please be patient

Toradex, June 10, 2014