-
Notifications
You must be signed in to change notification settings - Fork 667
Open
Description
We are currently working on a project where we would like to use SD1 as an EMIO but noticed no references to SD1 in the generation scripts. SD0 is handled as below in
# SDIO0 ------------------------------------------------------------------------------------
ps7_sdio0_pads = platform.request("ps7_sdio0", loose=True, reserve=self.reserve_pads)
if ps7_sdio0_pads is not None:
self.cpu_params.update(
o_SDIO0_CLK = ps7_sdio0_pads.clk,
i_SDIO0_CLK_FB = ps7_sdio0_pads.clk_fb,
o_SDIO0_CMD_O = ps7_sdio0_pads.cmd_o,
i_SDIO0_CMD_I = ps7_sdio0_pads.cmd_i,
o_SDIO0_CMD_T = ps7_sdio0_pads.cmd_t,
o_SDIO0_DATA_O = ps7_sdio0_pads.data_o,
i_SDIO0_DATA_I = ps7_sdio0_pads.data_i,
o_SDIO0_DATA_T = ps7_sdio0_pads.data_t,
o_SDIO0_LED = ps7_sdio0_pads.led,
o_SDIO0_BUSPOW = ps7_sdio0_pads.buspow,
o_SDIO0_BUSVOLT = ps7_sdio0_pads.busvolt,
)
# SDIO0_CD ---------------------------------------------------------------------------------
ps7_sdio0_cd_pads = platform.request("ps7_sdio0_cd", loose=True, reserve=self.reserve_pads)
if ps7_sdio0_cd_pads is not None:
self.cpu_params.update(i_SDIO0_CDN = ps7_sdio0_cd_pads.cdn)
# SDIO0_WP ---------------------------------------------------------------------------------
ps7_sdio0_wp_pads = platform.request("ps7_sdio0_wp", loose=True, reserve=self.reserve_pads)
if ps7_sdio0_wp_pads is not None:
self.cpu_params.update(i_SDIO0_WP = ps7_sdio0_wp_pads.wp)
Which we use perfectly fine for SD0 booting.
Is this a known gap that is planned to be supported?
Above snippet is from litex/litex/soc/cores/cpu/zynq7000/core.py
We were attempting to integrate SD1 using:
"PCW_SD1_PERIPHERAL_ENABLE" : "1",
"PCW_SD1_SD1_IO" : "EMIO",
"PCW_SD1_GRP_CD_ENABLE" : "0",
"PCW_SD1_GRP_WP_ENABLE" : "0",
sd1_pads = platform.request("sd",1)
It could also be a misunderstanding in how it should be integrated though?
Thanks,
Glenn
Metadata
Metadata
Assignees
Labels
No labels