Linux下基于AHCI controller模块实现SATA Platform驱动附代码详细流程

一、简介

本文主要是针对ARM A55集成了AHSATA controller模块开发sata驱动,通过Platform的形式在linux识别到SSD,本文详细讲述整个开发过程,同时对SATA Platform驱动进行讲解。

二、驱动开发

2.1 整体开发过程总结

1、配置SATA Phy的初始化;
2、打开SATA Platform相关编译开关;
3、配置设备树;
4、linux启动识盘。

2.2 详细过程

1、Phy的配置
因为该芯片集成的是Synopsys的SATA IP,要通过SPCS的方式写入Phy的配置,同时设置OOB和CLOCK,因为代码不具有通用性就只粘贴一部分。
在这里插入图片描述

2、内核config配置

CONFIG_DAPU_AHCI_HOST=y
CONFIG_ATA=y
CONFIG_SATA_HOST=y                                                        
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_FORCE=y
CONFIG_SATA_PMP=y 
CONFIG_SATA_AHCI_PLATFORM=y
CONFIG_ATA_SFF=y
CONFIG_PATA_PLATFORM=y
CONFIG_PATA_OF_PLATFORM=y
#CONFIG_CHR_DEV_SG=y

注意CONFIG_CHR_DEV_SG=y要注释掉,该模块会影响CPU多核启动。

3、配置设备树

	sata: ahci@25000000 {
   
		compa
  • 21
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值