# Device tree binding vendor prefix registry. Keep this list in
# alphabetical order.
#
# This isn't an exhaustive list, but you should add new prefixes to it
# before using them to avoid name-space collisions.
#
# The contents of this file are parsed during documentation generation.
# Anything that starts with a '#' is treated as a comment and ignored.
# Non-empty lines should be in this format:
#
# <vendor-prefix><TAB><Full name of vendor>

abb	ABB
abilis	Abilis Systems
abracon	Abracon Corporation
abt	ShenZhen Asia Better Technology Ltd.
acer	Acer Inc.
acme	Acme Systems srl
actions	Actions Semiconductor Co., Ltd.
active-semi	Active-Semi International Inc
actinius	Actinius B.V.
ad	Avionic Design GmbH
adafruit	Adafruit Industries, LLC
adapteva	Adapteva, Inc.
adaptrum	Adaptrum, Inc.
adh	AD Holdings Plc.
adi	Analog Devices, Inc.
advantech	Advantech Corporation
aeroflexgaisler	Aeroflex Gaisler AB
aesop	AESOP Embedded Forum
al	Annapurna Labs
alcatel	Alcatel
allegro	Allegro DVT
allo	Allo.com
allwinner	Allwinner Technology Co., Ltd.
alphascale	AlphaScale Integrated Circuits Systems, Inc.
alps	Alps Electric Co., Ltd.
alt	Altus-Escon-Company BV
altr	Altera Corp.
amarula	Amarula Solutions
amazon	Amazon.com, Inc.
amcc	Applied Micro Circuits Corporation (APM, formally AMCC)
amd	Advanced Micro Devices (AMD), Inc.
amediatech	Shenzhen Amediatech Technology Co., Ltd
amlogic	Amlogic, Inc.
ampere	Ampere Computing LLC
ampire	Ampire Co., Ltd.
ams	AMS AG
amstaos	AMS-Taos Inc.
analogix	Analogix Semiconductor, Inc.
andestech	Andes Technology Corporation
anvo	Anvo-Systems Dresden GmbH
aosong	Guangzhou Aosong Electronic Co., Ltd.
apa	Apa Electronic Co., Ltd
apm	Applied Micro Circuits Corporation (APM)
apple	Apple Inc.
aptina	Aptina Imaging
arasan	Arasan Chip Systems
archermind	ArcherMind Technology (Nanjing) Co., Ltd.
arc	Synopsys, Inc. (formerly ARC International PLC)
arctic	Arctic Sand
arcx	arcx Inc. / Archronix Inc.
arduino	Arduino
aries	Aries Embedded GmbH
arm	ARM Ltd.
armadeus	ARMadeus Systems SARL
arrow	Arrow Electronics
artesyn	Artesyn Embedded Technologies Inc.
asahi-kasei	Asahi Kasei Corp.
asmedia	ASMedia Technology Inc.
asc	All Sensors Corporation
aspeed	ASPEED Technology Inc.
asus	AsusTek Computer Inc.
atlas	Atlas Scientific LLC
atmel	Atmel Corporation
auo	AU Optronics Corporation
auvidea	Auvidea GmbH
avago	Avago Technologies
avia	avia semiconductor
avic	Shanghai AVIC Optoelectronics Co., Ltd.
avnet	Avnet, Inc.
awinic	Shanghai Awinic Technology Co., Ltd.
axentia	Axentia Technologies AB
axis	Axis Communications AB
azoteq	Azoteq (Pty) Ltd
azw	Shenzhen AZW Technology Co., Ltd.
baikal	BAIKAL ELECTRONICS, JSC
bananapi	BIPAI KEJI LIMITED
beacon	Compass Electronics Group, LLC
beagle	BeagleBoard.org Foundation
bhf	Beckhoff Automation GmbH & Co. KG
bitmain	Bitmain Technologies
blues	Blues Wireless
blutek	BluTek Power
boe	BOE Technology Group Co., Ltd.
bosch	Bosch Sensortec GmbH
boundary	Boundary Devices Inc.
broadmobi	Shanghai Broadmobi Communication Technology Co.,Ltd.
brcm	Broadcom Corporation
buffalo	Buffalo, Inc.
bur	B&R Industrial Automation GmbH
bticino	Bticino International
calaosystems	CALAO Systems SAS
calxeda	Calxeda
canaan	Canaan, Inc.
caninos	Caninos Loucos Program
capella	Capella Microsystems, Inc
cascoda	Cascoda, Ltd.
catalyst	Catalyst Semiconductor, Inc.
cavium	Cavium, Inc.
cdns	Cadence Design Systems Inc.
cdtech	CDTech(H.K.) Electronics Limited
cellwise	CellWise Microelectronics Co., Ltd
ceva	Ceva, Inc.
checkpoint	Check Point Software Technologies Ltd.
chefree	Chefree Technology Corp.
chipidea	Chipidea, Inc
chipone	ChipOne
chipspark	ChipSPARK
chrontel	Chrontel, Inc.
chrp	Common Hardware Reference Platform
chunghwa	Chunghwa Picture Tubes Ltd.
chuwi	Chuwi Innovation Ltd.
ciaa	Computadora Industrial Abierta Argentina
cirrus	Cirrus Logic, Inc.
cisco	Cisco Systems, Inc.
cloudengines	Cloud Engines, Inc.
cnm	Chips&Media, Inc.
cnxt	Conexant Systems, Inc.
colorfly	Colorful GRP, Shenzhen Xueyushi Technology Ltd.
compulab	CompuLab Ltd.
coreriver	CORERIVER Semiconductor Co.,Ltd.
corpro	Chengdu Corpro Technology Co., Ltd.
cortina	Cortina Systems, Inc.
cosmic	Cosmic Circuits
crane	Crane Connectivity Solutions
creative	Creative Technology Ltd
crystalfontz	Crystalfontz America, Inc.
csky	Hangzhou C-SKY Microsystems Co., Ltd
csq	Shenzen Chuangsiqi Technology Co.,Ltd.
cubietech	Cubietech, Ltd.
cypress	Cypress Semiconductor Corporation
cznic	CZ.NIC, z.s.p.o.
dallas	Maxim Integrated Products (formerly Dallas Semiconductor)
dataimage	DataImage, Inc.
davicom	DAVICOM Semiconductor, Inc.
decawave	Qorvo, Inc (formerly Decawave)
dell	Dell Inc.
delta	Delta Electronics, Inc.
denx	Denx Software Engineering
devantech	Devantech, Ltd.
dfi	DFI Inc.
dh	DH electronics GmbH
difrnce	Shenzhen Yagu Electronic Technology Co., Ltd.
digi	Digi International Inc.
digilent	Diglent, Inc.
dioo	Dioo Microcircuit Co., Ltd
dlc	DLC Display Co., Ltd.
dlg	Dialog Semiconductor
dlink	D-Link Corporation
dmo	Data Modul AG
domintech	Domintech Co., Ltd.
dongwoon	Dongwoon Anatech
dptechnics	DPTechnics
dragino	Dragino Technology Co., Limited
dserve	dServe Technology B.V.
dynaimage	Dyna-Image
ea	Embedded Artists AB
ebang	Zhejiang Ebang Communication Co., Ltd
ebs-systart	EBS-SYSTART GmbH
ebv	EBV Elektronik
eckelmann	Eckelmann AG
edt	Emerging Display Technologies
eeti	eGalax_eMPIA Technology Inc
einfochips	Einfochips
elan	Elan Microelectronic Corp.
element14	Element14 (A Premier Farnell Company)
elgin	Elgin S/A.
elida	Shenzhen Elida Technology Co., Ltd.
elimo	Elimo Engineering Ltd.
embest	Shenzhen Embest Technology Co., Ltd.
emlid	Emlid, Ltd.
emmicro	EM Microelectronic
empire-electronix	Empire Electronix
emtrion	emtrion GmbH
endless	Endless Mobile, Inc.
ene	ENE Technology, Inc.
energymicro	Silicon Laboratories (formerly Energy Micro AS)
engicam	Engicam S.r.l.
epcos	EPCOS AG
epfl	Ecole Polytechnique Fédérale de Lausanne
epson	Seiko Epson Corp.
espressif	Espressif Systems
est	ESTeem Wireless Modems
ettus	NI Ettus Research
eukrea	Eukréa Electromatique
everest	Everest Semiconductor Co. Ltd.
everlight	Everlight Electronics Co. Ltd.
everspin	Everspin Technologies, Inc.
evervision	Evervision Electronics Co. Ltd.
exar	Exar Corporation
excito	Excito
ezchip	EZchip Semiconductor
facebook	Facebook
fairphone	Fairphone B.V.
faraday	Faraday Technology Corporation
fastrax	Fastrax Oy
fcs	Fairchild Semiconductor
feixin	Shenzhen Feixin Photoelectic Co., Ltd
feiyang	Shenzhen Fly Young Technology Co.,LTD.
fii	Foxconn Industrial Internet
firefly	Firefly
focaltech	FocalTech Systems Co.,Ltd
frida	Shenzhen Frida LCD Co., Ltd.
friendlyarm	Guangzhou FriendlyARM Computer Tech Co., Ltd
fsl	Freescale Semiconductor
ftdi	Future Technology Devices International Ltd.
fujitsu	Fujitsu Ltd.
gaisler	Gaisler
gardena	GARDENA GmbH
gateworks	Gateworks Corporation
gcw	Game Consoles Worldwide
gd	GigaDevice Semiconductor
ge	General Electric Company
geekbuying	GeekBuying
gef	GE Fanuc Intelligent Platforms Embedded Systems, Inc.
GEFanuc	GE Fanuc Intelligent Platforms Embedded Systems, Inc.
gemei	Gemei Digital Technology Co., Ltd.
geniatech	Geniatech, Inc.
giantec	Giantec Semiconductor, Inc.
giantplus	Giantplus Technology Co., Ltd.
globalscale	Globalscale Technologies, Inc.
globaltop	GlobalTop Technology, Inc.
gmt	Global Mixed-mode Technology, Inc.
gooddisplay	Dalian Good Display Co., Ltd.
goodix	Shenzhen Huiding Technology Co., Ltd.
google	Google, Inc.
greeled	GreeLed Electronic Ltd.
grinn	Grinn
grmn	Garmin Limited
gumstix	Gumstix, Inc.
hannstar	HannStar Display Corporation
haoyu	Haoyu Microelectronic Co. Ltd.
hardkernel	Hardkernel Co., Ltd
hideep	HiDeep Inc.
himax	Himax Technologies, Inc.
hirschmann	Hirschmann Automation and Control GmbH
hisilicon	Hisilicon Limited.
hit	Hitachi Ltd.
hitex	Hitex Development Tools
holt	Holt Integrated Circuits, Inc.
honestar	Honestar Technologies Co., Ltd.
honeywell	Honeywell
hoperf	HOPERF Microelectronics Co. Ltd
hoperun	Jiangsu HopeRun Software Co., Ltd.
hp	Hewlett Packard
hsg	HannStar Display Co.
holtek	Holtek Semiconductor, Inc.
hugsun	Shenzhen Hugsun Technology Co. Ltd.
hwacom	HwaCom Systems Inc.
hycon	Hycon Technology Corp.
hydis	Hydis Technologies
hynitron	Hynitron
hyundai	Hyundai Technology
i2se	I2SE GmbH
ibm	International Business Machines (IBM)
icplus	IC Plus Corp.
idt	Integrated Device Technologies, Inc.
ifi	Ingenieurburo Fur Ic-Technologie (I/F/I)
ilitek	ILI Technology Corporation (ILITEK)
img	Imagination Technologies Ltd.
imi	Integrated Micro-Electronics Inc.
incircuit	In-Circuit GmbH
inet-tek	Shenzhen iNet Mobile Internet Technology Co., Ltd
infineon	Infineon Technologies
inforce	Inforce Computing
inventek	Inventek Systems
ivo	InfoVision Optoelectronics Kunshan Co. Ltd.
ingenic	Ingenic Semiconductor
innolux	Innolux Corporation
inside-secure	INSIDE Secure
inspur	Inspur Corporation
intel	Intel Corporation
intercontrol	Inter Control Group
invensense	InvenSense Inc.
inversepath	Inverse Path
iom	Iomega Corporation
isee	ISEE 2007 S.L.
isil	Intersil
issi	Integrated Silicon Solutions Inc.
ite	ITE Tech. Inc.
itead	ITEAD Intelligent Systems Co.Ltd
iwave	iWave Systems Technologies Pvt. Ltd.
jdi	Japan Display Inc.
jedec	JEDEC Solid State Technology Association
jesurun	Shenzhen Jesurun Electronics Business Dept.
jianda	Jiandangjing Technology Co., Ltd.
kam	Kamstrup A/S
karo	Ka-Ro electronics GmbH
keithkoep	Keith & Koep GmbH
keymile	Keymile GmbH
khadas	Khadas
kiebackpeter	Kieback & Peter GmbH
kinetic	Kinetic Technologies
kingdisplay	King & Display Technology Co., Ltd.
kingnovel	Kingnovel Technology Co., Ltd.
kionix	Kionix, Inc.
kobo	Rakuten Kobo Inc.
kobol	Kobol Innovations Pte. Ltd.
koe	Kaohsiung Opto-Electronics Inc.
kontron	Kontron S&T AG
kosagi	Sutajio Ko-Usagi PTE Ltd.
kvg	Kverneland Group
kyo	Kyocera Corporation
lacie	LaCie
laird	Laird PLC
lairdconnect	Laird Connectivity
lamobo	Ketai Huajie Technology Co., Ltd.
lantiq	Lantiq Semiconductor
lattice	Lattice Semiconductor
leadtek	Shenzhen Leadtek Technology Co., Ltd.
leez	Leez
lego	LEGO Systems A/S
lemaker	Shenzhen LeMaker Technology Co., Ltd.
lenovo	Lenovo Group Ltd.
lg	LG Corporation
lgphilips	LG Display
libretech	Shenzhen Libre Technology Co., Ltd
licheepi	Lichee Pi
linaro	Linaro Limited
linksprite	LinkSprite Technologies, Inc.
linksys	Belkin International, Inc. (Linksys)
linutronix	Linutronix GmbH
linux	Linux-specific binding
linx	Linx Technologies
litex	LiteX SoC builder
lltc	Linear Technology Corporation
logicpd	Logic PD, Inc.
logictechno	Logic Technologies Limited
longcheer	Longcheer Technology (Shanghai) Co., Ltd.
lontium	Lontium Semiconductor Corporation
loongson	Loongson Technology Corporation Limited
lsi	LSI Corp. (LSI Logic)
lwn	Liebherr-Werk Nenzing GmbH
lxa	Linux Automation GmbH
m5stack	M5Stack
macnica	Macnica Americas
mantix	Mantix Display Technology Co.,Ltd.
mapleboard	Mapleboard.org
marvell	Marvell Technology Group Ltd.
maxbotix	MaxBotix Inc.
maxim	Maxim Integrated Products
mbvl	Mobiveil Inc.
mcube	mCube
meas	Measurement Specialties
mecer	Mustek Limited
mediatek	MediaTek Inc.
megachips	MegaChips
mele	Shenzhen MeLE Digital Technology Ltd.
melexis	Melexis N.V.
melfas	MELFAS Inc.
mellanox	Mellanox Technologies
memsic	MEMSIC Inc.
menlo	Menlo Systems GmbH
mentor	Mentor Graphics
meraki	Cisco Meraki, LLC
merrii	Merrii Technology Co., Ltd.
micrel	Micrel Inc.
microbit	Micro:bit Educational Foundation
microchip	Microchip Technology Inc.
microcrystal	Micro Crystal AG
micron	Micron Technology Inc.
microsemi	Microchip Technology Inc. (formerly Microsemi Corporation)
microsoft	Microsoft Corporation
microsys	MicroSys Electronics GmbH
mikroe	MikroElektronika d.o.o.
mikrotik	MikroTik
miniand	Miniand Tech
minix	MINIX Technology Ltd.
miramems	MiraMEMS Sensing Technology Co., Ltd.
mitsubishi	Mitsubishi Electric Corporation
modtronix	Modtronix Engineering
mosaixtech	Mosaix Technologies, Inc.
motorola	Motorola, Inc.
moxa	Moxa Inc.
mpl	MPL AG
mps	Monolithic Power Systems Inc.
mqmaker	mqmaker Inc.
mrvl	Marvell Technology Group Ltd.
mscc	Microsemi Corporation
msi	Micro-Star International Co. Ltd.
mstar	MStar Semiconductor, Inc. (acquired by MediaTek Inc.)
mti	Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
multi-inno	Multi-Inno Technology Co.,Ltd
mundoreader	Mundo Reader S.L.
murata	Murata Manufacturing Co., Ltd.
mxicy	Macronix International Co., Ltd.
myir	MYIR Tech Limited
national	National Semiconductor
nec	NEC LCD Technologies, Ltd.
neonode	Neonode Inc.
netgear	NETGEAR
netlogic	Broadcom Corporation (formerly NetLogic Microsystems)
netron-dy	Netron DY
netronix	Netronix, Inc.
netxeon	Shenzhen Netxeon Technology CO., LTD
neweast	Guangdong Neweast Optoelectronics CO., LTD
nexbox	Nexbox
nextthing	Next Thing Co.
newhaven	Newhaven Display International
ni	National Instruments
nintendo	Nintendo
nlt	NLT Technologies, Ltd.
nokia	Nokia
nordic	Nordic Semiconductor
novtech	NovTech, Inc.
nutsboard	NutsBoard
nuclei	Nuclei System Technology
nuvoton	Nuvoton Technology Corporation
nvd	New Vision Display
nvidia	NVIDIA
nxp	NXP Semiconductors
oceanic	Oceanic Systems (UK) Ltd.
oct	Octavo Systems LLC
okaya	Okaya Electric America, Inc.
oki	Oki Electric Industry Co., Ltd.
olimex	OLIMEX Ltd.
olpc	One Laptop Per Child
ovti	OmniVision Technologies Co., Ltd.
onion	Onion Corporation
onnn	ON Semiconductor Corp.
ontat	On Tat Industrial Company
opalkelly	Opal Kelly Incorporated
opencores	OpenCores.org
openisa	open-isa.org
openrisc	OpenRISC.io
option	Option NV
oranth	Shenzhen Oranth Technology Co., Ltd.
ORCL	Oracle Corporation
orisetech	Orise Technology
ortustech	Ortus Technology Co., Ltd.
osddisplays	OSD Displays
ouya	Ouya Inc.
overkiz	Overkiz SAS
ovti	OmniVision Technologies
oxsemi	Oxford Semiconductor, Ltd.
ozzmaker	OzzMaker
panasonic	Panasonic Corporation
parade	Parade Technologies Inc.
particle	Particle.io
parallax	Parallax Inc.
pda	Precision Design Associates, Inc.
pericom	Pericom Technology Inc.
pervasive	Pervasive Displays, Inc.
phicomm	PHICOMM Co., Ltd.
phytec	PHYTEC Messtechnik GmbH
picochip	Picochip Ltd
pine64	Pine64
pineriver	Shenzhen PineRiver Designs Co., Ltd.
pixcir	PIXCIR MICROELECTRONICS Co., Ltd
plantower	Plantower Co., Ltd
plathome	Plat'Home Co., Ltd.
plda	PLDA
plx	Broadcom Corporation (formerly PLX Technology)
ply	Plymovent Group BV
pni	PNI Sensor Corporation
pocketbook	PocketBook International SA
polaroid	Polaroid Corporation
portwell	Portwell Inc.
poslab	Poslab Technology Co., Ltd.
pov	Point of View International B.V.
powertip	Powertip Tech. Corp.
powervr	PowerVR (deprecated, use img)
primux	Primux Trading, S.L.
probox2	PROBOX2 (by W2COMP Co., Ltd.)
prt	Protonic Holland
pulsedlight	PulsedLight, Inc
purism	Purism, SPC
qca	Qualcomm Atheros, Inc.
qcom	Qualcomm Technologies, Inc
qemu	QEMU, a generic and open source machine emulator and virtualizer
qi	Qi Hardware
qihua	Chengdu Kaixuan Information Technology Co., Ltd.
qiaodian	QiaoDian XianShi Corporation
qnap	QNAP Systems, Inc.
qorvo	Qorvo, Inc.
quectel	Quectel Wireless Solutions Co., Ltd.
quicklogic	QuickLogic Corp.
radxa	Radxa
raidsonic	RaidSonic Technology GmbH
ralink	Mediatek/Ralink Technology Corp.
ramtron	Ramtron International
raspberrypi	Raspberry Pi Foundation
raydium	Raydium Semiconductor Corp.
rda	Unisoc Communications, Inc.
realtek	Realtek Semiconductor Corp.
remarkable	reMarkable AS
renesas	Renesas Electronics Corporation
rex	iMX6 Rex Project
rervision	Shenzhen Rervision Technology Co., Ltd.
revotics	Revolution Robotics, Inc. (Revotics)
richtek	Richtek Technology Corporation
ricoh	Ricoh Co. Ltd.
rikomagic	Rikomagic Tech Corp. Ltd
riscv	RISC-V Foundation
riot	Embest RIoT
rockchip	Fuzhou Rockchip Electronics Co., Ltd
rocktech	ROCKTECH DISPLAYS LIMITED
rohm	ROHM Semiconductor Co., Ltd
ronbo	Ronbo Electronics
roofull	Shenzhen Roofull Technology Co, Ltd
ruuvi	Ruuvi Innovations Ltd (Oy)
roseapplepi	RoseapplePi.org
samsung	Samsung Semiconductor
samtec	Samtec/Softing company
sancloud	Sancloud Ltd
sandisk	Sandisk Corporation
satoz	Satoz International Co., Ltd
sbs	Smart Battery System
sc	Space Cubics, LLC
schindler	Schindler
seagate	Seagate Technology PLC
segger	SEGGER Microcontroller GmbH
seeed	Seeed Technology Co., Ltd
seirobotics	Shenzhen SEI Robotics Co., Ltd
semtech	Semtech Corporation
sensirion	Sensirion AG
sensortek	Sensortek Technology Corporation
sff	Small Form Factor Committee
sgd	Solomon Goldentek Display Corporation
sgmicro	SG Micro Corp
sgx	SGX Sensortech
sharp	Sharp Corporation
shimafuji	Shimafuji Electric, Inc.
shiratech	Shiratech Solutions
si-en	Si-En Technology Ltd.
si-linux	Silicon Linux Corporation
sifive	SiFive, Inc.
sigma	Sigma Designs, Inc.
sii	Seiko Instruments, Inc.
sil	Silicon Image
silabs	Silicon Laboratories
silead	Silead Inc.
silergy	Silergy Corp.
silex-insight	Silex Insight
siliconfile	Siliconfile Technologies lnc.
siliconmitus	Silicon Mitus, Inc.
siemens	Siemens AG
simcom	SIMCom Wireless Solutions Co., LTD
simtek	Cypress Semiconductor Corporation (Simtek Corporation)
sinlinx	Sinlinx Electronics Technology Co., LTD
sinovoip	SinoVoip Co., Ltd
sipeed	Shenzhen Sipeed Technology Co., Ltd.
sirf	SiRF Technology, Inc.
sis	Silicon Integrated Systems Corp.
sitronix	Sitronix Technology Corporation
skyworks	Skyworks Solutions, Inc.
smartlabs	SmartLabs LLC
smsc	Standard Microsystems Corporation
snps	Synopsys, Inc.
starfive	StarFive Technology Co. Ltd.
sochip	Shenzhen SoChip Technology Co., Ltd.
socionext	Socionext Inc.
solidrun	SolidRun
solomon	Solomon Systech Limited
sony	Sony Corporation
spansion	Spansion Inc.
sprd	Spreadtrum Communications Inc.
sst	Silicon Storage Technology, Inc.
sstar	Xiamen Xingchen(SigmaStar) Technology Co., Ltd. (formerly part of MStar Semiconductor, Inc.)
st	STMicroelectronics
starry	Starry Electronic Technology (ShenZhen) Co., LTD
startek	Startek
ste	ST-Ericsson
stericsson	ST-Ericsson
st-ericsson	ST-Ericsson
summit	Summit microelectronics
sunchip	Shenzhen Sunchip Technology Co., Ltd
SUNW	Sun Microsystems, Inc
supermicro	Super Micro Computer, Inc.
silvaco	Silvaco, Inc.
swir	Sierra Wireless
syna	Synaptics Inc.
synology	Synology, Inc.
tbs	TBS Technologies
tbs-biometrics	Touchless Biometric Systems AG
tcg	Trusted Computing Group
tcl	Toby Churchill Ltd.
tcs	Shenzhen City Tang Cheng Technology Co., Ltd.
tdo	Shangai Top Display Optoelectronics Co., Ltd
technexion	TechNexion
technologic	Technologic Systems
telink	Telink Semiconductor
tempo	Tempo Semiconductor
techstar	Shenzhen Techstar Electronics Co., Ltd.
terasic	Terasic Inc.
tfc	Three Five Corp
thine	THine Electronics, Inc.
thingyjp	thingy.jp
ti	Texas Instruments
tianma	Tianma Micro-electronics Co., Ltd.
tlm	Trusted Logic Mobility
tmt	Tecon Microprocessor Technologies, LLC.
topeet	Topeet
toppoly	TPO (deprecated, use tpo)
topwise	Topwise Communication Co., Ltd.
toradex	Toradex AG
toshiba	Toshiba Corporation
toumaz	Toumaz
tpk	TPK U.S.A. LLC
tplink	TP-LINK Technologies Co., Ltd.
tpo	TPO
tq	TQ-Systems GmbH
tronfy	Tronfy
tronsmart	Tronsmart
truly	Truly Semiconductors Limited
visionox	Visionox
tsd	Theobroma Systems Design und Consulting GmbH
tyan	Tyan Computer Corporation
u-blox	u-blox
u-boot	U-Boot bootloader
ucrobotics	uCRobotics
ubnt	Ubiquiti Networks
udoo	Udoo
ugoos	Ugoos Industrial Co., Ltd.
ultrachip	UltraChip Inc.
uniwest	United Western Technologies Corp (UniWest)
upisemi	uPI Semiconductor Corp.
urt	United Radiant Technology Corporation
usi	Universal Scientific Industrial Co., Ltd.
utoo	Aigo Digital Technology Co., Ltd.
v3	V3 Semiconductor
vaisala	Vaisala
vamrs	Vamrs Ltd.
variscite	Variscite Ltd.
vdl	Van der Laan b.v.
via	VIA Technologies, Inc.
videostrong	Videostrong Technology Co., Ltd.
virtio	Virtual I/O Device Specification, developed by the OASIS consortium
virtual	Used for virtual device without specific vendor.
vishay	Vishay Intertechnology, Inc
vitesse	Vitesse Semiconductor Corporation
vivante	Vivante Corporation
vnd	A stand-in for a real vendor which can be used in examples and tests
vocore	VoCore Studio
voipac	Voipac Technologies s.r.o.
vot	Vision Optical Technology Co., Ltd.
vxt	VXT Ltd
wand	Wandbord (Technexion)
waveshare	Waveshare Electronics
wd	Western Digital Corp.
we	Würth Elektronik GmbH.
weact	WeAct Studio
wetek	WeTek Electronics, limited.
wexler	Wexler
whwave	Shenzhen whwave Electronics, Inc.
wi2wi	Wi2Wi, Inc.
winbond	Winbond Electronics corp.
winsen	Zhengzhou Winsen Electronics Technology Co., Ltd.
winstar	Winstar Display Corp.
wits	Shenzhen Merrii Technology Co., Ltd. (WITS)
wiznet	WIZnet Co., Ltd.
wlf	Wolfson Microelectronics
wm	Wondermedia Technologies, Inc.
wnc	Wistron NeWeb Corporation
wobo	Wobo
wolfson	Cirrus Logic, Inc. (formerly Wolfson Microelectronics plc)
worldsemi	Worldsemi Co., Limited
x-powers	X-Powers
xen	Xen Hypervisor
xes	Extreme Engineering Solutions (X-ES)
xiaomi	Xiaomi Technology Co., Ltd.
xillybus	Xillybus Ltd.
xingbangda	Shenzhen Xingbangda Display Technology Co., Ltd
xinpeng	Shenzhen Xinpeng Technology Co., Ltd
xiphera	Xiphera Ltd.
xlnx	Xilinx
xnano	Xnano
xunlong	Shenzhen Xunlong Software CO.,Limited
xylon	Xylon
yamaha	Yamaha Corporation
yes-optoelectronics	Yes Optoelectronics Co.,Ltd.
yic	YIC System Co., Ltd.
ylm	Shenzhen Yangliming Electronic Technology Co., Ltd.
yna	YSH & ATIL
yones-toptech	Yones Toptech Co., Ltd.
ys	Shenzhen Yashi Changhua Intelligent Technology Co., Ltd.
ysoft	Y Soft Corporation a.s.
zealz	Zealz
zarlink	Zarlink Semiconductor
zeitec	ZEITEC Semiconductor Co., LTD.
zephyr	Zephyr-specific binding
zidoo	Shenzhen Zidoo Technology Co., Ltd.
zii	Zodiac Inflight Innovations
zinitix	Zinitix Co., Ltd
zkmagic	Shenzhen Zkmagic Technology Co., Ltd.
zte	ZTE Corp.
zyxel	ZyXEL Communications Corp.
