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
|
************************************************
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.1_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 3 (October 31, 2014)
- U-Boot:
- move configuration to board/toradex
- access GPIO with symbolic names
- remove PF0100 PMIC settings now fused
- fix LVDS panel name in environment
- enable fusing using do_fuse command
- cleanup configs
- use get_ram_size()
- use correct boot device in apalis_imx6q.cfg
- separate enet reset from pinmuxing
- enable USB host power consistently
- Linux kernel:
- add STMPE ADC driver using IIO framework
- allow reading board temperature via STMPE ADC driver
- fix PCIe by disabling RC/EP test mode
- skip unnecessary mxc_hdmi_setup calls
- upgrade to Freescale's BSP release imx_3.10.17_1.0.1_ga
- remove CONFIG_WATCHDOG_NOWAYOUT
- add intial DTE UART support
- fix pixelclk polarity for EDT-WVGA
- eMMC VCCQ is 3.3V only
- optional RS485 handling
- move pinmux definitions into Toradex files
- Linux user-space:
- switch to ARMv7 hard-float Thumb2 builds (armv7at2hf-vfp-neon)
- support for initial rootfs bigger than RAM, i.e. greater than ~900MB
- updated LXDM to 0.5 with proper systemd-logind support
- removed ConsoleKit session/login manager (superseded by systemd-logind)
- lxsession shows hibernate button only when kernel support is available
- various build and dependency fixes for LXDE recipes
- sources git.toradex.com tag Apalis_iMX6_LinuxImageV2.3Beta3_20141031
- 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
********************************************************************************
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
- UART2, UART3 and UART4
- optional RS485
- 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
- analog input via IIO framework
- 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
- 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
- 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. micro D 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 SD/MMC 8bit (X18) or SD/MMC 4bit (X19) socket
- 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 micro SD card into SD card 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, November 3, 2014
|