- 博客(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
1531
原创 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
889
原创 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
796
原创 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
1120
原创 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
3329
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
313
原创 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
1155
原创 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
834
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
1052
原创 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
484
原创 RK3126 人体感应模块驱动
其实人体感应模块驱动比较简单,就是一个GPIO口的检测,这里主要是想提供一个接口,给上层去比较容易的控制,一般我们可以写成JNI封装,我嫌太麻烦了,直接使用共享文件的方式,往/data/data/com.frame.cloud/mode.txt"下面写一个值,代表人体感应打开,另外一个值代表人体感应的关闭,内核和应用分别去监听文件的变化即可,比较简单,以下是驱动参考:#include <dt-bindings/gpio/gpio.h>#include <linux/gpio.h>
2020-06-24 17:08:10
872
原创 全志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
349
原创 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
179
原创 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
468
原创 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
1102
原创 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
1409
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 = <&...
2020-06-19 11:19:33
1212
原创 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
1879
1
原创 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
417
原创 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
1649
原创 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
1736
原创 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
1368
原创 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
730
原创 动态加载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
1209
原创 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
836
原创 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
823
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
1854
原创 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
1138
原创 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
894
原创 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
535
原创 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 = <...
2020-06-03 09:17:08
2396
原创 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
1643
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人