-# ATM no cluster map viewer is supported with the older navigation application.
-MAPVIEWER = "${@bb.utils.contains("PREFERRED_RPROVIDER_virtual/navigation", "ondemandnavi", "tbtnavi", "",d)}"
-CLUSTER_SUPPORT = "${@bb.utils.contains("DISTRO_FEATURES", "agl-cluster-demo-support", "${MAPVIEWER} cluster-demo-network-config", "",d)}"
-
-# Preload poi API key for demo if requested, and potentially maps for older
-# navigation application if it is configured.
-DEMO_MAPS_LOCALE ?= "uk"
-DEMO_PRELOAD_MAPS = "${@bb.utils.contains("PREFERRED_RPROVIDER_virtual/navigation", "navigation", " navigation-maps-${DEMO_MAPS_LOCALE}", "",d)}"
-DEMO_PRELOAD = "${@bb.utils.contains("DISTRO_FEATURES", "agl-demo-preload", " ${DEMO_PRELOAD_MAPS} poiapp-api-key", "",d)}"
-
-RDEPENDS_${PN}_append = " \
+CLUSTER_SUPPORT_PACKAGES = " \
+ tbtnavi \
+ cluster-demo-network-config \
+"
+CLUSTER_SUPPORT = "${@bb.utils.contains("AGL_FEATURES", "agl-demo-cluster-support", "${CLUSTER_SUPPORT_PACKAGES}", "",d)}"
+
+# Hook for demo platform configuration
+# ATM used for:
+# 1) Adding udev configuration and scripts for supporting USB attached
+# I2C devices for RTC and HVAC LED support.
+DEMO_UNIT_CONF ?= "demo-i2c-udev-conf"
+
+# Preload only if agl-demo-preload is set
+DEMO_PRELOAD = "${@bb.utils.contains("AGL_FEATURES", "agl-demo-preload", "${DEMO_UNIT_CONF}", "",d)}"
+
+RDEPENDS:${PN}:append = " \
+ launcher \