forked from litex-hub/litex-buildenv-udev
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path99-hdmi2usb-aliases.rules
135 lines (114 loc) · 6.4 KB
/
99-hdmi2usb-aliases.rules
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
ENV{ID_HDMI2USB}=="1", IMPORT{parent}="NUM_HDMI2USB*"
# Number the devices
# All HDMI2USB devices
SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", ENV{ACTION}=="add", \
TEST!="/dev/hdmi2usb/by-num/all0", \
ENV{NUM_HDMI2USB}:="0"
SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", ENV{ACTION}=="add", \
TEST=="/dev/hdmi2usb/by-num/all0", \
TEST!="/dev/hdmi2usb/by-num/all1", \
ENV{NUM_HDMI2USB}:="1"
SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", ENV{ACTION}=="add", \
TEST=="/dev/hdmi2usb/by-num/all0", \
TEST=="/dev/hdmi2usb/by-num/all1", \
TEST!="/dev/hdmi2usb/by-num/all2", \
ENV{NUM_HDMI2USB}:="2"
SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", ENV{ACTION}=="add", \
TEST=="/dev/hdmi2usb/by-num/all0", \
TEST=="/dev/hdmi2usb/by-num/all1", \
TEST=="/dev/hdmi2usb/by-num/all2", \
TEST!="/dev/hdmi2usb/by-num/all3", \
ENV{NUM_HDMI2USB}:="3"
SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", ENV{ACTION}=="add", \
TEST=="/dev/hdmi2usb/by-num/all0", \
TEST=="/dev/hdmi2usb/by-num/all1", \
TEST=="/dev/hdmi2usb/by-num/all2", \
TEST=="/dev/hdmi2usb/by-num/all3", \
TEST!="/dev/hdmi2usb/by-num/all4", \
ENV{NUM_HDMI2USB}:="4"
# HDMI2USB boards
SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", ENV{ACTION}=="add", \
TEST!="/dev/hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}0", \
ENV{NUM_HDMI2USB_BOARD}:="0"
SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", ENV{ACTION}=="add", \
TEST=="/dev/hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}0", \
TEST!="/dev/hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}1", \
ENV{NUM_HDMI2USB_BOARD}:="1"
SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", ENV{ACTION}=="add", \
TEST=="/dev/hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}0", \
TEST=="/dev/hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}1", \
TEST!="/dev/hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}2", \
ENV{NUM_HDMI2USB_BOARD}:="2"
SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", ENV{ACTION}=="add", \
TEST=="/dev/hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}0", \
TEST=="/dev/hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}1", \
TEST=="/dev/hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}2", \
TEST!="/dev/hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}3", \
ENV{NUM_HDMI2USB_BOARD}:="3"
SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", ENV{ACTION}=="add", \
TEST=="/dev/hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}0", \
TEST=="/dev/hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}1", \
TEST=="/dev/hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}2", \
TEST=="/dev/hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}3", \
TEST!="/dev/hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}4", \
ENV{NUM_HDMI2USB_BOARD}:="4"
# Create a human readable version of the ID_PATH value
ENV{ID_HDMI2USB}=="1", IMPORT{program}="/etc/udev/rules.d/hdmi2usb-human-path-helper.sh $env{DEVPATH}"
# USB device for using fxload
SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", ENV{ID_SERIAL_SHORT}!="" \
SYMLINK+="hdmi2usb/by-serial/$env{ID_SERIAL_SHORT}/usbdev"
SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", ENV{ID_PATH}!="" \
SYMLINK+="hdmi2usb/by-path/$env{ID_PATH}/usbdev"
SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", ENV{ID_PATH_HUMAN}!="" \
SYMLINK+="hdmi2usb/by-path/$env{ID_PATH_HUMAN}/usbdev"
SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", ENV{NUM_HDMI2USB}!="" \
SYMLINK+="hdmi2usb/by-num/all$env{NUM_HDMI2USB}/usbdev"
SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", ENV{ID_HDMI2USB_BOARD}!="", ENV{NUM_HDMI2USB_BOARD}!="" \
SYMLINK+="hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}$env{NUM_HDMI2USB_BOARD}/usbdev"
# Serial control console
SUBSYSTEM=="tty", ENV{ID_HDMI2USB}=="1", ENV{ACTION}=="add", \
TEST!="/dev/hdmi2usb/by-num/all$env{NUM_HDMI2USB}/tty0", \
ENV{NUM_HDMI2USB_TTY}:="0"
SUBSYSTEM=="tty", ENV{ID_HDMI2USB}=="1", ENV{ACTION}=="add", \
TEST=="/dev/hdmi2usb/by-num/all$env{NUM_HDMI2USB}/tty0", \
TEST!="/dev/hdmi2usb/by-num/all$env{NUM_HDMI2USB}/tty1", \
ENV{NUM_HDMI2USB_TTY}:="1"
SUBSYSTEM=="tty", ENV{ID_HDMI2USB}=="1", ENV{ACTION}=="add", \
TEST=="/dev/hdmi2usb/by-num/all$env{NUM_HDMI2USB}/tty0", \
TEST=="/dev/hdmi2usb/by-num/all$env{NUM_HDMI2USB}/tty1", \
TEST!="/dev/hdmi2usb/by-num/all$env{NUM_HDMI2USB}/tty2", \
ENV{NUM_HDMI2USB_TTY}:="2"
SUBSYSTEM=="tty", ENV{ID_HDMI2USB}=="1", ENV{ACTION}=="add", \
TEST=="/dev/hdmi2usb/by-num/all$env{NUM_HDMI2USB}/tty0", \
TEST=="/dev/hdmi2usb/by-num/all$env{NUM_HDMI2USB}/tty1", \
TEST=="/dev/hdmi2usb/by-num/all$env{NUM_HDMI2USB}/tty2", \
TEST!="/dev/hdmi2usb/by-num/all$env{NUM_HDMI2USB}/tty3", \
ENV{NUM_HDMI2USB_TTY}:="3"
SUBSYSTEM=="tty", ENV{ID_HDMI2USB}=="1", ENV{ACTION}=="add", \
TEST=="/dev/hdmi2usb/by-num/all$env{NUM_HDMI2USB}/tty0", \
TEST=="/dev/hdmi2usb/by-num/all$env{NUM_HDMI2USB}/tty1", \
TEST=="/dev/hdmi2usb/by-num/all$env{NUM_HDMI2USB}/tty2", \
TEST=="/dev/hdmi2usb/by-num/all$env{NUM_HDMI2USB}/tty3", \
TEST!="/dev/hdmi2usb/by-num/all$env{NUM_HDMI2USB}/tty4", \
ENV{NUM_HDMI2USB_TTY}:="4"
SUBSYSTEM=="tty", ENV{ID_HDMI2USB}=="1", ENV{NUM_HDMI2USB_TTY}!="", ENV{ID_SERIAL_SHORT}!="" \
SYMLINK+="hdmi2usb/by-serial/$env{ID_SERIAL_SHORT}/tty$env{NUM_HDMI2USB_TTY}"
SUBSYSTEM=="tty", ENV{ID_HDMI2USB}=="1", ENV{NUM_HDMI2USB_TTY}!="", ENV{ID_PATH}!="" \
SYMLINK+="hdmi2usb/by-path/$env{ID_PATH}/tty$env{NUM_HDMI2USB_TTY}"
SUBSYSTEM=="tty", ENV{ID_HDMI2USB}=="1", ENV{NUM_HDMI2USB_TTY}!="", ENV{ID_PATH_HUMAN}!="" \
SYMLINK+="hdmi2usb/by-path/$env{ID_PATH_HUMAN}/tty$env{NUM_HDMI2USB_TTY}"
SUBSYSTEM=="tty", ENV{ID_HDMI2USB}=="1", ENV{NUM_HDMI2USB_TTY}!="", ENV{NUM_HDMI2USB}!="" \
SYMLINK+="hdmi2usb/by-num/all$env{NUM_HDMI2USB}/tty$env{NUM_HDMI2USB_TTY}"
SUBSYSTEM=="tty", ENV{ID_HDMI2USB}=="1", ENV{NUM_HDMI2USB_TTY}!="", ENV{NUM_HDMI2USB_BOARD}!="", ENV{NUM_HDMI2USB_TTY}!="" \
SYMLINK+="hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}$env{NUM_HDMI2USB_BOARD}/tty$env{NUM_HDMI2USB_TTY}"
# Video capture device
SUBSYSTEM=="video4linux", ENV{ID_HDMI2USB}=="1", ENV{ID_SERIAL_SHORT}!="" \
SYMLINK+="hdmi2usb/by-serial/$env{ID_SERIAL_SHORT}/video"
SUBSYSTEM=="video4linux", ENV{ID_HDMI2USB}=="1", ENV{ID_PATH}!="" \
SYMLINK+="hdmi2usb/by-path/$env{ID_PATH}/video"
SUBSYSTEM=="video4linux", ENV{ID_HDMI2USB}=="1", ENV{ID_PATH_HUMAN}!="" \
SYMLINK+="hdmi2usb/by-path/$env{ID_PATH_HUMAN}/video"
SUBSYSTEM=="video4linux", ENV{ID_HDMI2USB}=="1", ENV{NUM_HDMI2USB}!="" \
SYMLINK+="hdmi2usb/by-num/all$env{NUM_HDMI2USB}/video"
SUBSYSTEM=="video4linux", ENV{ID_HDMI2USB}=="1", ENV{ID_HDMI2USB_BOARD}!="", ENV{NUM_HDMI2USB_BOARD}!="" \
SYMLINK+="hdmi2usb/by-num/$env{ID_HDMI2USB_BOARD}$env{NUM_HDMI2USB_BOARD}/video"