diff --git a/src/apps/cam/camera_session.cpp b/src/apps/cam/camera_session.cpp
index f63fcb228519..43188133d9cb 100644
--- a/src/apps/cam/camera_session.cpp
+++ b/src/apps/cam/camera_session.cpp
@@ -97,7 +97,16 @@ CameraSession::CameraSession(CameraManager *cm,
 		std::string orientOpt = options_[OptOrientation].toString();
 		static const std::map<std::string, libcamera::Orientation> orientations{
 			{ "rot0", libcamera::Orientation::Rotate0 },
+			{ "rot90", libcamera::Orientation::Rotate90 },
 			{ "rot180", libcamera::Orientation::Rotate180 },
+			{ "rot270", libcamera::Orientation::Rotate270 },
+
+			{ "rot0mirror", libcamera::Orientation::Rotate0Mirror },
+			{ "rot90mirror", libcamera::Orientation::Rotate90Mirror },
+			{ "rot180mirror", libcamera::Orientation::Rotate180Mirror },
+			{ "rot270mirror", libcamera::Orientation::Rotate270Mirror },
+
+			/* Helpful aliases */
 			{ "mirror", libcamera::Orientation::Rotate0Mirror },
 			{ "flip", libcamera::Orientation::Rotate180Mirror },
 		};
diff --git a/src/apps/cam/main.cpp b/src/apps/cam/main.cpp
index fa266eca6d30..f1495a2db465 100644
--- a/src/apps/cam/main.cpp
+++ b/src/apps/cam/main.cpp
@@ -136,7 +136,10 @@ int CamApp::parseOptions(int argc, char *argv[])
 			 OptCamera);
 
 	parser.addOption(OptOrientation, OptionString,
-			 "Desired image orientation (rot0, rot180, mirror, flip)",
+			 "Desired image orientation. Supported values:\n"
+			 "- rot0, rot90, rot180, rot270,\n"
+			 "- rot0mirror, rot90mirror, rot180mirror, rot270mirror,\n"
+			 "- mirror (alias for rot0mirror), flip (alias for rot180mirror)",
 			 "orientation", ArgumentRequired, "orientation", false,
 			 OptCamera);
 #ifdef HAVE_KMS
