After recollecting all rumours, this is what the course will look like:
Stage 1: Puerto Banús (ITT/TTT)
Stage 2: Alhaurín de la Torre - Caminito del Rey (Cat2 MTF)
Stage 3: Mijas - Málaga (flat)
Stage 4: Estepona - Vejer de la frontera (HTF)
Stage 5: Sevilla??? - Córdoba???
Stage 6: Cordoba??? - Jaén??? (hilly?)
Stage 7: Jaen??? - Granada??? (hilly?, mountain?)
Stage 8: ??? - Murcia (after cat2 Cresta del Gallo)
Stage 9: ??? - Cumbre del Sol (Cat2 MTF)
Stage 10: Valencia - Castellón (after cat2 Desierto de las Palmas)
1st rest day
Stage 11: Andorra mountain stage (~4500m of climbing, MTF)
Stage 12: Andorra - somewhere in Lleida or Zaragoza???.
Stage 13: ??? - Tarazona (rolling terrain stage around Sierra del Moncayo)
Stage 14: Vitoria - Fuente del Chivo (MTF, single climb)
Stage 15: Comillas - Jitu de Escarandi (MTF, probably preceded by a few cat3 or cat2 climbs far from the finish)
Stage 16: Luarca - Ermita de Alba (~4500m of climbing , MTF)
2nd rest day
Stage 17: Burgos ITT (~40kms, flat, through the climb to the castle)
Stage 18: Roa de Duero - Valladolid (flat, windy???)
Stage 19: Medina del Campo - Ávila (hilly???)
Stage 20: Sierra de Guadarrama (mountain, downhill finish)
Stage 21: Madrid parade (flat)
There are still three unknown stages in the first week, but we know they will visit the provinces of Sevilla, Córdoba, Jaén and Granada.
There are seven confirmed uphill finishes out of nine announced. I guess that at least one of the remaining ones will be somewhere in Jaén or Granada. If there isn't any uphill finish after the ITT, the other one might be in stage 12.
Trobaniello has been known to be a hoax: the Asturian stage finishes had been decided weeks before they were announced. The mention of unpaved roads dissapeared from all sources after that announcement.