Como instalar Linux en placas con ARM


Armbian es una  distribución  ligera Debian o Ubuntu especializada para desarrollar placas  con ARM y  compilada desde cero.Tiene potentes herramientas de desarrollo de software y también  una  comunidad de desarrolladores muy abundante

Es open software  y como vamos a ver son soportados casi todas las placas «clónica» de las Raspberry Pi  como son Banana PI o Orange Pi entre otras

Los  chips soportados  son  los siguientes:

  • Allwinner A10, A20, A31, H3, A64
  • Amlogic S805
  • Amlogic S905
  • Actionsemi S500
  • Freescale / NXP iMx6
  • Marvell Armada A380
  • Samsung Exynos 5422

Las placas  que cuentan con los chips anteriores y por tanto son soportadas  por esta distribución son las siguintes:Beelink X2, Orange Pi PC plus, Orange Pi Plus 2E, Orange Pi Lite, Roseapple Pi, NanoPi M1, pcDuino2, pcDuino3, Odroid C0/C1/C1+, Banana Pi M2+, Hummingboard 2, Odroid C2, Orange Pi 2, Orange Pi One, Orange Pi PC, Orange Pi Plus 1 & 2, Clearfog, Lemaker Guitar, Odroid XU4, Udoo Neo, Banana Pi M2, Orange Pi A31S, Cubieboard 1, Cubieboard 2, Hummingboard, Lamobo R1, Banana Pi PRO, Orange Pi mini A20, Olimex Lime A10, Olimex Micro, Olimex Lime 2, pcDuino3 nano, Banana Pi Plus A20, Udoo quad, Orange Pi A20, Olimex Lime 1, Banana Pi, Cubox-i, Cubietruck .

Xenial esta basado en Debian Wheezy, Jessie o Ubuntu fiel y  compilado desde el principio, consiguiendo que  las imágenes de instalación se reduzcan al tamaño de los datos reales con la pequeña reserva,

Instalacion  de la imagen de cada placa

Las siguientes instrucciones le enseñarán a escribir una imagen de Sistema Operativo en la tarjeta TF en windows y en Linux  para su placa.

Paso 1:TF

Introduzca la tarjeta TF en el lector de tarjetas de su ordenador. El tamaño de la tarjeta TF debería ser mayor a la imagen de Sistema Operativo que se escribirá, generalmente 4 GB o más es suficiente.

Paso 2: Formatear la tarjeta TF.

Windows:

1. Descargue una utilidad de formateo de tarjetas TF comoTF Formatter
2. Descomprima el archivo descargado y ejecuta setup.exe para instalar la utilidad en su PC
3. En el menú «Options», seleccione la opción «Format Type» a «Quick» y la opción «Format Size Adjustment» a «On»
4. Compruebe que la tarjeta TF que introdujiste coincide con la que seleccionaste en la herramienta
5. Pulse  el botón «Format»

Linux:

1. Ejecute el comando «fdisk -l /dev/sdX» para comprobar ell nodo de la tarjeta TF
2. Ejecute el comando «umount /dev/sdXX» para desmontar todas las particiones de la tarjeta TF
3. Ejecute el comando «sudo mkfs.vfat /dev/sdX1» para formatear la partición de la tarjeta TF a FAT32 (X debería ser el nodo de tu tarjeta TF)

Puede saltarse este paso en Linux porque al escribir la imagen con **dd* formateará la tarjeta automáticamente.

Paso  3:Descarga de SO

Descargue la imagen de Sistema Operativo de  la  pagina de armbian  para su placa (cuidado: debe ser exactamente el mismo modelo y la misma version porque si no es asi no arrancara su placa con esa imagen del SO)

Paso 4:Descompimir

Descomprima el archivo descargado para obtener la imagen de Sistema operativo. Excluya la imagen de Sistema Operativo de Android porque necesitara otra forma de escritura.

Windows: Pulse  con el botón derecho en el archivo y escoge «Extraer todo»
Linux: Ejecute «unzip [path]/[nombre del archivo descargado]».Si la extensión es .tgz, ejecute el comando «tar zxvf [path]/[nombre del archivo descargado]»
Asegúrese de que el nombre del archivo de la imagen no contiene ningún espacio ni carácteres extraños.

Paso 5:Grabacion del SO

Escriba el archivo imagen a la tarjeta TF
Windows:

  •  Descargue una utilidad que pueda escribir en tarjetas TF como por ejemplo Win32 Diskimager
  •  Abra la imagen descomprimida
  • Pulse l botón «Write» y espera hasta que se complete el proceso de escritura

Linux:

  •  Ejecute el comando «sudo fdisk –l /dev/sdX» para comprobar el nodo de la tarjeta TF
  •  Verifique que la «hash key» del archivo zip es igual a la mostrada en la página de descarga (Opcional)
    sha1sum [path]/[nombre de la imagen]
    Esto escribirá una larga línea de dígitos hexadecimales que debería coincidir con el «SHA-1» mostrado en la página de descargas para esta imagen.
  •  Ejecute el comando «umount /dev/sdXx» para desmontar la partición de la tarjeta TF
  •  Ejecute el comando «sudo dd bs=4M if=[path]/[nombre de la imagen] of=/dev/sdXx» para escribir la imagen a la tarjeta TF. Espera a que se complete el proceso de escritura. En caso de que la escritura no funcione, modifica el tamaño de bloque «bs» 1M aunque puede que ralentice el proceso. Puedes usar el comando «sudo pkill –USR1 –n –x dd» para comprobar el progreso.

Paso 6: Montar la tarjeta en placa y conectar la alimentación

Extraiga la TF de s u PC   y monte  la tarjeta en su placa . Conecte el video , un ratón  y/o teclado  y conectar la alimentación

El primer arranque tardara más (hasta minutos) que generalmente (20s) porque actualiza la lista de paquetes, regenera las claves SSH y amplia partición para montar la tarjeta SD. Puede reiniciar una vez automáticamente.(las contraseña de root es 1234,la cual se le pedirá para cambiar esta contraseña y crear un usuario normal en el primer inicio de sesión).

El script de inicio de sesión muestra  con   nombre de la placa con texto grande, versión del kernel, base de distribución, carga del sistema, por tiempo, uso de memoria, dirección IP, CPU temp, temp de la unidad, temp ambiente de genio si salidas, SD tarjeta de uso, condiciones de la batería y número de actualizaciones a instalar

Es de destacar que al iniciar las placas  tanto el adaptador Ethernet con servidor DHCP y SSH listo en el puerto por defecto (22)  como el adaptador inalámbrico con DHCP listo si presente pero desactivada (/ etc/network/interfaces, WPA2: Conecte normal o modo AP)

También esta habilitada tanto   la carga de actualizaciones automáticas de seguridad para el sistema básico y núcleo. Se realizan actualizaciones del método estándar apt-get upgrade como la consola serial activado

Otros scripts interesantes:

  •  NAND, Máster Erasmus Mundus, SATA y USB install script es incluido (nand-sata-instalación)
  • / tmp y /log = RAM, ramlog app guarda logs a disco todos los días y en cierre (Wheezy y Jessie sin systemd)
  • Programador automático de IO. (ver /etc/init.d/armhwinfo)
  • reescritura de datos diario permitida. (/ etc/fstab)
  • confirmación = 600 para eliminar datos en el disco cada 10 minutos (/ etc/fstab)
  • optimiza la frecuencia de la CPU escalamiento con gobernador interactivo (/ etc/init.d/cpufrequtils)
    • 480-1010Mhz @Allwinner A10/A20
    • 480-1260Mhz @Allwinner H3
    • 392-996Mhz @Freescale imx
    • 600-2000Mhz @Exynos & S905

Otras características destacables de esta distribución son :

  • Imágenes escritorio XFCE cuentan con reproducción de vídeo acelerada HW donde sea posible. Preinstalado: Firefox, LibreOffice escritor, Thunderbird y otros.
Mas información en   https://docs.armbian.com/User-Guide_Getting-Started/

 

Solución al problema sin video con Orange Pi PC


Es relativamente habitual tener  problemas con la placa  Orange PI Pc   conectado a un  monitor DVI usando un cable  convertidor HDMI-DVI  o  bien con un cable HDMI-HDMI porque al conectarlo no aparece ninguna imagen  en la pantalla, dando la impresión  por tanto que no  funciona la Orange Pi,  hasta que sorprendentamente  probamos  conectando   a una TV por HDMI  que de repente si se visualiza  la imagen .. ¿Es posible que haya algún tipo de incompatibildiad  con los cable hdmi a dvi?¿Está relacionado con el soporte HDCP ?
Muchas personas  cansadas de probar  abandonar el uso de una pantalla, instalan xrdp y tightvncserver y usan ambos  y ssh en su lugar.

Todos sabemos que tener la pantalla funcionamiento (sobre HDMI a DVI) tiene ventajas obvias en cuanto a rendimiento de vídeo y la posibilidad de video de juego a través de la naranja PI,pero no es tan fácil de solucionar el problema…

orangepi

 

De muchas formas hay una especie todavía de un swing que no funciona con pantallas DVI. ¿Hay algo que podamos hacer acerca de esto?

METODO1

 

En primer  lugar, puede editar el archivo uEnv.txt, asegúrese de deshabilitar EDID en el uEnv.txt … El campo de modo de salida de pantalla debería verse como: disp.screen0_output_mode = 1280x720p50, en lugar de disp.screen0_output_mode = EDID: 1280x720p50, Utilice la resolución deseada en lugar de 1280x720p por encima de …
Para listar las posibles resoluciones, escriba:

cat /sys/class/graphics/fb0/modes
login as: root
  [email protected]'s password:
  Linux orangepi 3.4.39 #41 SMP PREEMPT Sun Jun 21 13:09:26 HKT 2015 armv7l

The programs included with the Debian GNU/Linux system are free software;
  the exact distribution terms for each program are described in the
  individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
  permitted by applicable law.
  Last login: Sat May 2 09:19:09 2015
  root@orangepi:~# ls
  Desktop Documents indiecity Scratch squeak
  root@orangepi:~# cat /sys/class/graphics/fb0/modes
  U:1280x720p-0
  root@orangepi:~#

Esto producirá todas las posibles resoluciones HDMI:

U:1440x900p-60
S:1280x1024p-60
V:1152x864p-75
V:1280x1024p-75
V:1024x768p-70
V:1024x768p-60
V:800x600p-75
V:800x600p-72
V:800x600p-60
V:800x600p-56
V:640x480p-75
V:640x480p-72
V:640x480p-60
D:1920x1080p-60

A continuación, abra el archivo rc.local:

sudo nano /etc/rc.local

Copie la resolución que desee de las anteriores y agréguela (antes de ‘exit 0’) al rc.local-script de la siguiente manera:

echo V:1024x768p-60 > /sys/class/graphics/fb0/mode

Esto le dará la resolución 1024×768 a 60Hz.

METODO2

Pues lo cierto es al parecer es asi  de modo que si queremos operar con un monitor convencional con nuestra Orange Pi tenderemos que forzar la salida .
Una buena referencia para leer sobre cómo funciona  el srcipt.bin (o script.fex) puede encontrarse en este enlace

Necesitara instalar la  herramienta  sunxi-tools  para convertir el script.bin en un archivo de texto (script.fex) para modificar los parámetros dentro de ella.
Estas  herramientas  estan  disponibles en  https://github.com/linux-sunxi/sunxi-tools.

Los pasos a seguir son los siguientes:

1 -Instalar  sunxi-tools

sudo apt-get install sunxi-tools

Reading package lists… Done
Building dependency tree
Reading state information… Done

2-La partición de arranque se debe montar en / media / boot en imágenes loboris. Como root, haga una copia de seguridad de script.bin y convertirlo en script.fex con bin2fex y edite script.fex con el editor de su elección

 sudo su
cd /media/boot
cp script.bin script.bin.bak
bin2fex script.bin script.fex
nano script.fex

3- Encuentre la sección [hdmi_para] y agregue estos parámetros debajo de ella

hdcp_enable = 0
hdmi_cts_compatibility = 1

4- Encuentre la sección [boot_disp]  y agregue estos parámetros debajo de ella :

          screen0_output_type = 3
          screen0_ouput_mode = 4
          screen1_output_type = 3
          screen1_ouput_mode = 4
          fb0_width = 1440
          fb0_height = 900
          fb1_width = 1440
          fb1_height = 900

Nota: el 1440 y 900 es la resolución máxima recomendada que puede soportar un monitor   por ejemplo  el HPW1907

4-Guarde el archivo y convierta script.fex de nuevo a script.bin

fex2bin script.fex script.bin

5-Reboot

 Ejemplos de configuraciones 

En esta sección pueden encontrarse en archivos de fex proveedor de dispositivos de H3 y es utilizada por BSP u-boot de Allwinner (eg. para mostrar un logo de arranque que podría requerir más parches)

Configuración de inicio de DISP

  • disp_init_enable: 0 para desactivar; 1 para activar
  • : modo de visualización a utilizar:
modo de modo de visualización
0 Screen0(Screen0, fb0)
1 Screen1(Screen1, fb0)
2 DualHead (screen0 screen1, fb0, fb1) (2 pantallas, 2 framebuffers)
3 Xinerama (screen0, screen1, fb0) (2 pantallas, una grande framebuffer)
4 clon (screen0, screen1, fb0) (2 pantallas, un framebuffer estándar)
  • screen0_out_color_range: gama de color de salida para HDMI (se aplica a ambos screen0/screen1 – no hay screen1_out_color_range):
tipo gama de color de salida
0 Gama limitada de 16-255 (por defecto)
1 Gama – PC nivel completa de 0-255
2 Gama limitada de 16-235 – nivel de vídeo
  • screen0_output_type: tipo de screen0 de salida:
  • screen1_output_type: tipo de screen1 de salida:
tipo Tipo de salida
0 NINGUNO
1 PANTALLA LCD
2 TV
3 HDMI
4 VGA
  • screen0_output_mode: modo de salida para screen0:
  • screen1_output_mode: modo de salida para screen1:
modo de utilizado para salida de tv/hdmi para la salida de vga
0 480i 1680 * 1050
1 576i 1440 * 900
2 480p 1360 * 768
3 576p 1280 * 1024
4 720p 50 1024 * 768
5 720p 60 800 * 600
6 1080i50 640 * 480
7 1080i60
8 1080p 24
9 1080 50 p
10 1080p60 1920 * 1080
11 PAL 1280 * 720
14 NTSC
  • fb0_framebuffer_num: número de búfer de fb0, use 2 para doble buffering
  • fb1_framebuffer_num: número de búfer de fb1, use 2 para doble buffering
  • fb0_format: formato de píxel para fb0:
  • fb1_format: formato de píxel para fb1:
formato fb0_format
4 RGB655
5 RGB565
6 RGB556
7 ARGB1555
8 RGBA5551
9 RGB888
10 ARGB8888
12 ARGB4444
  • fb0_pixel_sequence: secuencia de pixel fb0 (0 generalmente para linux, 2 para android):
  • fb1_pixel_sequence: secuencia de pixel de fb1 (0 generalmente para linux, 2 para android):
secuencia de fb0_pixel_sequence
0 ARGB
2 BGRA
  • fb0_scaler_mode_enable: 0 para desactivar; 1 para activar
  • fb1_scaler_mode_enable: 0 para desactivar; 1 para activar
  • lcd0_backlight: valor a 240 establece tasa de PWM en las PWM gpio
  • lcd1_backlight: valor a 240 establece tasa de PWM en las PWM gpio

Ejemplo de configuración para LCD:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[disp_init]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 1
screen0_output_mode = 4
screen1_output_type = 1
screen1_output_mode = 4
fb0_framebuffer_num = 2
fb0_format = 10
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 0
fb1_framebuffer_num = 2
fb1_format = 10
fb1_pixel_sequence = 0
fb1_scaler_mode_enable = 0

Ejemplo de configuración para VGA:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[disp_init]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 4
screen0_output_mode = 4
screen1_output_type = 2
screen1_output_mode = 14
fb0_framebuffer_num = 2
fb0_format = 10
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 1
fb1_framebuffer_num = 2
fb1_format = 10
fb1_pixel_sequence = 0
fb1_scaler_mode_enable = 1

Ejemplo de configuración para TV compuesto en un viejo televisor (modo PAL):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[disp_init]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 2
screen0_output_mode = 11
screen1_output_type = 2
screen1_output_mode = 11
fb0_framebuffer_num = 2
fb0_format = 10
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 1
fb1_framebuffer_num = 2
fb1_format = 10
fb1_pixel_sequence = 0
fb1_scaler_mode_enable = 1

configuración de LCD [0/1]

lcd0 se utiliza cuando se selecciona salida de lcd de pantalla screen0, lcd1 por pantalla screen1.

  • lcd_used: 0 para desactivar; 1 para activar
  • lcd_pwm_not_used: 0 para permitir PWM; 1 para desactivar
  • lcd_pwm_ch: canal PWM
  • lcd_pwm_freq: frecuencia PWM en Hz
  • lcd_pwm_pol: polaridad PWM; 0 es pulso BAJO para lcd [0 | 1] períodos de _backlight, 1 es pulso ALTO.
  • lcd_x: ancho activo del eje x
  • lcd_y: altura activa de eje y
  • lcd_dclk_freq: frecuencia de reloj del pixel en MHz
  • lcd_if: interfaz del lcd:
interfaz de lcd_interface
0 HV (sincronización + de)
1 8080
2 TTL
3 LVDS
4 DSI (en A20 significa el uso de la viruta del puente de SSD2828 , en A31 realmente podría significar DSI nativo)
5 Informática
6 externo dsi (el uso de la viruta del puente de SSD2828 en A31 y adelante)
  • lcd_hbp: porche trasero hsync
  • lcd_ht: ciclo total hsync
  • lcd_vbp: porche trasero vsync
  • lcd_vt: vsync ciclo total * 2
  • lcd_hv_if: 0 para el interfaz paralelo hv; 1: interfaz de serie hv
  • lcd_hv_smode: 0 para el modo de interfaz serie de RGB888; 1 para CCIR656
  • lcd_hv_s888_if: formato de RGB serie
  • lcd_hv_syuv_if: serial formato YUV
  • lcd_hv_vspw: vysnc más ancho
  • lcd_hv_hspw: hsync más ancho
  • lcd_hv_lde_used: 0 para desactivar; 1 para activar
  • lcd_hv_lde_iovalue: HV LDE iovalue
  • lcd_lvds_ch: 0 para el solo canal; 1 para canal dual
  • lcd_lvds_mode: 0 para el modo de NS; 1 para el modo JEIDE
  • lcd_lvds_bitwidth: 0 de 24 bits; 1 de 18 bit
  • lcd_io_cfg0: lcd IO configuración
  • lcd_lvds_io_cross: 0 normal; 1 para pn Cruz
  • lcd_cpu_if: cpu si modo:
modo de cpu_if
0 18 bit
1 mode0 de 16 bits
2 16 bits mode1
3 16 bits mode2
4 16 bits mode3
5 bit 9
6 8 bits, 256k
7 8 bits, 65k
  • lcd_gamma_correction_en: 0 para desactivar; 1 para activar
  • lcd_gamma_tbl_ [0-255]: Gamma tabla de 0 a 255
  • lcd_frm: 0 para desactivar tramado; 1 para activar habilitar tramado de rgb666; 2 habilitar tramado rgb656
  • lcd_io_cfg0: lcd io inv
  • lcd_bl_en_used: 0 para desactivar; 1 para activar
  • lcd_bl_en: configuración de LCD contraluz GPIO
  • lcd_power_used: 0 para desactivar; 1 para activar
  • lcd_power: LCD_VCC voltaje control GPIO de configuración
  • lcd_pwm_used: 0 para desactivar; 1 para activar
  • lcd_pwm: lcd PWM, configuración de GPIO (PWM0 fijada usando el PWM1 PB02 fijo PI03 sin modificación de usuario)
  • lcd_gpio_0: configuración de SCL GPIO de 2/3 hilos
  • lcd_gpio_1: 2/3 hilos configuración SDA GPIO
  • lcd_gpio_2: 2/3 hilos configuración SCEN GPIO
  • lcd_gpio_3: configuración de GPIO RESET del módulo LCD
  • lcdd0: datos bit 0 configuración de GPIO
  • lcdd1: datos bit 1 configuración de GPIO
  • lcdd2: datos del pedacito 2 configuración de GPIO
  • lcdd3: datos del pedacito 3 Configuración de GPIO
  • lcdd4: datos del pedacito 4 configuración de GPIO
  • lcdd5: datos del pedacito 5 configuración de GPIO
  • lcdd6: datos del pedacito 6 configuración de GPIO
  • lcdd7: datos del pedacito 7 configuración de GPIO
  • lcdd8: datos del pedacito 8 configuración de GPIO
  • lcdd9: datos del pedacito 9 configuración de GPIO
  • lcdd10: datos del pedacito 10 configuración de GPIO
  • lcdd11: datos bit 11 configuración de GPIO
  • lcdd12: datos del pedacito 12 configuración de GPIO
  • lcdd13: datos del pedacito 13 configuración de GPIO
  • lcdd14: datos del pedacito 14 configuración de GPIO
  • lcdd15: datos del pedacito 15 configuración de GPIO
  • lcdd16: datos del pedacito 16 configuración de GPIO
  • lcdd17: datos bit 17 configuración de GPIO
  • lcdd18: datos del pedacito 18 configuración de GPIO
  • lcdd19: datos bit 19 configuración de GPIO
  • lcdd20: datos del pedacito 20 configuración de GPIO
  • lcdd21: datos bit 21 configuración de GPIO
  • lcdd22: datos del pedacito 22 configuración de GPIO
  • lcdd23: datos bit 23 configuración de GPIO
  • lcdclk: configuración de LCD reloj GPIO
  • lcdde: configuración de LCD de GPIO
  • lcdhsync: configuración de H sync GPIO
  • lcdvsync: configuración de GPIO de sincronización de V

[lcd0_para]

Ejemplo de configuración lcd:

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
[lcd0_para]
lcd_used = 1
lcd_x = 800
lcd_y = 480
lcd_dclk_freq = 33
lcd_pwm_freq = 1000
lcd_pwm_pol = 0
lcd_swap = 0
lcd_if = 0
lcd_hbp = 215
lcd_ht = 1055
lcd_vbp = 34
lcd_vt = 1050
lcd_hv_if = 0
lcd_hv_smode = 0
lcd_hv_s888_if = 0
lcd_hv_syuv_if = 0
lcd_hv_vspw = 0
lcd_hv_hspw = 0
lcd_hv_lde_used = 0
lcd_hv_lde_iovalue = 0
lcd_lvds_ch = 0
lcd_lvds_mode = 0
lcd_lvds_bitwidth = 0
lcd_lvds_io_cross = 0
lcd_cpu_if = 0
lcd_cpu_da = 0
lcd_frm = 0
lcd_io_cfg0 = 0x10000000
lcd_io_cfg1 = 0
lcd_io_strength = 0
lcd_bl_en_used = 1
lcd_bl_en = port: PH07<1><0><default><1>
lcd_power_used = 1
lcd_power = port: PH08<1><0><default><1>
lcd_pwm_used = 1
lcd_pwm = port:PB02<2><default><default><default>
lcd_gpio_0 =
lcd_gpio_1 =
lcd_gpio_2 =
lcd_gpio_3 =
lcdd0 = port:PD00<2><default><default><default>
lcdd1 = port:PD01<2><default><default><default>
lcdd2 = port:PD02<2><default><default><default>
lcdd3 = port:PD03<2><default><default><default>
lcdd4 = port:PD04<2><default><default><default>
lcdd5 = port:PD05<2><default><default><default>
lcdd6 = port:PD06<2><default><default><default>
lcdd7 = port:PD07<2><default><default><default>
lcdd8 = port:PD08<2><default><default><default>
lcdd9 = port:PD09<2><default><default><default>
lcdd10 = port:PD10<2><default><default><default>
lcdd11 = port:PD11<2><default><default><default>
lcdd12 = port:PD12<2><default><default><default>
lcdd13 = port:PD13<2><default><default><default>
lcdd14 = port:PD14<2><default><default><default>
lcdd15 = port:PD15<2><default><default><default>
lcdd16 = port:PD16<2><default><default><default>
lcdd17 = port:PD17<2><default><default><default>
lcdd18 = port:PD18<2><default><default><default>
lcdd19 = port:PD19<2><default><default><default>
lcdd20 = port:PD20<2><default><default><default>
lcdd21 = port:PD21<2><default><default><default>
lcdd22 = port:PD22<2><default><default><default>
lcdd23 = port:PD23<2><default><default><default>
lcdclk = port:PD24<2><default><default><default>
lcdde = port:PD25<2><default><default><default>
lcdhsync = port:PD26<2><default><default><default>
lcdvsync = port:PD27<2><default><default><default>

Otros ejemplos de configuración para algunos paneles:

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
;lvds 640x480   module name: SG0570EDG
lcd_x                    = 640
lcd_y                    = 480
lcd_dclk_freq            = 25
lcd_if                   = 3
lcd_hbp                  = 114
lcd_ht                   = 800
lcd_vt                   = 1050
lcd_vbp                  = 34
lcd_pwm_freq             = 20000
lcd_lvds_bitwidth        = 1
lcd_pwm_used             = 1
lcd_pwm                  = port:PB02<2><0><default><default>
lcd_pwm_pol              = 0
;RGB 800x480    module name: H-B070D-15C
lcd_x                    = 800
lcd_y                    = 480
lcd_dclk_freq            = 33
lcd_if                   = 0
lcd_hbp                  = 46
lcd_ht                   = 1055
lcd_vbp                  = 23
lcd_vt                   = 1050
;RGB 800x600    module name: H-B080D-24F
lcd_x                    = 800
lcd_y                    = 600
lcd_dclk_freq            = 40
lcd_if                   = 0
lcd_hbp                  = 46
lcd_ht                   = 1056
lcd_vbp                  = 23
lcd_vt                   = 1270
;RGB 480x272    module name: KD43G18-40NB-A11
lcd_x                    = 480
lcd_y                    = 272
lcd_dclk_freq            = 9
lcd_if                   = 0
lcd_hbp                  = 2
lcd_ht                   = 525
lcd_vbp                  = 2
lcd_vt                   = 572
;lvds 1024x600   module name: CLAP101NC01CW�
lcd_x                    = 1024
lcd_y                    = 600
lcd_dclk_freq            = 52
lcd_if                   = 3
lcd_hbp                  = 33
lcd_ht                   = 1344
lcd_vbp                  = 23
lcd_vt                   = 1270
;lvds 1024x768   module name: KD080D3-40NA-A2
lcd_x                    = 1024
lcd_y                    = 768
lcd_dclk_freq            = 65
lcd_if                   = 3
lcd_hbp                  = 160
lcd_ht                   = 1344
lcd_vbp                  = 23
lcd_vt                   = 1612
;lvds 1024x768   module name: LG-LP097X02
lcd_x                    = 1024
lcd_y                    = 768
lcd_dclk_freq            = 100
lcd_if                   = 3
lcd_hbp                  = 480
lcd_ht                   = 2084
lcd_vbp                  = 6
lcd_vt                   = 1600
lcd_lvds_bitwidth        = 1
lcd_io_cfg0              = 0x04000000
lcd_frm                  = 1
lcd_io_cfg0              = 0x10000000
lcd_gamma_correction_en  = 0
lcd_gamma_tbl_0          = 0x00000000
lcd_gamma_tbl_1          = 0x00010101
;........
lcd_gamma_tbl_255        = 0x00ffffff

[lcd1_para]

Ejemplo de configuración:

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
[lcd1_para]
lcd_used                 = 0
lcd_x                    = 0
lcd_y                    = 0
lcd_dclk_freq            = 0
lcd_pwm_not_used         = 0
lcd_pwm_ch               = 0
lcd_pwm_freq             = 0
lcd_pwm_pol              = 0
lcd_if                   = 0
lcd_hbp                  = 0
lcd_ht                   = 0
lcd_vbp                  = 0
lcd_vt                   = 0
lcd_hv_if                = 0
lcd_hv_smode             = 0
lcd_hv_s888_if           = 0
lcd_hv_syuv_if           = 0
lcd_hv_vspw              = 0
lcd_hv_hspw              = 0
lcd_lvds_ch              = 0
lcd_lvds_mode            = 0
lcd_lvds_bitwidth        = 0
lcd_lvds_io_cross        = 0
lcd_cpu_if               = 0
lcd_frm                  = 0
lcd_io_cfg0              = 0
lcd_gamma_correction_en  = 0
lcd_gamma_tbl_0          = 0x00000000
lcd_gamma_tbl_1          = 0x00010101
;........
lcd_gamma_tbl_255        = 0x00ffffff
lcd_bl_en_used           = 0
lcd_bl_en                =
lcd_power_used           = 0
lcd_power                =
lcd_pwm_used             = 0
lcd_pwm                  = port:PI03<2><0><default><default>
lcd_gpio_0               =
lcd_gpio_1               =
lcd_gpio_2               =
lcd_gpio_3               =
lcdd0                    = port:PH00<2><0><default><default>
lcdd1                    = port:PH01<2><0><default><default>
lcdd2                    = port:PH02<2><0><default><default>
lcdd3                    = port:PH03<2><0><default><default>
lcdd4                    = port:PH04<2><0><default><default>
lcdd5                    = port:PH05<2><0><default><default>
lcdd6                    = port:PH06<2><0><default><default>
lcdd7                    = port:PH07<2><0><default><default>
lcdd8                    = port:PH08<2><0><default><default>
lcdd9                    = port:PH09<2><0><default><default>
lcdd10                   = port:PH10<2><0><default><default>
lcdd11                   = port:PH11<2><0><default><default>
lcdd12                   = port:PH12<2><0><default><default>
lcdd13                   = port:PH13<2><0><default><default>
lcdd14                   = port:PH14<2><0><default><default>
lcdd15                   = port:PH15<2><0><default><default>
lcdd16                   = port:PH16<2><0><default><default>
lcdd17                   = port:PH17<2><0><default><default>
lcdd18                   = port:PH18<2><0><default><default>
lcdd19                   = port:PH19<2><0><default><default>
lcdd20                   = port:PH20<2><0><default><default>
lcdd21                   = port:PH21<2><0><default><default>
lcdd22                   = port:PH22<2><0><default><default>
lcdd23                   = port:PH23<2><0><default><default>
lcdclk                   = port:PH24<2><0><default><default>
lcdde                    = port:PH25<2><0><default><default>
lcdhsync                 = port:PH26<2><0><default><default>
lcdvsync                 = port:PH27<2><0><default><default>

salida dac configuración de TV

Los módulos de convertidor de Analógico Digital (DAC) de TV-hacia fuera el framebuffer a una señal adecuada para TV

  • dac_used: 0 para desactivar; 1 para activar
  • dac0_src: fuente de salida para el DAC:
  • dac1_src: fuente de salida para el DAC:
  • dac2_src: fuente de salida para el DAC:
  • dac3_src: fuente de salida para el DAC:
DAC Fuente de salida de
0 Compuesto
1 Luma
2 Chroma
3
4 Y
5 PB
6 PR
7 Ninguno

Ejemplo de configuración:

1
2
3
4
5
6
[tv_out_dac_para]
dac_used = 1
dac0_src = 4
dac1_src = 5
dac2_src = 6
dac3_src = 0

Fuente aqui