OK, at first this sounds like an obvious and serious design error. But I'm trying to figure out muxing the SERDES signals on a PCI-Express Mini card, such as WiFi cards in laptops and mSATA cards in laptops, to make a dual-purpose autodetecting slot. While I haven't yet got the spec to see if there's a detect pin to control the mux, I'm pondering an audomatic software solution if no mode detect pin exists.
Do PCI-Express enumeration with the SERDES mux set to PCI-Express. If something is found in this slot, then we're done.
If nothing is found in this slot, it's either empty or an mSATA, as I don't expect a SATA device to respond to a PCI-Express scan, at least not in an understandable fashion, so the PCI-Express root controller will ignore it. So use a GPIO to swap the SERDES mux over to the SATA signals, and try to enumerate it from a SATA controller. If something is found, great, we're done.
If at this point, nothing was found by the SATA controller, then the slot is empty.
If one of the two controllers found a usable device, then it should be working fine.
Of course this depends on neither signalling type being damaging to the other kind of device, and so I am here with my question. Does one of these two things run at a higher voltage that would damage the other? Or use packets which would confuse and somehow damage a device of the other type by doing something not part of it's standard and very unexpected from being designed to that other standard?
Or would everything be OK, perhaps confusing the chip but in a non-damaging fashion, and things would work great again when the mux goes over to the correct connection for that device?
I am of course ignoring the other similar shape/same connector things such as the eeebook cards and whatever else is not at all close, but it seems the PCI-Express and mSATA may be close enough to do this autodetect/switch/autodetect sequence.
I'm looking at SERDES muxes such as TI HD3SS3415 or TI HD3SS3412 or Pericom PI2USB3212 signal switches. These are rated for higher than USB3 Superspeed and PCI-Express Gen2 signalling, and I'd imagine that'd be fine for mSATA 3Gbps as well.