LVDS数据格式有两种:VESA标准和JEIDA标准,飞凌支持的10.1寸lvds屏,默认的数据格式是VESA,所以源码中默认也是VESA格式,如果替换的一些屏是JIEDA格式,则需要修改。
由于需要显示logo,所以显示是分成两部分,UBOOT阶段的显示和内核阶段的显示
UBOOT:
修改board/freescale/mx6sabresd/mx6sabresd.c文件。默认是VESA格式,需要添加JEIDA格式的相关配置:

static void enable_lvds(struct display_info_t const *dev)writel(reg, &iomux->gpr[2]);}
+static void enable_lvds_jeida(struct display_info_t const *dev)
+{+        struct iomuxc *iomux = (struct iomuxc *)
+                                IOMUXC_BASE_ADDR;
+        u32 reg = readl(&iomux->gpr[2]);
+        reg |= IOMUXC_GPR2_DATA_WIDTH_CH0_24BIT
+             |IOMUXC_GPR2_BIT_MAPPING_CH0_JEIDA;
+        writel(reg, &iomux->gpr[2]);
+}
+static void msleep(int count){int i;struct display_info_t const displays[] = {{.addr   = 0,.pixfmt = IPU_PIX_FMT_RGB24,.detect = NULL,
-       .enable = enable_lvds,
+       .enable = enable_lvds_jeida,.mode   = {.name           = "LDB-WXGA",.refresh        = 60,

再修改内核:
打开设备树文件arch/arm/boot/dts/imx6qdl-sabresd.dtsi

lvds-channel@0 {//fsl,data-mapping = "spwg";fsl,data-mapping = "jeida";fsl,data-width = <24>;status = "okay";display-timings {native-mode = <&timing0>;timing0: hsd100pxn1 {clock-frequency = <71000000>;hactive = <1280>;vactive = <800>;hback-porch = <40>;hfront-porch = <40>;vback-porch = <10>;vfront-porch = <3>;hsync-len = <80>;vsync-len = <10>;};};};

把spwg修改为geida即可输出geida格式。
实际上我们配置的是fsl,data-mapping这个变量,然后看一下驱动源码,是如何读取的:
源码路径为:driver/video/fbdev/mxc/ldb.c

mapping = of_get_data_mapping(child);switch (mapping) {case LVDS_BIT_MAP_SPWG:if (data_width == 24) {if (i == 0 || ldb->spl_mode || ldb->dual_mode)ldb->ctrl |= LDB_DATA_WIDTH_CH0_24;if (i == 1 || ldb->spl_mode || ldb->dual_mode)ldb->ctrl |= LDB_DATA_WIDTH_CH1_24;}break;case LVDS_BIT_MAP_JEIDA:if (data_width == 18) {dev_err(dev, "JEIDA only support 24bit\n");return -EINVAL;}

在probe函数中有这样一段,通过一个of_get_data_mapping函数来判断数据格式:

static const char *ldb_bit_mappings[] = {[LVDS_BIT_MAP_SPWG] = "spwg",[LVDS_BIT_MAP_JEIDA] = "jeida",
};static int of_get_data_mapping(struct device_node *np)
{const char *bm;int ret, i;ret = of_property_read_string(np, "fsl,data-mapping", &bm);if (ret < 0)return ret;for (i = 0; i < ARRAY_SIZE(ldb_bit_mappings); i++)if (!strcasecmp(bm, ldb_bit_mappings[i]))return i;return -EINVAL;
}

可以看到用of_property_read_string函数去读取了设备树中的字符串,这个是一个标准函数,关于这个函数后边会单独分析一下。

imx6q修改LVDS接口数据格式相关推荐

  1. LVDS接口分类与数据格式

    转发路径:https://blog.csdn.net/a617996505/article/details/82386952 1.LVDS接口分类与数据格式 单路6it LVDS 这种接口电路中,采用 ...

  2. LVDS接口液晶屏定义(lcd)

    转载于:https://blog.csdn.net/linphusen/article/details/6389032 LVDS接口液晶屏定义 LVDS接口又称RS-644总线接口 20PIN单6定义 ...

  3. Mstar的Monitor方案笔记(三)——点LVDS接口液晶屏

    点LVDS接口液晶屏 1.硬件准备 (1)准备屏.屏规格书.背光规格书和屏线 (2)准备主板 2.软件调试 (1)增加新屏驱动文件 (2)屏显示原理 (3)屏参分析 (4)点屏 1.硬件准备 (1)准 ...

  4. JESD204B与LVDS接口并行 管线式ADC延迟问题分析及解答

    JESD204B为业界标准序列通信链接,数据转换器与现场可编程门阵列(FPGA).数字信号处理器(DSP).特定应用集成电路(ASIC)等装置间的数字数据接口因此能化繁为简,这项标准减少装置间路由进而 ...

  5. 手机屏和大屏LCD显示面板接口(和处理器连接的接口类似12864等单片机处理器和屏接口的8086,SPI等并口串口屏以及RGB屏接口)LVDS接口常见于液晶电视中。eDP,LVDS,MIPI,HDMI

    mipi是手机液晶屏最常见的接口了 现在普遍的16:9或者16:10的宽屏,LCD接口大部分都是LVDS,也有RSDS接口,不过比较少.接口一般都是30PIN,不过由于尺寸不同,分辨率的不同,所用到的 ...

  6. Java之 XML与JSON(公众平台接口数据格式)

    Java之 XML与JSON(公众平台接口数据格式) 1. XML 2. XML语法 2.1XML文档声明 2.2 标记(元素/标签/节点) 2.3 一个XML文档中,必须有且且仅允许有一个根标记 2 ...

  7. (b)液晶屏是LVDS接口如何实现点屏?

    接上一篇 解释为什么Minihotal 加20: 设置PanelMinHTotal需要一个更小的Htotal面板加20.液晶屏幕有许多分辨率,试图满足面板的不同属性,PanelMinHTotal根据P ...

  8. lvds接口屏线安装图解_液晶屏LVDS线类型图文讲解

    说明: 1.本资料是部分显示屏所使用的LVDS 线汇总表,其中对LVDS 接口插座.特征.编码等作 了介绍.如果这些显示屏的LVDS 线损坏,可参考: 2.由于1920X1080高清屏对应的数字板LV ...

  9. LVDS接口和LVDS技术

    LVDS接口 目前6.5寸及以上尺寸的液晶屏大多都是LVDS接口的了,而LVDS接口的屏主要是应用于工控行业. 如下图就是LVDS接口的使用场景: 下图所示为五通道LVDS发送芯片(DS90C385) ...

最新文章

  1. Qt学习笔记,Qt国际化
  2. 将远程桌面客户端配置为连接到特定端口
  3. C#中排序的多种实现方式
  4. 用PyTorch实现的李沐《动手学深度学习》,登上GitHub热榜,获得700+星
  5. 正则表达式基本语法元字符
  6. 小程序mysql+php测试,分享微信小程序的一些常见辅助测试功能:chance
  7. shiro添加注解@RequiresPermissions无效
  8. 为什么objc_msgSend必须用汇编实现
  9. (转载)说说char
  10. 码表的理解(ASCII,GBK,Unicode,UTF-8等)。
  11. 安装ISA2004后,加入域时提示:远程过程调用失败且未运行的解决办法
  12. 创业公司如何切入巨头垄断的芯片市场?
  13. Android性能优化系列---管理你的app内存(一)
  14. oracle游标特点,oracle游标应用 sys_refcursor 和 cursor比较
  15. 图书信息管理系统设计
  16. 抖音自拍特效如何java实现_抖音特效在 Web 端的实现
  17. Unity TouchScript 123木头人算法
  18. 微信小程序 java nodejs校园自动点餐系统
  19. mac 不显示 外接屏幕_mac连接投影仪不显示怎么办-mac外接显示器设置教程 - 河东软件园...
  20. Fuchsia OS 编译教程 2019 年版

热门文章

  1. python语言是不是非开源语言_python是开元语言吗?
  2. java swing jtable分页_Swing之JTable的详细介绍
  3. 计算机网络实验(重庆交通大学)
  4. plantuml 依赖_PlantUML快速入门
  5. Linux 编译freetype
  6. 一类形容词(形容词)的用法
  7. 调试mikrotik路由器中的程序
  8. 拷贝信息到usim卡
  9. Windows版kali主题包
  10. 5-1布谷鸟算法(CS)原理