RK3399 驱动开发 _ 08 - 加密芯片atsha204a驱动开发

本文详细介绍了在RK3399平台开发中使用atsha204a加密芯片的过程,包括Linux驱动的DTS节点配置、内核源码添加、驱动编译和烧录,以及测试步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在RK3399平台开发过程中,为了确保数据安全性,需要使用加密芯片。本文旨在介绍一款型号为atsha204a的加密芯片。

系统:Android8.1
内核 : Kernel 4.4.167
加密芯片型号:atsha204a
通信方式:I2C

一、加密芯片 atsha204a

1. 简介

关于简介可参考博客:https://blog.youkuaiyun.com/zhanghaochen_/article/details/88693749

2. linux driver源码

atsha204a linux driver源码 :https://download.youkuaiyun.com/download/chenkanuo/88158252

二、驱动移植

1. DTS节点配置

atsha204a 的DTS节点定义在 kernel/arch/arm64/boot/dts/rockchip/rk3399-xxx.dtsi 文件中,如下所示:

&i2c7 {
	status = "okay";
	i2c-scl-rising-time-ns = <150>;
	i2c-scl-falling-time-ns = <30>;
	clock-frequency = <400000>;
	
	atsha204a@64 {
		compatible = "atmel,atsha204a";
		status = "okay";
		reg = <0x64>;
	};
};

2. 内核中添加驱动源码

  • 驱动添加在 kernel/drivers/cryptol/路径下:
  • 在 kernel/drivers/cryptol/Makefile 中添加:
obj-$(CONFIG_CRYPTO_DEV_ATSHA204A) := atsha204a.o
atsha204a-objs := sha204_helper.o atsha204a_api.o atsha204a_i2c.o atsha204a_module.o
  • 在 kernel/drivers/cryptol/Kconfig 中添加:
config CRYPTO_DEV_ATSHA204A
	tristate "Support for Atmel atsha204a authentication devices."
	depends on I2C
	help
	  This option enables the driver for atsha204a hardware authentication devices

	  To compile this driver as a module, choose M here.

  • 在 kernel/arch/arm64/configs/xxx_defconfig 中新增宏定义:
CONFIG_CRYPTO_DEV_ATSHA204A=y 

3. 重新编译并烧录

重新编译内核并烧录生效。

三、测试

更新内核后,设备上电,生成生成ioctl节点 : /dev/atsha204a
读取加密芯片SN:
cat /sys/class/crypto/atsha204a/sn

读取加密芯片配置:
cat /sys/class/crypto/atsha204a/config

在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值