Difference between revisions of "APF6Dev"

From ArmadeusWiki
Jump to: navigation, search
(U-Boot)
(User Input)
(2 intermediate revisions by the same user not shown)
Line 38: Line 38:
 
||
 
||
 
===User Input===
 
===User Input===
* [[Tslib|Touchscreen]]
+
* [[Tslib|Touchscreen]] (SX8654)
  
 
===Wired communication===
 
===Wired communication===
Line 147: Line 147:
  
 
* Use APF6Dev "User" Button (GPIO Port 1 Pin 9) in U-Boot scripts:
 
* Use APF6Dev "User" Button (GPIO Port 1 Pin 9) in U-Boot scripts:
If you have a recent U-Boot, supporting gpio command:
+
If you have a recent U-Boot, supporting ''gpio'' command:
 
<pre class="apf">
 
<pre class="apf">
BIOS> gpio input 204
+
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)
 
gpio: pin 9 (gpio 9) value is 0      (if pressed)
 +
Button pressed
 
</pre>
 
</pre>
 
Otherwise, you can do it 'the old way':
 
Otherwise, you can do it 'the old way':
Line 161: Line 163:
  
 
<pre class="apf">
 
<pre class="apf">
BIOS> setenv usb_cable 'setexpr.l toto *0x020c81c0 \\& 0xf; if itest ${toto} -eq 0xe; then echo "USB detected"; true; else false; fi'
+
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
 
BIOS> if run usb_cable; then echo "USB detected"; fi
 
</pre>
 
</pre>

Revision as of 10:18, 2 August 2019


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 communication

Storage

Realtime clock

Wireless communication

FPGA connections

Other

  • PWM: PWM3 output is on J2 pin 26
    (2.8V output), but also used by LCD backlight !
  • GPIOlib
  • JTAG

Connectors

align=left
Name Function
J17 Gigabit Ethernet
J15 HDMI
J29 Power (12V)
J36 JTAG
J5 Extension 1
J18 Extension 2

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 /etc/inittab line 35 this way:
# Set up a getty on LCD
tty1::respawn:/sbin/getty 38400 tty1