Difference between revisions of "APF6Dev"
From ArmadeusWiki
(→Feature list) |
(→Linux) |
||
(32 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category: APF6]] | ||
+ | |||
==Description== | ==Description== | ||
This is the Armadeus System's standard development board/baseboard for the [[APF6]] module. | This is the Armadeus System's standard development board/baseboard for the [[APF6]] module. | ||
Line 7: | Line 9: | ||
==Errata== | ==Errata== | ||
− | + | * As the board is also used for [[APF6_SP]] module (APF6+FPGA), you might experience some miscellaneous FPGA LED blinking (beside "FPGA_SW" button) when no FPGA is present. | |
==Resources== | ==Resources== | ||
− | * [[Datasheet | Datasheet and | + | * [[Datasheet#APF6Dev | Datasheet and schematics]] |
* [http://www.armadeus.com/english/products-development_boards-apf6_dev.html Product page on Armadeus Systems website] | * [http://www.armadeus.com/english/products-development_boards-apf6_dev.html Product page on Armadeus Systems website] | ||
Line 30: | Line 32: | ||
* [[BackLight]] | * [[BackLight]] | ||
* [[FrameBuffer]] | * [[FrameBuffer]] | ||
− | * | + | * HDMI |
===Video In=== | ===Video In=== | ||
Line 36: | Line 38: | ||
|| | || | ||
===User Input=== | ===User Input=== | ||
− | * [[ | + | * [[Tslib|Touchscreen]] (SX8654) |
===Wired communication=== | ===Wired communication=== | ||
Line 52: | Line 54: | ||
* [[SATA]] | * [[SATA]] | ||
|| | || | ||
− | ===Realtime=== | + | ===Realtime clock=== |
− | * [[ | + | * [[RTC]] |
===Wireless communication=== | ===Wireless communication=== | ||
* [[Wifi|WiFi usage on Linux]] | * [[Wifi|WiFi usage on Linux]] | ||
* [[Bluetooth|Bluetooth usage on Linux]] | * [[Bluetooth|Bluetooth usage on Linux]] | ||
+ | |||
+ | === FPGA connections === | ||
+ | |||
+ | * [[HSMC | HSMC connector]] | ||
+ | * [[JTAG]] | ||
+ | * [[Button]] | ||
+ | * [[Led]] | ||
===Other=== | ===Other=== | ||
− | * [[PWM]]: | + | * [[PWM]]: PWM3 output is on J2 pin 26 <br>(2.8V output), but also used by LCD backlight ! |
* [[GPIOlib]] | * [[GPIOlib]] | ||
* [[JTAG]] | * [[JTAG]] | ||
+ | |} | ||
+ | |||
+ | ==Connectors== | ||
+ | {| cellpadding="5" cellspacing="0" | ||
+ | |- | ||
+ | |||
+ | [[File:APF6Dev.jpeg| align=left]] | ||
+ | |||
+ | || | ||
+ | |||
+ | {| border="1" cellpadding="5" cellspacing="0" summary="APF6Dev connectors" | ||
+ | |- style="background:#efefef;" align="center" | ||
+ | ! Name !! Function | ||
+ | |- align="center" | ||
+ | | J17 || Gigabit Ethernet | ||
+ | |- align="center" | ||
+ | | J15 || HDMI | ||
+ | |- align="center" | ||
+ | | J33 || Audio (Out/Up, In/Down) | ||
+ | |- align="center" | ||
+ | | J29 || Power (12V) | ||
+ | |- align="center" | ||
+ | | J36 || JTAG | ||
+ | |- align="center" | ||
+ | | J5 || Extension 1 | ||
+ | |- align="center" | ||
+ | | J18 || Extension 2 | ||
+ | |} | ||
+ | |||
+ | |} | ||
+ | |||
+ | ==Tips== | ||
+ | ===U-Boot=== | ||
+ | * To use 7" 800x480 LCD with 3.10/3.14/4.1 legacy kernels: | ||
+ | <pre class="apf"> | ||
+ | BIOS> setenv extrabootargs video=mxcfb0:dev=lcd,800x480@60,if=RGB666,bpp=32 | ||
+ | </pre> | ||
+ | then, after having booted Linux, do: | ||
+ | <pre class="apf"> | ||
+ | root@apf6 ~ # fbset > /etc/fb.modes | ||
+ | </pre> | ||
+ | |||
+ | * Activating HDMI console with USB keyboard in U-Boot (since armadeus-6.0): | ||
+ | <pre class="apf"> | ||
+ | BIOS> usb start | ||
+ | BIOS> setenv stdout serial,vga | ||
+ | BIOS> setenv stderr serial,vga | ||
+ | BIOS> setenv stdin serial,usbkbd | ||
+ | </pre> | ||
+ | keyboard map is english one and it seems not possible to change it (U-Boot 2014.07) ? | ||
+ | |||
+ | * Use APF6Dev "User" LED in U-Boot scripts: | ||
+ | If you have a recent U-Boot, supporting gpio command: | ||
+ | <pre class="apf"> | ||
+ | BIOS> gpio set 204 | ||
+ | ... | ||
+ | BIOS> gpio clear 204 | ||
+ | </pre> | ||
+ | Otherwise, you can do it 'the old way'; declare GPIO Port 7 Pin 12 (connected to the LED) as GPIO: | ||
+ | <pre class="apf"> | ||
+ | BIOS> md.l 0x020b4004 1 | ||
+ | 020b4004: 00000100 | ||
+ | BIOS> mw.l 0x020b4004 0x00001100 (set bit 12) | ||
+ | </pre> | ||
+ | Switch LED on: | ||
+ | <pre class="apf"> | ||
+ | BIOS> md.l 0x020b4000 1 | ||
+ | 020b4000: 00000f04 | ||
+ | BIOS> mw.l 0x020b4000 0x00001f04 (set bit 12) | ||
+ | </pre> | ||
+ | Switch LED off: | ||
+ | <pre class="apf"> | ||
+ | BIOS> mw.l 0x020b4000 0x00000f04 (clear bit 12) | ||
+ | </pre> | ||
+ | |||
+ | * Use APF6Dev "User" Button (GPIO Port 1 Pin 9) in U-Boot scripts: | ||
+ | If you have a recent U-Boot, supporting ''gpio'' command: | ||
+ | <pre class="apf"> | ||
+ | BIOS> setenv user_button 'gpio input 204' | ||
+ | BIOS> if run user_button; then echo "Button pressed"; fi | ||
+ | gpio: pin 9 (gpio 9) value is 0 (if pressed) | ||
+ | Button pressed | ||
+ | </pre> | ||
+ | Otherwise, you can do it 'the old way': | ||
+ | <pre class="apf"> | ||
+ | BIOS> setenv user_button 'setexpr.l toto *0x0209c000 \\& 0x200; if itest ${toto} -eq 0; then true; else false; fi' | ||
+ | BIOS> if run user_button; then echo "Button pressed"; fi | ||
+ | </pre> | ||
+ | |||
+ | * Detect USB OTG cable presence: | ||
+ | |||
+ | <pre class="apf"> | ||
+ | BIOS> setenv usb_cable 'setexpr.l toto *0x020c81c0 \\& 0xf; if itest ${toto} -eq 0xe; then true; else false; fi' | ||
+ | BIOS> if run usb_cable; then echo "USB detected"; fi | ||
+ | </pre> | ||
+ | |||
+ | ===Linux=== | ||
+ | * to activate login in Framebuffer console, please uncomment (or add) ''/etc/inittab'' line 35 this way: | ||
+ | <pre class="apf"> | ||
+ | # Set up a getty on LCD | ||
+ | tty1::respawn:/sbin/getty 38400 tty1 | ||
+ | </pre> | ||
[[Category:DevelopmentBoards]] | [[Category:DevelopmentBoards]] | ||
[[Category:Hardware]] | [[Category:Hardware]] |
Latest revision as of 13:48, 20 January 2023
Contents
Description
This is the Armadeus System's standard development board/baseboard for the APF6 module.
The following options are available:
Errata
- As the board is also used for APF6_SP module (APF6+FPGA), you might experience some miscellaneous FPGA LED blinking (beside "FPGA_SW" button) when no FPGA is present.
Resources
Feature list
Audio
Video Out
Video In |
User Input
Wired communicationStorage |
Realtime clockWireless communicationFPGA connectionsOther |
Connectors
|
Tips
U-Boot
- To use 7" 800x480 LCD with 3.10/3.14/4.1 legacy kernels:
BIOS> setenv extrabootargs video=mxcfb0:dev=lcd,800x480@60,if=RGB666,bpp=32
then, after having booted Linux, do:
root@apf6 ~ # fbset > /etc/fb.modes
- Activating HDMI console with USB keyboard in U-Boot (since armadeus-6.0):
BIOS> usb start BIOS> setenv stdout serial,vga BIOS> setenv stderr serial,vga BIOS> setenv stdin serial,usbkbd
keyboard map is english one and it seems not possible to change it (U-Boot 2014.07) ?
- Use APF6Dev "User" LED in U-Boot scripts:
If you have a recent U-Boot, supporting gpio command:
BIOS> gpio set 204 ... BIOS> gpio clear 204
Otherwise, you can do it 'the old way'; declare GPIO Port 7 Pin 12 (connected to the LED) as GPIO:
BIOS> md.l 0x020b4004 1 020b4004: 00000100 BIOS> mw.l 0x020b4004 0x00001100 (set bit 12)
Switch LED on:
BIOS> md.l 0x020b4000 1 020b4000: 00000f04 BIOS> mw.l 0x020b4000 0x00001f04 (set bit 12)
Switch LED off:
BIOS> mw.l 0x020b4000 0x00000f04 (clear bit 12)
- Use APF6Dev "User" Button (GPIO Port 1 Pin 9) in U-Boot scripts:
If you have a recent U-Boot, supporting gpio command:
BIOS> setenv user_button 'gpio input 204' BIOS> if run user_button; then echo "Button pressed"; fi gpio: pin 9 (gpio 9) value is 0 (if pressed) Button pressed
Otherwise, you can do it 'the old way':
BIOS> setenv user_button 'setexpr.l toto *0x0209c000 \\& 0x200; if itest ${toto} -eq 0; then true; else false; fi' BIOS> if run user_button; then echo "Button pressed"; fi
- Detect USB OTG cable presence:
BIOS> setenv usb_cable 'setexpr.l toto *0x020c81c0 \\& 0xf; if itest ${toto} -eq 0xe; then true; else false; fi' BIOS> if run usb_cable; then echo "USB detected"; fi
Linux
- to activate login in Framebuffer console, please uncomment (or add) /etc/inittab line 35 this way:
# Set up a getty on LCD tty1::respawn:/sbin/getty 38400 tty1