Rockchip RK3288型号获取

您所在的位置:网站首页 如何查找主板序列号和型号参数 Rockchip RK3288型号获取

Rockchip RK3288型号获取

2024-07-15 11:45:48| 来源: 网络整理| 查看: 265

Platform:Android 5.1

Rockchip RK3288系列也分了好几个型号,这里主要区分:RK3288和RK3288W 本文主要介绍两者之间型号的获取与区分,通过以下方式:

封装丝印代码adb或串口 封装丝印

RK3288和RK3288W的封装丝印是有区别的,主要通过丝印后缀来判断。

RK3288

RK3288封装丝印 RK3288

RK3288W

RK3288W封装丝印 RK3288W

两者区别在Subcontractor Code末尾有无W。有W的就是RK3288W。

代码

RK提供了API判断当前SoC型号,API如下:

bool soc_is_rk3288(void) bool soc_is_rk3288w(void)

其原型位于include/linux/rockchip/cpu.h中,如下:

#ifdef CONFIG_ARM #define ROCKCHIP_SOC(id, ID) \ static inline bool soc_is_rk##id(void) \ { \ return (rockchip_soc_id & ROCKCHIP_SOC_MASK) == ROCKCHIP_SOC_RK ##ID; \ } #else #define ROCKCHIP_SOC(id, ID) \ static inline bool soc_is_rk##id(void) { return false; } #endif ROCKCHIP_SOC(2926, 2926) ROCKCHIP_SOC(2928g, 2928G) ROCKCHIP_SOC(2928l, 2928L) ROCKCHIP_SOC(3028a, 3028A) ROCKCHIP_SOC(3026, 3026) ROCKCHIP_SOC(3126, 3126) ROCKCHIP_SOC(3126b, 3126B) ROCKCHIP_SOC(3128, 3128) ROCKCHIP_SOC(3036, 3036) ROCKCHIP_SOC(3000, 3000) ROCKCHIP_SOC(3066, 3066) ROCKCHIP_SOC(3068, 3068) ROCKCHIP_SOC(3066b, 3066B) ROCKCHIP_SOC(3168, 3168) ROCKCHIP_SOC(3028, 3028) ROCKCHIP_SOC(3188, 3188) ROCKCHIP_SOC(3188plus, 3188PLUS) ROCKCHIP_SOC(3190, 3190) ROCKCHIP_SOC(3288, 3288) ROCKCHIP_SOC(3288w, 3288W)

这里有个宏ROCKCHIP_SOC,一个经典用法预处理宏##的拼接。 例如ROCKCHIP_SOC(3288w, 3288W),会将第一个参数3288w拼接到函数末尾soc_is_rk3288w,在其返回函数中,将第二个参数拼接,拼接为ROCKCHIP_SOC_RK3288W,一个完整的示例:

static inline bool soc_is_rk3288w(void) { return (rockchip_soc_id & ROCKCHIP_SOC_MASK) == ROCKCHIP_SOC_RK3288W; \ }

rockchip_soc_id:芯片ID。在kernel启动时I/O静态映射过程中指定,RK3288系列首先赋值为ROCKCHIP_SOC_RK3288,然后会读取HDMI Revision是否是0x1A,是的话将该值赋值为ROCKCHIP_SOC_RK3288W

#define ROCKCHIP_SOC_RK3288W (ROCKCHIP_CPU_RK3288 | 0x01) #define ROCKCHIP_CPU_RK3288 0x32880000

ROCKCHIP_SOC_MASK:

#define ROCKCHIP_SOC_MASK (ROCKCHIP_CPU_MASK | 0xff) #define ROCKCHIP_CPU_MASK 0xffff0000 总结

调用soc_is_rk3288(),返回true表示该soc是RK3288,返回false表示该soc不是RK3288。 调用soc_is_rk3288w(),返回true表示该soc是RK3288W,返回false表示该soc不是RK3288W。

adb或串口

RK提供了sys文件接口来获取soc型号,接口是:

/sys/devices/system/cpu/soc

在串口控制台或adb环境下cat该文件即可得到soc型号,例如返回”RK3288”,即表示该SoC是RK3288

该sys接口的实现位于arch/arm/mach-rockchip/cpu.c中:

static ssize_t soc_show(struct device *dev, struct device_attribute *attr, char *buf) { const char *soc; if (soc_is_rk3288()) soc = "rk3288"; else if (soc_is_rk3288w()) soc = "rk3288w"; else if (soc_is_rk3190()) soc = "rk3190"; else if (soc_is_rk3188plus()) soc = "rk3188+"; else if (soc_is_rk3188()) soc = "rk3188"; else if (soc_is_rk3168()) soc = "rk3168"; else if (soc_is_rk3028()) soc = "rk3028"; else if (soc_is_rk3066b()) soc = "rk3066b"; else if (soc_is_rk3028a()) soc = "rk3028a"; else if (soc_is_rk3026()) soc = "rk3026"; else if (soc_is_rk2928g()) soc = "rk2928g"; else if (soc_is_rk2928l()) soc = "rk2928l"; else if (soc_is_rk2926()) soc = "rk2926"; else if (soc_is_rk3066()) soc = "rk3066"; else if (soc_is_rk3068()) soc = "rk3068"; else if (soc_is_rk3000()) soc = "rk3000"; else if (soc_is_rk3126() || soc_is_rk3126b()) soc = "rk3126"; else if (soc_is_rk3128()) soc = "rk3128"; else soc = ""; return sprintf(buf, "%s\n", soc); }

该函数中共提供了两个功能:SoC和Type,且只提供了show方法。 SoC即为具体的芯片型号,而Type表示芯片系列。 比如在我的平台上分别获取SoC和Type,结果如下:

cat /sys/devices/system/cpu/soc rk3288w cat /sys/devices/system/cpu/type rk3288 更新

rk也提供了prop来获取CPU型号,可读取ro.rk.soc,如下:

getprop | grep soc [ro.rk.soc]: [rk3288w] 总结

通过这几种方式都可以获取主控型号,在驱动处理或者打补丁时可做区分。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭