# sdio-device **Repository Path**: zzgnew/sdio-device ## Basic Information - **Project Name**: sdio-device - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-28 - **Last Updated**: 2025-02-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README nysa-sdio-device ================ SDIO device stack written in Verilog Status: TLDR Version: Still designing and writing verilog cores Designed to interface with SDIO Hosts. The associate Linux driver is at: https://github.com/CospanDesign/nysa-sdio-linux-driver Code Organization: sdio_configuration.json (Project configuration) rtl/ sdio_stack.v (Top File that applications interface with) sdio_defines.v (Set defines for the stack are here) generic/ (Small modules that are used throughout the code are here) crc7.v (7-bit CRC Generator) crc16.v (16-bit CRC Generator) control/ (SDIO Card Controller) sdio_card_control.v cia/ (Common Information Area) sdio_cia.v (This is where the SDIO card gets configured and contains information for the host) sdio_cccr.v (Card Common Control Register) sdio_csi.v (Card Information Structure) sdio_fbr.v (Function Basic Registers) function/ (Function templates are here, use the function template to write your own interface) my_function/ my_function.v (Demo Function Interface) my_function_defines.v (Demo Function Interface Defines) phy/ (Physical level interface, these toggle the pins for both the command and data lines) sdio_phy.v (Main phy interface, all other phys are called through here) sdio_phy_sd_1_bit.v (1 data bit used with SD protocol) sdio_phy_sd_4_bit.v (4 data bits used with SD protocol) sdio_phy_spi.v (SPI based interface on SD protocol) functions/ my_function/ my_function.v (SDIO Function that is a nysa host interface) my_function_defines.v (Defines) sim/ sdio_host/ sdio_host.v (Used to exercise the sdio_device stack, this will eventually become it's own repo) Instructions: To generate your own SDIO device 1. Fork this repository 2. Modify the configuration file 'sdio_configuration.json' The file is already populated but you must modify it to suit your design a. Select a vendor id to use... this sucks because you have to pay for this :( b. Select a product id to use... see sucky note above c. Populate your function behavior within the configuration file 3. Write your specific functions