1 root {
2    device_info {
3        match_attr = "hdf_manager";
4        template host {
5            hostName = "";
6            priority = 100;
7            template device {
8                template deviceNode {
9                    policy = 0;
10                    priority = 100;
11                    preload = 0;
12                    permission = 0664;
13                    moduleName = "";
14                    serviceName = "";
15                    deviceMatchAttr = "";
16                }
17            }
18        }
19        base :: host {
20            hostName = "base_host";
21            priority = 50;
22            device_support :: device {
23                device0 :: deviceNode {
24                    policy = 2;
25                    priority = 10;
26                    permission = 0644;
27                    moduleName = "HDF_KEVENT";
28                    serviceName = "hdf_kevent";
29                }
30            }
31        }
32        platform :: host {
33            hostName = "platform_host";
34            priority = 50;
35            device_gpio :: device {
36                device0 :: deviceNode {
37                    policy = 2;
38                    priority = 10;
39                    permission = 0644;
40                    moduleName = "HDF_PLATFORM_GPIO_MANAGER";
41                    serviceName = "HDF_PLATFORM_GPIO_MANAGER";
42                }
43                device1 :: deviceNode {
44                    policy = 0;
45                    priority = 10;
46                    permission = 0644;
47                    moduleName = "linux_gpio_adapter";
48                    deviceMatchAttr = "linux_gpio_adapter";
49                }
50            }
51            device_watchdog :: device {
52                device0 :: deviceNode {
53                    policy = 1;
54                    priority = 20;
55                    permission = 0644;
56                    moduleName = "HDF_PLATFORM_WATCHDOG";
57                    serviceName = "HDF_PLATFORM_WATCHDOG_0";
58                    deviceMatchAttr = "rockchip_rk3568_watchdog_0";
59                }
60            }
61           device_rtc :: device {
62                device0 :: deviceNode {
63                    policy = 2;
64                    priority = 30;
65                    permission = 0644;
66                    moduleName = "HDF_PLATFORM_RTC";
67                    serviceName = "HDF_PLATFORM_RTC";
68                    deviceMatchAttr = "rockchip_rk3568_rtc";
69                }
70            }
71            device_uart :: device {
72                device0 :: deviceNode {
73                    policy = 2;
74                    priority = 40;
75                    permission = 0644;
76                    moduleName = "HDF_PLATFORM_UART";
77                    serviceName = "HDF_PLATFORM_UART_0";
78                    deviceMatchAttr = "rockchip_rk3568_uart_0";
79                }
80                device1 :: deviceNode {
81                    policy = 2;
82                    permission = 0644;
83                    priority = 40;
84                    moduleName = "HDF_PLATFORM_UART";
85                    serviceName = "HDF_PLATFORM_UART_1";
86                    deviceMatchAttr = "rockchip_rk3568_uart_1";
87                }
88                device2 :: deviceNode {
89                    policy = 2;
90                    permission = 0644;
91                    priority = 40;
92                    moduleName = "HDF_PLATFORM_UART";
93                    serviceName = "HDF_PLATFORM_UART_3";
94                    deviceMatchAttr = "rockchip_rk3568_uart_3";
95                }
96            }
97            device_i2c :: device {
98                device0 :: deviceNode {
99                    policy = 2;
100                    priority = 50;
101                    permission = 0644;
102                    moduleName = "HDF_PLATFORM_I2C_MANAGER";
103                    serviceName = "HDF_PLATFORM_I2C_MANAGER";
104                    deviceMatchAttr = "hdf_platform_i2c_manager";
105                }
106                device1 :: deviceNode {
107                    policy = 0;
108                    priority = 55;
109                    permission = 0644;
110                    moduleName = "linux_i2c_adapter";
111                    deviceMatchAttr = "linux_i2c_adapter";
112                }
113            }
114            device_adc :: device {
115                device0 :: deviceNode {
116                    policy = 2;
117                    priority = 60;
118                    permission = 0644;
119                    moduleName = "HDF_PLATFORM_ADC_MANAGER";
120                    serviceName = "HDF_PLATFORM_ADC_MANAGER";
121                    deviceMatchAttr = "hdf_platform_adc_manager";
122                }
123                device1 :: deviceNode {
124                    policy = 0;
125                    priority = 65;
126                    permission = 0644;
127                    moduleName = "linux_adc_adapter";
128                    deviceMatchAttr = "linux_adc_adapter_0";
129                }
130            }
131            device_spi :: device {
132                device0 :: deviceNode {
133                    policy = 1;
134                    priority = 60;
135                    permission = 0644;
136                    moduleName = "HDF_PLATFORM_SPI";
137                    serviceName = "HDF_PLATFORM_SPI_0";
138                    deviceMatchAttr = "rockchip_rk3568_spi_0";
139                }
140                device1 :: deviceNode {
141                    policy = 1;
142                    priority = 60;
143                    permission = 0644;
144                    moduleName = "HDF_PLATFORM_SPI";
145                    serviceName = "HDF_PLATFORM_SPI_1";
146                    deviceMatchAttr = "rockchip_rk3568_spi_1";
147                }
148                device2 :: deviceNode {
149                    policy = 1;
150                    priority = 60;
151                    permission = 0644;
152                    moduleName = "HDF_PLATFORM_SPI";
153                    serviceName = "HDF_PLATFORM_SPI_2";
154                    deviceMatchAttr = "rockchip_rk3568_spi_2";
155                }
156                device3 :: deviceNode {
157                    policy = 1;
158                    priority = 60;
159                    permission = 0644;
160                    moduleName = "HDF_PLATFORM_SPI";
161                    serviceName = "HDF_PLATFORM_SPI_3";
162                    deviceMatchAttr = "rockchip_rk3568_spi_3";
163                }
164            }
165            device_sdio :: device {
166                device0 :: deviceNode {
167                    policy = 1;
168                    priority = 70;
169                    permission = 0644;
170                    moduleName = "HDF_PLATFORM_SDIO";
171                    serviceName = "HDF_PLATFORM_MMC_2";
172                    deviceMatchAttr = "hisilicon_hi35xx_sdio_0";
173                }
174            }
175            device_emmc :: device {
176                device0 :: deviceNode {
177                    policy = 2;
178                    priority = 20;
179                    permission = 0644;
180                    moduleName = "HDF_PLATFORM_EMMC";
181                    serviceName = "HDF_PLATFORM_MMC_0";
182                    deviceMatchAttr = "hisilicon_hi35xx_emmc_0";
183                }
184            }
185            device_pwm :: device {
186               device0 :: deviceNode {
187                    policy = 2;
188                    priority = 80;
189                    permission = 0644;
190                    moduleName = "HDF_PLATFORM_PWM";
191                    serviceName = "HDF_PLATFORM_PWM_0";
192                    deviceMatchAttr = "linux_pwm_adapter_0";
193               }
194               device1 :: deviceNode {
195                    policy = 2;
196                    priority = 80;
197                    permission = 0644;
198                    moduleName = "HDF_PLATFORM_PWM";
199                    serviceName = "HDF_PLATFORM_PWM_1";
200                    deviceMatchAttr = "linux_pwm_adapter_1";
201               }
202               device2 :: deviceNode {
203                    policy = 2;
204                    priority = 80;
205                    permission = 0644;
206                    moduleName = "HDF_PLATFORM_PWM";
207                    serviceName = "HDF_PLATFORM_PWM_2";
208                    deviceMatchAttr = "linux_pwm_adapter_2";
209               }
210               device3 :: deviceNode {
211                    policy = 2;
212                    priority = 80;
213                    permission = 0644;
214                    moduleName = "HDF_PLATFORM_PWM";
215                    serviceName = "HDF_PLATFORM_PWM_3";
216                    deviceMatchAttr = "linux_pwm_adapter_3";
217               }
218               device4 :: deviceNode {
219                    policy = 2;
220                    priority = 80;
221                    permission = 0644;
222                    moduleName = "HDF_PLATFORM_PWM";
223                    serviceName = "HDF_PLATFORM_PWM_4";
224                    deviceMatchAttr = "linux_pwm_adapter_4";
225               }
226           }
227            device_mipi_dsi:: device {
228               device0 :: deviceNode {
229                   policy = 0;
230                   priority = 150;
231                   permission = 0644;
232                   moduleName = "HDF_MIPI_TX";
233                   serviceName = "HDF_MIPI_TX";
234               }
235           }
236        }
237        display :: host {
238            hostName = "display_host";
239            device_hdf_drm_panel :: device {
240                device0 :: deviceNode {
241                    policy = 0;
242                    priority = 197;
243                    preload = 0;
244                    moduleName = "HDF_DRMPANEL";
245                }
246            }
247            device_hdf_disp :: device {
248                device0 :: deviceNode {
249                    policy = 2;
250                    priority = 196;
251                    permission = 0660;
252                    moduleName = "HDF_DISP";
253                    serviceName = "hdf_disp";
254                }
255            }
256	    device_hi35xx_disp :: device {
257                device0 :: deviceNode {
258                    policy = 0;
259                    priority = 195;
260                    moduleName = "HI351XX_DISP";
261                }
262            }
263            device_lcd :: device {
264                device0 :: deviceNode {
265                    policy = 0;
266                    priority = 100;
267                    preload = 2;
268                    moduleName = "LITE_LCDKIT";
269                    deviceMatchAttr = "hdf_lcdkit_driver";
270                }
271                device1 :: deviceNode {
272                    policy = 0;
273                    priority = 100;
274                    preload = 0;
275                    moduleName = "LCD_ICN9700";
276                }
277                device2 :: deviceNode {
278                    policy = 0;
279                    priority = 100;
280                    preload = 2;
281                    moduleName = "LCD_ST7789";
282                }
283                device3 :: deviceNode {
284                    policy = 0;
285                    priority = 100;
286                    preload = 0;
287                    moduleName = "LCD_ILI9881_ST_5P5";
288                }
289            }
290            device_pwm_bl :: device {
291                device0 :: deviceNode {
292                    policy = 0;
293                    priority = 95;
294                    preload = 0;
295                    moduleName = "PWM_BL";
296                    deviceMatchAttr = "pwm_bl_dev";
297                }
298            }
299            device_backlight :: device {
300                device0 :: deviceNode {
301                    policy = 2;
302                    priority = 90;
303                    preload = 0;
304                    permission = 0660;
305                    moduleName = "HDF_BL";
306                    serviceName = "hdf_bl";
307                }
308            }
309        }
310
311        input :: host {
312            hostName = "input_host";
313            priority = 100;
314            device_input_manager :: device {
315                device0 :: deviceNode {
316                    policy = 2;
317                    priority = 100;
318                    preload = 0;
319                    permission = 0660;
320                    moduleName = "HDF_INPUT_MANAGER";
321                    serviceName = "hdf_input_host";
322                    deviceMatchAttr = "";
323                }
324            }
325            device_hdf_touch :: device {
326                device0 :: deviceNode {
327                    policy = 2;
328                    priority = 120;
329                    preload = 0;
330                    permission = 0660;
331                    moduleName = "HDF_TOUCH";
332                    serviceName = "hdf_input_event1";
333                    deviceMatchAttr = "touch_device1";
334                }
335            }
336
337            device_touch_chip :: device {
338                device0 :: deviceNode {
339                    policy = 0;
340                    priority = 130;
341                    preload = 0;
342                    permission = 0660;
343                    moduleName = "HDF_TOUCH_GT911";
344                    serviceName = "hdf_touch_gt911_service";
345                    deviceMatchAttr = "zsj_gt911_5p5";
346                }
347            }
348            device_hdf_hid :: device {
349                device0 :: deviceNode {
350                    policy = 2;
351                    priority = 200;
352                    preload = 0;
353                    permission = 0660;
354                    moduleName = "HDF_HID";
355                }
356            }
357            device_hdf_infrared :: device {
358                device0 :: deviceNode {
359                    policy = 2;
360                    priority = 200;
361                    preload = 2;
362                    permission = 0660;
363                    moduleName = "HDF_INFRARED";
364                    serviceName = "hdf_input_event2";
365                    deviceMatchAttr = "Infrared_device0";
366                }
367            }
368        }
369
370        network :: host {
371            hostName = "network_host";
372            device_wifi :: device {
373                device0 :: deviceNode {
374                    policy = 2;
375                    priority = 100;
376                    preload = 0;
377                    permission = 0664;
378                    moduleName = "HDF_WIFI";
379                    deviceMatchAttr = "hdf_wlan_driver";
380                    serviceName = "hdfwifi";
381                }
382            }
383            device_wlan_chips :: device {
384                device0 :: deviceNode {
385                    policy = 0;
386                    preload = 2;
387                    moduleName = "HDF_WLAN_CHIPS_AP6275S";
388                    deviceMatchAttr = "hdf_wlan_chips_ap6275s";
389                    serviceName = "ap6275s";
390                }
391            }
392        }
393        camera :: host {
394            hostName = "camera_host0";
395            device_camera :: device {
396                camera0 :: deviceNode {
397                    policy = 2;
398                    priority = 100;
399                    preload = 0;
400                    permission = 0664;
401                    moduleName = "HDF_CAMERA";
402                    serviceName = "hdfcamera";
403                    deviceMatchAttr = "hdf_camera_driver";
404                }
405            }
406            camera_adapter :: device {
407                camera0 :: deviceNode {
408                    policy = 2;
409                    priority = 100;
410                    preload = 0;
411                    permission = 0664;
412                    moduleName = "HDF_CAMERA_ADAPTER";
413                    serviceName = "hdfcamera0";
414                }
415            }
416        }
417        sensor :: host {
418            hostName = "sensor_host";
419            device_sensor_manager :: device {
420                device0 :: deviceNode {
421                    policy = 2;
422                    priority = 100;
423                    preload = 0;
424                    permission = 0664;
425                    moduleName = "HDF_SENSOR_MGR_AP";
426                    serviceName = "hdf_sensor_manager_ap";
427                }
428            }
429            device_sensor_accel :: device {
430                device0 :: deviceNode {
431                    policy = 1;
432                    priority = 110;
433                    preload = 0;
434                    permission = 0664;
435                    moduleName = "HDF_SENSOR_ACCEL";
436                    serviceName = "sensor_accel";
437                    deviceMatchAttr = "hdf_sensor_accel_driver";
438                }
439            }
440            device_sensor_mxc6655xa :: device {
441                device0 :: deviceNode {
442                    policy = 1;
443                    priority = 120;
444                    preload = 0;
445                    permission = 0664;
446                    moduleName = "HDF_SENSOR_ACCEL_MXC6655XA";
447                    serviceName = "hdf_accel_mxc6655xa";
448                    deviceMatchAttr = "hdf_sensor_accel_mxc6655xa_driver";
449                }
450            }
451            device_sensor_als :: device {
452                device0 :: deviceNode {
453                    policy = 1;
454                    priority = 110;
455                    preload = 0;
456                    permission = 0664;
457                    moduleName = "HDF_SENSOR_ALS";
458                    serviceName = "hdf_sensor_als";
459                    deviceMatchAttr = "hdf_sensor_als_driver";
460                }
461            }
462            device_sensor_bh1745 :: device {
463                device0 :: deviceNode {
464                    policy = 1;
465                    priority = 120;
466                    preload = 0;
467                    permission = 0664;
468                    moduleName = "HDF_SENSOR_ALS_BH1745";
469                    serviceName = "hdf_als_bh1745";
470                    deviceMatchAttr = "hdf_sensor_als_bh1745_driver";
471                }
472            }
473            device_sensor_proximity :: device {
474                device0 :: deviceNode {
475                    policy = 1;
476                    priority = 110;
477                    preload = 0;
478                    permission = 0664;
479                    moduleName = "HDF_SENSOR_PROXIMITY";
480                    serviceName = "hdf_sensor_proximity";
481                    deviceMatchAttr = "hdf_sensor_proximity_driver";
482                }
483            }
484            device_sensor_apds9960 :: device {
485                device0 :: deviceNode {
486                    policy = 1;
487                    priority = 120;
488                    preload = 0;
489                    permission = 0664;
490                    moduleName = "HDF_SENSOR_PROXIMITY_APDS9960";
491                    serviceName = "hdf_proximity_apds9960";
492                    deviceMatchAttr = "hdf_sensor_proximity_adps9960_driver";
493                }
494            }
495            device_sensor_magnetic :: device {
496                device0 :: deviceNode {
497                    policy = 1;
498                    priority = 110;
499                    preload = 0;
500                    permission = 0664;
501                    moduleName = "HDF_SENSOR_MAGNETIC";
502                    serviceName = "hdf_sensor_magnetic";
503                    deviceMatchAttr = "hdf_sensor_magnetic_driver";
504                }
505            }
506            device_sensor_lsm303 :: device {
507                device0 :: deviceNode {
508                    policy = 1;
509                    priority = 120;
510                    preload = 0;
511                    permission = 0664;
512                    moduleName = "HDF_SENSOR_MAGNETIC_LSM303";
513                    serviceName = "hdf_magnetic_lsm303";
514                    deviceMatchAttr = "hdf_sensor_magnetic_lsm303_driver";
515                }
516            }
517            device_sensor_temperature :: device {
518                device0 :: deviceNode {
519                    policy = 1;
520                    priority = 130;
521                    preload = 0;
522                    permission = 0664;
523                    moduleName = "HDF_SENSOR_TEMPERATURE";
524                    serviceName = "hdf_sensor_temperature";
525                    deviceMatchAttr = "hdf_sensor_temperature_driver";
526                }
527            }
528            device_temperature_aht20 :: device {
529                device0 :: deviceNode {
530                    policy = 1;
531                    priority = 140;
532                    preload = 2;
533                    permission = 0664;
534                    moduleName = "HDF_SENSOR_TEMPERATURE_AHT20";
535                    serviceName = "hdf_temperature_aht20";
536                    deviceMatchAttr = "hdf_sensor_temperature_aht20_driver";
537                }
538            }
539            device_temperature_sht30 :: device {
540                device0 :: deviceNode {
541                    policy = 1;
542                    priority = 150;
543                    preload = 2;
544                    permission = 0664;
545                    moduleName = "HDF_SENSOR_TEMPERATURE_SHT30";
546                    serviceName = "hdf_temperature_sht30";
547                    deviceMatchAttr = "hdf_sensor_temperature_sht30_driver";
548                }
549            }
550            device_sensor_humidity :: device {
551                device0 :: deviceNode {
552                    policy = 1;
553                    priority = 160;
554                    preload = 0;
555                    permission = 0664;
556                    moduleName = "HDF_SENSOR_HUMIDITY";
557                    serviceName = "hdf_sensor_humidity";
558                    deviceMatchAttr = "hdf_sensor_humidity_driver";
559                }
560            }
561            device_humidity_aht20 :: device {
562                device0 :: deviceNode {
563                    policy = 1;
564                    priority = 170;
565                    preload = 2;
566                    permission = 0664;
567                    moduleName = "HDF_SENSOR_HUMIDITY_AHT20";
568                    serviceName = "hdf_humidity_aht20";
569                    deviceMatchAttr = "hdf_sensor_humidity_aht20_driver";
570                }
571            }
572            device_humidity_sht30 :: device {
573                device0 :: deviceNode {
574                    policy = 1;
575                    priority = 180;
576                    preload = 2;
577                    permission = 0664;
578                    moduleName = "HDF_SENSOR_HUMIDITY_SHT30";
579                    serviceName = "hdf_humidity_sht30";
580                    deviceMatchAttr = "hdf_sensor_humidity_sht30_driver";
581                }
582            }
583        }
584        usb_pnp_linux :: host {
585            hostName = "usb_pnp_linux_host";
586            device_usb_pnp_linux :: device {
587                device0 :: deviceNode {
588                    policy = 2;
589                    priority = 100;
590                    preload = 0;
591                    permission = 0664;
592                    moduleName = "HDF_USB_PNP_NOTIFY";
593                    serviceName = "hdf_usb_pnp_notify_service";
594                    deviceMatchAttr = "hdf_usb_pnp_notify_config";
595                }
596            }
597        }
598        usb_net_linux :: host {
599            hostName = "usb_net_linux_host";
600            device_usb_net_linux :: device {
601                device0 :: deviceNode {
602                    policy = 2;
603                    priority = 100;
604                    preload = 2;
605                    permission = 0664;
606                    moduleName = "HDF_USB_NET";
607                    serviceName = "hdf_usb_net_service";
608                    deviceMatchAttr = "hdf_usb_net_config";
609                }
610            }
611        }
612        audio :: host {
613            hostName = "audio_host";
614            priority = 110;
615            device_dai :: device {
616                device_primary :: deviceNode {
617                    policy = 1;
618                    priority = 50;
619                    preload = 0;
620                    permission = 0666;
621                    moduleName = "DAI_RK3568";
622                    serviceName = "dai_service";
623                    deviceMatchAttr = "hdf_dai_driver";
624                }
625                device_hdmi :: deviceNode {
626                    policy = 1;
627                    priority = 50;
628                    preload = 0;
629                    permission = 0666;
630                    moduleName = "DAI_RK3568";
631                    serviceName = "hdmi_dai_service";
632                    deviceMatchAttr = "hdf_hdmi_dai_driver";
633                }
634            }
635            device_codec :: device {
636                device_primary :: deviceNode {
637                    policy = 1;
638                    priority = 50;
639                    preload = 0;
640                    permission = 0666;
641                    moduleName = "CODEC_RK809";
642                    serviceName = "codec_service_0";
643                    deviceMatchAttr = "hdf_codec_driver_0";
644                }
645                device_hdmi :: deviceNode {
646                    policy = 1;
647                    priority = 50;
648                    preload = 0;
649                    permission = 0666;
650                    moduleName = "AUDIO_HDMI_CODEC";
651                    serviceName = "codec_service_1";
652                    deviceMatchAttr = "hdf_codec_driver_1";
653                }
654                device_usb :: deviceNode {
655                    policy = 1;
656                    priority = 50;
657                    preload = 2;
658                    permission = 0664;
659                    moduleName = "AUDIO_USB_CODEC";
660                    serviceName = "audio_usb_service_0";
661                }
662            }
663            device_dsp :: device {
664                device0 :: deviceNode {
665                    policy = 1;
666                    priority = 50;
667                    preload = 0;
668                    permission = 0666;
669                    moduleName = "DSP_RK3568";
670                    serviceName = "dsp_service_0";
671                    deviceMatchAttr = "hdf_dsp_driver";
672                }
673            }
674            device_dma :: device {
675                device_primary :: deviceNode {
676                    policy = 1;
677                    priority = 50;
678                    preload = 0;
679                    permission = 0666;
680                    moduleName = "DMA_RK3568";
681                    serviceName = "dma_service_0";
682                    deviceMatchAttr = "hdf_dma_driver";
683                }
684                device_hdmi :: deviceNode {
685                    policy = 1;
686                    priority = 50;
687                    preload = 0;
688                    permission = 0666;
689                    moduleName = "DMA_RK3568";
690                    serviceName = "hdmi_dma_service_0";
691                    deviceMatchAttr = "hdf_hdmi_dma_driver";
692                }
693               device_usb :: deviceNode {
694                    policy = 1;
695                    priority = 50;
696                    preload = 2;
697                    permission = 0666;
698                    moduleName = "AUDIO_USB_DMA";
699                    serviceName = "usb_dma_service_0";
700                }
701            }
702
703            device_audio :: device {
704                device_primary :: deviceNode {
705                    policy = 2;
706                    priority = 60;
707                    preload = 0;
708                    permission = 0666;
709                    moduleName = "HDF_AUDIO";
710                    deviceMatchAttr = "hdf_audio_driver_0";
711                    serviceName = "hdf_audio_codec_primary_dev0";
712                }
713                device_hdmi :: deviceNode {
714                    policy = 2;
715                    priority = 60;
716                    preload = 2;
717                    permission = 0666;
718                    moduleName = "HDF_AUDIO";
719                    deviceMatchAttr = "hdf_audio_driver_1";
720                    serviceName = "hdf_audio_codec_hdmi_dev0";
721                }
722                device_usb :: deviceNode {
723                    policy = 2;
724                    priority = 60;
725                    preload = 2;
726                    permission = 0666;
727                    moduleName = "HDF_AUDIO";
728                    deviceMatchAttr = "hdf_audio_driver_2";
729                    serviceName = "hdf_audio_codec_usb_dev0";
730                }
731            }
732            device_stream :: device {
733                device0 :: deviceNode {
734                    policy = 2;
735                    priority = 80;
736                    preload = 0;
737                    permission = 0666;
738                    moduleName = "HDF_AUDIO_STREAM";
739                    serviceName = "hdf_audio_render";
740                }
741                device1 :: deviceNode {
742                    policy = 2;
743                    priority = 80;
744                    preload = 0;
745                    permission = 0666;
746                    moduleName = "HDF_AUDIO_STREAM";
747                    serviceName = "hdf_audio_capture";
748                }
749            }
750            device_control :: device {
751                device0 :: deviceNode {
752                    policy = 2;
753                    priority = 80;
754                    preload = 0;
755                    permission = 0666;
756                    moduleName = "HDF_AUDIO_CONTROL";
757                    serviceName = "hdf_audio_control";
758                }
759            }
760            device_analog_headset :: device {
761                device0 :: deviceNode {
762                    policy = 1;
763                    priority = 90;
764                    preload = 0;
765                    permission = 0666;
766                    moduleName = "AUDIO_ANALOG_HEADSET";
767                    serviceName = "analog_headset_service";
768                    deviceMatchAttr = "analog_headset_attr";
769                }
770            }
771        }
772        vibrator :: host {
773            hostName = "vibrator_host";
774            device_vibrator :: device {
775                device0 :: deviceNode {
776                    policy = 2;
777                    priority = 100;
778                    preload = 0;
779                    permission = 0664;
780                    moduleName = "HDF_VIBRATOR";
781                    serviceName = "hdf_misc_vibrator";
782                    deviceMatchAttr = "hdf_vibrator_driver";
783                }
784            }
785            device_linear_vibrator :: device {
786                device0 :: deviceNode {
787                    policy = 1;
788                    priority = 105;
789                    preload = 0;
790                    permission = 0664;
791                    moduleName = "HDF_LINEAR_VIBRATOR";
792                    serviceName = "hdf_misc_linear_vibrator";
793                    deviceMatchAttr = "hdf_linear_vibrator_driver";
794                }
795            }
796            device_drv2605l_vibrator :: device {
797                device0 :: deviceNode {
798                    policy = 1;
799                    priority = 105;
800                    preload = 0;
801                    permission = 0664;
802                    moduleName = "HDF_DRV2605L_VIBRATOR";
803                    serviceName = "hdf_misc_drv2605l_vibrator";
804                    deviceMatchAttr = "hdf_drv2605l_linear_vibrator_driver";
805                }
806            }
807        }
808        light :: host {
809            hostName = "light_host";
810            device_light :: device {
811                device0 :: deviceNode {
812                    policy = 2;
813                    priority = 100;
814                    preload = 0;
815                    permission = 0664;
816                    moduleName = "HDF_LIGHT";
817                    serviceName = "hdf_light";
818                    deviceMatchAttr = "hdf_light_driver";
819                }
820            }
821        }
822    }
823}
824