1 root { 2 device_info { 3 match_attr = "hdf_manager"; 4 template host { 5 hostName = ""; 6 priority = 100; 7 uid = ""; 8 gid = [""]; 9 caps = [""]; 10 critical = []; 11 template device { 12 template deviceNode { 13 policy = 0; 14 priority = 100; 15 preload = 0; 16 permission = 0664; 17 moduleName = ""; 18 serviceName = ""; 19 deviceMatchAttr = ""; 20 } 21 } 22 } 23 platform :: host { 24 hostName = "sample_host"; 25 priority = 50; 26 gid = ["sample_host", "uhdf_driver"]; 27 sample_device :: device { 28 device0 :: deviceNode { 29 policy = 2; 30 priority = 100; 31 preload = 2; 32 moduleName = "libsample_driver.z.so"; 33 serviceName = "sample_driver_service"; 34 } 35 } 36 } 37 bluetooth :: host { 38 hostName = "blue_host"; 39 priority = 50; 40 caps = ["NET_ADMIN"]; 41 bluetooth_device :: device { 42 device0 :: deviceNode { 43 policy = 2; 44 priority = 100; 45 moduleName = "libbluetooth_hci_hdi_driver.z.so"; 46 serviceName = "hci_interface_service"; 47 } 48 } 49 } 50 audio_bluetooth :: host { 51 hostName = "a2dp_host"; 52 priority = 50; 53 bluetooth_device :: device { 54 device0 :: deviceNode { 55 policy = 2; 56 priority = 100; 57 preload = 2; 58 moduleName = "libaudio_bluetooth_hdi_adapter_server.z.so"; 59 serviceName = "audio_bluetooth_hdi_service"; 60 } 61 } 62 } 63 usb :: host { 64 hostName = "usb_host"; 65 priority = 50; 66 caps = ["DAC_OVERRIDE"]; 67 usb_pnp_manager_device :: device { 68 device0 :: deviceNode { 69 policy = 2; 70 priority = 70; 71 moduleName = "libusb_pnp_manager.z.so"; 72 serviceName = "usb_pnp_manager"; 73 } 74 } 75 usbfn_device :: device { 76 device0 :: deviceNode { 77 policy = 2; 78 priority = 80; 79 moduleName = "libusbfn_master.z.so"; 80 serviceName = "usbfn_master"; 81 deviceMatchAttr = "usbfn_master_driver"; 82 } 83 } 84 ecm_device :: device { 85 device0 :: deviceNode { 86 policy = 2; 87 priority = 81; 88 moduleName = "libusbfn_cdcecm.z.so"; 89 serviceName = "usbfn_cdcecm"; 90 deviceMatchAttr = "usbfn_cdcecm_driver"; 91 } 92 } 93 acm_device :: device { 94 device0 :: deviceNode { 95 policy = 2; 96 priority = 100; 97 moduleName = "libusbfn_cdcacm.z.so"; 98 serviceName = "usbfn_cdcacm"; 99 deviceMatchAttr = "usbfn_cdcacm_driver"; 100 } 101 } 102 usb_device :: device { 103 device0 :: deviceNode { 104 policy = 2; 105 priority = 100; 106 moduleName = "libusb_driver.z.so"; 107 serviceName = "usb_interface_service"; 108 } 109 } 110 } 111 power :: host { 112 hostName = "power_host"; 113 priority = 50; 114 uid = "power_host"; 115 gid = ["power_host", "system", "log"]; 116 caps = ["BLOCK_SUSPEND"]; 117 power_device :: device { 118 device0 :: deviceNode { 119 policy = 2; 120 priority = 100; 121 moduleName = "libpower_driver.z.so"; 122 serviceName = "power_interface_service"; 123 } 124 } 125 battery_device :: device { 126 device0 :: deviceNode { 127 policy = 2; 128 priority = 100; 129 moduleName = "libbattery_driver.z.so"; 130 serviceName = "battery_interface_service"; 131 } 132 } 133 thermal_device :: device { 134 device0 :: deviceNode { 135 policy = 2; 136 priority = 100; 137 moduleName = "libthermal_driver.z.so"; 138 serviceName = "thermal_interface_service"; 139 } 140 } 141 } 142 wlan :: host { 143 hostName = "wifi_host"; 144 priority = 50; 145 gid = ["wifi_host", "wifi_group"]; 146 wifi_device :: device { 147 device0 :: deviceNode { 148 policy = 2; 149 priority = 100; 150 moduleName = "libwifi_hdi_c_device.z.so"; 151 serviceName = "wlan_interface_service"; 152 } 153 } 154 } 155 audio :: host { 156 hostName = "audio_hdi_server_host"; 157 priority = 50; 158 gid = ["audio_hdi_server_host", "uhdf_driver", "root", "audio"]; 159 audio_device :: device { 160 device0 :: deviceNode { 161 policy = 2; 162 priority = 100; 163 moduleName = "libhdi_audio_primary_server.z.so"; 164 serviceName = "audio_hdi_service"; 165 } 166 } 167 audio_usb_device :: device { 168 device0 :: deviceNode { 169 policy = 2; 170 priority = 100; 171 moduleName = "libhdi_audio_usb_server.z.so"; 172 serviceName = "audio_hdi_usb_service"; 173 } 174 } 175 audio_a2dp_device :: device { 176 device0 :: deviceNode { 177 policy = 2; 178 priority = 100; 179 moduleName = "libhdi_audio_a2dp_server.z.so"; 180 serviceName = "audio_hdi_a2dp_service"; 181 } 182 } 183 audio_pnp_device :: device { 184 device0 :: deviceNode { 185 policy = 2; 186 priority = 110; 187 moduleName = "libhdi_audio_pnp_server.z.so"; 188 serviceName = "audio_hdi_pnp_service"; 189 } 190 } 191 idl_audio_device :: device { 192 device0 :: deviceNode { 193 policy = 2; 194 priority = 100; 195 moduleName = "libaudio_manager_service.z.so"; 196 serviceName = "audio_manager_service"; 197 } 198 } 199 } 200 hdi_server :: host { 201 hostName = "camera_host"; 202 priority = 50; 203 gid = ["camera_host", "uhdf_driver", "vendor_mpp_driver"]; 204 camera_device :: device { 205 device0 :: deviceNode { 206 policy = 2; 207 priority = 100; 208 moduleName = "libcamera_host_service_1.0.z.so"; 209 serviceName = "camera_service"; 210 } 211 } 212 display_device :: device { 213 device0 :: deviceNode { 214 policy = 2; 215 priority = 120; 216 moduleName = "libhdi_media_layer_service.z.so"; 217 serviceName = "hdi_media_layer_service"; 218 } 219 } 220 } 221 input_hal :: host { 222 hostName = "input_user_host"; 223 priority = 50; 224 gid = ["input_user_host", "uhdf_driver"]; 225 input_device :: device { 226 device0 :: deviceNode { 227 policy = 2; 228 priority = 150; 229 moduleName = "libhdf_input_hotplug.z.so"; 230 serviceName = "input_service"; 231 } 232 } 233 input_hdi_device :: device { 234 device0 :: deviceNode { 235 policy = 2; 236 priority = 100; 237 moduleName = "libinput_driver.z.so"; 238 serviceName = "input_interfaces_service"; 239 } 240 } 241 } 242 243 display_gralloc :: host { 244 hostName = "disp_gralloc_host"; 245 priority = 40; 246 input_device :: device { 247 device0 :: deviceNode { 248 policy = 2; 249 priority = 160; 250 moduleName = "libhdi_display_gralloc_stub.z.so"; 251 serviceName = "hdi_display_gralloc_service"; 252 } 253 } 254 } 255 sensor :: host { 256 hostName = "sensor_host"; 257 priority = 50; 258 gid = ["sensor_host", "uhdf_driver"]; 259 sensor_device :: device { 260 device0 :: deviceNode { 261 policy = 2; 262 priority = 100; 263 moduleName = "libsensor_driver.z.so"; 264 serviceName = "sensor_interface_service"; 265 } 266 } 267 } 268 vibrator :: host { 269 hostName = "vibrator_host"; 270 priority = 50; 271 vibrator_device :: device { 272 device0 :: deviceNode { 273 policy = 2; 274 priority = 100; 275 moduleName = "libvibrator_driver.z.so"; 276 serviceName = "vibrator_interface_service"; 277 } 278 } 279 } 280 light :: host { 281 hostName = "light_host"; 282 priority = 50; 283 light_device :: device { 284 device0 :: deviceNode { 285 policy = 2; 286 priority = 100; 287 moduleName = "liblight_driver.z.so"; 288 serviceName = "light_interface_service"; 289 } 290 } 291 } 292 293 codec :: host { 294 hostName = "codec_host"; 295 priority = 50; 296 gid = ["codec_host", "uhdf_driver", "vendor_mpp_driver"]; 297 codec_omx_device :: device { 298 device0 :: deviceNode { 299 policy = 2; 300 priority = 100; 301 moduleName = "libcodec_hdi_omx_server.z.so"; 302 serviceName = "codec_hdi_omx_service"; 303 deviceMatchAttr = "codec_component_capabilities"; 304 } 305 } 306 codec_device :: device { 307 device0 :: deviceNode { 308 policy = 2; 309 priority = 100; 310 moduleName = "libcodec_server.z.so"; 311 serviceName = "codec_hdi_service"; 312 deviceMatchAttr = "media_codec_capabilities"; 313 } 314 } 315 } 316 317 distributed_camera_host :: host { 318 hostName = "dcamera_host"; 319 priority = 50; 320 distributed_camera_device :: device { 321 device0 :: deviceNode { 322 policy = 2; 323 priority = 100; 324 preload = 2; 325 moduleName = "libdistributed_camera_host_config.z.so"; 326 serviceName = "distributed_camera_service"; 327 } 328 device1 :: deviceNode { 329 policy = 2; 330 priority = 100; 331 preload = 2; 332 moduleName = "libdistributed_camera_provider_config.z.so"; 333 serviceName = "distributed_camera_provider_service"; 334 } 335 } 336 } 337 face_auth :: host { 338 hostName = "face_auth_host"; 339 priority = 50; 340 uid = "useriam"; 341 gid = ["useriam"]; 342 face_auth_device :: device { 343 device0 :: deviceNode { 344 policy = 2; 345 priority = 200; 346 moduleName = "libface_auth_driver.z.so"; 347 serviceName = "face_auth_interface_service"; 348 } 349 } 350 } 351 352 pin_auth :: host { 353 hostName = "pin_auth_host"; 354 priority = 50; 355 uid = "useriam"; 356 gid = ["useriam"]; 357 pin_auth_device :: device { 358 device0 :: deviceNode { 359 policy = 2; 360 priority = 200; 361 moduleName = "libpin_auth_driver.z.so"; 362 serviceName = "pin_auth_interface_service"; 363 } 364 } 365 } 366 367 user_auth :: host { 368 hostName = "user_auth_host"; 369 priority = 50; 370 uid = "useriam"; 371 gid = ["useriam"]; 372 user_auth_device :: device { 373 device0 :: deviceNode { 374 policy = 2; 375 priority = 200; 376 moduleName = "libuser_auth_driver.z.so"; 377 serviceName = "user_auth_interface_service"; 378 } 379 } 380 } 381 382 fingerprint_auth :: host { 383 hostName = "fingerprint_auth_host"; 384 priority = 50; 385 uid = "useriam"; 386 gid = ["useriam"]; 387 fingerprint_device :: device { 388 device0 :: deviceNode { 389 policy = 2; 390 priority = 200; 391 moduleName = "libfingerprint_auth_driver.z.so"; 392 serviceName = "fingerprint_auth_interface_service"; 393 } 394 } 395 } 396 397 location :: host { 398 hostName = "location_host"; 399 priority = 50; 400 uid = "location_host"; 401 gid = ["location_host"]; 402 location_gnss_device :: device { 403 device0 :: deviceNode { 404 policy = 2; 405 priority = 100; 406 preload = 2; 407 moduleName = "liblocation_gnss_hdi_driver.z.so"; 408 serviceName = "gnss_interface_service"; 409 } 410 } 411 location_agnss_device :: device { 412 device0 :: deviceNode { 413 policy = 2; 414 priority = 100; 415 preload = 2; 416 moduleName = "liblocation_agnss_hdi_driver.z.so"; 417 serviceName = "agnss_interface_service"; 418 } 419 } 420 location_geofence_device :: device { 421 device0 :: deviceNode { 422 policy = 2; 423 priority = 100; 424 preload = 2; 425 moduleName = "liblocation_geofence_hdi_driver.z.so"; 426 serviceName = "geofence_interface_service"; 427 } 428 } 429 } 430 partitionslot :: host { 431 hostName = "partitionslot_host"; 432 priority = 100; 433 uid = "useriam"; 434 gid = ["useriam", "update"]; 435 caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH"]; 436 partitionslot_device :: device { 437 device0 :: deviceNode { 438 policy = 2; 439 priority = 100; 440 preload = 2; 441 moduleName = "libpartitionslot_driver.z.so"; 442 serviceName = "partition_slot_service"; 443 } 444 } 445 } 446 } 447} 448