APF6Dev: Difference between revisions

From ArmadeusWiki
 
(9 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 76: Line 76:


==Connectors==
==Connectors==
[[File:APF6Dev.jpeg]]
{| 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==
==Tips==
Line 120: Line 146:
<pre class="apf">
<pre class="apf">
BIOS> mw.l 0x020b4000 0x00000f04    (clear bit 12)
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>
</pre>


===Linux===
===Linux===
* to activate login in Framebuffer console, please uncomment ''/etc/inittab'' line 35 this way:
* to activate login in Framebuffer console, please uncomment (or add) ''/etc/inittab'' line 35 this way:
<pre class="apf">
<pre class="apf">
# Set up a getty on LCD
# Set up a getty on LCD

Latest revision as of 14:48, 20 January 2023


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
J33 Audio (Out/Up, In/Down)
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 (or add) /etc/inittab line 35 this way:
# Set up a getty on LCD
tty1::respawn:/sbin/getty 38400 tty1