From 80bdb7b806535d1e31c7343ffe979e59be03e3a2 Mon Sep 17 00:00:00 2001 From: penguin Date: Tue, 15 Dec 2020 16:48:08 -0600 Subject: [PATCH] doc --- .../clangd/index/ff.c.0674289B09C4AEE6.idx | Bin 0 -> 19532 bytes .../index/hpl_rtc.c.DEFBB6F4E6403207.idx | Bin 0 -> 5068 bytes .../hpl_rtc_config.h.13C2AA0DFCA38096.idx | Bin 0 -> 828 bytes .../index/sdmmc_diskio.c.A941FA96B05E41EC.idx | Bin 0 -> 2762 bytes shared/drivers/sd_mmc.c | 37 ++++++++++ shared/drivers/sd_mmc.h | 32 +++++++++ shared/drivers/sd_mmc_intf.h | 68 ++++++++++++++++++ 7 files changed, 137 insertions(+) create mode 100644 build/.cache/clangd/index/ff.c.0674289B09C4AEE6.idx create mode 100644 build/.cache/clangd/index/hpl_rtc.c.DEFBB6F4E6403207.idx create mode 100644 build/.cache/clangd/index/hpl_rtc_config.h.13C2AA0DFCA38096.idx create mode 100644 build/.cache/clangd/index/sdmmc_diskio.c.A941FA96B05E41EC.idx create mode 100644 shared/drivers/sd_mmc.c create mode 100644 shared/drivers/sd_mmc.h create mode 100644 shared/drivers/sd_mmc_intf.h diff --git a/build/.cache/clangd/index/ff.c.0674289B09C4AEE6.idx b/build/.cache/clangd/index/ff.c.0674289B09C4AEE6.idx new file mode 100644 index 0000000000000000000000000000000000000000..1394a69563c1aae98be179e816618a249b5f99c8 GIT binary patch literal 19532 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 literal 0 HcmV?d00001 diff --git a/build/.cache/clangd/index/hpl_rtc.c.DEFBB6F4E6403207.idx b/build/.cache/clangd/index/hpl_rtc.c.DEFBB6F4E6403207.idx new file mode 100644 index 0000000000000000000000000000000000000000..806f393dad883b8da7d7a7db38be31ebc4f0c314 GIT binary patch literal 5068 zcmYLN2|SkB_kYgu%0rK`rLu*WY_BDXx0e`zeaopC!&4Hc~O?GN;FICJ+G%#;El~ZZzbRyJ9NhPlg zj_rHwS!le#ZNGz`>|_5~)7G$6_ww9To_aI|P597PwkGuWob4UkSBgBYsl{t}*;zy@ zOkJVje_c?&E;}K8@lR>o_>5he&y?I(xY;-uCTL%eHS*GYFz4^gzh@RYm~IKkgg~9S zURPIr_vziogKOumubUdQeSWc#hq~Q}2^YO`bPn4YEl`-Z-6ZRPW`=3_mTk+5N-KBF zo*$W1cy0UkGh0K7Zyh&XQ)$=q`NVexQMayS-FDdYZMXiem4Wy8EoEX!L;M#>BlQw$ z^hRCW{nx57l{IsgA5&YmEbG3x_ty^wCh2IbH(f59W%oyqU{bww)EDmi%8L814{)Qt zev&!zTB>{X&;EaW<8^5J(p}xR#(9rC_1@)+A3jtIv-TV8ZhV#TXp%?58T%DFKihrk zNt+w*9`a^G;cwdI6M|3H90@w}>&Y>TUKd17nXxc5P4j5Y!36R6Z|5X!FLC%MH@I81 zyK&(8Jjoui?TM)@7tKB)Z^oD%q6FM!28a(c~@iK zMJ3&8*K0Z#<&@I@y2nTD!FBJj{Q3X0P^;n9JZRo`-a2CT+Hv{kx?ZoyKdw2d&i->? zZ0GOgUI+WXOQ=lL`_gDf(yvO518?G^g|}03^)sLK2V4+;jOy%-3GU2{JNBb)nT_rF zrr)^@&sL>6w#inN{1Ey%dGTA79;@6xZn;J5Je8UsR%$=drTD7KO`W@&xnI|%ZOkqU z_)qA(b#Hl%vrPv#+kEP8xc+>>7H9F+5>ZH)@95(jgL2QO4lIv9Dw^@zT4NL8p|r$H z*D+zhxa!fwy@^>rO?~ia{l}V4tH`UhC2D`2nA|Y+N8_ZhrykXl>s6lKRJnO<{m#nN zx*&6#8(J>wdTJeOBuCOq=Jr_^H^qhN8jZDgyTA97xO}?*?3+b;56Z05zM5pR==JA( z3sIv-%H+$6Yx4&FlaSkDW2rZ-+kiUQyoU&-V#t4_mAO*d@E&s`Xv%*&3?1d;>_Nhmk*w5;;pz z&JzDs>3jC8dA|vqDX}EHL|d8%d>&}aIVy6Fo!aRg{<4n-0%t>5 zL*lIDSB{gO0shPo2jraO>$?~KRaq()I7{M`fFeyHO+v*aWHae&D>+Od%a5G65L48% ztVZA_5i1t?STvWOMgA=d{O#7a?6Oi@sCKCPg5T0xCin}-_O`Wk^a`92v7-6t z@zM(5D`32QCX{o+zYd95K`B8Ye7p11swXql1(}4CC<(Ha+)8T0xo~QuxoB#WflCIG z*}!EpSp{4blMTQ%Fxd#u2)sZSlj~&o8Nf4!W08wR!n+Z6BjH2H9b)(h!V!jxkSk)i z9=Uo{8u6fiOi1#<$tcLY1#ht+Tg)$>!0#1V{?~NiZxqQ&5lc~9Bx^xzL2VWLi-meB z7iNGU^B4S$R0_Lpx@3KNB4XCgNd^yrE+v=2tjGq}Y;YIIrCcHK!%r7fhTg6Ev-Q!h z!(_Fz>_TB7EgK{aTBzaje1Ff<^B-t<6F?J~2(os-b}$uWF92RJJODVrZ~{UC65fxv z9|<2tILdG#Vj-Gp2Iwr!X=*q~_Lm`+p_)i`7x6BtjsO0l>(b?UNcKBTbef^7dGC&c z@rG8BAZr1|7BCcK-JsabWHKryBgs5e%tJ%H1N#o?+AaJ*#Jiw=7xV<#8&H44WD2UM zAj#vXejN3NqYrI#F!bo}tl!j;b+ed8nwgnd39>cnYsLt&3pnlq8`XsBO*qEjqhEBD zbfyiNRSF|Z!FV`4(KIYJnQEu+_|9eFRqBs|C}YbR=I4Osy9`>F87>9$Qif|ltA^pLFySf~vD;$V#MWsBNi)zsT3})emTwTG17i2(V`N`A5~~o#q@uo)}Kt@hGuO@K5j>gcGlm8u3b2r?8X`0=qkwi(Yl|_ z_YrMB;-qPvEq^p*2_ib{03pE0b!1B_8eO)*Z03dM{e7Ab_|w2V zfIQIi3cmFImtV>wNnx*OKhY=1N8_g@R!RzV`A4i7MaP6n%{ZFejY_>Z+E2Rke45PG znildL;i)gk0!IYu59dQ#WH1>91a4bx7uRK_Nc~2Elc@CxTtQ(&9OOW)U(hOwT;jzJ zficT|`f+J*fWR(;eKX8wmqF43v)CnYxX&WeE3kjX^xYuoX8JyG=wtdsv`<9RC!-`8 zNuQ1m=}7tmeW9Ch%9=k@9 zLdGaF9m)^}61wy&4Oh~Y3O5X=Hrgnfu17MMCIh)5114sGJ&U=<+3Y$Og1C@f-x4q^ zVb{D0EUI7%%N&y%U?$5LQ#!$wWeU4kbYU4{(jlD2f{8^D60aVu>d{G{`pfbqI?^*% zFo;vI94;$pAA>bT=!nKsUj#kQC&QcvwxTogpI5D1~rT#HzX>LS@g#D}OJwqet}jrLnyctIAT9x|RD zJ&rBK2?9lO^)e(}iyE~^UTMLxElhtG)$cO>L)3W4^a%=D2?}}|k=3x8+DM3`HU=PuW#m+VR3;n(x;U5Nl#zxjLNaKu985K@HU6eP@g)uD zL7N_Q+voaan|sT^1yZ=Xy8G=5w{strUeUlNoay7Yzg8vo&$EZU2s$V_jQiR9hurc0 zJskvn#lFs2s`nC78am3zUFw(a8b}YQdA;V zqIkFnCBp_Q&|hkF>?Rv$*3n#-Q0Wp2$nQ|;9cm93qQo4mLUWoIwjWYVtERa;jXb5f z6;s@%+J3c%U=?B&n&!o~Jvswk+eqOb>>oB`5=9)Y|th$R}7aDY-b79NNh^P;bJyiwSQhq62iS_(?YPa%Rsf`Cd z9!RDGpU&h7;7>4F2YelqZJ^!;^laXO`dcQ`P(6)3qkL4)XR;3YIwam>JU2G) zQjP6&)77W_mB928n8!l0NBnmi}9bDup9Qbfn@S6hf(Tivx%QlYtEevWC`+()VvhN)5=fHUQ>x(R8 zpI%(}*XviX{~APuuZp1m7jPikQla{JZ%=KCf^@1ACuMzuKTgAcaNN}Y|MPzVtY=Xp literal 0 HcmV?d00001 diff --git a/build/.cache/clangd/index/hpl_rtc_config.h.13C2AA0DFCA38096.idx b/build/.cache/clangd/index/hpl_rtc_config.h.13C2AA0DFCA38096.idx new file mode 100644 index 0000000000000000000000000000000000000000..c899fc8f5bd1d66aeb57562d960d70fb9a5b01fd GIT binary patch literal 828 zcmWmCYebo_ih8?T%mTU74AHZiBjWSbP zPZ`GH!_Q@z=c_{rhgb+$h>#<>+u_Bz6N6Aepn?dTbwe3vs@&EgT|EA4*wj-D+m?_VRjwGM+l4%LHt5b`_0fFqX>Emdden*2Yv2t zC{9AKP_R&*oG}bS<eErq& zewcL>>L{B&#+^4eL~;>K6ik#=IlO95*ge~ZFh^jHh;z4p@_A9X^cjL2p^HEl5fr)vKVe|eDFijB1w~bs%MP9YwqTY}D4}dw$hOs? zdP_1wCxuSRo{Qj2+8O@J5Ud2OM5teXqvidCS2F?y>QT8d?VW7=*BwkTh&?McK{B@s zk47+cpyOX0;1rK`851$Nz~#5Rtk9KvDr}$b1WxSLm<8vy9VNCeEu&CI+4kDy>VCge zSA;$SeT3h!aJ~838=q7JB`AfRg{mi+Yds!fMnWXN`=t4R{oY+X%u)iSMA(iCAI z^EC)Y0!G3&pXe=4v&>o$swq@cc35JHh*o@PLby-iK6RfcH!UmRU$QOE9|C^}JJV|o zn7gGiAtXbx=-cA!+t&R)7>wCVpqGenN7d=JUDaw7T4&pZ9Nn6A%G%NH$T0r_kuU|^ literal 0 HcmV?d00001 diff --git a/build/.cache/clangd/index/sdmmc_diskio.c.A941FA96B05E41EC.idx b/build/.cache/clangd/index/sdmmc_diskio.c.A941FA96B05E41EC.idx new file mode 100644 index 0000000000000000000000000000000000000000..20f8dfbf1a004abc66cb4bd7b72a9ae0639f9b81 GIT binary patch literal 2762 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 literal 0 HcmV?d00001 diff --git a/shared/drivers/sd_mmc.c b/shared/drivers/sd_mmc.c new file mode 100644 index 0000000..aa2ad17 --- /dev/null +++ b/shared/drivers/sd_mmc.c @@ -0,0 +1,37 @@ +#include "sd_mmc.h" + + +sd_mmc_err_t sd_mmc_init(void) +{ + sd_mmc_err_t ret = SD_MMC_SUCCESS; + + do + { + // power up sequence + // go idle + }while(0); + return ret; +} + +sd_mmc_err_t sd_mmc_select(uint8_t slot, uint32_t clock, uint8_t bus_width, bool high_speed) +{ + sd_mmc_err_t ret = SD_MMC_SUCCESS; + + return ret; + +} + +sd_mmc_err_t sd_mmc_send_command(uint8_t command, uint32_t arg, uint8_t crc) +{ + sd_mmc_err_t ret = SD_MMC_SUCCESS; + + return ret; +} + + +sd_mmc_err_t sd_mmc_read_res1(void) +{ + sd_mmc_err_t ret = SD_MMC_SUCCESS; + + return ret; +} diff --git a/shared/drivers/sd_mmc.h b/shared/drivers/sd_mmc.h new file mode 100644 index 0000000..cac6d6e --- /dev/null +++ b/shared/drivers/sd_mmc.h @@ -0,0 +1,32 @@ +#ifndef _SD_MMC_H_ +#define _SD_MMC_H_ + +#include "atmel_start.h" + +typedef enum sd_mmc_mode_t +{ + SD_MMC_MODE_SPI = 0, + SD_MMC_MODE_MCI = 1 +}sd_mmc_mode_t; + +typedef enum sd_mmc_err_t +{ + SD_MMC_SUCCESS = 0, + SD_MMC_FAIL = 1, + SD_MMC_INIT_ONGOING = 2, + SD_MMC_ERR_NO_CARD = 3, + SD_MMC_ERR_UNUSABLE = 4, + SD_MMC_ERR_SLOT = 5, + SD_MMC_ERR_COMM = 6, + SD_MMC_ERR_PARAM = 7, + SD_MMC_ERR_WP = 8 +} sd_mmc_err_t; + + +sd_mmc_err_t sd_mmc_init(void); +sd_mmc_err_t sd_mmc_select(uint8_t slot, uint32_t clock, uint8_t bus_width, bool high_speed); +sd_mmc_err_t sd_mmc_send_command(uint8_t command, uint32_t arg, uint8_t crc); +sd_mmc_err_t sd_mmc_read_res1(void); + + +#endif diff --git a/shared/drivers/sd_mmc_intf.h b/shared/drivers/sd_mmc_intf.h new file mode 100644 index 0000000..be0abf5 --- /dev/null +++ b/shared/drivers/sd_mmc_intf.h @@ -0,0 +1,68 @@ +#ifndef _SD_MMC_INTF_ +#define _SD_MMC_INTF_ + +// SD MMC Interface +// Define FUNCTIONS and stuff here + +/** + * @brief Selects device for use with the SD MMC driver. + * + * This function selects the device for use. This can mean a number of things, + * but the only thing the implementer needs to worry about is hardware selection. + * This means setting the CS pin low for SPI or + * + * @return 0 if successful, else return anything else. + * @todo implement mci support and spi support + */ +#define SD_MMC_INTF_SELECT_DEVICE() + +/** + * @brief Deselects device for use with the SD MMC driver. + * + * This function deselects the device for use. This can mean a number of things, + * but the only thing the implementer needs to worry about is hardware deselection. + * + * This means setting the CS pin high for SPI or + * @return 0 if successul, else return anything else. + * @todo implement mci support and mci support + */ +#define SD_MMC_INTF_DESELECT_DEVICE() + +/** + * @brief Reads bytes from device in the most primitive form. * + * + * This function reads bytes from the device. It is up to the implementer to simply read the bytes + * and return the number of bytes read. Only supports synchronous transactions currently. + * This assumes the implementer writes a dummy byte for initiating + * an spi read. The slave selection is handled by the driver. There is no need to include + * selecting the device in the read function. Doing so could actually interfere with the driver. + * + * @return The number of bytes read. Failed reads can be <= 0. + * @todo -- + */ +#define SD_MMC_INTF_READ(bytes, len) + +/** + * @brief Writes bytes from the device in the most primitive form. + * + * This function writes bytes to the device. Only supports synchronous transactions currently. + * The slave selection is handled by the driver. There is no need to include + * selecting the device in the read function. Doing so could actually interfere with the driver. + * + * @return The number of bytes written. Failed reads can be <= 0. + * @todo -- + */ +#define SD_MMC_INTF_WRITE(bytes, len) + +/** + * @brief Initializes hardware for the device. + * + * This function initializes the device. This initialization can be ignored if it is done by your HAL, + * but some stub at the very least needs to be provided. + * + * @return 0 if successful, anything else signifies failure + * @todo -- + */ +#define SD_MMC_INTF_INIT() + +#endif