Commit Graph

113 Commits

Author SHA1 Message Date
Fan YANG 55c33d9ce2 [components][drivers][sdio][sd] Fix wrong max data rate calculation logic
- corrected the default value for max_data_rate variable

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
2024-08-12 16:23:17 +08:00
Evlers 755cde372c fix a bug that read members in non-existent functions 2024-07-05 10:51:17 +08:00
Evlers 7d7993f940 fix an issue where repeated remove of card resulted in assertions 2024-07-05 10:51:17 +08:00
sp-cai f1832fea24
[components] [drivers ] [Kconfig] 整理 components/drivers 的 Kconfig (#9054)
整理 components/drivers 的 Kconfig
2024-06-16 15:43:27 +08:00
zhuzhuzhu 2866da37a0
[fix] 修复ART-PI smart在sd/emmc读取不到分区的问题 (#9058)
Update sd.c
2024-06-13 17:06:46 +08:00
zhuzhuzhu 1b4b338ed1
【修复】修复ART-PI samrt上读取不到emmc/sd分区问题 (#9051)
Update sd.c
2024-06-12 18:14:48 +08:00
Fan YANG 2cc2743fc7 [components][drivers][sd] add uhs-i mode support to sd driver
- added SDR50, SDR104 and DDR50 support to SD driver

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
2024-05-27 11:27:03 +08:00
Fan YANG 1a1514640a [components][drivers][mmc] add HS400 support to mmc driver
- added HS400 supprt (both eMMC5.0 and eMMC5.1 flavor are supported)

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
2024-05-26 12:36:02 +08:00
yangpeng 25d3136d02 fix MDK AC5 build warnings 2024-02-03 21:43:08 -05:00
xiao-mang 48f53e9150
add blockdev's flush fops for opening file with O_SYNC (#8232) 2023-11-10 17:50:20 +08:00
geniusgogo d55066e10d
cleanup: fix building warnings 2023-08-23 22:58:25 -04:00
geniusgogo 4d20416b2f
update components & lwp. (#7888) 2023-08-07 12:22:14 -04:00
Fan Yang e5c8dd3b05
[components][drivers][sdio] Fix minor issue in sdio driver (#7904)
Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
2023-08-03 17:10:34 +08:00
heyuanjie87 a98b11747f
[sdio]开启emmc内部cache加快传输 (#7896) 2023-08-01 14:48:50 +08:00
7YZ7 501b22aabe
[HUST CSE] Fix many abnormal symbols in annotations and format code 2023-04-17 22:26:23 -04:00
True-False-debug dc24388833 Update sd.c 2023-04-11 23:01:03 -04:00
Meco Man f58d3c5200 rt_device_write/read return data type as rt_ssize_t
rt_ssize_t can give negative error code, which follows the unix style correctly
2023-02-07 21:43:57 -05:00
bernard af143ee3f9 [devicedrivers] fix the partition issue in mmc/sdio 2023-01-23 19:16:28 -05:00
Bernard Xiong 2aa600e01b
[components] fix compiling warning (#6733) 2022-12-13 09:44:45 +08:00
guo ecf2d82159
sync branch rt-smart. (#6641)
* Synchronize the code of the rt mart branch to the master branch.
  * TTY device
  * Add lwP code from rt-smart
  * Add vnode in DFS, but DFS will be re-write for rt-smart
  * There are three libcpu for rt-smart:
    * arm/cortex-a, arm/aarch64
    * riscv64

Co-authored-by: Rbb666 <zhangbingru@rt-thread.com>
Co-authored-by: zhkag <zhkag@foxmail.com>
2022-12-03 12:07:44 +08:00
xiao xie 1755750b2a
[sdio] remove mmcsd_delay_ms
修改SD检测线程函数里面的延时实现,将mmcsd_delay_ms改为rt_thread_mdelay. mmcsd_delay_ms过时且延时计算错误。
2022-11-08 00:34:43 -05:00
xiaoguang_ma e663d2d870 bugfix: remove sdcard block dev may cause a constant loop. 2022-11-02 15:27:41 +09:00
xiaoguang_ma 80f495de4a bug fix
When detecting all SDIO devices fails, it is also necessary to return information
2022-10-09 14:55:01 +08:00
Tangyuxin a4829b1c00
[fix] Fix simulator compilation warnings (#6438)
* [fix] Fix simulator compilation warnings

* Update bsp/simulator/rtconfig_project.h

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2022-09-20 10:31:11 -04:00
tyx 782b9dd45a [components][sdio] Support DDR mode 2022-04-06 16:06:46 +08:00
nongxiaoming cec72c92c7 [components][sdio] fix compile warning and optimized code. 2021-12-31 17:05:42 +08:00
Wayne Lin 9dc4ca0d31 Remove unused comment. 2021-12-24 05:36:12 +08:00
Wayne Lin 28f91a86f5 Correct sem's name of sd block device. 2021-12-24 05:36:12 +08:00
Wayne Lin f508d58c05 Strip tailing space. 2021-12-24 05:36:12 +08:00
Wayne Lin bac75e24bd [SDIO] Create SD block device.
1. New naming rule for multiple cards: sdXpY. Ex: sd0, sd0p0, sd0p1, sd1, sd1p0, sd1p1, .... sdXpY.
2. Always create super-node for backward-compatible and fdisk-like utility. EX: sd0, sd1, ..... sdX.
3. Shrink code.
2021-12-24 05:36:12 +08:00
Wayne Lin 600e67f952 Revert to RT_IPC_FLAG_PRIO. 2021-12-24 05:36:12 +08:00
Wayne Lin 7e6ffd3447 Support multi-partition/-card mounting. 2021-12-24 05:36:12 +08:00
Wayne Lin c84952d9cd Fix infinite-loop in rt_mmcsd_blk_remove.
1. Issue on traveling latest node in list if multi-partitions on card.
2021-12-24 05:36:12 +08:00
Meco Man df9a23c534 [mutex] use RT_IPC_FLAG_PRIO to replace RT_IPC_FLAG_FIFO 2021-11-17 15:57:15 -05:00
Meco Man 84db60ecfa [sdio] remove rt_mmcsd_blk_init 2021-08-01 07:31:32 +08:00
@lin12345678 9f9c3a2bb0 修改mmc初始化错误,将card-》csd写成card-》cid 2021-07-09 17:53:07 +08:00
Jianjia Ma 398718f0f9
Update mmc.c 2021-04-13 18:27:53 +01:00
Jianjia Ma 4e74279d27
Add more trys when switching data width
Try a few times before switching to other data widths. 
The original strategy (simply wait for 20ms ) failed on STM32H743 with an MTFC4GACAJCN-4M (4GB EMMC) when switching data width. 
(unless the debugging info is enabled, which add more delays)
With this EMMC, the fixed delay was set to 50ms for it to be able to work. 

Instead of a fixed delay, I think we better change to trying a few more times with smaller delays.
2021-04-13 18:04:59 +01:00
Meco Man 3c05a4e719 [compoenets] auto & manual formatted 2021-03-08 18:19:04 +08:00
wanghaijing f62d8938dc [sdio] free memory and enhance performance 2021-02-05 15:49:30 +08:00
guozhanxin bb016927f8 Improve the clock Settings for switching to high speed mode in the SDIO framework. 2020-11-27 17:28:49 +08:00
Shawn Lin 4c7106fa9d component: sdio: fix potential ricky clock setting
Currently RTT mmc stack only support Highspeed mode or
blow, which means the max speed should be 52MHz according
to JEDEC spec. Two problems show here:

(1) max_data_rate = (unsigned int)-1. The value of unsigned int
depends on compilers/arch. Moreover, it makes no sense to assume
cpu addressing width with IP clock rate limit.
(1)hs_max_data_rate was set to 200MHz.

So what should BSP drivers do if 52MHz < max_data_rate < 200MHz?
Either it blindly sets a spec-violated clock rate to drive a Highspeed
card, or just adjust the clock rate internally. Both cases are
really bad for practice.

If the card claims to support Highspeed, we set the clock to not
to exceed 52MHz. Otherwise it should be set according to
card->max_data_rate parsed by ext_csd. This patch fixes it as-is,
and also simplify the code a lot.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2020-03-16 14:45:41 +08:00
Shawn Lin 11277014a3 [Components] sdio: try bus width depends on host's capability
It makes no sense to try bus width if not supported by drivers or BSP,
since we know it must be failed. It saves a lot for booting in time
critical environment.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2020-03-12 09:00:41 +08:00
Shawn Lin a33bc0f321 [component] sdio: Fix mmc mount function if the whole device is a partition
If the whole sd card was formatted as a partition, current
code break out the loop mistakenly, so it skips dfs_mount_device
later. Simply remove the broken 'break' to solve this problem.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2020-03-12 09:00:33 +08:00
bigmagic e09c99fcfb fix raspi3-64 sdio driver 2020-02-28 14:56:56 +08:00
A.orz a646b9275d
Update sd.c
clean #if 0 code
2020-02-23 09:20:09 +08:00
hichard aafed7b434 1.修复sd卡热插拔内存泄露的bug
2.dfs增加函数,配合实现sd卡热插拔自动挂载卸载文件系统
2019-11-16 11:16:48 +08:00
tangyuxin 2f2933245e [components][drivers][sdio]修复 SDIO product 为空的问题 2019-09-03 16:55:10 +08:00
Zhou Yanjie de69a9b500 sdio: mmc.c: 修复缩进/Fix indentation.
修复版权信息中的缩进格式。

Fix indentation in copyright information.

Signed-off-by: Zhou Yanjie <zhouyanjie@zoho.com>
2019-07-19 21:18:56 +08:00
Zhou Yanjie 976ea24112 sdio: mmc.c: 防止容量计算过程溢出/Prevent capacity calculation overflow.
修改“mmc_parse_ext_csd”函数,防止容量计算过程溢出。

Modify the "mmc_parse_ext_csd" function to prevent the capacity
calculation process from overflowing.

Signed-off-by: Zhou Yanjie <zhouyanjie@zoho.com>
2019-07-19 21:18:56 +08:00