MTK配置SD卡与sim卡

1.配置SD卡,dts里面配置sd卡的上电

$(LINUX_KERNEL_VERSION)/arch/arm/boot/dts/cust_$(MTK_PLATFORM)_msdc.dtsi

sd-uhs-ddr50;
no-mmc;
no-sdio;
non-removable;               //添加字段
pinctl = <&msdc1_pins_default>;

cd-gpios = <&pio 10 0>;        //根据原理图配置sd卡的中断脚

这一步只是让sd卡可以正常识别使用,下面在介绍热插拔功能

2.使能sim卡

sim卡的正常工作设计到modem,modem则需要你们根据具体情况编译了

device/mediateksample/$(yourprojectname)/ProjectConfig.mk

CUSTOM_MODEM=(主make文件modem的名称,不要带中文)

在vendor_ap_s0/vendor/mediatek/proprietary/modem/文件夹下导入编译好的modem文件夹,里面modem文件夹名字与主make里面保持一致

如果要更换modem,最好删除out目录下modem文件夹里面的打包文件,在编译

out/soong/.intermediates/system/sepolicy/vendor_property_contexts/android_common/gen/namespace_checked/vendor/mediatek/proprietary/modem

下载烧录到手机,系统设置里面看基带版本是否有定义,有定义代表modem编进去了,不过sim卡能正常使用还是在根据原理图在dws里面配置引脚

想值保留sim1卡槽,双卡配置成单卡

device/mediateksample/$(yourprojectname)/ProjectConfig.mk

MTK_MULTI_SIM_SUPPORT = dsds  //双卡       ss   //单卡

3.SD卡sim卡热插拔

device/mediateksample/$(yourprojectname)/ProjectConfig.mk

MTK_SIM_HOT_SWAP= yes
MTK_SIM_HOT_SWAP_COMMON_SLOT = yes      //打开关于sim卡热插拔的宏开关

$(LINUX_KERNEL_VERSION)/arch/arm/boot/dts/cust_$(MTK_PLATFORM)_msdc.dtsi

sd-uhs-ddr50;
no-mmc;
no-sdio;
-    non-removable;           //去掉开始添加的字段
pinctl = <&msdc1_pins_default>;

cd_level = /bits/ 8 <MSDC_CD_HIGH>;      //更改sd卡中断的电平定义

dws里面sd卡与sim卡的eint与resset,无热插拔可以不配置,需要该功能就需要配置了

$(LINUX_KERNEL_VERSION)/drivers/misc/mediatek/dws/$(MTK_PLATFORM)/$(yourprojectname).dws

vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/$(yourprojectname)/dct/dct/codegen.dws

vendor/mediatek/proprietary/custom/$(yourprojectname)/kernel/dct/dct/codegen.dws
 

SD卡:

与最开始sd的中断引脚gpio10对应

<eint10>
                <varName>MSDC1_INS</varName>
                <debounce_time>0</debounce_time>
                <polarity>Low</polarity>
                <sensitive_level>Edge</sensitive_level>
                <debounce_en>Disable</debounce_en>
 </eint10>

<gpio10>
                <eint_mode>true</eint_mode>
                <def_mode>0</def_mode>
                <inpull_en>true</inpull_en>
                <inpull_selhigh>true</inpull_selhigh>
                <def_dir>IN</def_dir>
                <out_high>false</out_high>
                <varName0>GPIO_SDHC_EINT_PIN</varName0>
                <smt>false</smt>
                <ies>true</ies>
</gpio10>

sim卡:

<gpio35>
                <eint_mode>false</eint_mode>
                <def_mode>1</def_mode>
                <inpull_en>true</inpull_en>
                <inpull_selhigh>true</inpull_selhigh>
                <def_dir>IN</def_dir>
                <out_high>false</out_high>
                <varName0>GPIO_SIM2_SIO</varName0>
                <smt>false</smt>
                <ies>true</ies>
            </gpio35>
            <gpio36>
                <eint_mode>false</eint_mode>
                <def_mode>1</def_mode>
                <inpull_en>false</inpull_en>
                <inpull_selhigh>false</inpull_selhigh>
                <def_dir>OUT</def_dir>
                <out_high>false</out_high>
                <varName0>GPIO_SIM2_SRST</varName0>
                <smt>false</smt>
                <ies>true</ies>
            </gpio36>
            <gpio37>
                <eint_mode>false</eint_mode>
                <def_mode>1</def_mode>
                <inpull_en>false</inpull_en>
                <inpull_selhigh>false</inpull_selhigh>
                <def_dir>OUT</def_dir>
                <out_high>false</out_high>
                <varName0>GPIO_SIM2_SCLK</varName0>
                <smt>false</smt>
                <ies>true</ies>
            </gpio37>
            <gpio38>
                <eint_mode>false</eint_mode>
                <def_mode>1</def_mode>
                <inpull_en>false</inpull_en>
                <inpull_selhigh>false</inpull_selhigh>
                <def_dir>OUT</def_dir>
                <out_high>false</out_high>
                <varName0>GPIO_SIM1_SCLK</varName0>
                <smt>false</smt>
                <ies>true</ies>
            </gpio38>
            <gpio39>
                <eint_mode>false</eint_mode>
                <def_mode>1</def_mode>
                <inpull_en>false</inpull_en>
                <inpull_selhigh>false</inpull_selhigh>
                <def_dir>OUT</def_dir>
                <out_high>false</out_high>
                <varName0>GPIO_SIM1_SRST</varName0>
                <smt>false</smt>
                <ies>true</ies>
            </gpio39>
            <gpio40>
                <eint_mode>false</eint_mode>
                <def_mode>1</def_mode>
                <inpull_en>true</inpull_en>
                <inpull_selhigh>true</inpull_selhigh>
                <def_dir>IN</def_dir>
                <out_high>false</out_high>
                <varName0>GPIO_SIM1_SIO</varName0>
                <smt>false</smt>
                <ies>true</ies>
            </gpio40>

具体引脚使用你们看原理图,仅供参考

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值