Platform: RK3399OS: Android 6.0Kernel: 4.4Version: v2017.04IC: TI BQ25700、RK808
在上一章 [RK3399] Android 电池系统(一) BQ25700 IC 驱动分析 中我们分析了 BQ IC 的驱动加载流程。
我们也知道了平台默认的代码,定位是 PD 充电,不支持 DC 充电。这一章我们来添加 DC 充电的功能。
解决思路首先我们知道 DC 插入的时候, CHG_OK_H 会被拉高。所以我们思考是否可以在 CHG_OK 的中断处理函数中完成对 BQ IC DC 充电功能的配置。但是当 TypeC 适配器...
[TOC]
在前面我们
分析了 Charger IC BQ25700 的驱动流程
添加了 BQ IC 的 DC 充电功能
分析了 电量计 CW2015 的驱动流程
在这一章,我们完成电量计的移植,并且整合电量计与充电IC。使其协同为电池工作。
已知问题与需求分析现在的 BQ IC Driver 有一个大 Bug。在接上电池的时候,Battery、Battery+TypeC、Battery+DC 都是可以正常开机的。但是没有电池的时候,单独 TypeC 或者 DC 开机是有问题的。
RK 反馈他们那边也有这个问题,定位问题在于 bq25600_hw_init ,BQ IC 的初始化配置...
已知问题cw2015 的代码默认是 rk3288 平台的,3399 平台有一些接口已经升级。所以默认编译是无法通过的。所以当前的问题是进行代码的修改以适用于当前 3399 平台。磨刀不误砍柴工,我们先磨好刀,下一章再开始砍柴。
驱动分析我在驱动中添加了 cw_init_power_supply 和 cw_turn_on_bq_hw_init。在前者里面完成了 power_supply 设备的注册(利用升级后的 register_power_supply 接口)在后者中完成了电池状态的检测,并传给 bq25700_charger IC。
函数调用链123456789101112131415...
Hardware:MT6737DeviceOS:Android6.0Kernel: Linux3.18HostOS: Ubuntu16.04
[TOC]
预置 APP12345678910111213141516171819202122232425262728293031323334353637383940414243444546commit f99f8c8092e65cbadf138c9e6b55fb9f22160425Author: dearsq <zhang.yang@aiiage.com>Date: Fri May 11 12:33:01 2018 +0800 ...
OS: Android6.0Hardware: RK3399
需求希望在 Android App 中添加 SPDIF 测试功能。走 Android Audio Manager 太麻烦了。所以希望直接通过 shell 脚本,调用 tinyplay 命令来进行。
实现init.rcInit.rc 中添加 spdiftest 服务1234service spdiftest /system/bin/spdif-test class main disabled oneshot
device.mk工程 Device.mk 文件(rk3399_mid.mk)中添加123PRO...
问题现象开机 0-3 s 串口打印异常,log 大致如下:
123456 CPLWC�+lH�ؐL)�������ꁳ�ݵ��}�ɽ��������������r���͑�����j郵���rŽ��Ց����͕͕͑͑́ с���ɕ��́�Â��j���r�ʺ���¢��oꁵ������j�������������:�UŠ���r��:¥�jR� [ 1.973752] resource: 0x000c00000 -- 0x001c00000 (16 MB)[ 1.973761] kernel: 0x001c00000 -- 0x002c00000 (16 MB)...
Platform: RK3399OS: Android 6.0Kernel: Linux4.4Version: v2017.03
现象插上 HDMI 情况下开机,解锁锁屏,会死机。
Kernel 出现如下 log 信息:12345[ 18.415959] rk322x-lcdc vop0: intr post buf empty![ 18.416010] rk322x-lcdc vop0: intr post buf empty![ 18.432623] rk322x-lcdc vop0: intr post buf empty![ 18.432666] rk322x-l...
[TOC]
repo 同步整个项目1repo sync
repo 同步单个项目同步单个文件的方式就是1repo sync <project>
\ 即为 manifest 中的 name 或者 path。
我们打开 .repo/manifest.xml ,有类似如下代码123456789101112<?xml version="1.0" encoding="UTF-8"?><manifest> <remote fetch="." name="aosp" review=...
之前有归纳过传统 board-info 形式下的 spi 驱动模型:Linux 内核中 SPI 设备驱动模型(Platform设备驱动方式)。
但是这里代码的环境是 Android5.1。所以我们先来分析一下 DTS。
DTS根据硬件工程师给出的信息,这颗 GSensor 接到 Spi0 上,我们可以看一下 DTS 中的信息:12345678910#spi0spi0: spi@70a00000{ compatible = "sprd, sprd-spi"; interrupts = <0 7 0x0> reg = <0x70a00000 0x100...
调试流程设置 dts 中的参数 并 配置管脚仿造平台的其他 lcd-*-mipi.dtsi 编写 lcd-xxx-mipi.dtsi 后 需要在 主 dts 文件中包含这个 dtsi1#include “lcd-xxx-mipi.dtsi“
先看屏的手册里面的关键信息有 分辨率(540×960) 接口(2条lanes)12345678910111213141516171819## MIPI Host配置disp_mipi_init: mipi_dsi_init{ compatible = "rockchip,mipi_dsi_init"; /* 是否要在 dtsi 中初始化...