Hi
I'm using beaglebone A5 with linux my Linux version is 3.2.0, which one is downloaded from TI-Linux-SDK.
When the board getting boot my DVI-Cape is not working so i cant work in my HDMI screen, Because there is no support for DVI-Cape in
/arch/arm/mach-omap2/board-am335xevm.c
so i configured manually with my code, i have mentioned the code below.
#include "common.h"
#include <linux/lis3lv02d.h>
static const struct display_panel dvi_panel = {
WVGA,
16,
16,
COLOR_ACTIVE,
};
static struct lcd_ctrl_config dvi_cfg = {
&dvi_panel,
.ac_bias = 255,
.ac_bias_intrpt = 0,
.dma_burst_sz = 16,
.bpp = 16,
.fdd = 0x80,
.tft_alt_mode = 0,
.stn_565_mode = 0,
.mono_8bit_mode = 0,
.invert_line_clock = 1,
.invert_frm_clock = 1,
.sync_edge = 0,
.sync_ctrl = 1,
.raster_order = 0,
};
struct da8xx_lcdc_platform_data dvi_pdata = {
.manu_name = "BBToys",
.controller_data = &dvi_cfg,
.type = "1024x768@60",
};
/* Module pin mux for DVI board */
static struct pinmux_config dvi_pin_mux[] = {
{"lcd_data0.lcd_data0", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
| AM33XX_PULL_DISA },
{"lcd_data1.lcd_data1", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
| AM33XX_PULL_DISA},
{"lcd_data2.lcd_data2", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
| AM33XX_PULL_DISA},
{"lcd_data3.lcd_data3", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
| AM33XX_PULL_DISA},
{"lcd_data4.lcd_data4", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
| AM33XX_PULL_DISA},
{"lcd_data5.lcd_data5", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
| AM33XX_PULL_DISA},
{"lcd_data6.lcd_data6", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
| AM33XX_PULL_DISA},
{"lcd_data7.lcd_data7", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
| AM33XX_PULL_DISA},
{"lcd_data8.lcd_data8", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
| AM33XX_PULL_DISA},
{"lcd_data9.lcd_data9", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
| AM33XX_PULL_DISA},
{"lcd_data10.lcd_data10", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
| AM33XX_PULL_DISA},
{"lcd_data11.lcd_data11", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
| AM33XX_PULL_DISA},
{"lcd_data12.lcd_data12", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
| AM33XX_PULL_DISA},
{"lcd_data13.lcd_data13", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
| AM33XX_PULL_DISA},
{"lcd_data14.lcd_data14", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
| AM33XX_PULL_DISA},
{"lcd_data15.lcd_data15", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
| AM33XX_PULL_DISA},
{"lcd_vsync.lcd_vsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
{"lcd_hsync.lcd_hsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
{"lcd_pclk.lcd_pclk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
{"lcd_ac_bias_en.lcd_ac_bias_en", OMAP_MUX_MODE0
| AM33XX_PIN_OUTPUT}, /*DVIEN*/
{"gpmc_a2.rgmii2_td3", OMAP_MUX_MODE7
| AM33XX_PIN_OUTPUT}, /* USR0 LED*/
{"gpmc_a3.rgmii2_td2", OMAP_MUX_MODE7
| AM33XX_PIN_OUTPUT}, /* USR1 LED*/
{"gpmc_ad7.gpmc_ad7", OMAP_MUX_MODE7
| AM33XX_PIN_OUTPUT}, /* DVI PDn */
{NULL, 0},
};
#define BEAGLEBONEDVI_PDn GPIO_TO_PIN(1, 7)
static void dvi_init(int evm_id, int profile)
{
pr_info("IN : %s \n", __FUNCTION__);
setup_pin_mux(dvi_pin_mux);
gpio_request(BEAGLEBONEDVI_PDn, "DVI_PDn");
gpio_direction_output(BEAGLEBONEDVI_PDn, 1);
/* we are being stupid and setting pixclock
from here instead of da8xx-fb.c */
if (conf_disp_pll(560000000)) {
pr_info("Failed to set pixclock to 56000000, not attempting to"
"register DVI adapter\n");
return;
}
if (am33xx_register_lcdc(&dvi_pdata))
pr_info("Failed to register BeagleBoardToys DVI adapter\n");
pr_info("Setup DVI display\n");
return;
}
static void setup_beaglebone(void)
{
dvi_init( DEV_ON_DGHTR_BRD, PROFILE_NONE);
}
But this code not working, can any one let me know the mistake in code ? or do i have to change the kernel configuration in $make menuconfig ?
can anyone help me to configure my DVI-Cape.
I know that there is browser Userinterface available, but i need to configure my DVI-cape because this procedure may help me to get knowlege for configure other pheripherals .
Thanks
M Sangilikumar