Sorry, I misunderstood. There may be a more succinct way to do this, but the way I like to specify the axes is by including a dummy dataframe in a blank geom as below. The alternative is to simply let the scales be "free" and allow ggplot to scale the axes to your data as in "facet_grid(cyl ~., scales = "free_y")".
cyl4 <- quantile(mtcars$hp[mtcars$cyl == 4], 0.9)
cyl6 <- quantile(mtcars$hp[mtcars$cyl == 6], 0.9)
cyl8 <- quantile(mtcars$hp[mtcars$cyl == 8], 0.9)
dummy <- data.frame(hp = c(0, cyl4, 0, cyl6, 0, cyl8), cyl = c(4, 6, 8),
mpg = rep(0, 6))
ggplot(mtcars, aes(x=mpg, y=hp)) +
geom_point() +
facet_grid(cyl ~., scales = "free_y") +
geom_blank(data = dummy)