当前位置: 首页 > news >正文

全志A133 android10 LVDS幅值调节

一,问题现象

系统使用LVDS接口屏幕,进入系统有些界面会闪,图像抖动;


二,解决办法:

1.调试

调节LCD0的LVDS电压幅度,寄存器地址是0x06511220(具体是在User Manual中的LCD LVDS Analog Register 0),bit19:bit17控制差模电压大小,bit10:bit8控制共模电压大小。

kernel调试命令:

echo 0x06511220 >/sys/class/sunxi_dump/dump&&cat /sys/class/sunxi_dump/dump
echo 0x06511220 0xc1fe0320 > /sys/class/sunxi_dump/write

2.代码固化

参考如下,uboot和kernel都需要修改,然后读取寄存器检查是否设置成功。

diff --git a/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/de/lowlevel_v2x/de_lcd.c b/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/de/lowlevel_v2x/de_lcd.c
index a8335b8072..493e654c64 100644
--- a/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/de/lowlevel_v2x/de_lcd.c
+++ b/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/de/lowlevel_v2x/de_lcd.c
@@ -380,10 +380,10 @@ s32 lvds_open(u32 sel, struct disp_panel_para *panel)if (sel == 0)lvds_combphy_open(sel, panel);
#endif
-               lcd_dev[sel]->tcon0_lvds_ana[0].bits.c = 2;
+               lcd_dev[sel]->tcon0_lvds_ana[0].bits.c = 3;lcd_dev[sel]->tcon0_lvds_ana[0].bits.v = 3;lcd_dev[sel]->tcon0_lvds_ana[0].bits.pd = 2;
-               lcd_dev[sel]->tcon0_lvds_ana[1].bits.c = 2;
+               lcd_dev[sel]->tcon0_lvds_ana[1].bits.c = 3;lcd_dev[sel]->tcon0_lvds_ana[1].bits.v = 3;lcd_dev[sel]->tcon0_lvds_ana[1].bits.pd = 2;
@@ -414,10 +414,10 @@ s32 lvds_open(u32 sel, struct disp_panel_para *panel)if (sel == 0)lvds_combphy_open(sel, panel);
#endif
-               lcd_dev[sel]->tcon0_lvds_ana[0].bits.c = 2;
+               lcd_dev[sel]->tcon0_lvds_ana[0].bits.c = 3;lcd_dev[sel]->tcon0_lvds_ana[0].bits.v = 3;lcd_dev[sel]->tcon0_lvds_ana[0].bits.pd = 2;
-               lcd_dev[sel]->tcon0_lvds_ana[1].bits.c = 2;
+               lcd_dev[sel]->tcon0_lvds_ana[1].bits.c = 3;lcd_dev[sel]->tcon0_lvds_ana[1].bits.v = 3;lcd_dev[sel]->tcon0_lvds_ana[1].bits.pd = 2;@@ -445,6 +445,7 @@ s32 lvds_open(u32 sel, struct disp_panel_para *panel)
#if defined(SUPPORT_COMBO_DPHY)if (sel == 0) {lvds_combphy_open(sel, panel);
+                       lcd_dev[sel]->tcon0_lvds_ana[0].bits.c = 3;} else {lcd_dev[sel]->tcon0_lvds_ana[0].bits.c = 2;lcd_dev[sel]->tcon0_lvds_ana[0].bits.v = 3;
@@ -467,7 +468,7 @@ s32 lvds_open(u32 sel, struct disp_panel_para *panel)}
#else{
-                       lcd_dev[sel]->tcon0_lvds_ana[sel].bits.c = 2;
+                       lcd_dev[sel]->tcon0_lvds_ana[sel].bits.c = 3;lcd_dev[sel]->tcon0_lvds_ana[sel].bits.v = 3;lcd_dev[sel]->tcon0_lvds_ana[sel].bits.pd = 2;

3. 检查

读取寄存器检查值是否为所设值

echo 0x06511220 >/sys/class/sunxi_dump/dump&&cat /sys/class/sunxi_dump/dump

相关文章:

全志A133 android10 LVDS幅值调节

一,问题现象 系统使用LVDS接口屏幕,进入系统有些界面会闪,图像抖动; 二,解决办法: 1.调试 调节LCD0的LVDS电压幅度,寄存器地址是0x06511220(具体是在User Manual中的LCD LVDS Ana…...

弃用 RestTemplate,来了解一下官方推荐的 WebClient !

在 Spring Framework 5.0 及更高版本中,RestTemplate 已被弃用,取而代之的是较新的 WebClient。这意味着虽然 RestTemplate 仍然可用,但鼓励 Spring 开发人员迁移到新项目的 WebClient。 WebClient 优于 RestTemplate 的原因有几个&#xff…...

西圣、倍思、品胜电容笔孰强孰弱?多维度对比测评三款平替电容笔

在近年来,平替电容笔以其亲民的价格和优质的性能变现,成为市场上备受追捧的选择。然而,某些品牌为了吸引消费者,降低价格的同时常采用劣质材料,结果握笔体验差,书写效果糟糕,甚至在长时间使用后…...

VS2022配置调试Qt源代码

需要保证源代码和项目使用的版本匹配,符号需要注意是64位还是32位,并且用msvc。 1. 设置源代码路径 2. 设置调试PDB路径 这里最好把4个地方都加进去,防止某些不常用PDB被漏掉。 D:\Qt\5.15.2\msvc2019_64\bin D:\Qt\5.15.2\msvc2019_64\lib…...

Python 的 Pygame 库来开发一个游戏

import pygame import random# 初始化 Pygame pygame.init()# 设置屏幕大小 screen_width 800 screen_height 600 screen pygame.display.set_mode((screen_width, screen_height))# 设置标题 pygame.display.set_caption("飞机大战")# 加载图片 player_img pyga…...

diffusion model 学习笔记

条件引导的 diffusion 对于无条件的DDPM 而言 p ( x t ∣ x 0 ) ∼ N ( α t ˉ x 0 , 1 − α t ˉ ⋅ I ) p(x_t | x_0) \sim \mathcal{N}( \sqrt{\bar{\alpha_t}} x_0, 1-\bar{\alpha_t} \cdot \mathrm{I} ) p(xt​∣x0​)∼N(αt​ˉ​ ​x0​,1−αt​ˉ​⋅I) 可以得到…...

【C++题解】1967. 输出字符的ascii码

欢迎关注本专栏《C从零基础到信奥赛入门级(CSP-J)》 问题:1967. 输出字符的ascii码 类型:字符串、字符型 题目描述: 从键盘读入一个字符,请计算并输出该字符的 ascii 码。 比如:字符 ‘A’ …...

Java入门9——类和对象+this+构造方法

终于终于,我们开启了Java的大门!类和对象才是Java梦开始的地方,让我们一起来学习吧! 一、类和对象 通常来讲,一个Java文件里面写一个类,那么类是什么呢? 类,字面意思,就…...

Django目录结构最佳实践

Django项目目录结构 项目目录结构配置文件引用修改创建自定义子应用方法修改自定义注册目录从apps目录开始 项目目录结构 └── backend # 后端项目目录(项目名称)├── __init__.py├── logs # 项目日志目录├── manage.py #…...

npm run dev 报错PS ‘vite‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

报错场景: 使用npm run dev命令启动项目,报错 PS D:\vuecode\ying-mei> npm run dev > ying-mei0.0.0 dev > vite vite 不是内部或外部命令,也不是可运行的程序 或批处理文件。 原因: 缺失依赖,因为新建的项…...

后端:Spring、Spring Boot-实例化Bean依赖注入(DI)

文章目录 1. 实例化Bean2. 使用FactoryBean3. 依赖注入(DI)3.1 AutoWired 属性注入(查找顺序:先类型,后名字)3.2 AutoWired 在构造函数&参数上的使用3.3 Inject和Resource 进行依赖注入3.4 Value 进行注入 1. 实例化Bean 默认使用无参构造函数&…...

C++ 数据结构 静态顺序表、动态顺序表。

静态顺序表(Static Array List)是一种线性数据结构,通常用数组实现。它具有固定的大小,并在编译时分配内存。以下是静态顺序表的一些基本概念和实现示例。 静态顺序表基本概念 固定大小:静态顺序表的大小在创建时定义…...

QML旋转选择器组件Tumbler

1. 介绍 Tumbler是一个用于创建旋转选择器的组件。它提供了一种直观的方式来让用户从一组选项中进行选择,类似于转盘式数字密码锁。网上找的类似网图如下: 在QML里,这种组件一共有两个版本,分别在QtQuick.Extras 1.4(旧)和QtQuic…...

在工作中常用到的 Linux 命令总结

引言 我之前找工作面试的时候。几乎每次面试几乎都会问到 Linux 常用命令,会问一些命令的应用场景。目的是考察我们是否在实际开发中经常用、用得熟练。今天我就来系统地总结一下开发过程中最常用的 Linux 命令,算是一个复习总结。 基本操作 文件管理…...

反射、枚举和lambda表达式

文章目录 一、反射1.1 什么是反射1.2 反射相关的类1.3 示例获取Class对象通过反射去创建对象调用带两个参数且私有的构造方法获取私有属性反射私有方法 二、枚举2.1 什么是枚举以及其优缺点2.2 如何使用枚举组织常量的基本方法枚举类的其他方法示例枚举能否通过反射拿到实例对象…...

Stable Diffusion Web UI 1.9.4常用插件扩展-WD14-tagger

Stable Diffusion Web UI 1.9.4 运行在 WSL 中的 Docker 容器中 tagger 插件的作用是,上传一张图片,反推这张图片可能的提示词。 使用场景就是,想要得到类似的图片内容时使用。 WD14-tagger 安装 Stable Diffusion WebUI WD14-tagger GitH…...

java 第19天 Lambda、jdk8.0新方法、Optional

一.Lambda表达式 前提是:参数是函数式接口才可以书写Lambda表达式 函数式接口条件: 1.接口 2.只有一个抽象方法 lambda表达式又称为匿名函数,允许匿名函数以参数的形式传入方法,简化代码 lambda表达式分为两部分()->{} …...

江协科技STM32学习- P31 I2C通信协议

🚀write in front🚀 🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​…...

6、liunx目录的功能

一、目录简介 Linux主要树结构目录包括:/、/root、/home、/usr、/bin、/tmp、/sbin、/proc、/boot 【Linux系统中常见目录功能如下】 / 根目录;/bin 存放必要的命令;(普通用户) /boot 存放内核以及启动所需的文件&…...

挑战Java面试题复习第5天,无人扶我青云志

挑战第 5 天 java反射List Set Map 区别Object 常用方法 java反射 定义: 运行时动态获取类信息和调用方法的特性。 应用场景: JDBC数据库连接。框架如Hibernate和Struts等。 实现方式: 通过四种方法获取Class对象: Class.fo…...

vscode里如何用git

打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

零基础设计模式——行为型模式 - 责任链模式

第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...

django blank 与 null的区别

1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...