Other Parts Discussed in Thread: SK-AM62B-P1, SYSCONFIG, CC3300
Tool/software:
Hi TI Experts,
Can you provide any available design guidelines for interfacing embedded SDIO device(s) using MMC1/MMC2 interface signals
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software:
Hi TI Experts,
Can you provide any available design guidelines for interfacing embedded SDIO device(s) using MMC1/MMC2 interface signals
Hi Board designers
Regarding pulls for SDIO
I’m not expecting any embedded SDIO device to provide a recommendation on pulls because they assume the host powers up driving the signals, which is not the case for our device. The system designer needs to do understand how each device connected to a signal works and determine if pulls are needed.
Refer to the SK schematics that has provision for M.2 connector with MDIO interface.
Thank you for the interest.
The FAQ is being updated.
Please review the FAQ frequently for updates.
Regards,
Sreenivasa
Hi Board designers
Input related to series resistor on the clock.
Peripheral Clock Output Series Resistor
Series resistor on the clock output near to the processor clock output (MCSPI, MCASP) pins are recommended for possible reflection control (signal distortion) at the source of the clock output since the clock is also being used for retiming.
For MMC0, MMC1, MMC2, OSPI0, GPMC0 interfaces, an unbonded pad is used (internal) for retiming. We do not use the same clock that is sent across the PCB to the attached device for our capture clock. We branch the output clock into two paths inside the device, where the clock is sent to two separate IO cells. One IO cell is connected to a package ball, which is used to source a clock to the attached device. The other IO cell is unbounded (not connected to any package ball). The clock we use as the receive capture clock is sent out through the unbounded IO cell and looped back into the device before being used as the capture clock. We do this so the clock has the same delay that is inserted on the clock going out to the attached device and the same delay that is inserted on the data coming back in from the attached device. The unbonded IO cell pad never experiences the voltage step that is produced on the source end of a PCB signal trace. A low value series resistor (0Ω to start) is recommended (provisioned) to control possible signal reflections (signal integrity purpose).
MMC1/MMC2 SDIO Drive Strength
The drive strength of the SDIO buffer types associated with the MMC1 signals is fixed to 40 ohms.
Regards,
Sreenivasa
Hi Board Designers,
E2Es for reference:
MMCSD2 is basically another instance of MMCSD1 with respect to it supporting SD Card and SDIO devices operating in one of the data transfer modes listed in the datasheet.
Please help me understand if there are use cases to use SDCD or SDWO for embedded SDIO devices that you may have come across.
It may be necessary to tie-off the SDCD input when communicating with an embedded SDIO device if the host controller is expecting the input to be in a specific logic state. You may need to ask the software team if they have any specific expectations for these inputs for the embedded SDIO use case.
I’m expecting them to say they do not distinguish between an SD Card or an embedded device. I suspect the customer is required to define the attached device as a non-UHS-I device in the device tree file so software doesn’t try to use one of the faster UHS-I data transfer rates, which are not supported by embedded SDIO devices. Software simply treats it like an SD Card. The only thing that may be different is the IO voltage. An embedded SDIO device is allowed to operate with fixed 1.8V or 3.3V IO supply, so the PCB designer just needs to connect the same power supply to the IO power rails of both devices. Software doesn’t care what the IO voltage is in this embedded SDIO use case.
The IO supply for the MMC2 port on the SK-AM62B-P1 board is connected to a fixed 1.8V supply. Therefore, it is not possible for this port to communicate with an SD Card since SD Cards require communications to begin with 3.3V signaling. The MMC2 port on AM62x device was primary provided for connecting an embedded SDIO device like a Wi-Fi device that operates with a fixed IO voltage. The SK-AM62B-P1 board was designed to use a fixed IO voltage of 1.8V on MMC2, but the MMC2 port also supports a fixed IO voltage of 3.3V.
I think they are typically about 40 ohms, but the customer should be using the AM62Ax IBIS models to determine the drive strength of the pins.
The drive strength must remain in the default state since this is the only condition used during timing closure of the peripherals.
We do not define output rise/fall times because these parameters depend on the actual system implementation. You will need to use the IBIS model for the respective AM64x pin and simulate the rise/fall times based on your actual PCB load.
The IOs associated with the AM64x MMC1 port has nominal source impedance of 40 ohms. This should have been reflected in the AM64x IBIS model.
The best way to determine optimum PCB traces impedance is to use the IBIS model from AM64x and the attached device in signal quality simulations. These simulations could be used to determine which specific PCB implementation provides adequate signal quality and signal rise/fall times (slew rate). I'm not an IBIS model expert, but fairly sure there is a model for each valid IO operating voltage. Let me know if that is not the case and I will assign this thread to our IBIS model expert.
The IBIS model is the only way we define IO output characteristics.
There are two options for changing the operating frequency of the MMC1 port. The MMCSD1 host controller has internal clock dividers that can be used to reduce the clock frequency of the MMC1 port, but these clock dividers may not provide much resolution in frequency changes. The other option would be to reduce the MMCSD1 function clock frequency, which may impact other subsystems that share the same clock domain inside the device. You may want to use the Clock Tree tool function in the SYSCONFIG tool to understand the internal clock structure of the AM64x device.
(+) AM6411: What's the right Spec. for SDIO? - Processors forum - Processors - TI E2E support forums
(+) AM623: SDIo Electrical Question - Processors forum - Processors - TI E2E support forums
customer needs to design a power supply implementation that meets their system needs and remains compliant to the SD Card and AM62x requirements. In summary, they need to provide a way to cycle power to the SD Card and associated AM62x MMC IO power solution. The IO power solution needs to default to 3.3V with the ability for software to change it to 1.8V when the SD Card is changed to operate at 1.8V.
Please refer to sdhci1 or sdhci2 node (depending on which interface the CC3300 device is attached to) in kernel device tree file k3-am62-main.dtsi. Please remove all properties 'ti,otap-del-sel-*' except ti,otap-del-sel-legacy and ti,otap-del-sel-sd-hs. This will ensure the device is only enumerated up to High Speed mode.
The MMC2_SDCD and MMC2_SDWP pins are powered from the same power rail as the other MMC2 pins. However, you should not use these pins for the MMC2_SDCD and MMC2_SDWP signal functions if you are trying to connect an UHS-I SD Card to MMC2. For this use case, these signal functions would need to implemented using one of the other pin multiplexing options that uses an IO cell powered from a fixed voltage source. The MMC2 assignments are different because we only expected MMC2 to be used with on-board fixed voltage SDIO devices similar to WiFi or Bluetooth transceivers.
Regards,
Sreenivasa