diff --git a/src/apps/cam/camera_session.cpp b/src/apps/cam/camera_session.cpp
index 8447f932dfc7..d78ab2c1834c 100644
--- a/src/apps/cam/camera_session.cpp
+++ b/src/apps/cam/camera_session.cpp
@@ -165,7 +165,8 @@ void CameraSession::listProperties() const
 		const ControlId *id = properties::properties.at(key);
 
 		std::cout << "Property: " << id->name() << " = "
-			  << value.toString() << std::endl;
+			  << value.toString()
+			  << (id->required() ? " [REQUIRED]" : "") << std::endl;
 	}
 }
 
diff --git a/src/libcamera/property_ids_core.yaml b/src/libcamera/property_ids_core.yaml
index 834454a4e087..f9e82c421693 100644
--- a/src/libcamera/property_ids_core.yaml
+++ b/src/libcamera/property_ids_core.yaml
@@ -8,6 +8,7 @@ vendor: libcamera
 controls:
   - Location:
       type: int32_t
+      required: true
       description: |
         Camera mounting location
       enum:
@@ -29,6 +30,7 @@ controls:
 
   - Rotation:
       type: int32_t
+      required: true
       description: |
         The camera physical mounting rotation. It is expressed as the angular
         difference in degrees between two reference systems, one relative to the
