Difference between revisions of "APF6Dev"

From ArmadeusWiki
Jump to: navigation, search
(Tips)
(Linux)
 
(16 intermediate revisions by 2 users not shown)
Line 32: Line 32:
 
* [[BackLight]]
 
* [[BackLight]]
 
* [[FrameBuffer]]
 
* [[FrameBuffer]]
* [[DVI_/_HDMI|DVI/HDMI]]
+
* HDMI
  
 
===Video In===
 
===Video In===
Line 38: Line 38:
 
||
 
||
 
===User Input===
 
===User Input===
* [[Tslib|Touchscreen]]
+
* [[Tslib|Touchscreen]] (SX8654)
  
 
===Wired communication===
 
===Wired communication===
Line 69: Line 69:
  
 
===Other===
 
===Other===
* [[PWM]]: PWM3 output is on J2 pin 26 <br>(2.8V output)
+
* [[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==
 
==Tips==
* Using 7" 800x480 LCD with 3.10/3.14 legacy kernel:
+
===U-Boot===
 +
* To use 7" 800x480 LCD with 3.10/3.14/4.1 legacy kernels:
 
<pre class="apf">
 
<pre class="apf">
 
BIOS> setenv extrabootargs video=mxcfb0:dev=lcd,800x480@60,if=RGB666,bpp=32
 
BIOS> setenv extrabootargs video=mxcfb0:dev=lcd,800x480@60,if=RGB666,bpp=32
 
</pre>
 
</pre>
 +
then, after having booted Linux, do:
 
<pre class="apf">
 
<pre class="apf">
 
root@apf6 ~ # fbset > /etc/fb.modes
 
root@apf6 ~ # fbset > /etc/fb.modes
Line 93: Line 124:
 
keyboard map is english one and it seems not possible to change it (U-Boot 2014.07) ?
 
keyboard map is english one and it seems not possible to change it (U-Boot 2014.07) ?
  
* to activate login in Framebuffer console, please uncomment ''/etc/inittab'' line 35 this way:
+
* 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">
 
<pre class="apf">
 
# Set up a getty on LCD
 
# Set up a getty on LCD

Latest revision as of 13: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