Younix's Studio.

Android6.0 RK3399 电池系统(二)BQ IC 添加 DC 充电功能
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 适配器...
Android6.0 RK3399 电池系统(四)不插电池无法开机的问题
[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 的初始化配置...
Android6.0 RK3399 电池系统(三)电量计 CW2015 驱动流程分析
已知问题cw2015 的代码默认是 rk3288 平台的,3399 平台有一些接口已经升级。所以默认编译是无法通过的。所以当前的问题是进行代码的修改以适用于当前 3399 平台。磨刀不误砍柴工,我们先磨好刀,下一章再开始砍柴。 驱动分析我在驱动中添加了 cw_init_power_supply 和 cw_turn_on_bq_hw_init。在前者里面完成了 power_supply 设备的注册(利用升级后的 register_power_supply 接口)在后者中完成了电池状态的检测,并传给 bq25700_charger IC。 函数调用链123456789101112131415...
Android6.0 修改默认输入法为 Sogou
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 ...
Android6.0 App中调用init.rc中的服务,从而运行shell脚本
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...
Android6.0 RK3399 开机前几秒串口打印异常问题
问题现象开机 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)...
Android6.0 RK3399 插上 HDMI 时开机解锁锁屏后死机
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...
Android6.0 使用 repo 更新某个指定 git 仓库
[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=...
Android5.1 RK3288 SPI 设备驱动模型(Ad714x CapTouch 驱动分析)
之前有归纳过传统 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...
Android5.1 RK3288 LCD (Mipi) 调试方法及问题汇总
调试流程设置 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 中初始化...