summaryrefslogtreecommitdiff
path: root/release-notes/Apalis_iMX6_LinuxReleaseNotesV2.x.txt
blob: 24d67f22aee5301fbf90f8223ec1f6e8fd916539 (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
************************************************
Release Notes:  Linux Image V2.x for Apalis iMX6
************************************************

Contents:
- U-Boot 2014.04 boot loader
- Linux 3.10.17 kernel, based on Freescale's BSP release imx_3.10.17_1.0.0_ga
  and patches from Boundary Devices
- Yocto/OpenEmbedded daisy/2014.06 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.3 Beta 1 (August 4, 2014)
- U-Boot
  - Based on mainline U-Boot 2014.04
  - Prepare for UART in DTE mode
  - Enable device tree booting
  - Fix kernel only update using fatwrite
  - Enable update from MMC or SD card slot
- Linux kernel:
  - Update from 3.0.35 to 3.10.17
  - Use device tree
  - Fix the validity bit in S/PDIF
  - Use PCIe with GEN1 speed
  - Add a VideoDAC driver
  - Add a touchscreen driver for TouchRevolution Fusion 7 / 10 panels
  - No analog input driver any more
- Linux user-space
  - Update from oe's dora to daisy
  - Export Apalis GPIOs with systemd service
  - Integrate u-boot-fw-utils fw_printenv fw_setenv
  - Remove machine feed URL, as it does not exist
  - Only start xinput-calibrator.service when LXDM is enabled
  - Use X server 1.14.4
  - Disable openssh's use of reverse DNS
  - Add gstreamer-rtp-manager and unclutter

- sources git.toradex.com tag Apalis_iMX6_LinuxImageV2.3Beta1_20140804
  - 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.
- backlight PWM BKL_PWM (hard-coded to 0 in U-Boot > full brightness on an EDT
    display).
- X uses only the fb0 device
- initial rootfs must fit in RAM, i.e. it must not be greater than ~900MB
- PCIe does enumerate devices but further access does fail due to a
  misconfiguration of the Linux kernel. Unset CONFIG_RC_MODE_IN_EP_RC_SYS
  and recompile the kernel.
  http://git.toradex.com/gitweb/linux-toradex.git/commit/09c7ac4adbb2e807b921d02caacc7c53abdedac7
- The Angstrom-Distribution since switched to using ARM Thumb2 instruction set.
  To use their binary feeds e.g. using the opkg package manager please change in
  /etc/opkg/base-feed.conf et. al. armv7ahf-vfp-neon to armv7at2hf-vfp-neon.
  We consider switching in our next release.

********************************************************************************
Linux Image V2.2 Beta 1 (April 04, 2014)
- U-Boot:
  - initial release
- Linux kernel:
  - initial release
- rootfs / oe-core:
  - initial release
- sources git.toradex.com tag Apalis_iMX6_LinuxImageV2.2Beta1_20140404

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.
- backlight PWM BKL_PWM (hard-coded to 0 in U-Boot > full brightness on an EDT
    display)
- X uses only the fb0 device
- video decoding leaks resources, after a while it stops working
- initial rootfs must fit in RAM, i.e. it must not be greater than ~900MB
- SSH password authentication is disabled by default (see PasswordAuthentication
    setting in /etc/ssh/sshd_config)

********************************************************************************
Notes:
- 115200 baud serial debug console on UART1 (EvalBoard lower X28 resp.
    X29 depending on JP10/12, X22 on Ixora) without any handshake
- 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
  - Gigabit Ethernet
  - MMC/SD cards
  - eMMC flash
  - serial console debug UART1
  - Toradex Apalis configuration block handling
  - USB storage as host on USB host ports
- Linux kernel
  - GPIOlib /sys/class/gpio
  - PWM LEDs /sys/class/leds/
  - temperature sensor /sys/devices/virtual/thermal/thermal_zone0/temp
  - Gigabit Ethernet (i.MX 6 errata, only 400 Mbps sustainable data rate)
  - eMMC ext3
  - serial console debug UART1
  - I2C via /dev/i2c-X
  - 8-bit MMC card mmc1
  - 4-bit SD card mmc2
  - HDMI audio
  - analogue audio playback and capture, resistive touch
    - audio noise is high, workaround is to set headphone volume to maximum and
        use the DAC volume
  - S/PDIF
  - SPI via /dev/spidev32766.0 aka SPI1 and /dev/spidev32765.0 aka SPI2
  - custom Ethernet MAC Address
  - USB host port
  - USB audio driver
  - USB webcam
  - USB raw HID device /dev/hidrawX
  - USB device Ethernet RNDIS
  - automatic USB device/host/suspend detection aka full OTG support
  - CAN via can0 and can1
  - PCIe (regular ports and mini-PCIe slot)
  - SATA (regular port or mSATA slot)
  - DVFS power management
  - suspend LP1
- Linux user-space
  - Firefox browser
  - Gstreamer playback
  - OpenGL, but thermal issues if running full speed
  - LXDE
  - resize rootfs partition to full eMMC capacity
- Display:
  - only first output used by X11
  - dual output on HDMI and LVDS, both in 1920x1080
  - single output on EDT 7" Display
  - single output to analog RGB, aka VGA output
  - resolution setting through modedb string in kernel command line (working
      resolutions to be tested)

Not working or not tested:
- U-Boot boot loader
  - framebuffer support
  - USB OTG1 support
- Linux kernel
  - IrDA
  - RS-422/485
  - UART2, UART3 and UART4
  - All UART control lines (There is a HW bug on V1.0 modules)
  - SIM card
  - HDA audio IF on MXM connector (not possible with i.MX 6)
  - I2S / AC97 on MXM connector
  - watchdog
  - parallel camera interface
  - CSI2 camera interface
  - analog input via IIO framework
  - serial number and board revision
- Linux user-space
  - Gstreamer encoding (not tested)
  - GPIO config tool not available
- Display:
  - on same monitors HDMI EDID does not negotiate correct timings,
      adding mxc_hdmi.only_cea=1 to the kernel command line may help
  - more than one framebuffer used as a X screen
  - backlight PWM
  - DSI output

******************************************
eMMC Boot: Apalis iMX6Q 1GB V1.0a (Sample)
******************************************

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

Flash eMMC:
- EvalBoard V1.0a
  - connect serial debug console to lower X28 or X29 using null modem RS-232
      or regular USB cable
  - insert above prepared SD card into MMC SDIO-socket (X18)
- Ixora V1.0a
  - connect serial debug console to X22 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 SD card into SD card/MMC SDIO-socket (X10)
  - if you update from a V2.2 image either use an EvalBoard for update or use
    on Ixora the U-Boot command:
	  setenv drive 2
	  setenv setupdate 'fatload mmc ${drive}:1 ${loadaddr} flash_mmc.img; source'
	  save
- 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
- If you updated from an older Image. (without a device tree)
  - power cycle or reset and hit any key to stop auto booting
    - use 'printenv' to get your current u-boot environment
    - use 'env default -a' to set the u-boot environment to its default value
    - optionally change the environment to your needs
    - use 'saveenv' to make the changes permanent

Boot from eMMC:
- EvalBoard V1.0a or Ixora V1.0a
- 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 V1.0a
  - connect USB micro A/B (X49) or USB B (X50) to development workstation using
      micro or regular USB cable
  - connect serial debug console as stated above
- Ixora V1.0a
  - connect USB micro A/B (X9) to development workstation using regular micro USB
      cable
  - make sure JP2 is removed and nothing is connected to the lower USB host port
      X8
  - for more information please consult Ixora datasheet section 3.3 and chapter 4
  - connect serial debug console as stated above
- 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
  - if you have a 32-bit Linux host, replace imx_flash/imx_usb with its 32-bit
      version imx_flash/imx_usb.m32 i.e. sudo mv imx_flash/imx_usb
      imx_flash/imx_usb.m64; sudo ln -s imx_usb.m32 imx_flash/imx_usb
  - run ./update.sh -d
  - stop at the U-Boot prompt and begin the update as stated above

Toradex, September 14, 2014