当前位置:   article > 正文

04-sd有哪些模式,如何配置_sdhci-caps-mask

sdhci-caps-mask

1、目前只支持UHS-I,所以以下为支持的模式

2、linux中的配置

Default Speed:

 

(1)需要配置sdhci-caps-mask,这是一个64bit的值,可以屏蔽掉对应于cps和cps1中的bit

即SDHCI_CAPABILITIES对应SRS16和SDHCI_CAPABILITIES_1对应SRS17

上图中的0x7对应的是SRS17寄存器中的bit0~2

由于软件是通过读寄存器来确认控制器是否支持某种功能的,所以为了降低速率,需要把高级别的数据均屏蔽掉

(2)需要配置哪些寄存器

1)配置频率25MHz、位宽4bit,3.3V电压

2)配置SRS15.V18SE为0

3)发送CMD6,参数里面带上对应模式参数

bit31为1,选择组1,值为0即可,如果正常说明配置成功

注意:从上图可以看出Default speed和SDR12是一样的,只是电压不一样而已

4)SRS10.HSE写0

High Speed:

 1)配置频率25MHz、位宽4bit,3.3V电压

2)配置SRS15.V18SE为0

3)发送CMD6,参数里面带上对应模式参数

bit31为1,选择组1,值为1即可,如果正常说明配置成功

4)SRS10.HSE写1

SDR12:

dtb修改:把上图的cap-sd-highspeed修改为sd-uhs-sdr12;即可

1)配置频率25MHz、位宽4bit,1.8V电压

2)配置SRS15.V18SE为1

3)发送CMD6,参数里面带上对应模式参数

bit31为1,选择组1,值为0即可,如果正常说明配置成功

4)SRS10.HSE写0

5)配置SRS15.UMS为0

SDR25:

dtb添加:sd-uhs-sdr25;即可

1)配置频率50MHz、位宽4bit,1.8V电压

2)配置SRS15.V18SE为1

3)发送CMD6,参数里面带上对应模式参数

bit31为1,选择组1,值为1即可,如果正常说明配置成功

4)SRS10.HSE写1

5)配置SRS15.UMS为1

SDR50:

 1)配置频率100MHz、位宽4bit,1.8V电压

2)配置SRS15.V18SE为1

3)发送CMD6,参数里面带上对应模式参数

bit31为1,选择组1,值为2即可,如果正常说明配置成功

4)SRS10.HSE写1

5)配置SRS15.UMS为2

SDR104:

 1)配置频率208MHz、位宽4bit,1.8V电压

2)配置SRS15.V18SE为1

3)发送CMD6,参数里面带上对应模式参数

bit31为1,选择组1,值为3即可,如果正常说明配置成功

4)SRS10.HSE写1

5)配置SRS15.UMS为3

DDR50:

1)配置频率50MHz、位宽4bit,1.8V电压

2)配置SRS15.V18SE为1

3)发送CMD6,参数里面带上对应模式参数

bit31为1,选择组1,值为4即可,如果正常说明配置成功

4)SRS10.HSE写1

5)配置SRS15.UMS为4

3、如何修改clk

(1)写SRS11.SDCE的值为0,关闭sd clk

(2)读SRS16.BCSDCLK,获取base clk,默认值为c8,即200M

(3)计算N的值,sdclk=baseclk/2N,把N写到SRS11.SDCFSL寄存器中

(4)操作HRS09 复位phy,等待phy完成复位

(5)写SRS11.SDCE的值为1,打开sd clk

4、如何修改bus

(1)关中断,SRS13.CINT_SE

(2)发送ACMD6,参数0代表1bit,2代表4bit,收到resp说明发送成功

(3)SRS10.DTW为1,SRS10.EDTW为0

5、如何修改电压

(1)SRS10.BP写0

(2)判断SRS16.VS18 VS30 VS33是否支持

(3)配置SRS10.BVS,选择对应的电压,同时打开SRS10.BP

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/771182
推荐阅读
相关标签
  

闽ICP备14008679号