(01-17-2018, 12:47 PM)dkryder Wrote: i think the rock64 page on the pine64 website has some documentation that includes a technical reference and a rk3328_box_ref_v10_20170224.pdf which on page 4 shows that vcc_io that goes to tf [sd] card is 3.3v and emmc is 1.8v. as zalius said the sd card is locked at 3.3v and can not switch to SDR104.Yeah, you have not looked, but you are pointing others spend more time reading the documents. As I've said Rockchip didn't provide them.
anyway, if you want to know about the rock64 spend some time reading the documents. i have not looked at the 3399 but it could be that it has both 3.3v & 1.8v in ,(or maybe just 1.8V)and therfore can do the SDR104.
But for you, to not post BS, spend some time and read the whole quote below. before teaching others, this is from SD specification, page 33. Specifically regarding UHS-I cards OP asked.
Quote:After power cycle, card is in 3.3V signaling mode. The first CMD0 selects the bus mode; SD mode or SPI mode. 1.8V signaling mode can be entered only in SD mode. Once the card enters 1.8V signaling mode, the card cannot be switched to SPI mode or 3.3V signaling without power cycle. If the card receives CMD0, card returns to Idle state but still work with SDR12 timing. UHS-I is provided in SD mode but not in SPI mode.
As higher bus speed requires low level signaling, UHS-I adopts 1.8V signaling level for SDR50, DDR50 and SDR104 modes. Still card is supplied with 3.3V by the host and 1.8V signaling level for SDCLK, CMD and DAT[3:0] lines is converted from 3.3V power line. To avoid voltage mismatch between host and card, signaling level is changed by voltage switch sequence at the initialization. The host and card communicate using ACMD41 whether host and card support 1.8V signaling mode. Support of 1.8V signaling both host and card means UHS-I can be used. CMD11 invokes the voltage switch sequence. The card enters UHS-I mode and card input and output timings are changed (SDR12 in default) when the voltage switch sequence is completed successfully. (Refer to Section 4.2.4 for more detail.)
Only 4-bit bus mode is supported in UHS-I except CMD42. If the card is locked, host needs to unlock the card by CMD42 in 1-bit mode and then needs to issue ACMD6 to change 4-bit bus mode. Operating in 1-bit mode is not assured.
For the OP, looks like the driver in linux on Rock64 doesn't do all the work needed to support higher speed modes of your cards. SD controller is not to blame. And yes, it is inside of the SoC.
But again who would say how it is? Who did see RK3328 TRM part 2? I didn't. Maybe the controller there doesn't support UHS-I modes? Ask rockchip.
ANT - my hobby OS for x86 and ARM.