自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

botelv的专栏

工作记录

  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 RK3326 RK817 codec左右声道反

有时候,我们硬件上的解法导致左右声道的逻辑与驱动的设置不一致,导致左右声道反,可以通过修改驱动达到一致性,查看CODEC_DI2S_RXCR1寄存器是修改左右声道的寄存器,按以下修改即可:--- a/sound/soc/codecs/rk817_codec.c+++ b/sound/soc/codecs/rk817_codec.c@@ -272,7 +272,7 @@ static struct rk817_reg_val_typ playback_power_up_list[] = {

2020-10-06 17:02:00 1227

原创 RTL5640 path配置

调试5640声卡的时候,把对应route复制到hardware/rockchip/audio/tinyalsa_hal/codec_config/rt5640_config.h中rt5640_speaker_normal_controls中:I2S1---DAC--LOUT = { { .ctl_name = "DAI select", .str_val = "1:1|2:2", }, { .ctl_name = "DAC ...

2020-10-06 16:54:45 717

原创 rk3368 5.1 usb mic第三方视频通话没有声音

--- a/services/audiopolicy/AudioPolicyManager.cpp+++ b/services/audiopolicy/AudioPolicyManager.cpp@@ -5354,6 +5354,8 @@ audio_devices_t AudioPolicyManager::getDeviceForInputSource(audio_source_t input default: // FORCE_NONE if (...

2020-10-06 16:50:10 713

原创 RK3326 RK817按power按键无作用

调试的时候遇到,按power按键无作用,但是硬件量的时候又没问题,而且信号能到底中断脚,检查发现是pmu的中断脚没有配置正确,导致按power按键的时候,中断无法被处理。--- a/kernel/arch/arm64/boot/dts/rockchip/rk3326.dts+++ b/kernel/arch/arm64/boot/dts/rockchip/rk3326.dts@@ -390,8 +390,8 @@ clock-frequency = <200000>; r...

2020-10-06 16:42:52 941

原创 RK3326 rk817 codec mic 增益修改

RK817对于mic的增益修改,没有提取到dts里面,通过查看规格书,发现CODEC_DMIC_PGA_GAIN寄存器,可以修改mic的增益,最近有项目在调试过程,发现录音杂音很大,原因是增益太大造成的,把增益降低就可以解决了。--- a/kernel/sound/soc/codecs/rk817_codec.c+++ b/kernel/sound/soc/codecs/rk817_codec.c@@ -113,7 +113,7 @@ static const struct reg_default

2020-10-06 16:36:57 2716 3

原创 RK3326 android 8.1默认打开截图权限

--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java@@ -81,9 +81,12 @@ public class Medi

2020-10-06 16:09:05 261

原创 RK3326 展频操作

过静电的时候,有时候不想加屏蔽罩,需要软件上做些展频操作,以RK3399 GPLL为例,软件给出的命令如下:io-40xff76008c0x00080000//CRU偏移地址0x008c bit3置0io-40xff7600900x00070000//CRU偏移地址0x0090bit3:0置0io-40xff7600940x00010001//CRU偏移地址0x0090bit0置1io-40xff7600900x1f000500//CRU偏移地址0x0...

2020-10-06 16:06:24 981

原创 Rockchip 发送mipi 0x32命令

RK提供的常规的mipi指令,比如0x15 0x39 等等,但是SDK本身不支持0x32命令,需要加入以下补丁:rk3126补丁如下:kenel使用:diff --git a/drivers/video/rockchip/screen/lcd_mipi.c b/drivers/video/rockchip/screen/lcd_mipi.cindex 8eeef57..eba303d6 100755--- a/drivers/video/rockchip/screen/lcd_mipi.c.

2020-10-06 15:58:03 725 1

原创 Android O 第三方app申请权限不弹框

对于很多第三方app需要申请权限,但是客户又不想给终端客户察觉有申请权限的弹框,可以在packages/apps/PackageInstaller/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java的onCreate函数,获取evicePolicyManager.getPermissionPolicy(null);直接改为DevicePolicyManager.PERMISSION_POLICY_...

2020-09-02 17:37:19 864

原创 Android 6.0 监听系统Home按键广播

开始写监听事件的时候,用的是重新这个方法: public boolean dispatchKeyEvent(KeyEvent event) { if (event.getKeyCode() == KeyEvent.KEYCODE_HOME) { return false; } return super.dispatchKeyEvent(event); }但是测试发现,只能监听除了HOME按键以外的...

2020-07-13 09:25:07 414

原创 RK3126 人体感应模块驱动

其实人体感应模块驱动比较简单,就是一个GPIO口的检测,这里主要是想提供一个接口,给上层去比较容易的控制,一般我们可以写成JNI封装,我嫌太麻烦了,直接使用共享文件的方式,往/data/data/com.frame.cloud/mode.txt"下面写一个值,代表人体感应打开,另外一个值代表人体感应的关闭,内核和应用分别去监听文件的变化即可,比较简单,以下是驱动参考:#include <dt-bindings/gpio/gpio.h>#include <linux/gpio.h&gt

2020-06-24 17:08:10 772

原创 全志A64 7.1 uvc预览红蓝相反

对于uvc红蓝相反问题,其实可以修改Uvc的驱动,对uvc驱动,并未深入研究,没有去修改驱动,直接修改了的hal层的代码:diff --git a/hardware/camera/V4L2CameraDevice2.cpp b/hardware/camera/V4L2CameraDevice2.cppindex 1567110..15b04da 100755--- a/hardware/camera/V4L2CameraDevice2.cpp+++ b/hardware/camera/V4L2

2020-06-19 14:21:25 291

原创 A64 7.0 曝光负方向无作用补丁

调试的A64 7.0曝光的时候,发现从-1到-3都没作用,原因是s_ctrl流程有问题,以下补充了曝光流程diff --git a/drivers/media/platform/sunxi-vfe/vfe.c b/drivers/media/platform/sunxi-vfe/vfe.cindex a7a8480..fbadbe8 100755--- a/drivers/media/platform/sunxi-vfe/vfe.c+++ b/drivers/media/platform/sunx

2020-06-19 14:17:26 131

原创 a64 uboot 操作device tree说明

a,使用fdt print /打印整个device tree,这样就可以找到树的父子关系b,使用fdt set <path> <prop> [<val>] 设置节点。例如:设置pmu的充电电流:sunxi#fdt print /soc/pmu0@0 pmu_runtime_chgcur//打印pmu_runtime_chgcur这个属性值pmu_runtime_chgcur = <0x00000320> fdt set /s...

2020-06-19 11:52:29 398

原创 A64配置UART1或者UART2为串口打印\控制台输出说明

例:将log信息从uart1口输出。1.修改boot阶段的uart输出口。在tools目录下对应平台的sys_config.fex中,将修改uart_para 项,修改uboot阶段的打印输出。boot默认使用uart0作打印输出,配置如下:[uart_para]uart_debug_port = 0uart_debug_tx = port:PB8<4><1><default><default>uart_debug_rx...

2020-06-19 11:50:40 934

原创 RK 3288 开机LOGO会闪几下

RK有些屏开机的过程,会闪几次,是由于变频导致的,配置如下,可以解决,但是只能解决部分屏,有些屏无法解决:--- a/arch/arm/boot/dts/rk3288-android.dtsi+++ b/arch/arm/boot/dts/rk3288-android.dtsi@@ -99,7 +99,7 @@ upthreshold = <55>; downdifferential = <10>; ...

2020-06-19 11:22:14 1172 1

原创 RK3288 7..1 it8911b MIPI转EDP使用GPIO模拟IIC配置

在调试it8911b MIPI转EDP的时候,涉及IIC操作,使用芯片自带的IIC控制器,速率最低只能跑100K,但是到了产线1000pcs,居然有200pcs显示不良,最后排查发现是MIPI转edp这颗芯片IIC通讯有问题,使用GPIO模拟IIC通讯,速率降低到20K,通讯正常,这个值取决于调试的取值,可以根据实际调试取值 i2c-gpio{ compatible = "i2c-gpio"; gpios = <&amp...

2020-06-19 11:19:33 1095

原创 RK3288 7.1 lt8911b MIPI转EDP

/* hshcal001_i2c.c** Humidity device driver for I2C (HSHCAL001)** Copyright (C) 2012 ALPS ELECTRIC CO., LTD. All Rights Reserved.** This software is licensed under the terms of the GNU General Public* License version 2, as published by the Fr...

2020-06-19 09:53:25 1623

原创 3326 8.1 增加遥控功能

3326 使用pwm口做遥控,驱动已经有了,所以在dts配置遥控就可以了&pwm0 { compatible = "rockchip,remotectl-pwm"; interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&pwm0_pin>; remote_support_psci = <1>;...

2020-06-13 11:19:01 294

原创 RK3368 es8316和hdmiin共用IIS

1.es8316与hdmiin共用iis的时候,播放声音会杂音,因此当8316使用的时候,需要disable hdmiin功能,可以通过pwdn脚禁止hdmiin芯片2.当hdmiin使用的时候,需要关闭iis,这个时候就需要禁止主控的mclk和iis功能以下是3368 8.1的补丁,仅供参考: close i2s & mclk when hdmiin open Change-Id: I6321157b65cd9d524877f0db78e621ca7c2bd3...

2020-06-10 10:56:13 1532

原创 es8316 耳机插入时,同时打开2个mic

当耳机插入的时候,把mic2的寄存器通路打开即可diff --git a/sound/soc/codecs/es8316.c b/sound/soc/codecs/es8316.cindex ccf4ea1..22631d3 100644--- a/sound/soc/codecs/es8316.c+++ b/sound/soc/codecs/es8316.c@@ -670,7 +670,9 @@ static int es8316_pcm_startup(struct snd_pcm_subs

2020-06-10 10:37:19 1507

原创 RK3368 QN8027 FM发射驱动

之前在做车机相关项目,有FM发射需求,8027这颗芯片,之前大部分都是在单片机使用,很少在linux系统使用,我把他移植成了linux驱动,以下为参考:#include <linux/hrtimer.h>#include <linux/i2c.h>#include <linux/interrupt.h>#include <linux/io.h>#include <linux/async.h>#include <linux/ir

2020-06-09 10:09:25 1134

原创 RK3288 7.1韦根 26位发送

以下代码为韦根26位发送代码,实际项目已经验证过,发送部分没有经过验证,思路可参考,实际调试过程如果有问题,建议使用示波器抓波形,按26位韦根协议对比波形调试,按部就班即可完成。#include <dt-bindings/gpio/gpio.h>#include <linux/gpio.h>#include <linux/of_gpio.h>#include <linux/module.h>#include <linux/kernel.h&g

2020-06-09 09:51:23 644

原创 动态加载uvc驱动,video节点固定

之前有客户需求,提供接口给应用层动态注册/注销uvc驱动,一般的操作可以把uvc编译成ko文件,应用层可以获取系统权限,使用su命令进行insmod uvc.ko加载驱动,rm uvc.ko卸载驱动。由于客户不想使用该方案,因此大概看了一下代码,自己做了接口提供给客户,以下为代码参考:+extern void app_unregister_uvc(void);+extern int app_register_uvc(void);extern int now_lcd_is_on; stru...

2020-06-09 09:40:34 1094

原创 SystemUi隐藏状态栏和导航栏操作API说明

以下是导航栏和状态栏隐藏显示操作API的一些解释说明public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.btn1: //显示状态栏和导航栏,Activity不全屏显示(恢复到有状态的正常情况) mRLayout.setSystemUiVisibi...

2020-06-09 09:32:26 751

原创 RK3126 6.0 开机永不休眠设置

最近客户要求实现,开机就让机器永不待机,我在网上找了一些方法,以下方法在我6.0的系统无效:1.修改frameworks\base\packages\SettingsProvider\res\values\defaults.xml<integer name="def_screen_off_timeout">2147483647</integer>或者<integer name="def_screen_off_timeout">-1</integer&..

2020-06-08 10:29:36 719 1

原创 RK 3128 脚本生成固件

RK在linux打包固件的时候,需要先mkimage.sh在rockdev目录生成system.img,vendor.img,kernel.img等,这个时候,如果需要在linux环境下生成固件,需要把rockdev下的所有img文件,拷贝到RKTools\linux\Linux_Pack_Firmware\rockdev\Image,然后执行RKTools\linux\Linux_Pack_Firmware\rockdev\mkupdate.sh,才会生成一个update.img固件包,每次手动拷贝,太麻

2020-06-04 09:25:38 1612

原创 RK3288 7.1 内存作假,cpu频率扩大

有时候我们客户需要我们在内存和cpu做手脚,但是又不能只是在Settings里面修改,因为那样会被安兔兔检查出来,我们可以在内核里面修改,安兔兔最终测试的途径也是测试内核生成的一些特定节点,以下是补丁,基于rk3288 7.1的版本,其他的版本可以参考修改,原理都是相同的。diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.cindex 875f22f..d54426c 100644--- a/drivers.

2020-06-04 09:13:23 1001

原创 RK3288 开机充电动画

RK开机动画主要是在uboot中进行动画播放,因此要同时配置dts以及uboot的config,以下以3288 7.1为参考,其他系统版本大同小异a/include/configs/rk32plat.h+++ b/include/configs/rk32plat.h@@ -381,7 +381,7 @@#define CONFIG_RK3399_EDP#endif-#undef CONFIG_UBOOT_CHARGE+#define CONFIG_UBOOT_CHARGE...

2020-06-03 20:02:22 797

原创 RK3368 8.1 HDMI声音调节只有最大和最小两个等级

HDMI输出声音调节只有最大和最小两个等级,补丁如下:diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.javaindex ae6316a..076d307 100755--- a/services/core/java/com/android/server/audio/AudioSer

2020-06-03 19:57:44 453

原创 RK3288 7.1双屏显示配置

3288最强功能之一就是双屏异显,7.1以上不需要打补丁,RK已经把补丁打好,只需要配置dts以及build.prop变量即可。1.配置dts支持mipi+edp双屏显示:首先是mipi的dts配置&dsi0 { status = "okay"; //rockchip,lane-rate = <400>; panel: panel { compatible = "simple-panel-dsi"; reg = &lt...

2020-06-03 09:17:08 2188

原创 RK3326 8.1 otg和host切换

有时候如果我们用四线的usb接口,是没有ID脚的,这个时候,如果想动态的切换otg和host,就需要通过命令去切换,RK已经做好了节点/sys/devices/platform/ff2c0000.syscon/ff2c0000.syscon:usb2-phy@100/otg_mode,我们可以通过echo host >/sys/devices/platform/ff2c0000.syscon/ff2c0000.syscon:usb2-phy@100/otg_mode,切换成host模式e.

2020-06-02 20:26:57 1375 2

转载 RK3288 播放器关闭后,spk被关闭问题

参考链接

2020-06-02 09:19:21 210

fake_typec.tar.gz

附件是设置里面动态切换otg和host的代码,可以自行的按照自己的逻辑添加到自己的app,或者移植到自己的Settings里面

2020-06-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除