tiny4412 驱动 (4)eMMC驱动

emmc

emmc驱动在drivers/mmc/host/dw_mmc-exynos.c

static const struct of_device_id dw_mci_exynos_match[] = {
        { .compatible = "samsung,exynos4412-dw-mshc",
                        .data = &exynos_drv_data, },
        { .compatible = "samsung,exynos5250-dw-mshc",
                        .data = &exynos_drv_data, },
        { .compatible = "samsung,exynos5420-dw-mshc",
                        .data = &exynos_drv_data, },
        { .compatible = "samsung,exynos5420-dw-mshc-smu",
                        .data = &exynos_drv_data, },
        { .compatible = "samsung,exynos7-dw-mshc",
                        .data = &exynos_drv_data, },
        { .compatible = "samsung,exynos7-dw-mshc-smu",
                        .data = &exynos_drv_data, },
        {},
};

在vim arch/arm/boot/dts/exynos4412.dtsi

mshc_0: mmc@12550000 {
                        compatible = "samsung,exynos4412-dw-mshc";
                        reg = <0x12550000 0x1000>;
                        interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        fifo-depth = <0x80>;
                        clocks = <&clock CLK_SDMMC4>, <&clock CLK_SCLK_MMC4>;
                        clock-names = "biu", "ciu";
                        status = "disabled";
                };

而参考exynos4412-origen.dts

&mshc_0 {
        pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
        pinctrl-names = "default";
        status = "okay";
​
        broken-cd;
        card-detect-delay = <200>;
        samsung,dw-mshc-ciu-div = <3>;
        samsung,dw-mshc-sdr-timing = <2 3>;
        samsung,dw-mshc-ddr-timing = <1 2>;
        bus-width = <8>;
        cap-mmc-highspeed;
};

因此我们在exynos4412-tiny4412.dts也添加如上内容

此外,make menuconfig配置添加

Device Drivers  --->
    <*> MMC/SD/SDIO card support  --->
        <*>   MMC block device driver (NEW)
        <*>   Synopsys DesignWare Memory Card Interface
         <*>     Exynos specific extensions for Synopsys DW Memory Card Interface

启动后

 

/ # fdisk -l

Disk /dev/mmcblk0: 15.7 GB, 15707668480 bytes
255 heads, 63 sectors/track, 1909 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

        Device Boot      Start         End      Blocks  Id System
/dev/mmcblk0p1              20        1910    15184896   c Win95 FAT32 (LBA)

Disk /dev/mmcblk1: 7818 MB, [  181.275363] dma-pl330 12680000.pdma: Reset Channel-1	 CS-20000f FTC-20000
83 Linux

Partition table entries are not in disk order

/ # ls /dev/mmcblk0
/dev/mmcblk0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值