I think everyone here seems to have missed the real news here: the chipset is all PCIe 2.0. There is no PCIe 3.0 support on any of these chipsets which is very 2012. Based on some motherboard articles released today, it looks like this chart was accurate. If you want your PCIe x4 M.2 drive to work you get one graphics card and the M.2 runs off the other 4 CPU lanes. It looks like the chipset also only supports 4 SATA ports. What is confusing is the * saying if SATA is running you drop to 18 lanes from the CPU. That only leaves x2 for your M.2? Or are 4 SATA ports on the chipset and 2 on the CPU?
One of AMD's biggest plus points was their motherboard design allowing flexible lanes. What is with this cut down stuff?
For anyone wondering what the mainstream Intel Z270 offers for chipset lanes, here you go:
http://www.intel.com/content/dam/ww...ram-16x9.png.rendition.intel.web.1072.603.png
It's all quite poorly explained and I've seen half a dozen different comparisons which all are wrong to a degree.
For Ryzen CPU's you're looking at a total of 24 PCIe 3.0 lanes. 16 of those are for graphics, 4 of those are connecting to the chipset.
The remaining 4 lanes can be either 1x M.2 (four lanes), 2 SATA ports and 2 PCIe 3.0 lanes, or 2 SATA ports and one M.2 (two lanes).
The CPU's also have support for four USB 3.0 (3.1 G1) ports.
The X370 chipset connects as mentioned with 4 PCIe 3.0 lanes to the CPU. It gives you 8 lanes of PCIe 2.0 which sort of makes sense, as that adds up in terms of the PCIe bandwidth available. However, it also adds 4 SATA ports, 2 SATA Express (why AMD, why???), although if SATA express isn't used, apparently you can then somehow recover 2 PCIe 3.0 lanes, but I have not seen this on any motherboards so far. Then you also get 2 USB 3.1 10Gbps (G2), 6 USB 3.0 (3.1 G1) ports and 6 USB 2.0 ports.
Somehow the X370 chipset also allows the CPU to split the bandwidth for the x16 slot into an 8/8 configuration, much in the same way Intel's Z chipsets allow for this.
What a lot of board makers have done, is add an ASMedia SATA controller for additional SATA ports, especially on the B350 chipset which only supports two SATA ports. If the SATA ports from the CPU are implemented, they're usually disabled if an M.2 drive is inserted into the board, check the motherboard manuals for specific before buying.