commit 1afc2efad66588ce25d87f9d88f61478d41b8b7f
parent eab757754a93797ded02b3fc60687538e696ca74
Author: Virgil Dupras <hsoft@hardcoded.net>
Date: Sat, 24 Jun 2023 19:59:43 -0400
drv/rpi/emmc: fix PS leaks
tests/kernel now pass on the RPi.
Diffstat:
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/fs/drv/rpi/emmc.fs b/fs/drv/rpi/emmc.fs
@@ -65,8 +65,8 @@ extends Drive struct[ EMMCDrive
\ We assume the EMMC base clock to be 100 MHz. During identification, we need
\ 400 kHz, which means a 250 divider. Then, later, we go to a "normal" frequency
\ of 25 MHz, which means a 4 divider.
- : :init ( -- )
- SRST_HT EMMC_CONTROL1 ! \ reset
+ : :init ( self -- )
+ drop SRST_HT EMMC_CONTROL1 ! \ reset
100 for 1 delayus EMMC_CONTROL1 @ SRST_HT and not if break then next err then
250 clk! \ 400 kHz
INT_READ_READY INT_CMD_DONE or INT_ERROR_MASK or EMMC_IRPT_MASK !
@@ -74,10 +74,10 @@ extends Drive struct[ EMMCDrive
$50ff8000 acmd41 ACMD41_COMPLETE and if break then 400 delayus next
abort" CMD41 timeout" then
EMMC_RESP0 @ ACMD41_CCS and bool to ccs
- cmd2 cmd3 dup $ffff0000 and to rca
+ cmd2 cmd3 $ffff0000 and to rca
4 clk! \ 25 MHz
rca cmd7 ;
- : :new here $200 -1 Drive :new ,[ :[methods] ], move, ;
+ : :new $200 -1 Drive :new ,[ :[methods] ], move, ;
]struct
EMMCDrive :new structbind EMMCDrive emmc