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 = "hisilicon_hi35xx_watchdog_0";
59                }
60            }
61           device_rtc :: device {
62                device0 :: deviceNode {
63                    policy = 1;
64                    priority = 30;
65                    permission = 0644;
66                    moduleName = "HDF_PLATFORM_RTC";
67                    serviceName = "HDF_PLATFORM_RTC";
68                    deviceMatchAttr = "hisilicon_hi35xx_rtc";
69                }
70            }
71
72            device_uart :: device {
73                device0 :: deviceNode {
74                    policy = 1;
75                    priority = 40;
76                    permission = 0644;
77                    moduleName = "HDF_PLATFORM_UART";
78                    serviceName = "HDF_PLATFORM_UART_0";
79                    deviceMatchAttr = "hisilicon_hi35xx_uart_0";
80                }
81                device1 :: deviceNode {
82                    policy = 2;
83                    permission = 0644;
84                    priority = 40;
85                    moduleName = "HDF_PLATFORM_UART";
86                    serviceName = "HDF_PLATFORM_UART_1";
87                    deviceMatchAttr = "hisilicon_hi35xx_uart_1";
88                }
89            }
90            device_i2c :: device {
91                device0 :: deviceNode {
92                    policy = 2;
93                    priority = 50;
94                    permission = 0644;
95                    moduleName = "HDF_PLATFORM_I2C_MANAGER";
96                    serviceName = "HDF_PLATFORM_I2C_MANAGER";
97                    deviceMatchAttr = "hdf_platform_i2c_manager";
98                }
99                device1 :: deviceNode {
100                    policy = 0;
101                    priority = 55;
102                    permission = 0644;
103                    moduleName = "linux_i2c_adapter";
104                    deviceMatchAttr = "linux_i2c_adapter";
105                }
106            }
107            device_spi :: device {
108                device0 :: deviceNode {
109                    policy = 1;
110                    priority = 60;
111                    permission = 0644;
112                    moduleName = "HDF_PLATFORM_SPI";
113                    serviceName = "HDF_PLATFORM_SPI_0";
114                    deviceMatchAttr = "hisilicon_hi35xx_spi_0";
115                }
116                device1 :: deviceNode {
117                    policy = 1;
118                    priority = 60;
119                    permission = 0644;
120                    moduleName = "HDF_PLATFORM_SPI";
121                    serviceName = "HDF_PLATFORM_SPI_1";
122                    deviceMatchAttr = "hisilicon_hi35xx_spi_1";
123                }
124                device2 :: deviceNode {
125                    policy = 1;
126                    priority = 60;
127                    permission = 0644;
128                    moduleName = "HDF_PLATFORM_SPI";
129                    serviceName = "HDF_PLATFORM_SPI_2";
130                    deviceMatchAttr = "hisilicon_hi35xx_spi_2";
131                }
132            }
133            device_sdio :: device {
134                device0 :: deviceNode {
135                    policy = 1;
136                    priority = 70;
137                    permission = 0644;
138                    moduleName = "HDF_PLATFORM_SDIO";
139                    serviceName = "HDF_PLATFORM_MMC_2";
140                    deviceMatchAttr = "hisilicon_hi35xx_sdio_0";
141                }
142            }
143            device_emmc :: device {
144                device0 :: deviceNode {
145                    policy = 2;
146                    priority = 20;
147                    permission = 0644;
148                    moduleName = "HDF_PLATFORM_EMMC";
149                    serviceName = "HDF_PLATFORM_MMC_0";
150                    deviceMatchAttr = "hisilicon_hi35xx_emmc_0";
151                }
152            }
153            device_pwm :: device {
154                device0 :: deviceNode {
155                    policy = 1;
156                    priority = 80;
157                    permission = 0644;
158                    moduleName = "HDF_PLATFORM_PWM";
159                    serviceName = "HDF_PLATFORM_PWM_0";
160                    deviceMatchAttr = "hisilicon_hi35xx_pwm_0";
161               }
162               device1 :: deviceNode {
163                    policy = 1;
164                    priority = 80;
165                    permission = 0644;
166                    moduleName = "HDF_PLATFORM_PWM";
167                    serviceName = "HDF_PLATFORM_PWM_1";
168                    deviceMatchAttr = "hisilicon_hi35xx_pwm_1";
169               }
170           }
171            device_mipi_dsi:: device {
172               device0 :: deviceNode {
173                   policy = 0;
174                   priority = 150;
175                   permission = 0644;
176                   moduleName = "HDF_MIPI_TX";
177                   serviceName = "HDF_MIPI_TX";
178               }
179           }
180        }
181        display :: host {
182            hostName = "display_host";
183            device_hdf_disp :: device {
184                device0 :: deviceNode {
185                    policy = 2;
186                    priority = 140;
187                    permission = 0660;
188                    moduleName = "HDF_DISP";
189                    serviceName = "hdf_disp";
190                }
191            }
192            device_hi35xx_disp :: device {
193                device0 :: deviceNode {
194                    policy = 0;
195                    priority = 120;
196                    moduleName = "HI351XX_DISP";
197                }
198            }
199            device_lcd :: device {
200                device0 :: deviceNode {
201                    policy = 0;
202                    priority = 100;
203                    preload = 0;
204                    moduleName = "LCD_ICN9700";
205                }
206            }
207            device_pwm_bl :: device {
208                device0 :: deviceNode {
209                    policy = 0;
210                    priority = 95;
211                    preload = 0;
212                    moduleName = "PWM_BL";
213                    deviceMatchAttr = "pwm_bl_dev";
214                }
215            }
216            device_backlight :: device {
217                device0 :: deviceNode {
218                    policy = 2;
219                    priority = 90;
220                    preload = 0;
221                    permission = 0660;
222                    moduleName = "HDF_BL";
223                    serviceName = "hdf_bl";
224                }
225            }
226        }
227
228        input :: host {
229            hostName = "input_host";
230            priority = 100;
231            device_input_manager :: device {
232                device0 :: deviceNode {
233                    policy = 2;
234                    priority = 100;
235                    preload = 0;
236                    permission = 0660;
237                    moduleName = "HDF_INPUT_MANAGER";
238                    serviceName = "hdf_input_host";
239                    deviceMatchAttr = "";
240                }
241            }
242            device_hdf_touch :: device {
243                device0 :: deviceNode {
244                    policy = 2;
245                    priority = 120;
246                    preload = 0;
247                    permission = 0660;
248                    moduleName = "HDF_TOUCH";
249                    serviceName = "hdf_input_event1";
250                    deviceMatchAttr = "touch_device1";
251                }
252            }
253
254            device_touch_chip :: device {
255                device0 :: deviceNode {
256                    policy = 0;
257                    priority = 130;
258                    preload = 0;
259                    permission = 0660;
260                    moduleName = "HDF_TOUCH_GT911";
261                    serviceName = "hdf_touch_gt911_service";
262                    deviceMatchAttr = "zsj_gt911_5p5";
263                }
264            }
265            device_hdf_hid :: device {
266                device0 :: deviceNode {
267                    policy = 2;
268                    priority = 200;
269                    preload = 0;
270                    permission = 0660;
271                    moduleName = "HDF_HID";
272                }
273            }
274            device_hdf_encoder :: device {
275                device0 :: deviceNode {
276                    policy = 2;
277                    priority = 200;
278                    preload = 0;
279                    permission = 0660;
280                    moduleName = "HDF_ENCODER";
281                    deviceMatchAttr = "EC11";
282                }
283            }
284        }
285
286        network :: host {
287            hostName = "network_host";
288            device_wifi :: device {
289                device0 :: deviceNode {
290                    policy = 2;
291                    priority = 100;
292                    preload = 0;
293                    permission = 0664;
294                    moduleName = "HDF_WIFI";
295                    deviceMatchAttr = "hdf_wlan_driver";
296                    serviceName = "hdfwifi";
297                }
298            }
299            device_wlan_chips :: device {
300                device0 :: deviceNode {
301                    policy = 0;
302                    preload = 2;
303                    moduleName = "HDF_WLAN_CHIPS";
304                    deviceMatchAttr = "hdf_wlan_chips_hi3881";
305                    serviceName = "hisi";
306                }
307            }
308        }
309        sensor :: host {
310            hostName = "sensor_host";
311            device_sensor_manager :: device {
312                device0 :: deviceNode {
313                    policy = 2;
314                    priority = 100;
315                    preload = 0;
316                    permission = 0664;
317                    moduleName = "HDF_SENSOR_MGR_AP";
318                    serviceName = "hdf_sensor_manager_ap";
319                }
320            }
321            device_sensor_accel :: device {
322                device0 :: deviceNode {
323                    policy = 1;
324                    priority = 110;
325                    preload = 0;
326                    permission = 0664;
327                    moduleName = "HDF_SENSOR_ACCEL";
328                    serviceName = "hdf_sensor_accel";
329                    deviceMatchAttr = "hdf_sensor_accel_driver";
330                }
331            }
332            device_sensor_bmi160 :: device {
333                device0 :: deviceNode {
334                    policy = 1;
335                    priority = 120;
336                    preload = 0;
337                    permission = 0664;
338                    moduleName = "HDF_SENSOR_ACCEL_BMI160";
339                    serviceName = "hdf_accel_bmi160";
340                    deviceMatchAttr = "hdf_sensor_accel_bmi160_driver";
341                }
342            }
343            device_sensor_als :: device {
344                device0 :: deviceNode {
345                    policy = 1;
346                    priority = 110;
347                    preload = 0;
348                    permission = 0664;
349                    moduleName = "HDF_SENSOR_ALS";
350                    serviceName = "hdf_sensor_als";
351                    deviceMatchAttr = "hdf_sensor_als_driver";
352                }
353            }
354            device_sensor_bh1745 :: device {
355                device0 :: deviceNode {
356                    policy = 1;
357                    priority = 120;
358                    preload = 0;
359                    permission = 0664;
360                    moduleName = "HDF_SENSOR_ALS_BH1745";
361                    serviceName = "hdf_als_bh1745";
362                    deviceMatchAttr = "hdf_sensor_als_bh1745_driver";
363                }
364            }
365            device_sensor_gyro :: device {
366                device0 :: deviceNode {
367                    policy = 1;
368                    priority = 110;
369                    preload = 0;
370                    permission = 0664;
371                    moduleName = "HDF_SENSOR_GYRO";
372                    serviceName = "hdf_sensor_gyro";
373                    deviceMatchAttr = "hdf_sensor_gyro_driver";
374                }
375            }
376            device_sensor_gyro_bmi160 :: device {
377                device0 :: deviceNode {
378                    policy = 1;
379                    priority = 120;
380                    preload = 0;
381                    permission = 0664;
382                    moduleName = "HDF_SENSOR_GYRO_BMI160";
383                    serviceName = "hdf_gyro_bmi160";
384                    deviceMatchAttr = "hdf_sensor_gyro_bmi160_driver";
385                }
386            }
387            device_sensor_barometer :: device {
388                device0 :: deviceNode {
389                    policy = 1;
390                    priority = 110;
391                    preload = 0;
392                    permission = 0664;
393                    moduleName = "HDF_SENSOR_BAROMETER";
394                    serviceName = "hdf_sensor_barometer";
395                    deviceMatchAttr = "hdf_sensor_barometer_driver";
396                }
397            }
398            device_sensor_bmp180 :: device {
399                device0 :: deviceNode {
400                    policy = 1;
401                    priority = 120;
402                    preload = 0;
403                    permission = 0664;
404                    moduleName = "HDF_SENSOR_BAROMETER_BMP180";
405                    serviceName = "hdf_barometer_bmp180";
406                    deviceMatchAttr = "hdf_sensor_barometer_bmp180_driver";
407                }
408            }
409            device_sensor_hall :: device {
410                device0 :: deviceNode {
411                    policy = 1;
412                    priority = 110;
413                    preload = 2;
414                    permission = 0664;
415                    moduleName = "HDF_SENSOR_HALL";
416                    serviceName = "hdf_sensor_hall";
417                    deviceMatchAttr = "hdf_sensor_hall_driver";
418                }
419            }
420            device_sensor_ak8789 :: device {
421                device0 :: deviceNode {
422                    policy = 1;
423                    priority = 120;
424                    preload = 2;
425                    permission = 0664;
426                    moduleName = "HDF_SENSOR_HALL_AK8789";
427                    serviceName = "hdf_hall_ak8789";
428                    deviceMatchAttr = "hdf_sensor_hall_ak8789_driver";
429                }
430            }
431            device_sensor_magnetic :: device {
432                device0 :: deviceNode {
433                    policy = 1;
434                    priority = 110;
435                    preload = 0;
436                    permission = 0664;
437                    moduleName = "HDF_SENSOR_MAGNETIC";
438                    serviceName = "hdf_sensor_magnetic";
439                    deviceMatchAttr = "hdf_sensor_magnetic_driver";
440                }
441            }
442            device_sensor_lsm303 :: device {
443                device0 :: deviceNode {
444                    policy = 1;
445                    priority = 120;
446                    preload = 0;
447                    permission = 0664;
448                    moduleName = "HDF_SENSOR_MAGNETIC_LSM303";
449                    serviceName = "hdf_magnetic_lsm303";
450                    deviceMatchAttr = "hdf_sensor_magnetic_lsm303_driver";
451                }
452            }
453            device_sensor_proximity :: device {
454                device0 :: deviceNode {
455                    policy = 1;
456                    priority = 110;
457                    preload = 0;
458                    permission = 0664;
459                    moduleName = "HDF_SENSOR_PROXIMITY";
460                    serviceName = "hdf_sensor_proximity";
461                    deviceMatchAttr = "hdf_sensor_proximity_driver";
462                }
463            }
464            device_sensor_apds9960 :: device {
465                device0 :: deviceNode {
466                    policy = 1;
467                    priority = 120;
468                    preload = 0;
469                    permission = 0664;
470                    moduleName = "HDF_SENSOR_PROXIMITY_APDS9960";
471                    serviceName = "hdf_proximity_apds9960";
472                    deviceMatchAttr = "hdf_sensor_proximity_adps9960_driver";
473                }
474            }
475            device_sensor_gravity :: device {
476                device0 :: deviceNode {
477                    policy = 1;
478                    priority = 130;
479                    preload = 0;
480                    permission = 0664;
481                    moduleName = "HDF_SENSOR_GRAVITY";
482                    serviceName = "hdf_sensor_gravity";
483                    deviceMatchAttr = "hdf_sensor_gravity_driver";
484                }
485            }
486            device_sensor_pedometer :: device {
487                device0 :: deviceNode {
488                    policy = 1;
489                    priority = 110;
490                    preload = 0;
491                    permission = 0664;
492                    moduleName = "HDF_SENSOR_PEDOMETER";
493                    serviceName = "hdf_sensor_pedometer";
494                    deviceMatchAttr = "hdf_sensor_pedometer_driver";
495                }
496            }
497            device_sensor_pedometer_bmi160 :: device {
498                device0 :: deviceNode {
499                    policy = 1;
500                    priority = 120;
501                    preload = 0;
502                    permission = 0664;
503                    moduleName = "HDF_SENSOR_PEDOMETER_BMI160";
504                    serviceName = "hdf_pedometer_bmi160";
505                    deviceMatchAttr = "hdf_sensor_pedometer_bmi160_driver";
506                }
507            }
508        }
509        usb_pnp_linux :: host {
510            hostName = "usb_pnp_linux_host";
511            device_usb_pnp_linux :: device {
512                device0 :: deviceNode {
513                    policy = 2;
514                    priority = 100;
515                    preload = 0;
516                    permission = 0664;
517                    moduleName = "HDF_USB_PNP_NOTIFY";
518                    serviceName = "hdf_usb_pnp_notify_service";
519                    deviceMatchAttr = "hdf_usb_pnp_notify_config";
520                }
521            }
522        }
523        audio :: host {
524            hostName = "audio_host";
525            priority = 60;
526            device_dai0 :: device {
527                device0 :: deviceNode {
528                    policy = 1;
529                    priority = 50;
530                    preload = 0;
531                    permission = 0666;
532                    moduleName = "DAI_HI3516";
533                    serviceName = "dai_service";
534                    deviceMatchAttr = "hdf_dai_driver";
535                }
536            }
537            device_codec :: device {
538                device0 :: deviceNode {
539                    policy = 1;
540                    priority = 50;
541                    preload = 0;
542                    permission = 0666;
543                    moduleName = "CODEC_HI3516";
544                    serviceName = "codec_service_0";
545                    deviceMatchAttr = "hdf_codec_driver";
546                }
547            }
548            device_codec_ex :: device {
549                device0 :: deviceNode {
550                    policy = 1;
551                    priority = 50;
552                    preload = 0;
553                    permission = 0666;
554                    moduleName = "CODEC_TFA9879";
555                    serviceName = "codec_service_1";
556                    deviceMatchAttr = "hdf_codec_driver_ex";
557                }
558            }
559            device_dsp :: device {
560                device0 :: deviceNode {
561                    policy = 1;
562                    priority = 50;
563                    preload = 0;
564                    permission = 0666;
565                    moduleName = "DSP";
566                    serviceName = "dsp_service_0";
567                    deviceMatchAttr = "hdf_dsp_driver";
568                }
569            }
570            device_dma :: device {
571                device0 :: deviceNode {
572                    policy = 1;
573                    priority = 50;
574                    preload = 0;
575                    permission = 0666;
576                    moduleName = "DMA_HI3516";
577                    serviceName = "dma_service_0";
578                    deviceMatchAttr = "hdf_dma_driver";
579                }
580            }
581            device_audio :: device {
582                device0 :: deviceNode {
583                    policy = 2;
584                    priority = 60;
585                    preload = 0;
586                    permission = 0666;
587                    moduleName = "HDF_AUDIO";
588                    deviceMatchAttr = "hdf_audio_driver_0";
589                    serviceName = "hdf_audio_codec_dev0";
590                }
591                device1 :: deviceNode {
592                    policy = 2;
593                    priority = 60;
594                    preload = 0;
595                    permission = 0666;
596                    moduleName = "HDF_AUDIO";
597                    deviceMatchAttr = "hdf_audio_driver_1";
598                    serviceName = "hdf_audio_smartpa_dev0";
599                }
600            }
601            device_stream :: device {
602                device0 :: deviceNode {
603                    policy = 2;
604                    priority = 80;
605                    preload = 0;
606                    permission = 0666;
607                    moduleName = "HDF_AUDIO_STREAM";
608                    serviceName = "hdf_audio_render";
609                }
610                device1 :: deviceNode {
611                    policy = 2;
612                    priority = 80;
613                    preload = 0;
614                    permission = 0666;
615                    moduleName = "HDF_AUDIO_STREAM";
616                    serviceName = "hdf_audio_capture";
617                }
618            }
619            device_control :: device {
620                device0 :: deviceNode {
621                    policy = 2;
622                    priority = 80;
623                    preload = 0;
624                    permission = 0666;
625                    moduleName = "HDF_AUDIO_CONTROL";
626                    serviceName = "hdf_audio_control";
627                }
628            }
629        }
630        vibrator :: host {
631            hostName = "vibrator_host";
632            device_vibrator :: device {
633                device0 :: deviceNode {
634                    policy = 2;
635                    priority = 100;
636                    preload = 0;
637                    permission = 0664;
638                    moduleName = "HDF_VIBRATOR";
639                    serviceName = "hdf_misc_vibrator";
640                    deviceMatchAttr = "hdf_vibrator_driver";
641                }
642            }
643            device_linear_vibrator :: device {
644                device0 :: deviceNode {
645                    policy = 1;
646                    priority = 105;
647                    preload = 0;
648                    permission = 0664;
649                    moduleName = "HDF_LINEAR_VIBRATOR";
650                    serviceName = "hdf_misc_linear_vibrator";
651                    deviceMatchAttr = "hdf_linear_vibrator_driver";
652                }
653            }
654        }
655        dsoftbus :: host {
656            hostName = "dsoftbus_host";
657            device_dsoftbus :: device {
658                device0 :: deviceNode {
659                    policy = 2;
660                    priority = 100;
661                    preload = 0;
662                    permission = 0664;
663                    moduleName = "HDF_DSOFTBUS";
664                    serviceName = "hdf_dsoftbus";
665                }
666            }
667        }
668        light :: host {
669            hostName = "light_host";
670            device_light :: device {
671                device0 :: deviceNode {
672                    policy = 2;
673                    priority = 100;
674                    preload = 0;
675                    permission = 0664;
676                    moduleName = "HDF_LIGHT";
677                    serviceName = "hdf_light";
678                    deviceMatchAttr = "hdf_light_driver";
679                }
680            }
681        }
682    }
683}
684