avatar
文章
130
标签
544
分类
37

首页
时间轴
标签
目录
友情链接
推荐工具
站长工具
Zhangzqs
搜索
首页
时间轴
标签
目录
友情链接
推荐工具
站长工具
8. VIVO-Y927 Linux 内核设备树完善(电池和充电)
发表于2026-06-15|VIVO-Y927移植主线Linux发行版
第8阶段:完善电池和充电 目标 可以检测到BMS驱动,检测到电池状态。 硬件分析 Y927 充电硬件用 PM8916 内置 LBC(线性充电器),不存在外部 SMB358/SMB1360 芯片——原厂 DTB 里有 smb_int_pin: smb1360_int_gpio = <gpio62> 这种引脚标签,但没有实际的 smb 设备节点,是参考设计残留。原厂另有一条 vivo,charger-monitor compatible 是 vivo 私有充电策略,主线不复刻。 DTS 改动分析 电池侧用主线 simple-battery + &pm8916_bms + &pm8916_charger 的标准三件套。 123456789101112131415161718192021222324252627282930313233343536/ { /* * Y927 原厂电池:4.35V / 2260 mAh * 数据来源:原厂 DTB `qcom,b76-atl-4v35-2260mah-data` 节点。 * ...
8. VIVO-Y927 Linux 内核设备树完善(WiFi-蓝牙)
发表于2026-06-14|VIVO-Y927移植主线Linux发行版
第7阶段:完善WiFi-蓝牙 目标 让 WCN3620 这颗 WiFi/蓝牙 SoC 跑起来——dmesg 里看到 wlan0 和 hci0 注册成功。 硬件分析 Y927 用的 WiFi/蓝牙是 Qualcomm WCN3620——MSM8916 板上的协处理器,跟主 SoC 共享 SMD 总线,整条链路涉及 6 个角色: 角色 内核模块 DTS 节点 作用 协处理器加载 qcom_wcnss_pil (CONFIG_QCOM_WCNSS_PIL) &wcnss 用 PIL 把 wcnss.mdt 加载到协处理器 协处理器内存 — &wcnss_mem 给 WCNSS 预留 6 MiB 共享内存 RF 子模块 — &wcnss_iris 声明 RF 子模块型号(qcom,wcn3620) WiFi MAC wcn36xx (CONFIG_WCN36XX) 通过 SMD 自动关联 注册 wlan0 蓝牙 HCI btqcomsmd (CONFIG_BT_QCOMSMD) 通过 SMD 自动关联 注册 hci0 WCNSS ...
7. VIVO-Y927 Linux 内核设备树完善(GPU)
发表于2026-06-14|VIVO-Y927移植主线Linux发行版
第6阶段:完善GPU 目标 Y927 用的 GPU 是 Adreno 306(来自 MSM8916 SoC,Qualcomm A3xx 系列),主线 freedreno 驱动支持得很好。整体比 WiFi 简单一档——没有协处理器、没有 RF 校准。 之前dmesg里可以看到有 1[0.505468] msm_mdp 1a01000.display-controller: no GPU device was found 本章将启用GPU驱动,让Y927能够识别到GPU设备,使该错误消失。 DTS 改动分析 123&gpu { status = "okay";}; 内核配置 1234cd ~/y927/linux./scripts/config --enable DRM_MSM./scripts/config --enable CONFIG_DRM_MSM_GPU_STATEmake ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- olddefconfig 编译 Linux 内核 12c ...
6. VIVO-Y927 Linux 内核设备树完善(触摸屏)
发表于2026-06-14|VIVO-Y927移植主线Linux发行版
第5阶段:完善触摸屏 目标 支持 Goodix GT9271 多点电容触摸屏。 DTS 改动分析 Y927 触摸屏挂在 blsp_i2c5,I2C 地址 0x14,中断走 tlmm GPIO13、复位走 tlmm GPIO12,AVDD28(约 2.85V 模拟供电)由 PM8916 LDO16 提供,VDDIO(1.8V 数字 IO 供电)由 PM8916 LDO6 提供。 主线 Goodix 驱动 drivers/input/touchscreen/goodix.c 已经支持 goodix,gt9271 这条 compatible,所以不需要写驱动,只要把 DTS 写对。 1234567891011121314151617181920212223242526272829303132333435363738394041424344/* AVDD28 走 PM8916 LDO16,dtsi 默认未声明这条 LDO,板级要补上 */&pm8916_rpm_regulators { pm8916_l16: l16 { regulator ...
5. VIVO-Y927 Linux 内核设备树完善(GPIO按键)
发表于2026-06-14|VIVO-Y927移植主线Linux发行版
第4阶段:完善 GPIO 按键 目标 支持音量键/电源键 DTS 改动分析 123456789101112131415161718192021222324252627282930313233#include <dt-bindings/input/input.h>/ { gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default"; pinctrl-0 = <&gpio_keys_default>; label = "GPIO Buttons"; button-volume-up { label = "Volume Up"; gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; linux,code ...
4. VIVO-Y927 Linux 内核设备树完善(eMMC-SD卡-屏幕驱动)
发表于2026-06-08|VIVO-Y927移植主线Linux发行版
第2阶段:启用eMMC/SD卡设备 目标 上一章节只有 initramfs 的临时文件系统(RAM),断电就没了。手机有 16GB 的 eMMC 芯片焊在主板上,我们需要内核识别它,为后续挂载持久化 rootfs 做准备。 DTS 改动分析 需要写多少 DTS? 答案:两行。 12&sdhc_1 { status = "okay"; }; // eMMC — 焊死在主板上的内部存储&sdhc_2 { status = "okay"; }; // SD 卡 — 外部卡槽(Y927 有 TF 卡槽) 不需要写 GPIO、不需要写 pinctrl、不需要写寄存器地址。原因和阶段0的骨架 DTS 一样——这一切早在 msm8916.dtsi 和 msm8916-pm8916.dtsi 里定义好了。 msm8916.dtsi(SoC 级)第 2170-2190 行为 sdhc_1 写了: 属性 值 含义 reg 0x07824900 / 0x07824000 eMMC 控制 ...
3. VIVO-Y927 Linux 内核 + BusyBox 最小系统引导启动实验
发表于2026-06-07|VIVO-Y927移植主线Linux发行版
背景 上一章节完成了 lk1st 的移植,为Linux主线内核的引导和ARM64 Linux 的启动提供了基础。此时 fastboot 正常工作,但是 fastboot boot 无法启动下一步。 本章即将进入到Linux主线内核的真正启动阶段, 获取Linux内核源码 获取内核源码 123cd ~/y927git clone https://github.com/msm8916-mainline/linux.git -b wip/msm8916/7.0 --depth 1cd linux 第0阶段:零外设验证内核引导启动 目标 最极简的验证:不需要串口、不需要 USB、不需要看屏幕任何输出。只需要一个秒表。 原理: 1内核启动 → 挂载 initramfs → 执行 /init → sleep 15 秒 → exit 触发 panic → kernel 重启 观察设备行为: 刷入 boot.img 后重启 屏幕亮起(lk1st splash) → 停 ~15 秒 → 重启 → 再次亮起(lk1st) 如果这个循环发生了,内核就启动了。 不需要任何调试外设,不需要 DTB ...
2. VIVO-Y927 lk1st 的移植
发表于2026-06-06|VIVO-Y927移植主线Linux发行版
背景 Y927 原厂 Android 4.4 的 tz/hyp 是 32 位,无法启动 ARM64 内核。lk2nd 也受限于此。必须同时替换 tz、hyp、aboot 三个分区。 最终启动链 1PBL → SBL1 → DB410c tz → qhypstub (EL2) → lk1st (EL1, aarch32) → Linux (EL1, aarch64) ✅ 核心组件 组件 作用 DB410c tz DragonBoard 410c 的 TrustZone(与 qhypstub 兼容) qhypstub 开源 hyp stub,替代原厂 hyp,支持 ARM64 EL2 启动 lk1st 从 lk2nd 仓库构建的主引导程序(aboot 替换),提供 Fastboot 备份关键分区 本章操作只替换 tz/hyp/aboot,这三个分区的原厂镜像在线刷包中都有,即使变砖也能 EDL 刷回。 但 modem 和 fsg 存着每台手机唯一的 IMEI,线刷包的 modem 镜像是通用的,覆盖前务必先备份。 123456789101112131 ...
1. VIVO-Y927 lk2nd 的移植
发表于2026-06-06|VIVO-Y927移植主线Linux发行版
什么是 lk2nd? lk2nd 是社区为 MSM8916 设备开发的二级引导加载程序: 不替换原厂 bootloader(aboot/sbl1) 打包成 Android boot image 格式,由原厂 bootloader 加载 提供标准 Android Fastboot 协议接口 自动检测硬件(屏幕、电池等)并生成设备信息 123原厂上电 → PBL → SBL1 → aboot(原厂) → lk2nd → 主线Linux内核 ↑ Fastboot 协议接口 安装工具链 12345678# ARM32 交叉编译 (lk2nd/lk1st)sudo apt install -y gcc-arm-none-eabi# ARM64 交叉编译 (内核)sudo apt install -y gcc-aarch64-linux-gnu# 其他工具sudo apt install -y device-tree-compiler ...
0. VIVO-Y927 9008 模式下通过 EDL 线刷恢复至出厂状态
发表于2026-06-06|VIVO-Y927移植主线Linux发行版
准备工作 原厂线刷固件 从百度网盘下载完整的 Y927 线刷包 (PD1410V_A_1.22.1): 12345678910关键文件:├── boot.img (10 MB) ← 原厂内核+ramdisk+QCDT├── prog_emmc_firehose_8916.mbn ← vivo 签名 firehose (EDL用)├── 8916_msimage.mbn ← Sahara programmer├── rawprogram_unsparse.xml ← EDL 分区映射├── fastboot_flash_all.bat ← 官方刷机脚本├── NON-HLOS.bin ← 基带固件├── emmc_appsboot.mbn ← aboot (bootloader)├── sbl1.mbn, rpm.mbn, tz.mbn, hyp.mbn ← 引导链组件└── system_ ...
12…13
avatar
Zhangzqs
一个分享与记录的个人空间
文章
130
标签
544
分类
37
Follow Me
最新文章
8. VIVO-Y927 Linux 内核设备树完善(电池和充电)2026-06-15
8. VIVO-Y927 Linux 内核设备树完善(WiFi-蓝牙)2026-06-14
7. VIVO-Y927 Linux 内核设备树完善(GPU)2026-06-14
6. VIVO-Y927 Linux 内核设备树完善(触摸屏)2026-06-14
5. VIVO-Y927 Linux 内核设备树完善(GPIO按键)2026-06-14
分类
  • AI1
  • Android7
  • GAMES101课程笔记11
  • Git1
  • Golang6
  • Java框架2
  • Python1
  • ROS机器人1
标签
eMMC 贝塞尔曲面 Adreno HBase环境搭建 动态规划 pandoc Hibernate配置 表操作 Fastboot initramfs 装饰器模式 Linux 光线追踪 嵌入式开发 字节码反编译 MyBatis panel驱动 Web开发 海龟爬行问题 费马大定理 二维凸包 计算几何 一维波动方程 线段组求交算法 Hadoop集群配置 群环域 单元测试 哈希表 网络编程 设备树 牛棚隔间问题 数据库 ConstraintLayout 三角形面积计算 文件分配表 拉格朗日余项 最大公约数 Service启动与停止 FD命令 hexo-renderer-pandoc
归档
  • 六月 202610
  • 二月 20262
  • 一月 20261
  • 十二月 20251
  • 十一月 20252
  • 十月 20255
  • 八月 20254
  • 四月 20255
网站资讯
文章数目 :
130
已运行时间 :
本站总字数 :
233.4k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2026 By Zhangzqs
框架 Hexo|主题 Butterfly
搜索
数据库加载中