It's explained on the doc page of GraphLayout. This documentation page is very long, and most of the information is under the Scope section, under specific layout methods.
Graph[{1 -> 2, 1 -> 3, 3 -> 4, 3 -> 5}, GraphLayout -> {"LayeredEmbedding", "RootVertex" -> 1, "Orientation" -> Left}] 
You do not need to use TreeGraph unless you also want to verify that the graph is indeed a tree. Graph will do. The key is GraphLayout.
You can also achieve the same with IGLayoutReingoldTilford from the IGraph/M package.
IGLayoutReingoldTilford[ Graph[{1 -> 2, 1 -> 3, 3 -> 4, 3 -> 5}], "RootVertices" -> {1}, "Rotation" -> Pi/2 ] 